陳凱
著名的數(shù)學(xué)家史蒂芬·沃爾弗拉姆認(rèn)為,讓計算機(jī)根據(jù)簡單的法則做反復(fù)的運算,就可實現(xiàn)異常復(fù)雜的模型。這些模型可以解釋自然界中所有的現(xiàn)象,而宇宙的一切規(guī)律都可以用簡單的程序經(jīng)反復(fù)計算而獲得,其簡單的程度,甚至可能只需要短短幾行程序。本系列文章的目的,就是試著用極其簡單的數(shù)學(xué)模型,來創(chuàng)設(shè)一個虛擬的空間,并在這個虛擬空間中模擬各種現(xiàn)象,通過觀察這些實驗現(xiàn)象,思考其計算本質(zhì)。我們先來看一個有趣的問題,若電報員通過有線電纜將信息從A地發(fā)往B地,那么究竟是什么“東西”從A地傳到了B地,傳播的速度究竟有多快呢?不過,這里并不打算從物理學(xué)的角度來研究這個問題,而是用重寫系統(tǒng)來搭建一個簡單的模型。
● 字符串電報
實驗1:假設(shè)有字符串100000000000000000000……字符串代表了電報電纜,設(shè)字符串左側(cè)為A地,右側(cè)為B地,而字符串的長度就是電報電纜的長度,現(xiàn)有如下簡單程序,其作用是從左到右遍歷整個字符串,將“10”替代成“01”。如果反復(fù)執(zhí)行替代程序,就仿佛“1”在整個字符串中移動,A地發(fā)出信息,經(jīng)過若干次替換操作后,B地即能收到信息。這個模型的問題是,字符串越長,“1”移動的步數(shù)也就越多,而每移動一步都需要運行一次字符串遍歷替換程序,所以信息傳輸?shù)乃俣仁遣豢斓摹?/p>
當(dāng)然,可以編寫更復(fù)雜一些的程序,使得在所謂的“電報電纜”中,能夠傳輸其他信息,如讓每個字符同步復(fù)制其左側(cè)字符的值。不過,雖然能用這個模型傳輸各種信息,但傳輸?shù)乃俣仁冀K是個瓶頸。在現(xiàn)實世界中,有線電報也不是用這樣的方法來傳輸信息的。
實驗2:假設(shè)有字符串01010101010101……仍然用這個字符串代表電報電纜,字符串左側(cè)是A地,右側(cè)是B地,現(xiàn)有如下簡單程序,其作用是從左到右遍歷整個字符串,將0替代成1,將1替代成0,然后反復(fù)運行替換字符串的程序,于是就產(chǎn)生了一個仿佛跑馬燈的幻象。如此,就有一個辦法大大提高信息的傳輸速度。雖然“1”在整個字符串中的移動速度照舊,但一旦A地有發(fā)送信息的動作,B地立刻就能感應(yīng)到,B地只要觀察“跑馬燈”什么時候動,什么時候不動,就能解碼出A地傳來的信息。一方面,信息傳輸?shù)姆€(wěn)定性很高。發(fā)報員不需要真的將一串信息從A地發(fā)往B地,而僅僅依靠發(fā)送動作的節(jié)奏,就能夠向B地傳輸信息。另一方面,信息傳輸?shù)乃俣却蟠筇岣吡?,因為這時信息傳輸?shù)乃俣炔皇恰?”移動的速度,而是字符串替換程序遍歷整個字符串進(jìn)行搜索替換的速度。
● 真正的有線電報
做完“字符串電報”實驗,再回頭來看現(xiàn)實世界中有線電報的運行原理,就能發(fā)現(xiàn)兩者間微妙的對應(yīng)關(guān)系。例如,在電報電纜中電子的移動速度比較慢,讓人聯(lián)想到實驗1中逐個移動的字符“1”,而有線電報信息傳輸速度非???,電信號能以光速傳輸,不免讓人聯(lián)想到在實驗2中,只要實現(xiàn)一次字符串遍歷替換,B地就能感應(yīng)到A地的發(fā)報動作。根據(jù)相對論,信息的傳輸速度不可能快于光速,而觀察實驗2程序的運行情況,也可以很清楚地明白,信息傳輸?shù)乃俣仁遣豢赡艹^字符串遍歷替換程序的運行速度的。
如果人們用程序代碼來創(chuàng)建一個虛擬世界而不只是一段電纜線,那么在這個虛擬世界中,信息的傳輸速度也絕不會超過程序代碼的運行速度。這個問題反過來想的話,不免讓人感到有點頭皮發(fā)麻,愛因斯坦認(rèn)為我們的宇宙中光速是恒定且最快的,這是否暗示著,人類所處的當(dāng)前世界有個恒定的運算頻率呢?endprint