我們所有人的生活都受到有限空間和有限時間的限制,因此常常面臨一系列難以抉擇的問題。在一天或者一生的時光里,哪些事是我們應(yīng)該做的,哪些是應(yīng)該放棄的?我們對雜亂無序的容忍底線是什么?新的活動與熟悉并喜愛的活動之間如何平衡,才能取得令人愉快的結(jié)果?這些看似是人類特有的難題,其實不然,因為計算機(jī)也面臨同樣的問題,計算機(jī)科學(xué)家?guī)资陙硪惨恢痹谂鉀Q這些問題,而他們找到的解決方案可以給我們很多啟發(fā)。
通過豐富的跨學(xué)科研究,作者指出,計算機(jī)算法也可以用來解答人類面臨的這些問題。這本書告訴我們?nèi)绾胃行У乩弥庇X、什么時候應(yīng)該把選擇權(quán)交給命運、無所適從的時候應(yīng)該如何做出選擇,以及如何有效地與他人保持聯(lián)系。從找配偶到找停車位,從組織管理個人郵箱的收件箱到理解人類記憶的作用原理,這本書把計算機(jī)科學(xué)的智慧轉(zhuǎn)化為人類生活的策略,引導(dǎo)我們做出明智的選擇。
你以為這本書講的是算法嗎?其實它說的是人生。“算法”并不只適用于計算機(jī),同樣適合我們的生活與工作,租房、收拾衣柜、選擇餐廳、時間管理……無不能用算法解決。*優(yōu)停止法則、時間調(diào)度法則、貝葉斯法則等等,看似艱深,其實連找停車位都能用得上!
兩位作者一位是學(xué)術(shù)派、一位是暢銷書作者,兩人合著此書,嚴(yán)謹(jǐn)而不失幽默,故事詼諧有趣,方法蘊(yùn)含其中。
萬維鋼解讀,《習(xí)慣的力量》作者查爾斯·都希格等鼎力推薦
假設(shè)你想租房子,正在舊金山四處尋找房源。舊金山可能是整個美國最難找房子的城市了。由于技術(shù)產(chǎn)業(yè)的蓬勃發(fā)展,再加上城市區(qū)劃法律嚴(yán)格限制建造新住房,舊金山的房租已經(jīng)與紐約不相上下,甚至比紐約還高。房源清單列出來幾分鐘,房子就會被人們一搶而空。通常情況下,只有第一個把定金支票塞到房東手里的人,才能拿到房子的鑰匙。
理論上講,認(rèn)真調(diào)查、仔細(xì)斟酌是理性消費者的一大特征,但是舊金山的殘酷市場并沒有為他們留有權(quán)衡考慮的機(jī)會。在購物中心或者網(wǎng)上購物時,人們可以反復(fù)權(quán)衡再做出決定,但是將要入住舊金山的租客沒有這個特權(quán),他們必須迅速做出決定:要么舍棄其他所有可能的選擇,就選定當(dāng)前正在看的這套房子,要么掉頭就走,再也不要回頭。
簡單起見,我們姑且假設(shè),你唯一關(guān)心的就是盡最大可能增加挑中最理想公寓的機(jī)會。你的目標(biāo)是把“看過的好房子被人挑走”與“還有好房子沒來得及看”這兩種遺憾的發(fā)生概率降至最低。于是,你立刻發(fā)現(xiàn)自己陷入了兩難境地:如果沒有衡量的標(biāo)準(zhǔn),如何判斷一套公寓是否是最合適的呢?如果你不先看一些公寓(這些公寓將被你放棄),又如何確定衡量標(biāo)準(zhǔn)?你收集的信息越多,越能在最合適的機(jī)會出現(xiàn)時準(zhǔn)確地認(rèn)出它,但是你已經(jīng)與最合適的機(jī)會失之交臂的可能性也越高。
那么,到底該怎么辦?如果收集信息的行為會危及結(jié)果,那么怎樣才能在掌握足夠多信息的基礎(chǔ)上做出明智決定呢?這個令人極其為難的情境近乎于一個悖論。在被問及此類問題時,大多數(shù)人憑直覺給出的回答可能大致如此:這需要在繼續(xù)挑選與立刻下手之間達(dá)成某種平衡。也就是說,你必須先看足夠多的房子,確定一個標(biāo)準(zhǔn),然后接受符合這個標(biāo)準(zhǔn)的房子。事實上,平衡概念正是解決這類問題的關(guān)鍵。但是,大多數(shù)人根本無法確定這個平衡點在哪里。好消息是,這個平衡點已經(jīng)被找出來了。
答案就是37%。
如果你希望選中最合適公寓的可能性達(dá)到最大,那么在看前37%的房子時不要做出任何決定(如果你準(zhǔn)備花一個月的時間挑選房子,那么在前11 天不要做出決定)。這段時間你是在為制定標(biāo)準(zhǔn)做準(zhǔn)備,因此看房子時把銀行卡放在家里吧。但是,過了這個時間點之后,你就要做好隨時簽約的準(zhǔn)備(包括準(zhǔn)備好定金等),一旦你對某套房子的滿意程度超過之前看過的所有房子,就立刻下手。在繼續(xù)挑選與立刻下手之間做出的這種妥協(xié),并不僅僅是一種直覺,而是已經(jīng)得到證明的最優(yōu)解。
我們知道這個答案,是因為找房子問題屬于數(shù)學(xué)上被稱作“最優(yōu)停止”(optimal stopping)的一類問題。37% 法則明確了解決這些問題的一系列簡單步驟(計算機(jī)科學(xué)稱之為“算法”)。事實證明,找房子僅僅是最優(yōu)停止問題在日常生活中的表現(xiàn)形式之一。在面臨一連串選擇時如何做出決定的難題,經(jīng)常會改頭換面,以不同的形式出現(xiàn)在我們的生活當(dāng)中。在駛?cè)胪\囄恢埃枰@整個停車場多少圈?在商業(yè)風(fēng)險中何時套現(xiàn)脫身?在買房子或者停車時,何時是結(jié)束觀望、做出決定的最佳時機(jī)?
在約會這個更加令人頭疼的問題上,人們也經(jīng)常要面對這樣的難題。最優(yōu)停止理論是一夫一妻婚姻制度催生的科學(xué)。每天,人們都要面臨最優(yōu)停止問題的困擾(當(dāng)然,詩人更愿意追逐的話題肯定是求婚帶來的煩惱,而不是停車時的兩難境地),有時至?xí)虼硕纯嗖豢。不過,我們大可不必如此,因為這類問題至少可以通過數(shù)學(xué)方法來解決。借助并不繁復(fù)的算法,我們不僅可以解決找房子的問題,生活中遭遇的所有最優(yōu)停止問題都可以被妥善處理。
從本質(zhì)上講,我們身邊經(jīng)常出現(xiàn)因為租房子、停車、求婚而感到苦惱的人,這些人其實就是在自尋煩惱。他們需要的不是治療師,而是一種算法。治療師告訴他們要在沖動與多慮之間找到一個正確的、舒服的平衡點。
算法告訴他們這個平衡點就是37%。
本書將探討人類事務(wù)算法設(shè)計這個概念,以幫助人們更好地處理日常生活中遇到的難題。將計算機(jī)科學(xué)的研究方法應(yīng)用于日常生活,可以在多個層面上產(chǎn)生深遠(yuǎn)的影響。首先,它可以提供切實有效的建議,幫助我們解決具體問題。例如,最優(yōu)停止理論可以告訴我們何時應(yīng)該小心觀察,何時應(yīng)該果斷行動;探索– 利用平衡理論教會我們?nèi)绾卧趪L試新事物與因循守舊之間找到平衡點;排序理論可以幫我們判斷出是否需要以及如何整理辦公室;緩存理論可以幫助我們合理地填充櫥柜;日程安排理論則可以提供合理安排時間的高招。
其次,計算機(jī)科學(xué)還為我們理解這些領(lǐng)域的深層次運行規(guī)則提供了一套語匯?枴に_根指出:“與其說科學(xué)是大量知識的匯總, 不如說它是一種思考方式!奔词股钪械哪承┣闆r非常復(fù)雜,我們無法進(jìn)行嚴(yán)格的數(shù)值分析,找不到任何現(xiàn)成的答案,我們也可以考慮這些問題的簡單化表現(xiàn)形式,從而得出某些直覺和概念,幫助我們理解其中的關(guān)鍵環(huán)節(jié)并取得進(jìn)展。
從更廣泛的意義上看,借助計算機(jī)科學(xué),我們可以了解人類思想的本質(zhì)和理性的意義,學(xué)會回答如何度過一生這個最古老的問題。把認(rèn)知視為一種解決周圍環(huán)境所造成的問題(從本質(zhì)上看,都是一些計算問題)的手段,并認(rèn)真地加以研究,就有可能徹底改變我們對人類理性的理解。認(rèn)為研究計算機(jī)內(nèi)部運行機(jī)制能夠幫助我們學(xué)會思考與決策、判斷某個事物是否可信、選擇行為方式的觀點,在很多人看來,不僅把問題過于簡單化了,而且具有誤導(dǎo)性。即使計算機(jī)科學(xué)告訴我們應(yīng)該如何思考、應(yīng)該采取哪些行動,我們愿意接受嗎?讀一讀講人工智能和機(jī)器人的科幻小說就會發(fā)現(xiàn),那樣的生活似乎都不是我們所向往的。
之所以如此,部分原因是我們把計算機(jī)看成了機(jī)械呆板的確定性系統(tǒng)——這些機(jī)器借助嚴(yán)謹(jǐn)?shù)难堇[邏輯,通過窮舉所有可選方案,無論花費多少時間、問題難度如何,它都可以給出完全正確的答案。事實上,在阿蘭·圖靈當(dāng)時的想象中,計算機(jī)就應(yīng)該是這樣。這位第一個設(shè)想出計算機(jī)的人通過類比的方式給出了計算的定義,而類比的原型就是認(rèn)真鉆研的人類數(shù)學(xué)家——他們通過長長的計算步驟,最終得出絕對正確的答案。
因此,當(dāng)人們發(fā)現(xiàn)現(xiàn)代計算機(jī)處理難題的方式與他們對計算機(jī)的認(rèn)識并不一致的時候,他們也許會大吃一驚。當(dāng)然,簡單的算術(shù)對現(xiàn)代計算機(jī)而言沒有任何難度。目前,計算機(jī)科學(xué)面臨的最難解決的問題其實是人機(jī)對話、修復(fù)破損文件、下圍棋取勝,這些問題都具有規(guī)則不明確、所需信息不全,或者需要考慮無數(shù)種可能性才可以找出正確答案的特點。研究人員已經(jīng)開發(fā)出各種算法,使計算機(jī)在解決難度極大的問題時不需要完全依賴窮舉計算。要解決這些來自現(xiàn)實世界的任務(wù),就必須正確處理好可能性問題,利用粗略估算,在時間與精確度之間做出某種妥協(xié)。
隨著計算機(jī)處理現(xiàn)實任務(wù)的能力不斷增強(qiáng),計算機(jī)算法不僅對于人類自己的生活具有借鑒意義,同時還為人們理解人類認(rèn)知提供了一個更好的比較標(biāo)準(zhǔn)。在過去的一二十年里,行為經(jīng)濟(jì)學(xué)對人類進(jìn)行了非常具體的研究,結(jié)果發(fā)現(xiàn),人類是不理性的,很容易犯錯誤,而問題的源頭在很大程度上就是大腦這個古怪而獨特的硬件。這種自我貶低的認(rèn)識越來越普遍,卻無法解釋某些令人困惑的問題。例如,在完成包括想象、語言、因果推理在內(nèi)的大量認(rèn)知任務(wù)時,4 歲兒童的能力仍然超過成本高昂的超級計算機(jī),這到底是什么原因?
從計算機(jī)科學(xué)為日常問題提供的解決方案可以看出,人類思維具有另外一種特點——人生充滿了難以解決的問題。人經(jīng)常犯錯誤,雖然這可以說明人類大腦容易出錯,但是也表明這些問題具有難以解決的本質(zhì)特點。通過算法來思考我們周圍的世界,了解我們所面臨問題的基本結(jié)構(gòu)以及計算機(jī)給出的解決方案的特性,可以幫助我們真實地了解我們自己,更好地理解我們所犯的那些錯誤。
事實上,人類需要不斷面對計算機(jī)科學(xué)所研究的一些高難度問題,在不確定性及時間有限、信息不全、情況瞬息萬變等不利因素的干擾下做出決定。針對一些問題,即使最前沿的計算機(jī)科學(xué)也沒能開發(fā)出永遠(yuǎn)不會犯錯誤的有效算法,有的情形似乎是任何算法都無法解決的。
不過,盡管有的現(xiàn)實問題異常復(fù)雜,人們還沒有開發(fā)出完善的算法,但是一代代計算機(jī)科學(xué)家一直在與這些難題斗爭,并且在這個過程中得出了深刻而獨到的見解。這些來之不易的真知灼見與我們對理性的直覺認(rèn)識并不一致,與數(shù)學(xué)家對周圍世界的精確描述也迥然不同——數(shù)學(xué)家一心想要把這個世界變成整齊劃一的線條。計算機(jī)科學(xué)告訴我們:不要總是考慮所有的可選方案;不必每次都追求最佳結(jié)果;偶爾犯點兒錯誤;放下包袱,輕裝前進(jìn);有的事情可以暫時放一放;相信自己的本能,不要過多思考;放松自己;采用拋硬幣的方式;要體諒,但是不能忘記;忠于自我。
用計算機(jī)科學(xué)的智慧指引自己的人生之路,這似乎是一條不錯的建議。畢竟,與大多數(shù)建議不同的是,這條建議有據(jù)可依。
布萊恩·克里斯汀
《華爾街日報》暢銷書《*有人性的人》作者,該書入選《紐約時報》編輯推薦書目,被《紐約客》雜志評為年度好書。他的多篇作品先后刊登在《紐約客》《大西洋》《連線》《華爾街日報》《衛(wèi)報》《巴黎評論》及《認(rèn)知科學(xué)》等雜志上,被翻譯成11種語言。
湯姆·格里菲思
加州大學(xué)伯克利分校心理學(xué)和認(rèn)知科學(xué)教授,計算認(rèn)知科學(xué)實驗室主任。格里菲思發(fā)表過150多篇科學(xué)論文,內(nèi)容涉及認(rèn)知心理學(xué)、文化演進(jìn)等,受到美國國家科學(xué)基金會、斯隆基金會、美國心理學(xué)會和心理環(huán)境學(xué)會等頒發(fā)的各類獎項。
序言
第1章 最優(yōu)停止理論:如何準(zhǔn)確選擇停止觀望的時機(jī)?
秘書問題
37%從何而來?
情場上的出手時機(jī)
掌握候選對象的完整信息
賣房子的時機(jī)
最優(yōu)停車位置
見好就收的時機(jī)
隨時準(zhǔn)備停止
第2章 探索與利用:要最新的還是要最好的?
什么是探索與利用?
如何利用剩余時間?
贏留輸變
基廷斯指數(shù)
遺憾與樂觀
網(wǎng)上“土匪”
試驗中的臨床實驗
不安分的世界
孜孜不倦地探索
第3章 排序:建立秩序
排序狂潮
排序帶來的苦惱
大O符號:衡量最壞情況的標(biāo)準(zhǔn)
平方時間:冒泡排序與插入排序
打破平方時間的魔咒:分治算法
超越比較法:比對數(shù)更好的算法
排下序是搜索的準(zhǔn)備工作
排序與體育
發(fā)牢騷的權(quán)利:噪聲與健壯性
殺戮排序:啄食順序與優(yōu)勢等級
以競爭取代爭斗
第4章 緩存:忘了它吧
分級存儲器體系
緩存清理與未卜先知
重整圖書館藏書
本地需求
家庭生活中的“高速緩存”
歸檔與堆存
遺忘曲線
經(jīng)驗暴政
第5章 時間調(diào)度理論:要事先行
安排時間是一門科學(xué)
處理時限
把事情做好
找出問題所在
優(yōu)先級反轉(zhuǎn)和優(yōu)先約束
減速帶
放棄所有:搶占和不確定性
搶占并不是隨意的:關(guān)聯(lián)轉(zhuǎn)換
顛簸狀態(tài)
中斷合并
第6章 貝葉斯法則:預(yù)測未來
貝葉斯牧師的倒推理
拉普拉斯定理
貝葉斯法則與先驗信念
哥白尼原則
貝葉斯與哥白尼
真實世界先驗……
……以及他們的預(yù)測規(guī)則
小數(shù)據(jù)與思維
我們的預(yù)測體現(xiàn)出我們自己
機(jī)械復(fù)制時代的先驗
第7章 過度擬合:不要想太多
反對復(fù)雜性案例
數(shù)據(jù)崇拜
過度擬合無處不在
檢測過度擬合:交叉驗證
如何應(yīng)對過度擬合:懲罰復(fù)雜性
啟發(fā)法
人類進(jìn)化中的過度擬合
何時應(yīng)該想的更少?
第8章 松弛:順其自然
最優(yōu)化的難度
定義的難度
放松吧
無數(shù)灰色地帶:持續(xù)的松弛
只是一張超速罰單:拉格朗日松弛算法
學(xué)會松弛
第9章 隨機(jī)性:何時應(yīng)用隨機(jī)?
抽樣
隨機(jī)算法
抽樣的優(yōu)勢
三部分的權(quán)衡
山、谷和陷阱
局部最大值之外
模擬退火算法
隨機(jī)性、進(jìn)化和創(chuàng)造力
第10章 網(wǎng)絡(luò):我們?nèi)绾温?lián)系?
分組交換
信息確認(rèn)
指數(shù)退避算法:寬恕的算法
流量控制和擁塞避免
反饋語:語言學(xué)的流量控制
緩存膨脹:這就是延時,傻瓜
遲到不如永遠(yuǎn)不到
第11章 博弈論:別人的想法
達(dá)到均衡
占優(yōu)策略,無論好壞
公地悲劇
機(jī)制設(shè)計:改變游戲
機(jī)制設(shè)計的演變
信息瀑布:泡沫的悲劇理性
你自己的計算
結(jié)語 計算善意
要最新的還是要最好的?
饑腸轆轆時,你會去熟悉而且喜愛的那家意大利餐館,還是新開張的泰國飯店?你會帶你最親密的好友一同前往,還是邀請你新結(jié)識的熟人以便加深了解?太難選擇了;蛟S你寧愿待在家里吧。那么你準(zhǔn)備做一道比較拿手的菜肴,還是上網(wǎng)搜索尋找靈感后做一道新菜?還是很難選擇?沒關(guān)系,訂一份比薩怎么樣呢?那么,在選比薩時,你準(zhǔn)備“照舊”,還是要一些特別的口味呢?在你吃第一口之前,這些難題已經(jīng)讓你筋疲力盡了。放唱片、看電影或者看書,同樣也不是一件輕松的事,你也會面臨如何選擇的問題。
每天,我們都要做出各種各樣的決定,都要在某個非常具體的方面做出選擇:是進(jìn)行新的嘗試,還是繼續(xù)選擇我們喜歡的那個?直覺告訴我們,生活就是在新鮮事物和傳統(tǒng)事物之間、在最新的和最棒的之間、在勇于冒險和安于現(xiàn)狀之間取得平衡。但是,就像在公寓尋租過程中所面臨的觀望還是行動這個兩難困境一樣,這里也有一個問題沒有得到解決:如何平衡?
羅伯特·波西格在他于1974 年出版的經(jīng)典著作《禪與摩托車維修藝術(shù)》中對“有什么新鮮事嗎”這句寒暄語進(jìn)行了公開譴責(zé)。他說:“只要認(rèn)真地研究這個問題的話,得到的答案肯定是一堆瑣碎的跟風(fēng)事物,等到了明天它們就會失去新鮮勁兒!彼J(rèn)為另一個問題就要好得多:“最好的是什么?”
但是,現(xiàn)實生活沒有那么簡單。別忘了,你最喜歡的每一首“最好聽的”歌、每一家“最好的”餐館,在剛開始的時候,對你而言也不過是一個“新鮮”事物。這就說明或許還有一些最好的東西不為我們所知,因此,新鮮事物至少值得我們略加關(guān)注。
一些古老的格言承認(rèn)這種矛盾關(guān)系,但是沒有給出應(yīng)對之策!敖Y(jié)交新友,不忘舊友;新友是銀,舊友是金”、“無論生活如何豐富多彩,仍然留有結(jié)交新朋友的空間”等老話說的確實是真理,但是它們沒有告訴我們,這些“金”“銀”應(yīng)該以什么樣的比例混合,才可以高質(zhì)量地打造出幸福生活這塊合金。
50 多年來,計算機(jī)科學(xué)家一直埋頭鉆研,希望可以找到這個平衡點。他們的研究甚至還有一個專門的名稱:探索與利用的取舍。