《复杂》读书笔记(part6)--计算机中的自我复制
學(xué)習(xí)筆記
學(xué)習(xí)書目:《復(fù)雜》- 梅拉妮·米歇爾
文章目錄
- 自我復(fù)制的計(jì)算機(jī)程序
- 計(jì)算機(jī)中的自我復(fù)制
- 自我復(fù)制程序的深層含義
- DNA的自我復(fù)制
- 馮.諾依曼的自復(fù)制自動(dòng)機(jī)
自我復(fù)制的計(jì)算機(jī)程序
計(jì)算機(jī)和機(jī)器人可以被認(rèn)為有生命嗎?
這個(gè)問題將計(jì)算、生命和進(jìn)化的問題聯(lián)系到一起。
生命的要素是什么?
如果我們問10個(gè)生物學(xué)家,我們可能得到不同的回答,但可能大部分會(huì)包括自主、新陳代謝、自我復(fù)制、生存本能,還有進(jìn)化和適應(yīng)。
我們能不能將這些過程機(jī)械化,并用計(jì)算機(jī)來實(shí)現(xiàn)呢?
許多人認(rèn)為絕對不可能,理由如下:
自主:計(jì)算機(jī)本身什么都做不了,只能執(zhí)行程序的指令。
新陳代謝:計(jì)算機(jī)無法像生物那樣從環(huán)境中獲取能量,它們必須由人提供能源(例如電力)。
自我復(fù)制:計(jì)算機(jī)不能復(fù)制自身,要復(fù)制自身就必須包含對自身的描述,而這個(gè)描述又包含其本身的描述,這樣反復(fù)無窮。
生存本能:計(jì)算機(jī)不關(guān)心自己能不能生存,它們也不關(guān)心自己是不是成功。
進(jìn)化和適應(yīng):計(jì)算機(jī)本身無法進(jìn)化或適應(yīng),它只能嚴(yán)格依照程序員預(yù)先設(shè)定的方式變化。
雖然還有很多人相信這些觀點(diǎn),但它們都在人工生命領(lǐng)域中以各種方式被否定了。人工生命關(guān)注的是在計(jì)算機(jī)中仿真或“創(chuàng)造”生命。
計(jì)算機(jī)中的自我復(fù)制
馮·諾依曼是量子力學(xué)、經(jīng)濟(jì)學(xué)等多個(gè)領(lǐng)域的先驅(qū),也是最早設(shè)計(jì)電子計(jì)算機(jī)的人之一。馮·諾依曼也是最早深刻認(rèn)識到計(jì)算和生物之間聯(lián)系的科學(xué)家之一。他在生命最后的歲月里一直致力于解決機(jī)器如何才能復(fù)制自身的問題。他給出了第一個(gè)能自我復(fù)制的機(jī)器的完整設(shè)計(jì)。
我們先來看看計(jì)算機(jī)自我復(fù)制問題最簡單的形式:寫一段程序打印其自身
在介紹自復(fù)制程序之前,我們先介紹一些編程語言相關(guān)知識:
- 計(jì)算機(jī)存儲器由有編號的位置或**“地址”**組成,上圖中編號為1~5,依次往后;
- 各個(gè)位置中有一些字符,這些字符可以作為程序的指令或程序使用的數(shù)據(jù);
- 計(jì)算機(jī)要有一個(gè)**“指令指針”—同樣存儲在存儲器中的一個(gè)數(shù)字**,記錄當(dāng)前執(zhí)行的指令在存儲器中的位置;
- 指令指針簡記為IP,最初設(shè)為程序第一行的存儲地址,在計(jì)算的每一步IP指向的指令會(huì)被執(zhí)行,IP加1。我們可以稱IP為變量,因它的值隨著計(jì)算的進(jìn)行而不斷變化。例如,上圖中IP的值為2,也就是說指向的是print(“Hello,world!”);
- 還可以定義變量line[n]表示地址n中的字符串。例如,指令print(line[2])會(huì)顯示輸出 print(“Hello,world!”)
我們現(xiàn)在看一看下面這段程序:
在這個(gè)程序中自我復(fù)制的本質(zhì),是用兩種方式來使用內(nèi)存中的信息:既作為執(zhí)行的指令,又作為這些指令使用的數(shù)據(jù)。這是一種對信息的雙重使用,正是對信息的雙重使用,才讓我們得以避開自我復(fù)制的無窮反復(fù)。
自我復(fù)制程序的深層含義
信息的雙重使用是哥德爾悖論的核心,他的自指句子**“這個(gè)命題是不可證的”**體現(xiàn)的正是這一點(diǎn)。
我們可以從兩個(gè)角度看這個(gè)自指句子:
①視為句子中包括的文字、空格符和標(biāo)點(diǎn)組成的字符串;
②視為字符串所代表的意義,同語言使用者的解讀一樣。
為了明確起見,可以從兩個(gè)角度來看:我們將這個(gè)自指句子的字符串本身記為S。也就是說:
S="這個(gè)命題是不可證的。"現(xiàn)在可以陳述的上述句子:例如它包含9個(gè)字,1個(gè)句號。
我們將句子的意義則記為G,并將M重寫為"命題S是不可證的"。某種程度上,我們可以將M視為指令,而將S視為指令操作的數(shù)據(jù)。
數(shù)據(jù)S與指令M是同一個(gè)東西。哥德爾之所以能將句子轉(zhuǎn)化為數(shù)學(xué)中的悖論,一個(gè)主要原因就是他能將M表示成數(shù)學(xué)命題,將S表示成編碼那個(gè)數(shù)學(xué)命題字符串的數(shù)字。
DNA的自我復(fù)制
真正讓我們驚奇的是,對信息的雙重使用竟然也是DNA復(fù)制自身的關(guān)鍵。但是,在自復(fù)制程序和DNA的自復(fù)制之間有一個(gè)重要的差別。自復(fù)制程序需要有一個(gè)解釋器來執(zhí)行它:指令指針依次指向各行代碼,然后由操作系統(tǒng)來執(zhí)行它們(存取IP和L等中間變量,顯示輸出字符串,等等)。執(zhí)行器完全外在于程序本身。
而在DNA的情形中,構(gòu)建"解釋器"(信使RNA、轉(zhuǎn)運(yùn)RNA,核糖體和所有用于蛋白質(zhì)合成的成分)的指令也一起編碼在DNA中。也就是說,DNA不僅包含自我復(fù)制的"程序",同時(shí)也編碼了它自己的解釋器。
馮.諾依曼的自復(fù)制自動(dòng)機(jī)
馮·諾依曼最初的自復(fù)制自動(dòng)機(jī)(馮·諾依曼只給出了數(shù)學(xué)描述,并沒有真的建造)也是既包含有自我復(fù)制的程序也包含解釋自身程序的機(jī)制,因此是完整的自我復(fù)制機(jī)器。
馮·諾依曼設(shè)計(jì)的自復(fù)制自動(dòng)機(jī)是人工生命科學(xué)真正的先驅(qū)之一,從原則上證明了自我復(fù)制的機(jī)器的確是可能的,并且提供了自我復(fù)制的“邏輯”,后來證明其與生物的自我復(fù)制機(jī)制驚人的相似。
總結(jié)
以上是生活随笔為你收集整理的《复杂》读书笔记(part6)--计算机中的自我复制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金牛
- 下一篇: 《复杂》读书笔记(part7)--遗传算