“算來算去”
——《算法之美》讀書筆記
最初聽到《算法之美》時(shí)圈盔,作為一個(gè)純度百分之百的文科生是拒絕的,單算法兩字就可以讓腦子宕機(jī)鹃答。但一開篇作者提出的問題就吸引了我,每一篇章作者都會(huì)用日常生活中常見但又不好解決的問題戳中讀者的痛點(diǎn),吸引讀者繼續(xù)往下讀。
《算法之美》這本書探討的是人類事物算法設(shè)計(jì)的概念,將計(jì)算機(jī)科學(xué)的研究方法應(yīng)用于我們的日常生活之中,幫助我們更好的解決日常生活中經(jīng)常糾結(jié)枝笨、不知該如何是好的難題。有以下幾個(gè)方面的影響:
1.它可以提供切實(shí)有效的建議,幫助我們解決具體的問題横浑;
2.為我們理解這些領(lǐng)域深遠(yuǎn)層次運(yùn)行規(guī)則提供了一套語匯剔桨;
3.從更廣泛的意義上來說,借助計(jì)算結(jié)科學(xué)徙融,我們可以了解人類思維的本質(zhì)和理性的意義领炫,為人們理解人類認(rèn)知提供了一個(gè)更好的比較標(biāo)準(zhǔn),學(xué)會(huì)回答如何度過一生這個(gè)最古老的問題张咳。
該書作者首先帶我們討論計(jì)算機(jī)與人類大腦都需要面對(duì)的巨大挑戰(zhàn):
1.如何應(yīng)對(duì)有限空間帝洪、有限時(shí)間、有限注意力脚猾、未知的未知事物葱峡、不完整的信息與不可預(yù)見的未來給我們?cè)斐傻穆闊?/p>
2.如何鎮(zhèn)定自若、充滿自信地面對(duì)這些麻煩龙助;
3.如何與其他人一起共同面對(duì)這些麻煩砰奕。
之后作者向讀者介紹了上述難題的基本數(shù)學(xué)結(jié)構(gòu),了解計(jì)算機(jī)解決大多數(shù)難題的設(shè)計(jì)原理提鸟;人腦的工作原理军援,人腦在解決相同類型問題、應(yīng)對(duì)相同限制條件時(shí)有哪些獨(dú)特且密切的處理方式称勋。
通過閱讀此書胸哥,我們可以得到一系列有助于解決身邊問題的具體建議,學(xué)會(huì)在面臨復(fù)雜情況時(shí)看清問題的新方法赡鲜,同時(shí)清醒的認(rèn)識(shí)到人與計(jì)算機(jī)融合過程中的痛苦與艱辛空厌,最重要的是,我們可以嘗試從一個(gè)全新的視角來看問題银酬。
在第一章中嘲更,作者從最初的秘書問題出發(fā)帶讀者逐步討論最優(yōu)停止問題,但最后發(fā)現(xiàn)揩瞪,合理的決策需要窮舉所有的選擇赋朦,逐一權(quán)衡,然后從中找出最好的那個(gè)李破,但實(shí)際上宠哄,在鐘表滴滴答答的聲音中,決策活動(dòng)的其他方面都淡化了喷屋,進(jìn)一步凸顯出停止時(shí)機(jī)選擇的重要性琳拨。不禁想到前兩天看的《薩利機(jī)長(zhǎng)》的影片,其中就是因?yàn)闄C(jī)長(zhǎng)對(duì)時(shí)機(jī)的選擇屯曹、把握至關(guān)重要,拯救了整機(jī)全部人員的生命。但時(shí)機(jī)非常的微妙恶耽,需要依靠決策人的經(jīng)驗(yàn)累積等密任,且是難以描述的范疇。雖然理性偷俭、科學(xué)的公式數(shù)據(jù)能夠準(zhǔn)確浪讳、有力的解決很多問題,但同時(shí)我們也不要將感性完全丟棄在一邊涌萤。
第二章開篇的問題簡(jiǎn)直太真實(shí)了淹遵,“你是不是在偷窺我的生活”差點(diǎn)脫口而出,我們每天都在糾結(jié)是進(jìn)行新的嘗試负溪,還是繼續(xù)選擇我們喜歡的那個(gè)透揣。曾今我一直都覺得自己是個(gè)不斷嘗試新事物的人,但后來卻漸漸發(fā)現(xiàn)川抡,似乎越來越?jīng)]有去嘗試新事物的力量辐真。“想吃什么呀崖堤?”“恩侍咱,就之前那個(gè)吧!”“去哪家店呀密幔?”“恩楔脯,就上次那家吧!”······開始懶得去嘗試胯甩,蜷縮在熟悉的小角落里淤年,按照作者的說法,算是處于利用所擁有信息的階段蜡豹。探索和利用的取舍之間的權(quán)衡麸粮,始終是一個(gè)我需要好好思考的問題。作者通過克里斯·斯圖吉奧的例子镜廉,向讀者揭示隨著時(shí)間的推移弄诲,即使探索有所發(fā)現(xiàn),我們可以認(rèn)真品味這些新發(fā)現(xiàn)的機(jī)會(huì)也已經(jīng)所剩無幾娇唯,因此探索的價(jià)值隨之降低齐遵。所以作者關(guān)于探索和利用之間取舍權(quán)衡問題,它取決于我們還有多少剩余時(shí)間塔插,作者建議梗摇,當(dāng)我們有時(shí)間探索知識(shí)是,就大膽探索想许,當(dāng)準(zhǔn)備兌現(xiàn)探索的成果時(shí)伶授,就盡情利用断序。
作者對(duì)音樂記者這個(gè)行業(yè)意味著把探索進(jìn)行到極致的舉例,不禁讓我再次思考起——將喜愛的事情變成工作是否是一件好事糜烹?曾今總聽人說能將自己喜歡的事情變成工作违诗,很讓人羨慕。自己也曾這樣努力過疮蹦,將很多自己感興趣的事情都嘗試過诸迟,比如編輯、夏令營(yíng)等愕乎,前期的確是很開心的阵苇,但后期的感覺漸漸開始改變,最終支撐我堅(jiān)持下來的由喜愛的熱情變成了責(zé)任感感论。反思過以為是喜愛程度不夠绅项,但好像也不全是,“音樂記者本著殉道者的精神笛粘,默默探索趁怔,為其他人的利用創(chuàng)造條件”⌒角埃或許润努,喜歡的事情僅僅當(dāng)成一種愛好也是一件不錯(cuò)的事情呢。
作者認(rèn)為計(jì)算機(jī)領(lǐng)域的西羅克為奧巴馬做的A/B測(cè)試法與醫(yī)學(xué)領(lǐng)域的臨床試驗(yàn)法沒有任何不同示括,臨床試驗(yàn)小組的關(guān)注焦點(diǎn)是明確回答哪種治療方案效果更好铺浇,而不是為接受實(shí)驗(yàn)的每一名病人提供最有效的治療。在實(shí)驗(yàn)進(jìn)行的同時(shí)垛膝,醫(yī)生就已將在收集有關(guān)各方案治療效果的信息鳍侣,科技公司同樣是如此,A/B測(cè)試最經(jīng)典的做法是將流量均分給兩個(gè)選擇方案吼拥,測(cè)試一段時(shí)間之后倚聚,再將所有流量都分配給獲勝的那一方,但是這會(huì)導(dǎo)致一半用戶在測(cè)試過程中凿可,只能接受較差的那個(gè)方案惑折。這與某些心理學(xué)實(shí)驗(yàn)將人作為實(shí)驗(yàn)對(duì)象帶給我的矛盾情緒一樣。
第三章的排序打破了以往很多的刻板印象枯跑,甚至在房間混亂的時(shí)候可以理直氣壯的和媽媽說混亂無序也無傷大雅惨驶,甚至還是一種很明智很有效的方式呢!排序問題是我們?nèi)粘I钪胁豢杀苊獾膯栴}敛助,生活中處處充滿排序粗卜,書架上的書怎么排?衣服如何放置纳击?先看書還是先寫作業(yè)······作者給讀者介紹了很多的排序方法续扔,甚至還介紹了金縣圖書館系統(tǒng)的桶排序方法攻臀,其中“桶”的選擇是關(guān)鍵。但是在計(jì)算機(jī)科學(xué)家看來测砂,這些都不是最重要的茵烈,最重要的是為什么要進(jìn)行排序百匆,目的砌些、原因是什么。同時(shí)加匈,隨著搜索成本的下降存璃,排序的價(jià)值也會(huì)隨之下降。例如我從來都不會(huì)費(fèi)盡心力去為文件夾里的文件排序雕拼,因?yàn)榇蜷_文件夾就能夠看到纵东,即使看不到只要在文件搜索框輸入文件名稱甚至是關(guān)鍵詞即可。
雜亂無序可能會(huì)被認(rèn)為是一種拖延行為——吧責(zé)任推給未來的自己啥寇,而且連本帶息償還我們不愿意提前支付的債務(wù)偎球。但是,詳細(xì)情況還要更加微妙辑甜,有時(shí)候混亂不僅僅是輕松的選擇衰絮,還是一個(gè)最優(yōu)選擇。搜索和排序的取舍問題表明混亂狀況有時(shí)反而更加有效磷醋。早已記不清有多少次家人幫忙收拾完房間后或者家里大掃除整理后猫牡,找東西反而變得困難甚至找不到了的情況發(fā)生了。
書中作者也對(duì)體育領(lǐng)域的排序問題進(jìn)行了大量的介紹邓线,作為體育白癡的我之前確實(shí)是沒有考慮過這方面的問題淌友。關(guān)于賽程的安排及設(shè)置等,從這個(gè)角度看骇陈,也挺有趣的震庭。作者進(jìn)一步說到群體排序的問題,個(gè)體與個(gè)體為各自的地位而斗爭(zhēng)的情況非常少你雌,總的來說器联,兩個(gè)人走到一起,無須商量就知道應(yīng)該像對(duì)方表示何種程度的尊重匪蝙,每個(gè)人都清楚應(yīng)該如何相處主籍。雖然是計(jì)算機(jī)科學(xué)領(lǐng)域但不禁想到了《日常生活中的自我呈現(xiàn)》,劇班與劇班之間的相互配合逛球,大家心照不宣千元,默契的遵循著共同認(rèn)可的社會(huì)契約。在本章節(jié)的最后部分颤绕,作者提到幸海,在工業(yè)規(guī)模的經(jīng)營(yíng)活動(dòng)中祟身,有成千上萬的個(gè)人共享同樣的空間,因此物独,必須通過實(shí)現(xiàn)從序數(shù)到基數(shù)的飛躍袜硫,才能有效的建立秩序。仔細(xì)想來挡篓,我們?yōu)槭裁磿?huì)默契的遵循某種東西婉陷,因?yàn)槲覀児餐J(rèn)的某種秩序,而根據(jù)作者的思路官研,秩序是由排序而來秽澳,細(xì)思極恐,我們對(duì)事物的排序?qū)ξ覀兩鐣?huì)秩序的建立有著巨大程度的影響戏羽。
“緩存”章節(jié)雖有有些計(jì)算機(jī)領(lǐng)域的專業(yè)術(shù)語會(huì)讓我們反應(yīng)慢半拍担神,但是結(jié)合手機(jī)內(nèi)存和電腦內(nèi)存的實(shí)際使用情況理解就比較容易了。作者在本章節(jié)再次提到了歸檔整理的問題始花,同樣采用圖書館的藏書整理問題進(jìn)行舉例分析妄讯,突出緩存的作用。同時(shí)作者介紹了野口由紀(jì)夫文件歸檔系統(tǒng)酷宵,他的一個(gè)基本原則就是不能把文件根據(jù)內(nèi)容分類亥贸。市面上關(guān)于各種指南類的書其實(shí)不少,但仔細(xì)觀察可以發(fā)現(xiàn)其實(shí)各家說法都不一忧吟,甚至有的截然相反砌函。我覺得,方法有很多種溜族,但到底哪種是最好讹俊、最合適的還是看個(gè)人,大家都是不一樣的個(gè)體煌抒,有不一樣的經(jīng)歷仍劈、規(guī)劃,哪里會(huì)有普世的方式適合于完全適合于每一個(gè)人呢寡壮?過于完全套用或許又該考慮后文提到的過度擬合的問題啦贩疙。主要還是看個(gè)人是目的及需求。
作者每一段為混亂無序進(jìn)行的說明都像是為我做的辯解况既,雖然是這么認(rèn)為的这溅,而且有時(shí)候混亂的桌面確實(shí)反而提高了我的工作效率,但潛意識(shí)里還是會(huì)覺得這樣不好棒仍,這樣的自組織混亂是不對(duì)的悲靴,但作者一半正經(jīng)的推理真是太給力了。
時(shí)間調(diào)度的章節(jié)對(duì)于每天都在趕deadline的人實(shí)在是太真實(shí)了莫其,以及真的很有用癞尚。因?yàn)榻?jīng)常多線處理問題耸三,合理的安排時(shí)間是一直沒有處理好的問題,deadline永遠(yuǎn)都是第一生產(chǎn)力浇揩,但其實(shí)是非常希望能夠在deadline之前早早完成各項(xiàng)事務(wù)仪壮,多線處理模式經(jīng)常在做事情A的時(shí)候,腦子里會(huì)冒出B的內(nèi)容胳徽,思維開始各地游走积锅,然而并沒有取得真正的進(jìn)展,一次只做一件事情的方式非常好膜廊,可以集中注意力乏沸,提高效率淫茵,按照作者的建議根據(jù)自己的需求合理的安排待辦事項(xiàng)清單爪瓜,合理的調(diào)度時(shí)間。
對(duì)于數(shù)學(xué)結(jié)構(gòu)和設(shè)計(jì)原理方面的內(nèi)容匙瘪,作為文科生的自覺铆铆,沒有進(jìn)行死磕,只是大致翻閱了一下丹喻,不明覺厲薄货。
最開始的確覺得計(jì)算機(jī)以及算法程之類的都是機(jī)械刻板的,沒想到這么有趣碍论,而且可以運(yùn)用的這么廣泛谅猾。計(jì)算機(jī)算法可以幫我們解決很多日常生活中的問題,通過算法來了解我們周圍的世界鳍悠,從一個(gè)新的角度去思考我們所面臨的問題税娜,甚至幫助我們更真實(shí)的了解我們自己,更好的理解我們的行為藏研。目前計(jì)算機(jī)科學(xué)家面臨的最難解決的問題是規(guī)則不明確的敬矩、所需信息不全面的問題計(jì)算機(jī)暫時(shí)難以處理好。但這不恰恰是我們?nèi)祟愃瞄L(zhǎng)的嗎蠢挡?算法雖然能夠帶給我們很多好處弧岳,幫助我們解決很多問題,但同時(shí)也要時(shí)刻銘記作者所提到的“訓(xùn)練創(chuàng)傷”“過度擬合”等問題业踏,有時(shí)候禽炬,算來算去與隨意點(diǎn)之間,隨意點(diǎn)也挺好勤家,都嘗試一下腹尖,就當(dāng)是探索,搜集信息嘛却紧。