看完本書書稿,回頭繼續盯著電腦工作的我,有點感動,彷彿跟網路世界交上了心。
科普書的市場準則:出現的算式越多,賣得越差。曾經聽一位出版社編輯說,即使是在書名上出現「E=mc2」,都會讓他們猶豫再三,深怕影響銷量,這也難怪針對電腦科學或演算法的科普書那麼的少。即便我們的世界已經被電腦科學所顛覆,絕大多數的人,包括我在內,都只是傻傻地看著奇蹟變成慣習。
《改變世界的九大演算法》是本我願意大力讚許跟推薦的好書,不僅因為這本書勇於碰觸科普書出版的禁忌,而是因為本書作者,美國迪金生學院數學暨電腦科學系教授 John MacCormick 俐落的文筆跟清晰的鋪陳,足以抹消非專業人士對演算法的恐懼。
搜尋引擎到底是如何在百億個網頁之中,於零點幾秒之內找到我們想要的那個連結?讓數十億人感到滿意的網頁排序是如何實現的?如何在網路上傳輸隱私資訊,而不被中間無數節點看得一清二楚?如何驗證收到的資料是正確,無篡改的版本?人工智慧的基本原理是什麼?… 如同作者所說,看完本書並不會讓你我可以即刻動手寫程式,變成演算法大師,但了解其運作原理,足以讓人感到任督二脈暢通,擁有了練內力的根基。
作者善於用從簡單的小案例開始,一層層地將演算法的精神跟實際應用堆疊而上,讓我們從邏輯上去了解演算法的設計因由,至於繁複的計算過程在本書其實並非主角,除了幾個掰掰手指就能算出的範例外,作者並未給讀者太多負擔,因為在真實情況下,要展現演算法的能耐,也只能交由電腦去算。只要邏輯通了,演算法的設計美感就自然浮現,而這就是作者每一章節由淺入深,幾乎可說是循循善誘的寫作想要帶領我們進入的境界。
近來最熱門的科技產業關鍵詞「大數據」,讓產官學無不趨之若鶩,但大數據跟青少年的性經驗一樣:每個人都在談,每個人都宣稱自己做了,然而真正讓數據展現出價值的並非空談,而是演算法。從股市到戰爭,從自動交易到自動使用武力,背後都是演算法,而儘管實際做法不同,但看完本書,你都能更加理解演算法何以改變世界,也比較能理性地看待許多吹得上天下地的大數據忽悠文。
從另一方面來看,演算法本身即是戰場。無數網路高手抱持著挑戰或是為惡的心態,試圖打穿演算法之牆(或是悄悄繞過),有趣的是,台灣正是核心戰場之一。「誰說台灣是個沒有天然資源的國家?台灣最大的天然資源就是病毒樣本」這句話來自於一位知名台灣駭客 Birdman。台灣面對的入侵跟資安事件多不勝數,在世界上僅次於美國,是病毒(惡意程式)樣本數量最多的地方,既然如此,那麼對我們來說,多去認識電腦科學與演算法,就更是一種義務了。