改變世界的九大演算法:讓今日電腦無所不能的最強概念

改變世界的九大演算法:讓今日電腦無所不能的最強概念
定價:360
NT $ 118 ~ 324
 

內容簡介

  榮獲美國出版人協會(Association of American Publishers)電腦資訊科學最佳書籍獎

  電腦網路技術無所不在:每天,我們從海量的資訊中搜尋到所要的資訊、我們上傳照片到臉書上、我們運用公鑰加密來傳送私人資訊例如信用卡號碼等等、我們使用數位簽章來確認所造訪的網站的真偽……

  這本書介紹了讓電腦網路世界得以運作,塑造今日人類生活的九種最重要的演算法(algorithm)。作者挑選這九大演算法的標準是:

  1.每天會被一般電腦使用者用到的演算法。
  2.必須能解決現實世界的具體問題。
  3.主要是與資訊科學理論有關的演算法。
  4. 美、簡潔、優雅。

   本書所介紹的九大演算法是:搜尋引擎的索引(search engine indexing)、網頁排序(page rank)、公鑰加密(public-key cryptography)、錯誤更正碼(error-correcting codes)、模式辨識(pattern recognition,如手寫辨識、聲音辨識、人臉辨識等等)、資料壓縮(data compression)、資料庫(databases)、數位簽章(digital signature),以及一種如果存在的話將會很了不起的偉大演算法,並探討電腦能力的極限。

  作者將我們日常生活會用到的電腦功能 背後的道理,以淺顯易懂的方式介紹,不具備資訊科學的背景也可以了解。而且令人驚喜的是,每一種演算法,都是一個解決問題的創意與線索,也讓我們得以一窺 近代數學家、資訊科學家的努力探索成果。面對越來越科技化的現代生活與職場挑戰,這些基本原理和概念值得我們去了解、吸收,為未來世界做好準備。

本書特色

  
1.演算法,做為電腦科技的核心,正在改變世界與你我的生活!

  2.這本書介紹每個人日常生活會用到的演算法,身為現代人,面對越來越科技化的未來,這本書必讀!

名人推薦

  PanSci泛科學總編輯 鄭國威 大力推薦!

媒體好評

  「這是一本很容易讀的書,介紹了一些很重要的演算法。最重要的是,這本書傳達了一種神奇——不光是指科技的成就,而是使得電腦發揮神奇功能的美麗科學。」--Andreas Trabesinger,《自然物理學》(Nature Physics)

  「這本書寫得非常好……風格相當平易近人,適合廣大讀者閱讀。」--John Gilbey,《泰晤士報高等教育專刊》(Times Higher Education)

  「作者讓讀者有一種發動機的感覺,這台發動機為網路世界提供動力……本書讓讀者體會真實世界,開始看到這些演算法在你我周遭活跳跳。」--Kevin Slavin,《新科學家》(New Scientist)

  「成功地把電腦科學呈現給廣大群眾。」--Ernest Davis,《工業與應用數學學會通訊》(SIAM News)

  「作者讓大家稍稍體會到,我們電腦科學家們之所以對演算法如此興奮的原因——因為演算法的功用,還有它們的美與優雅。」--Paul Curzon,《科學》(Science)
 

作者介紹

作者簡介    

約翰.麥考米克John MacCormick


  他是資訊科學領 域傑出的研究學者與教授。他在牛津大學取得電腦視像(computer vision)博士學位,曾經在惠普(HP)與微軟(Microsoft)的研究實驗室工作。目前於賓州的狄金森學院(Dickinson College)擔任數學與資訊科學教授。

譯者簡介

陳正芬


  專職 譯者,美國伊利諾大學香檳分校會計碩士。譯有《QBQ!問題背後的問題》、《奢華,正在流行》、《C型人生》、《假如你明天當上主管》、《用心飲食》、 《一座小行星的新飲食方式》、《葛林斯班的騙局》、《你的錢,為什麼變薄了》、《定價思考術》、《發現你的經濟天才》、《達蜜經濟學》、《關懷的力量》 等。
 

目錄

目 次

推薦序 當演算法改變世界,認識演算法就是義務 / 鄭國威
前言

第1章 引言:讓今日電腦威力無窮的神奇概念
演算法:天才就在彈指間
偉大演算法的條件是什麼?
這些偉大的演算法為什麼重要?

第2章 搜尋引擎的索引:配對與排序
AltaVista:第一個網路規模的配對演算法
古早時代的陽春式索引
文字─位置技法
排序與相鄰
元詞技法
光是標註索引和配對技法還不夠

第3章 網頁排序:讓谷歌起飛的技術
超連結技法
權威性技法
隨機漫遊技法
網頁排序的實作

第4章 公鑰加密:用明信片寄送祕密
用共同的祕密來加密
設定一個公開的共同祕密
實務上的公鑰加密

第5章 錯誤更正碼:錯誤可以自己修正!
偵錯與改正的必要性
重複的技法
冗餘技法
校驗技法
定點目標技法
真實世界中的糾錯與偵錯

第6章 模式辨識:從經驗中學習
問題是什麼?
最近鄰居技法
二十個問題技法:決策樹
神經網路
模式辨識:過去、現在、未來

第7章 資料壓縮:白吃的午餐
無損失的壓縮:終極的白吃午餐
有損失的壓縮:不是白吃的午餐,但很划算
壓縮演算法的由來

第8章 資料庫:追求一致性
交易與待辦事項清單技法
複製資料庫所用的「準備然後承諾技法」
關聯式資料庫與虛擬表格技法
資料庫的人性面

第9章 數位簽章:這軟體到底是誰寫的?
數位簽章究竟用來做什麼?
書面簽字
上鎖的簽字
利用乘法鎖來簽字
利用指數型鎖來簽字
數位簽章的實務
解決矛盾

第10章 什麼是可計算的?
程式錯誤、毀壞和軟體的可靠度
反證法
用於分析其他程式的程式
有些程式不可能存在
尋找當機的程式不可能存在
電腦的極限給我們的啟示

第11章 結論:未來會如何呢?
頗具潛力的演算法
偉大的演算法可能失去光彩嗎?
我們學到了什麼?
旅程的結束

資料來源與延伸閱讀
 

推薦序

當演算法改變世界,認識演算法就是義務


  看完本書書稿,回頭繼續盯著電腦工作的我,有點感動,彷彿跟網路世界交上了心。

  科普書的市場準則:出現的算式越多,賣得越差。曾經聽一位出版社編輯說,即使是在書名上出現「E=mc2」,都會讓他們猶豫再三,深怕影響銷量,這也難怪針對電腦科學或演算法的科普書那麼的少。即便我們的世界已經被電腦科學所顛覆,絕大多數的人,包括我在內,都只是傻傻地看著奇蹟變成慣習。

  《改變世界的九大演算法》是本我願意大力讚許跟推薦的好書,不僅因為這本書勇於碰觸科普書出版的禁忌,而是因為本書作者,美國迪金森學院數學暨電腦科學系教授約翰˙麥考米克(John MacCormick)俐落的文筆跟清晰的鋪陳,足以抹消非專業人士對演算法的恐懼。

  搜尋引擎到底是如何在百億個網頁之中,於零點幾秒之內找到我們想要的那個連結?讓數十億人感到滿意的網頁排序是如何實現的?如何在網路上傳輸隱私資訊,而不被中間無數節點看得一清二楚?如何驗證收到的資料是正確,無篡改的版本?人工智慧的基本原理是什麼?…… 如同作者所說,看完本書並不會讓你我可以即刻動手寫程式,變成演算法大師,但了解其運作原理,足以讓人感到任督二脈暢通,擁有了練內力的根基。

  作者善於用簡單的小案例開始,一層層地將演算法的精神跟實際應用堆疊而上,讓我們從邏輯上去了解演算法的設計因由,至於繁複的計算過程在本書其實並非主角,除了幾個掰掰手指就能算出的範例外,作者並未給讀者太多負擔,因為在真實情況下,要展現演算法的能耐,也只能交由電腦去算。只要邏輯通了,演算法的設計美感就自然浮現,而這就是作者每一章節由淺入深,幾乎可說是循循善誘的寫作想要帶領我們進入的境界。

  近來最熱門的科技產業關鍵詞「大數據」,讓產官學無不趨之若鶩,但大數據跟青少年的性經驗一樣:每個人都在談,每個人都宣稱自己做了,然而真正讓數據展現出價值的並非空談,而是演算法。從股市到戰爭,從自動交易到自動使用武力,背後都是演算法,而儘管實際做法不同,但看完本書,你都能更加理解演算法何以改變世界,也比較能理性地看待許多吹得上天下地的大數據忽悠文。

  從另一方面來看,演算法本身即是戰場。無數網路高手抱持著挑戰或是為惡的心態,試圖打穿演算法之牆(或是悄悄繞過),有趣的是,台灣正是核心戰場之一。「誰說台灣是個沒有天然資源的國家?台灣最大的天然資源就是病毒樣本」這句話來自於一位知名台灣駭客 Birdman。台灣面對的入侵跟資安事件多不勝數,在世界上僅次於美國,是病毒(惡意程式)樣本數量最多的地方,既然如此,那麼對我們來說,多去認識電腦科學與演算法,就更是一種義務了。

鄭國威/PanSci泛科學總編輯

前言

  電腦運算(computing)正在改變我們的社會,影響之深一如物理學和化學在過去兩百年為人類帶來的改變。數位科技幾乎全面影響你我的生活乃至於掀起革命,有鑑於電腦運算對現代社會的重要性,然而人們對造就這一切事物的基本概念所知卻如此有限,就顯得有些矛盾了。電腦科學的核心正是在研究這些概念,而這本約翰.麥考米克(John MacCormick)的新書,就是將這些概念傳達給一般讀者的少數書籍之一。

  一般人對於電腦科學做為一門學科的體認相對欠缺,理由之一是在高中階段很少教導這些東西。物理和化學的入門課通常是必修,然而通常要到了大專、大學階段,才真正有電腦科學這門課。此外學校教的電腦運算或資訊與通信技術(Information and communication technology,簡稱ICT),通常只是使用套裝軟體的技術訓練,也難怪學生會覺得乏味。即使學生很自然地對於電腦技術應用在娛樂和通訊方面感到興趣,但卻因為印象中這些技術的創造缺乏學術的深度,使得他們的興趣沒有進一步發展。或許這就是過去十年來,美國研讀電腦科學的大學生人數減少了50%的原因。基於數位科技對現代社會的關鍵重要性,現在正是讓人們對電腦科學的奧祕重燃起興趣的最佳時機。

  2008年,我有幸被選中在第180屆英國皇家科學院聖誕講座(Royal Institution Christmas Lectures)上台報告,這個活動是由偉大科學家法拉第(Michael Faraday)於1826年所發起。2008年的演講首度以電腦科學為主題,我在準備時花了很多時間思索該如何向普羅大眾介紹電腦科學,結果發現資源很少,幾乎沒有科普書能滿足這樣的需要,也因此這本書特別令人期待。

  作者將複雜的電腦科學觀念很完美地傳達給讀者大眾,其中一些觀念的美與優雅,本身就值得大眾的關注。舉個例子:過去幾十年來,在公開管道上進行安全通訊一直是個棘手問題,直到人們想出了如何在網路上安全地傳送機密資訊(例如信用卡卡號),才造就了電子商務爆炸性的成長。在本書中,作者是以比喻的方式來說明這些優雅的解決方案的來龍去脈,讀者不須具備電腦科學知識就可以理解。諸如此類的優點,使本書成為不可多得的科普書籍,我極力推薦。

畢夏普(Chris Bishop)
微軟劍橋研究中心卓越科學家
英國皇家學院副院長
愛丁堡大學資訊科學教授
 

內容連載

引言:讓今日電腦威力無窮的神奇概念

二十一世紀的人類享受科技的驚人進步,像是目前威力最強的機器群組或最新最時尚的手持式裝置,然而人們在使用電子運算裝置的同時,也要仰賴二十世紀所發現的電腦科學基礎概念。不妨想一下:

你是否曾經在數十億份資料中搜尋,然後挑出兩三份最合乎你需求的資料?

你是否儲存或傳輸了數百萬筆資訊,沒有一次發生錯誤,即使所有的電子器材都遭到電磁干擾?

你是否成功地完成一筆線上交易,即使還有數千個人也同時把資料敲進同一台伺服器?

你是否在電纜線上安全地傳輸機密資訊(如信用卡卡號),哪怕有幾十台電腦可能透過纜線窺伺你的一舉一動?

你是否運用神奇的壓縮技術,把一張數MB大的照片壓縮成方便電郵傳送的大小?

最後,你是否利用手持裝置那小小鍵盤上,針對你輸入的字詞進行自動偵錯的人工智慧而不自知?

這些了不起的功能仰賴以上所述的重要發現,大部分的電腦使用者每天多次運用這些巧妙的概念,卻往往渾然不覺。這本書的目的,就是盡量把日常使用到的偉大電腦概念解釋給最廣大的讀者,而不預設讀者具備任何電腦科學的知識。

演算法

目前為止我談論的是電腦科學的偉大「概念」,其實電腦科學家把許多重要概念描述成一個個「演算法」(algorithm)。概念和演算法之間有什麼不同?演算法究竟是什麼?

簡單來說,演算法好比一個「精確的食譜」,把解決問題的確切步驟解釋得一清二楚,最好的例子是我們小時候在學校學過的,把兩個很大的數相加的演算法,如圖1-1。這個演算法包含一連串步驟:首先把兩個數的個位數相加,寫下結果的個位數,把結果的十位數放到它左邊那個欄位;第二步,將十位數的數字相加,再加上前一欄位的進位數字……就這麼加下去。

演算法的各步驟具有機械式的特質,每個步驟必須絕對精確,不需要靠人類的直覺或猜測,這也是演算法的關鍵特點,如此一來每個純機械式的步驟就可以被編寫成程式之後輸入電腦。
網路書店 類別 折扣 價格
  1. 二手書
    33
    $118
  2. 二手書
    41
    $147
  3. 二手書
    53
    $190
  4. 二手書
    56
    $200
  5. 二手書
    58
    $209
  6. 二手書
    6
    $215
  7. 二手書
    72
    $260
  8. 新書
    75
    $270
  9. 新書
    79
    $284
  10. 新書
    79
    $284
  11. 新書
    79
    $284
  12. 新書
    79
    $284
  13. 新書
    79
    $284
  14. 新書
    85
    $306
  15. 新書
    85
    $306
  16. 新書
    88
    $317
  17. 新書
    9
    $324