久热香蕉在线视频免费_自_午夜福利院中文字幕_欧美精品在线视频中文_欧美人成在线播放网站色

  • <address id="i8pvn"><var id="i8pvn"><center id="i8pvn"></center></var></address>
  • <button id="i8pvn"><acronym id="i8pvn"></acronym></button>
  • 甘肅信息港

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    分享到:
     2020-04-02 08:35:40 來(lái)源: 閱讀:-G0


    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    今天我們繼續(xù)講《計(jì)算機(jī)思維》。了解一些歷史有利于理清思路。上一講講算法,我們總結(jié)了一個(gè)歷史教訓(xùn),那就是人的思想,可以領(lǐng)先于技術(shù)應(yīng)用。人類并不是先有了計(jì)算機(jī)才有的計(jì)算機(jī)思維,而是早就有了計(jì)算機(jī)思維,在那兒等著計(jì)算機(jī)出現(xiàn)。借用一個(gè)佛教術(shù)語(yǔ),啟蒙時(shí)代以來(lái)思想家已經(jīng)“照見(jiàn)”了計(jì)算機(jī)的可能性。

    我們看計(jì)算機(jī)產(chǎn)品是最容易過(guò)時(shí)的,今年買(mǎi)的手機(jī)明年就換代了。硬件可以被淘汰,軟件可以被升級(jí),但是,思想很難過(guò)時(shí),數(shù)學(xué)永不過(guò)時(shí)。計(jì)算機(jī)的發(fā)展故事,是把思想實(shí)現(xiàn)的故事。


    我們孜孜以求的,是一個(gè)“自動(dòng)的”機(jī)器。

    1.對(duì)自動(dòng)的追求

    下面這張圖中是一個(gè)會(huì)下國(guó)際象棋的機(jī)器人,叫“土耳其行棋傀儡(Mechanical Turk)”。它在1770年出現(xiàn)在歐洲,能跟人類棋手對(duì)弈,而且水平相當(dāng)高。它擊敗過(guò)拿破侖·波拿巴和本杰明·富蘭克林這樣的名人。很多人懷疑棋盤(pán)下面那個(gè)柜子里可能藏了一個(gè)人,可是打開(kāi)柜子只能看到一堆齒輪。這個(gè)下棋機(jī)器人在歐美縱橫征戰(zhàn)了數(shù)十年。

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    ……當(dāng)然,那時(shí)候可沒(méi)有“深藍(lán)”和“AlphaGo”。一直到 1857 年這個(gè)秘密才被揭開(kāi),事實(shí)是……里面真的藏了一個(gè)人。只不過(guò)因?yàn)樵O(shè)計(jì)巧妙,看不出來(lái)而已。


    但是你能看出來(lái)當(dāng)時(shí)的人對(duì)“自動(dòng)的機(jī)器”有多么著迷。人們迫切想要這個(gè)東西,而且人們認(rèn)為有這個(gè)東西很正常。“土耳其行棋傀儡”是個(gè)魔術(shù),但下面這個(gè)東西可不是魔術(shù)——

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    這是“作家機(jī)械人偶(The Writer)”,由瑞士鐘表師皮埃爾·雅克·德羅在1768 年設(shè)計(jì)制造 [1]。它能自己拿筆蘸墨水,在紙上寫(xiě)字畫(huà)畫(huà) ——

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    如果你見(jiàn)過(guò)這個(gè)會(huì)寫(xiě)字的機(jī)器人,再見(jiàn)到會(huì)下棋的機(jī)器人可能就不會(huì)感到那么不可思議了吧。其實(shí)下棋和寫(xiě)字還是有本質(zhì)區(qū)別,寫(xiě)字只是“自動(dòng)”,而下棋需要智能。但是在談?wù)撝悄苤?,我們得知道,自?dòng),已經(jīng)是一個(gè)了不起的成就。


    這個(gè)作家機(jī)器人偶是怎么寫(xiě)字畫(huà)畫(huà)的呢?你必須能把那些字和畫(huà)的信息存儲(chǔ)到機(jī)器里才行。而這是通過(guò)機(jī)器人后背的一個(gè)齒輪實(shí)現(xiàn)的 [2],齒輪上代表不同字母的鋼片的形狀決定了字母寫(xiě)出來(lái)什么樣 ——

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    而那些字母是可以替換的!你換一組字母,或者換一套代表繪畫(huà)筆畫(huà)的齒輪,作家機(jī)器人偶就可以寫(xiě)出別的內(nèi)容。就好像我們現(xiàn)在玩游戲機(jī),換個(gè)卡帶就是一個(gè)新游戲一樣。

    十八世紀(jì)真是個(gè)蒸汽朋克式的美好時(shí)代。如果人類一直沒(méi)有發(fā)明電力,今天我們看到的就都是這樣的自動(dòng)機(jī)器。我們想想,像八音盒這種東西,它為什么能播放特定的樂(lè)曲?其實(shí)是一樣的道理。我借用威爾遜在《生命視角》中的一個(gè)說(shuō)法,這是“嚴(yán)格的靈活性”:操作步驟是嚴(yán)格固定的,但是可以接受靈活的輸入,產(chǎn)生不同的輸出。


    1804 年 [3],法國(guó)人發(fā)明了一種提花織機(jī)(Jacquard loom),它能從一個(gè)長(zhǎng)長(zhǎng)的打孔卡上讀取信息,織出特定式樣的花紋。打孔卡上的孔可以讓鉤子穿過(guò)去,鉤子控制織線??棛C(jī)是同一個(gè)織機(jī),打孔卡可以隨便更換,換張卡就是不一樣花紋。

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    提花織機(jī)的打孔卡,圖片來(lái)自維基百科

    打孔卡,可以說(shuō)是機(jī)械化自動(dòng)機(jī)器的軟件。打孔卡這個(gè)技術(shù)思想在此后有廣泛的應(yīng)用,IBM公司最早就是靠這東西起家的……


    但是,“嚴(yán)格的靈活性”畢竟不是真正的靈活性。打孔卡技術(shù),距離可編程計(jì)算,還有根本性的一步。

    2.第一臺(tái)通用計(jì)算機(jī)

    你可能不知道,第一臺(tái)可編程的通用計(jì)算機(jī),并不是電子的,而是機(jī)械的。

    1820年,英國(guó)人查爾斯·巴貝奇(Charles Babbage)把“嚴(yán)格的靈活性”發(fā)揮到了極致,設(shè)計(jì)了一個(gè)叫做“差分機(jī)”的東西,它可以做多步驟的復(fù)雜計(jì)算。

    巴貝奇的野心是用差分機(jī)計(jì)算正確的數(shù)學(xué)用表。當(dāng)時(shí)公開(kāi)發(fā)行的對(duì)數(shù)表、三角函數(shù)表都是人手算出來(lái)的,其中有大量的錯(cuò)誤。巴貝奇認(rèn)為人是靠不住的,這種計(jì)算應(yīng)該交給機(jī)器。巴貝奇跟英國(guó)政府說(shuō),數(shù)學(xué)用表的錯(cuò)誤會(huì)導(dǎo)致英國(guó)海軍的計(jì)算出錯(cuò),那么艦艇就出事兒,搞不好可能會(huì)沉船,現(xiàn)在我發(fā)明了一種機(jī)器,能做冷酷無(wú)情的計(jì)算。英國(guó)政府被說(shuō)服了,真給了他一筆經(jīng)費(fèi)。


    巴貝奇的設(shè)計(jì)包括 25000 個(gè)部件,具有強(qiáng)大的計(jì)算能力……但是他做了十年只完成了七分之一 ——

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    差分機(jī)的七分之一完成品

    而這純粹是因?yàn)橛布夹g(shù)不允許。巴貝奇必須用齒輪和杠桿實(shí)現(xiàn)各種運(yùn)算,可是這些東西沒(méi)法做得特別精細(xì),很容易這里卡殼、那里跳線,而且零件越多越容易出問(wèn)題。英國(guó)政府一直看不到成果,把巴貝奇的經(jīng)費(fèi)停了。

    巴貝奇做不出來(lái),可是他特別能想……1830年,巴貝奇又自費(fèi)發(fā)明了一個(gè)更厲害的東西,叫“分析機(jī)”。分析機(jī),是一個(gè)可編程的通用計(jì)算機(jī)!

    分析機(jī)的神來(lái)之筆在于它把操作步驟也寫(xiě)進(jìn)了打孔卡之中,這樣計(jì)算步驟就是不固定的了,就是可編程的了。不但如此,分析機(jī)還可以根據(jù)中間的計(jì)算結(jié)果,決定下一步的計(jì)算操作 —— 也就是說(shuō),它允許程序里有“If… then… ”這種條件語(yǔ)句,它甚至還包括循環(huán)語(yǔ)句!分析機(jī)有輸入部分、有計(jì)算部分、有存儲(chǔ)中間計(jì)算結(jié)果的部分,還有輸出打印的部分……分析機(jī),是真正的計(jì)算機(jī)。

    巴貝奇還有一個(gè)合作者專門(mén)給分析機(jī)寫(xiě)程序,可以說(shuō)是人類歷史上第一個(gè)程序員,而且這是一個(gè)女程序員,叫埃達(dá)·洛夫萊斯(Ada Lovelace),他倆用了十余年的時(shí)間一直在研究分析機(jī)。洛夫萊斯甚至還想到,分析機(jī)不僅能用來(lái)做數(shù)值計(jì)算,還能作符號(hào)計(jì)算 —— 它不僅僅是個(gè)“計(jì)算”機(jī),它是個(gè)能處理任何信息的機(jī)器!


    ……可惜的是,分析機(jī)也沒(méi)做成。下面這張圖是分析機(jī)的一個(gè)實(shí)驗(yàn)部分,來(lái)看一眼世界第一臺(tái)計(jì)算機(jī)吧 ——

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    人的思想要是領(lǐng)先時(shí)代太多,是不是一個(gè)悲劇呢?巴貝奇因?yàn)榘l(fā)明數(shù)學(xué)表格的計(jì)算理論工具而得過(guò)英國(guó)皇家天文學(xué)會(huì)的金獎(jiǎng),他還是第一個(gè)提出“科學(xué)管理”的人。但是差分機(jī)和分析機(jī)被當(dāng)時(shí)的人視為是巴貝奇身上的污點(diǎn),什么實(shí)用成果都沒(méi)拿出來(lái),結(jié)果有一萬(wàn)兩千個(gè)零件被溶解報(bào)廢了。

    1871年巴貝奇去世的時(shí)候 ,《泰晤士報(bào)》甚至還專門(mén)諷刺了他一番。


    而通用計(jì)算機(jī)這種東西再次被人提出來(lái),則是70年后的事情了。

    3.現(xiàn)代計(jì)算機(jī)

    1945年,因?yàn)殡娮诱婵展芗夹g(shù)條件成熟和美國(guó)軍方資助,世界第一臺(tái)能用的通用計(jì)算機(jī)終于被做出來(lái)了,這就是著名的 ENIAC 。ENIAC 是現(xiàn)代計(jì)算機(jī)的鼻祖,它奠定了所謂的“馮·諾依曼架構(gòu)”。而在此之前,艾倫·圖靈已經(jīng)提出了可編程通用計(jì)算機(jī)的完整數(shù)學(xué)理論。

    我認(rèn)為約翰·馮·諾依曼是人類歷史上最聰明的幾個(gè)人之一。他是數(shù)學(xué)家、物理學(xué)家,是博弈論的創(chuàng)始人,還是現(xiàn)代計(jì)算機(jī)架構(gòu)的提出者 —— 不過(guò)馮·諾依曼自己對(duì)此是否認(rèn)的,他說(shuō)這個(gè)設(shè)計(jì)是一幫人討論的結(jié)果,他只不過(guò)負(fù)責(zé)做筆記而已。

    相對(duì)于巴貝奇的設(shè)計(jì),馮·諾依曼架構(gòu)的關(guān)鍵改進(jìn)在于它有了“內(nèi)存”這個(gè)概念。負(fù)責(zé)計(jì)算的CPU速度很快,而從打孔卡讀取計(jì)算步驟的速度非常慢,所以現(xiàn)在的設(shè)計(jì)是先一次性地把打孔卡的程序信息讀進(jìn)來(lái),存到內(nèi)存里,然后在計(jì)算過(guò)程中讓CPU直接和內(nèi)存交換信息,這就能大大加快計(jì)算速度。

    從提花織機(jī)的打孔卡提供了“嚴(yán)格的靈活性”,到巴貝奇的可編程通用計(jì)算機(jī),到馮·諾依曼架構(gòu)的CPU和內(nèi)存,這是非常清晰的演變。現(xiàn)在我們看到了,圖靈再厲害,“編程”這個(gè)思想不是他先提出的;馮·諾依曼再神,計(jì)算機(jī)系統(tǒng)不是他發(fā)明的。

    計(jì)算機(jī)是這么一個(gè)不斷改進(jìn)的東西。一代一代的工程師提出各種各種巧妙的設(shè)計(jì) ——

    要在硬件上實(shí)現(xiàn)信息的數(shù)字化,人們發(fā)現(xiàn)應(yīng)該用二進(jìn)制。十進(jìn)制很直觀,但是要用硬件實(shí)現(xiàn)十進(jìn)制,你的電子管就得用十個(gè)級(jí)別的電壓代表0-9這10個(gè)數(shù)字,這不但不容易實(shí)現(xiàn),而且很容易出錯(cuò)。二進(jìn)制只需要電子管和存儲(chǔ)點(diǎn)有開(kāi)和關(guān)兩個(gè)狀態(tài)就行,這就大大增加了可靠性。


    然后香農(nóng)設(shè)計(jì)了邏輯門(mén)……我們專欄講過(guò),從硬件到軟件的關(guān)鍵思想是分層。

    然后你還要考慮CPU時(shí)鐘的同步問(wèn)題。如果沒(méi)有“步”這個(gè)概念,各方面的計(jì)算沒(méi)有協(xié)調(diào),可能會(huì)導(dǎo)致兩組電信號(hào)同時(shí)出現(xiàn),系統(tǒng)就會(huì)出錯(cuò)。

    然后你還要考慮存儲(chǔ)信息和操作過(guò)程中可能會(huì)有各種小錯(cuò)誤,而這就有一個(gè)自動(dòng)糾錯(cuò)的問(wèn)題……等等等等。


    我就想,為什么說(shuō)信息行業(yè)是個(gè)創(chuàng)新行業(yè)呢?因?yàn)榈谝?,這里面的想法太密集,有太多可以改進(jìn)之處;第二,改進(jìn)的方向相當(dāng)明確。這就是說(shuō)每個(gè)參與者都知道自己能干什么……在其他領(lǐng)域,可沒(méi)有這么好的事情。

    從計(jì)算機(jī)思維的角度來(lái)說(shuō),這一講的核心教訓(xùn)是你必須考慮硬件。永遠(yuǎn)都別忘了計(jì)算機(jī)是個(gè)機(jī)器,而機(jī)器有數(shù)學(xué)算法之外的、自己的特點(diǎn)和脾氣。比如說(shuō),

    x = 3

    這個(gè)語(yǔ)句,在數(shù)學(xué)上的意思無(wú)非就是變量 x 的值是 3,是一個(gè)事實(shí)陳述。但是對(duì)編程來(lái)說(shuō),這不是一個(gè)陳述,而是一個(gè)動(dòng)作:是把用 x 標(biāo)記的那一段內(nèi)存位置,賦值為 3。

    機(jī)器不理解你要說(shuō)的事實(shí),機(jī)器只會(huì)按你的指令做各種動(dòng)作。我們?cè)诰幊痰臅r(shí)候要 debug,要想辦法控制內(nèi)存,要提升計(jì)算性能,就必須考慮硬件自身的特點(diǎn)。

    今天我們用的一切計(jì)算機(jī),包括手機(jī)、汽車(chē)、凡是通用計(jì)算機(jī),就都是馮·諾依曼架構(gòu)。當(dāng)然馮·諾依曼架構(gòu)不是唯一的可能性。現(xiàn)在人們正在研究新的架構(gòu),比如量子計(jì)算機(jī)和神經(jīng)網(wǎng)絡(luò)計(jì)算機(jī) —— 那些東西有自身的編程特點(diǎn)。


    不過(guò)在我看來(lái),巴貝奇要是看到今天的計(jì)算機(jī),是不會(huì)感到特別驚奇的。

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    查爾斯·巴貝奇

    參考文獻(xiàn)

    [1] http://www.sohu.com/a/253593989_776727

    [2] http://news.ifeng.com/a/20170820/51695992_0.shtml

    [3] 《計(jì)算機(jī)思維》說(shuō)打孔卡提花織機(jī)發(fā)明于 1700 年代早期,我調(diào)研了歷史,認(rèn)為是作者寫(xiě)錯(cuò)了。

    《計(jì)算機(jī)思維》2:自動(dòng)的機(jī)器

    文章評(píng)價(jià)COMMENT

    還可以輸入2000個(gè)字

    暫無(wú)網(wǎng)友的評(píng)論

    意見(jiàn)反饋

    ×
    J