TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
未來算法:下一個十年贏在計算思維(簡體書)
滿額折

未來算法:下一個十年贏在計算思維(簡體書)

商品資訊

人民幣定價:69 元
定價
:NT$ 414 元
優惠價
87360
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:10 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

我們的未來,是人和機器一起仰望星空的時代。

這本書用通俗易懂的語言和生動活潑的例子,介紹了有關“未來算法”的新知識,重點拆解了排序、分類、搜索、遞歸幾大基本的未來算法,輕松講述了數據結構、模式識別、抽象、優化的定義和應用,並提出了“計算思維”的新概念。

計算思維,簡單地說就是計算機怎麼解決世界上的問題。

 計算思維可以讓你像計算機一樣思考。學會了計算思維,你可以看透互聯網世界和AI是怎麼運作的,你也就學會了一種解決大規模復雜問題的方法。

 計算思維會給你一套現代的交往語言。它是現代社會的思維方式,它所提供的一套語言,比如算法、數據、模型、迭代、AI 等是現代人交往的語言。

 計算思維可以幫你優化每日的生活和工作,也可幫你解決人生的復雜問題,比如如何管理時間,如何分配資源,如何找工作或伴侶,如何理解和駕馭AI。

這本書會給你提供一種全新的看世界的視角,讓你掌握現代信息運作的奧秘。作者認為,未來的十年是算法發展的黃金十年。在這樣的時代背景下,如果能掌控計算思維,你就會在工作和成長中脫穎而出,贏在下一個十年。


作者簡介

諸葛越

 夸克星辰科技創始人兼CEO。

 曾任Hulu公司全球研發副總裁,中國研發中心總經理;雅虎北京研發中心資深產品總監;微軟北京研發中心項目總經理。

 計算機科學家。美國斯坦福大學計算機系碩士與博士,紐約州立大學石溪分校碩士,曾就讀於清華大學。

 曾出版教育類圖書《魔鬼老大,天使老二》,科技類圖書《百面機器學習》《百面深度學習》。

 “得到”App《如何培養面向未來的孩子》專欄作者。

 入選福布斯中國2020科技女性榜。


名人/編輯推薦

1. 算法是未來的基石,思維是底層的架構。這本書用4大算法+4種思維,給你AI時代的制勝武器。講述的是前沿趨勢,教授的是底層思維,賦能的是職場人。

2. 學會了計算思維,具備了數據素養,你就可以看透互聯網世界和AI是怎麼運作的,也就掌握了一種解決大規模復雜問題的方法。這種方法將成為你在工作和生活中的有力助推。

3. 計算機科學家諸葛越新作!吳軍作序,沈向洋、王小川、郝景芳誠意推薦。

4. 隨書附贈“下一個十年贏在計算思維”超濃縮思維導圖。


目次

推薦序 智能時代的通識教育 / 吳軍

前言 操縱未來世界的算法


第一部分 基石


第 1 章 分解問題:從炒雞蛋到無人駕駛

004 炒雞蛋

007 短視頻推薦

010 無人駕駛

013 辦婚禮

014 分解問題和編程


第 2 章 排序算法:巴比倫的泥板

022 抓牌

023 開學典禮

029 算法的特性

032 1 萬件衣服

035 積分送好禮

036 小明有限的腦空間

038 用排序思維來做時間管理


第 3 章 分類算法:全世界所有的東西

046 男孩女孩看電影

048 大孩子、小孩子

051 微博熱搜

053 直到

055 再抓牌

057 全世界所有的東西

059 分類樹

061 世界杯賭球騙局之二分法

063 無人駕駛交通標志的識別

065 人臉識別是個分類問題

068 人臉識別分類算法

071 分類算法的特性

073 用分類思維來解除焦慮

074 要事先行:四象限法則


第 4 章 搜索算法:找到牛津大學

083 怎麼在書架上找到一本書

088 誰和你一樣大

092 找到一家滿意的餐館

094 你的手機通信錄

095 過濾

096 選購汽車

098 找到牛津大學

102 搜索引擎是怎麼工作的

107 從搜索到推薦

108 用搜索思維來找工作


第 5 章 遞歸算法:洋蔥、漢諾塔和昨天的你

114 報數

116 洋蔥的面積

117 珍珠心

119 花菜

120 中國有多少人

123 最短路徑

127 世界末日的漢諾塔

132 斐波那契的兔子

135 昨天的你


第二部分 架構


第 6 章 數據結構:皇室家譜和繼承

142 配對的襪子

145 隊列

147 插隊

148 愷愷的抽屜

150 擺渡車

152 歌單、菜單和名字

154 朋友圈

156 家譜

157 二叉樹

159 爬樹

162 皇室家譜和繼承

163 人氣網紅

165 大數據與云計算


第 7 章 模式識別:會掃地的機器人

172 大城市、中城市、小城市

175 拿鐵、卡布奇諾、馥芮白

178 機器人包包

179 紅綠藍紫燈

182 升級版包包

185 填滿正方形

190 畫圈的博博

193 電子老鼠走迷宮

195 掃地機器人

200 咳嗽聲識別新冠

202 認清本質,識別規律,預測未來


第 8 章 抽象:10 根手指限制了我們的想象

210 公交車導航

211 社交網絡

214 電梯的按鈕

216 訂單的一生

218 10 根手指限制了我們的想象

221 手機上的數字鍵盤

223 三種顏色的電視

225 簡易二維碼

229 加密和解密

231 為什麼間諜要拿一本書

233 物理世界到數字世界的抽象

237 忽略細節,注重要素


第 9 章 優化:如何找到最佳伴侶

242 找到最佳伴侶

246 逃生算法

252 窮舉是個笨辦法

254 優化和最優

257 完成你的新年願望清單

263 清理房間和清理大腦

267 旅行中的推銷員

274 翻過山丘

279 計算復雜性

283 讓隨機帶給我們驚喜


第三部分 未來


第 10 章 AI 和未來計算

293 孩子是如何學會區分蘋果和香蕉的

296 AlphaGo 下圍棋

298 AI 是怎麼寫唐詩、宋詞和《紅樓夢》的

300 神經網絡

305 機器人約會

309 診斷癌癥患者

313 嗅覺 AI

315 AI 時代剛剛開始


結語 計算思維是一種時代技能

後記

致謝


書摘/試閱

前言 操縱未來世界的算法


現代世界是計算機的世界。當今世界的每個人,幾乎每時每刻都在跟計算機打交道。從早上出門打車用的打車軟件、導航軟件,上班用的計算機、文件和在線工具,點外賣咖啡的App(應用程序)和快遞調度,到手機支付,孩子上的網課,在淘寶、京東購物,看微信,刷抖音,用語音助手,和機器人聊天,這些行為背後全是強大的計算機在操縱。

未來是人和機器一起仰望星空的時代。新興的計算技術給世界帶來了波瀾壯闊的變革。從載人火箭的發射和回收,到無人駕駛,從高尖的AI(人工智能)、大數據、搜索,到人臉識別、基因檢測、電子醫療、智能城市規劃,所有這些大型的工程項目,唯有我們和強大的計算技術攜手才能做到。

2016年,谷歌旗下公司開發的AI計算機程序AlphaGo戰勝了圍棋世界冠軍李世石。其實,早在1997年,計算機“深藍”已經戰勝了世界上最厲害的國際象棋選手加裡•卡斯帕羅夫(Garry Kasparov),但是圍棋的棋局變化眾多,一直到最近,都還是人略勝計算機一籌的。AlphaGo2016年之後的連續勝利,讓所有人認同,AI在圍棋方面已經超越人類職業圍棋的頂尖水平。這個現象引發了社會上非常多的探討:計算機的能力是否已經全面超過人類?在未來的計算世界裡,我們的生存空間在哪兒?

計算機的發展始於20世紀初,20世紀四五十年代開始應用,80年代計算機進入家庭,90年代互聯網興起,21世紀初移動互聯網和智能手機帶來變革。半個多世紀以來,計算機科學家們發展出了一套方法來指導計算機,讓計算機實現前面描述的這些變革性的應用。那些強大而精妙的、影響我們未來每一天的算法,就是本書要給大家介紹的未來算法,而這套思維方法也叫計算思維(computational thinking)。

算法是打開未來世界的鑰匙,是計算思維的核心概念。計算思維,簡單地說就是計算機怎麼解決世界的問題。它包含幾個部分:把復雜問題分解成簡單問題,找出重復的模式,把物理世界的信息抽象表示成計算機能夠理解的信息和很多約定俗成的算法。本書會用你能懂得的例子向你介紹這些概念。

未來算法教你像計算機一樣思考。學會了計算思維,你可以看透互聯網世界和AI是怎麼運作的,你也就學會了一種解決大規模復雜問題的方法。計算機最強有力的地方在於以一抵萬。它做的不是小事,是大事,是在10億個網頁裡找出一條信息,統計識別全國人口的身份,同時處理上千萬筆訂單,或者給幾億名用戶個性化推薦短視頻這樣的大事。計算機最強大的地方在於它的規模,學習計算思維會讓你學會這種規模思考。

計算思維給你一套未來社會的交往語言——算法、數據、模型、迭代、AI等,這些都是現代人必須深入了解的概念。計算思維的方法,比如分解問題、資源優化,也成為我們處理問題的標準方法。看完這本書,你再見到這些概念的時候就不再感到陌生,不再是外行,你在交談和決策時就會不懼不恐,不停留在空洞模糊的理解中。

計算思維會對你的每日生活和工作有幫助,你會發現生活中處處是算法,會從一個全新的角度看待日常的問題,比如如何找到去公司的最短路徑,如何管理時間,如何用優化的方法找餐館和找伴侶,如何加密你的信息,機場人流是怎麼回事,騙子是怎麼利用簡單算法讓很多人上當的。計算思維也能幫你了解日常應用是怎麼工作的,比如為什麼滴滴知道你要去哪裡,朋友圈為什麼可以一直刷。計算思維還會幫你做事,幫你更有效地利用這些強大的計算機應用。比如了解搜索引擎的原理後,當你要找一份工作,你就知道如何縮小範圍去找到合適的結果。再比如你想提高自己淘寶店商品的排名,你如果了解其分類和排序的規則,你的商品就有可能排到前面。

計算思維也可以幫助你解決人生的復雜問題。計算思維是一套方法論,一套解決復雜問題的方法論,這套方法論可以遷移到生活當中,給你指導:如何做好一名CEO(首席執行官)?如何讓孩子上好大學?如何在享受現在的生活和探索新的機會之間找到平衡?這些問題的本質是如何優化,如何做選擇,如何做成一件大事。比如,你的焦慮感可能源於未能合理地分類,把可控和不可控的事情分開。我們都知道人生的難題不能用一個算法來解。計算思維會教你分解問題,找出規律,教給你直覺和框架。這對我們了解復雜的世界,做正確的人生決策有很大的幫助。


什麼是未來算法和計算思維

現在,我們更進一步地來理解本書要介紹的算法和計算思維。你是否想過,為什麼計算機科學對現有的幾乎所有的領域都產生了巨大的影響?

現有的科學領域,比如說醫學、物理學、生物學、教育學,都是很專業的領域,而計算機科學屬於解決問題的科學領域。它的影響力在於,它的方法能夠滲入並幫助其他各個領域,解決那些領域本身存在的問題。比如,計算機幫助醫生在圖像中尋找病人患癌癥的可能性,幫助物理學家在千萬張星空影像中找到新星,幫助生物學家快速排序病毒DNA(脫氧核糖核酸)並預測可能的變異,幫助教育專家了解每個孩子的不同並真正做到個性化教學。

大家知道,計算機是機器,機器是死板的。計算機能懂得的命令是非常簡單的。就像一個一兩歲的小孩一樣,一臺普通計算機能夠懂得的命令只有非常少的幾種,比如“加一”“減一”“判斷兩個數是否相等”。這些簡單的命令可以合起來讓計算機完成一些標準的任務,比如把一串數字按大小排序。

那計算機為什麼能做到那些炫酷的、人類做不到或者比不上的事情呢?這是因為它的速度特別快。快到什麼程度?任何一臺現代的計算機都可以在一秒之內讀完《莎士比亞全集》。它可以在人無法感知的毫秒內完成幾百萬甚至數千萬次的計算。另外,計算機還有一個優點,就是它可以不厭其煩,不斷地重復做一件事。比如,你讓一個人把100本書按名字首字母順序排列可能不算難。但是如果讓他排1萬本書,他就非常累了,可能要排好幾天。計算機是不怕累的,它可以快速且不抱怨地重復勞動。別說有1萬本書,哪怕是10萬本、100萬本、1億本,它都可以正確地排出來。理解了既死板又強大的計算機,你就理解了它是怎麼做事的。計算思維的核心方法,就是充分利用計算機這種快速、精確、規模化的能力,把這種能力用算法表示出來,讓計算機來完成。

目前業界公認,計算思維包含4個方面:分解問題、抽象、算法、模式識別。其中,算法是直接用來解決問題的方法,而其他幾個概念能幫助人們用算法來表示生活中的問題,從而讓計算機來解決這些問題。下面我們再具體地解釋一下上面提到的4個核心方面。

第一,拆解復雜問題,直到復雜問題成為可重復的簡單問題(分解問題)

不同學科、不同時間段、不同的人都有不同的思維方式和認知世界的方式。做同一件事,比如說蓋一棟房子,建筑師想到的是設計風格,材料工程師想到鋼筋水泥,文學家想到寫個故事,而計算機看到的是:窗戶、門、墻、地板,一起有結構地搭成一棟完整的房子。在計算機看來,窗戶盡管大小形狀不一,但都是窗戶,門可以有不同的材質,但都是門。對計算機來說,蓋一棟房子,是用多少個組件和如何搭建起來的問題。

用計算思維解決問題,首先就要拆解。分解問題是把原問題分解成子問題,解子問題,再把子問題的解合成原問題的解。無論多麼強大的計算機應用,背後都是把原問題分解成可以解的子問題,只是規模不同。

你可能會用抖音刷短視頻看,那抖音的個性化推薦算法是怎麼回事呢?它怎麼知道你喜歡什麼視頻呢?在計算機看來,這個問題可以拆解成:(1)把所有的視頻按內容分類和排序;(2)根據所有用戶(包括你)以前各自的觀看習慣,推導出喜好;(3)把視頻內容和用戶喜好進行匹配,按匹配程度排序,這個排序可以用我們第2章要講的排序算法來做。也就是說,你用抖音刷視頻對計算機來說分三大步,每一步都可以繼續拆解,直到每一步都可以用算法來完成。

淘寶看上去是做完全不同的事,但是你能想到嗎,它最終也是個排序的問題。淘寶是把你要找的商品做個排序,按照你的需求來排。這兩個強有力的應用,最終解決的都是排序算法的問題。但是它們排的東西不一樣,一個是視頻,一個是商品。排的方法也不一樣,一個要學習你的喜好,讓你喜歡看,看的時間長;另一個要盡快有效地促成交易。

第二,把生活中的問題抽象化,用約定俗成的算法來解(抽象)

我們生活在一個物理世界裡,計算機生活在一個數字世界裡。計算機並不像人一樣理解真實的事物,我們需要把真實的世界表達成它能理解的語言。然後在計算或操作後,它才能在真實世界中把結果展示出來。

比如,抖音需要用ID(身份標識號)或者名字把視頻表示成計算機可以理解的形式,也要把視頻內容表示成計算機可以理解的形式。同樣,淘寶需要把商品的名字、內容、價格等表示成計算機可以理解的形式。被計算機排序後,這些物品需要轉換回人能夠看見的視頻或者商品。這個把真實物理世界和計算機數字世界對應的過程就是抽象。

在進行抽象的時候,我們要忽略不必要的空間或時間細節,以集中解決關鍵的問題。比如,要計算機調度公交車,只需要對它表示車站和地理位置,而不需要表示路旁的商店和花草。再比如,在App裡面找一首歌,只需要對它表示這首歌的名字和歌手,播放的時候,才需要音頻文件。

一旦問題被抽象成計算機可以理解的形式,比如轉化為上面提到的排序問題,那麼,這個問題就有約定俗成的解法了。在本書的第2章,我會向大家介紹一些常用的排序算法,比如冒泡排序、插入排序等。這些算法是計算機科學家研究出來的正確而高效的算法,是放之四海而皆準的算法。我們不需要重新去發明它們,就好比造房子的時候有其他公司已經能做出世界一流的窗戶,那我們只需要知道是哪家公司有這個能力,把尺寸要求給它,讓它造窗戶就行了。

第三,算法是流程化的、可調用的、邏輯清晰的(算法)

計算機的算法就是一系列的指令,而指令是計算機能理解的語言。

人類的語言本身是復雜的、模糊的、會意的,比如“空山鳥飛絕”這句詩,看到的人會“腦補”這個畫面。而計算機語言像小孩的語言,你必須給它所有精確的信息,它才能懂。計算機需要數過每一棵樹,不多也不少,才知道這是一片有幾棵樹的森林。計算機的指令需要清晰、流程化,就像做一杯咖啡的指令,不管誰拿到這個指令,都可以做出同樣的咖啡。

清晰的語言表達是計算思維的要點。拆解使語言變得清晰。比如,計算機把物體從小到大做一個排序隊列,它的辦法是:(1)拿一個新的物體;(2)從隊列第一個開始比較,直到找到這個物體合適的位置;(3)把這個物體插入這個位置。這3個步驟非常清晰,沒有歧義,對任何數目的物體都會奏效。在第2章我們會看到,這個算法叫插入排序算法。抖音排視頻可以用這個算法,淘寶排商品也可以用這個算法。無論是抖音需要每天推薦1億個短視頻,還是淘寶同時服務1000萬名用戶,當它們做到最後一步,需要向用戶展示一個排好序的清單的時候,它們用的都是我們會在第2章學到的排序算法。在本書中,我會介紹各種基本的算法,可以說,現代和未來的數字世界就搭建在這些算法之上。算法是約定俗成的好方法,一個算法可以解不同的問題,一個問題可以由不同的算法來解。我們需要知道各種算法的存在,懂得它們的原理,學會調用它們,讓算法為我們服務。

第四,可重復性帶來規模效應(模式識別)

計算機的算法不是用來解一個問題的,而是用來解一類問題的。這個解是可以重復的。比如,抖音不是給一個人推薦視頻,它的算法可以給一億人推薦視頻,每個人看到的內容是不一樣的,形式和方法卻是一樣的。再比如,一個人臉識別算法不是只能識別某個人,而是可以把每個人的身份證照片和實際的影像進行匹配。

可重復性帶來規模效應,這是計算機強大的根本原因。所謂模式識別,就是識別出哪些問題有共性,可以用同一個方法(比如排序)來解,這樣我們就可以把這些問題交給計算機算法,讓它重復做,做成千上萬遍。

說到計算思維,人們通常會提出兩個最常見的問題。

第一個問題:計算思維和數學思維是一回事嗎?

答案:不是。簡單地說,數學尋求的是真理,數學問題會有一個答案或者一個證明,數學關心的是正確性。比如7+3=10。計算思維更關心怎樣有效地把一件事做出來。對計算機來說,一個問題有解還是不夠的,關鍵是怎麼解,是否能在合適的時間內找到令人滿意的答案。比如說,能否在1秒鐘內給我推薦合適的視頻,在10秒鐘內找到去公司的最短路徑,或者要在50億個網頁中找到和“火箭”相關的網頁?怎麼才能在合理的時間內把一件事做出來,是計算思維關心的問題。

103是不是個素數?這是個數學問題。寫一個算法來判斷任意數字是不是一個素數,這是個計算機的問題,計算機能解決所有判斷素數的問題。再比如,300萬和200萬哪個大,是個數學問題。如何讓300萬人同時在線看球賽,是個計算機的問題。

第二個問題:計算思維和編程是一回事嗎?

答案:不是一回事,但是有一定關係。計算思維可以說是學編程之前的基礎技能,也可以說是貫穿編程過程的底層思維。沒有計算思維就學不好編程,但是計算思維不受限於編程語言,比編程囊括得更廣。用一種編程語言寫出算法,交給計算機去運行,不論是用C語言、Python、Java,還是其他編程語言,這個過程都是編程。從計算機編程誕生以來,人們設計出的編程語言有100多種,而算法是不需要懂得任何編程語言就可以學會的。

用寫文章做比喻,編程好比寫漢字、寫英語或者寫日文,計算思維則類似於文章的構思、組織和內容。會編程只是掌握了和計算機直接交流的語言,而擁有計算思維才能寫出正確的程序。我們都知道,人與人之間的交流可以通過非文字的方式,比如畫畫。和計算機交流也可以通過使用現成的App、圖形化編輯軟件等,不一定要通過編程。


誰可以讀這本書

所有的人都可以讀這本書。

你可以是不在計算機行業的成人,想了解算法是怎麼回事,計算機是怎麼工作的,AI是怎麼學習的,掌握人人熟知的基本概念。這屬於知識性的閱讀。

你可以是中學生、大學生,這本書可以帶你入門,以便你將來更好地學習和計算機相關的內容。這屬於趣味性的閱讀。

你可以是孩子的家長,不知道孩子是否該學編程,怎麼算學懂,你可以帶著孩子一起讀。當然,掌握了計算機的方法論,你也可以解決自己遇到的實際問題,比如如何做復雜項目,使你的工作和生活更高效。

如果你已經是計算機專家,你可以看到,原來許多概念也可以由繁入簡,原來可以用這樣簡單的例子去解釋你已有的技能,你將耳目一新。

雖然這只是一本入門書,但我還是希望能帶大家窺探一下計算世界的精美和巧妙,展示它如何用非常優美的、極其聰明的、超常簡潔的辦法去解決復雜的難題。比如一個不規則的大問題怎麼變成多個規則的小問題,比如貌似非常不同的問題背後其實是同樣的模式,比如AI其實就是預測,比如如何用簡單的黑白二維碼來表示繁多的信息,比如用自我嵌套的遞歸方法可以畫出極其優美的圖案和解答世界末日的謎題。

希望這本書會給你一個不同的看世界的視角。


您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 360
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區