另類科學的核心技術是細胞自動機。
烏爾姆(Stanislaw M. Ulam)和馮·諾伊曼(John von Neumann)為了研究機器人自我復制的可能性,在上個世紀50年代提出一種叫做細胞自動機(Cellular Automaton)的離散型動力系統(Discrete Dynamical Systems)。細胞自動機是研究復雜系統行為的理論框架之一,也是人工智能在這個領域的雛形之一。
在一個平面上(這里以平面為例,但不限於二維平面)縱橫相交的多條直線構成了許多網格,每一個網格被看作一個細胞。這些細胞可以具有一些特征狀態,譬如被染成不同顏色。在每個特定的時刻每個細胞只能處於一種特征狀態。隨着計算機迭代計算過程的進行,全體細胞各自根據周圍細胞的狀態,按照相同的規則同時自動改變它本身的狀態,這就構成了一台細胞自動機。
決定一台細胞自動機的先決條件有四個:1、決定細胞活動的空間維度,譬如一維的、二維的或三維的,等等;2、定義細胞可能具有的狀態;3、定義細胞改變狀態的規則;4、設定細胞自動機中各細胞的初始狀態。
1982年Wolfram發表了第一篇關於細胞自動機的學術論文,由此開始了對細胞自動機的研究。Wolfram着重研究空間維度為二維的細胞自動機。細胞可能具有的狀態只有兩種,用顏色表示成黑色或白色。全體細胞中的每一個只根據上一迭代過程中與該細胞緊相鄰的三個細胞的狀態來決定自己下一步的狀態,所有細胞在根據上一步結果確定自己在這一步中將有的狀態后,全體細胞同時改變自己的狀態到新狀態。其結果和細胞自動機的初始條件很有關系。被這樣設定的細胞自動機叫做一維細胞自動機。
科學的道路來不得半點虛偽和驕傲。這沒錯。但是,如果你的切入點選對了,也許你在一條新的路上可以成為先行者,而並不一定要先把自己的知識的背囊裝的滿滿的之后才去開始攀登科學高峰的步伐。Wolfram就是一個好例子。雖然他確是很聰明,但按照他現在發表的成果看來,他15歲就能發表論文,不完全因為他那時候有多么淵博的學問,更有可能是因為他選了一個很好的切入點。
下面為你設計實現了一台最簡單的細胞自動機,請你親手來做一下。這是學習的最好方式,同時也可以體驗到,有時候進入研究最前沿也不是那么高不可攀的事情。我這里說的是“進入”。跨出這一步后,到你做出成果來,就會有無數的書本等着你去翻開,有無數的實驗等着你去完成,有一段很長的距離要走。但是你已經入門了。你享受門外漢不可能體驗的樂趣,你在科學的某一條小路上攀登着並沿途拿自己的幼稚和汗水去交換路邊的小石、頭頂的野花。不知不覺間,你就登上了一座小山包,背上的背包已經有點重了。俯視走過的路,自豪與快樂溢於心間。而前面總有更美的景色在召喚你前行……
下面的例子不需要使用計算機,我們用手畫圖來完成這個簡單的細胞自動機。請你親手來畫一下:
想象有一根無限長的線,線上布滿可以變色的點,每個點的顏色或黑或白。初始條件可以簡單設為除一個黑點外其余的點全白,或者設為黑白相間。我們按照黑、白相間的簡單起始規則,畫出下圖中的‘起始圖’部分。
起始 ○ ● ○ ● ○ ● ○ ● ○ ●
然后對所有的點施行應用某種規則,比如最近鄰規則:對線上任意一點,如果在該點最右側及最左側的點均為黑色,而該點本身為白色,則把該點變成黑點。否則該點就保留或改變成白點。
按照上述規定反復迭代,就得到了下面的迭代圖的全體。
我們從‘起始圖’開始來推導出‘第一步迭代圖’,請拿一張紙一支筆自己動手畫一畫:‘起始圖’中的第一個點是白點,按照迭代規定,這個點在‘第一步迭代圖’中保留原來的白色;‘起始圖’中的第二個點是黑點,根據規定它將在‘第一步迭代圖’中改變成白色;‘起始圖’中的第三個點的最右側及最左側的點均為黑色,而該點本身為白色,故把該點變成黑點畫在‘第一步迭代圖’中……,依此把‘起始圖’中所有的點檢查一遍,並記住所有點在‘第一步迭代圖’中的新顏色,然后就按照得到的全體點的結果,畫出‘第一步迭代圖’。
起始 ○ ● ○ ● ○ ● ○ ● ○ ●
第一步迭代 ○ ○ ● ○ ● ○ ● ○ ● ○
現在針對‘第一步迭代圖’,按照同樣的方法畫出‘第二步迭代圖’,‘第三步迭代圖’,……,等等,如下圖所示:
起始 ○ ● ○ ● ○ ● ○ ● ○ ●
第一步迭代 ○ ○ ● ○ ● ○ ● ○ ● ○
第二步迭代 ○ ○ ○ ● ○ ● ○ ● ○ ●
第三步迭代 ○ ○ ○ ○ ● ○ ● ○ ● ○
由圖中可以看到,每迭代一次,白點就向右側移動一位。這樣就得到了一個點的動態移動的模式。
怎么樣?簡單吧?你剛剛做了一台細胞自動機哪!
請你在這里暫停閱讀並想一想在計算機上實現這個簡單的一維細胞自動機的情景。能替它找到一些相關的應用嗎?
我找了幾個如下:
如果在計算機上實現上述的簡單一維細胞自動機,並在一根直線上畫出每次的迭代過程,就可以看到一個白點向右側運動的動態過程。如果把直線畫成螺旋狀,這個點就會沿螺旋運動。如果畫成環狀,點就沿着環跑個不停。
如果只把圖中改變顏色的點畫出來,並且把點畫成宇宙飛船的形狀而不是圓點的形狀,直線畫成某種空間軌跡。那么在程序運行時,就得到了一艘宇宙飛船沿軌跡飛行的動態畫面。如果畫兩艘敵對的宇宙飛船並設計它們的相撞的軌跡,就可以得到一個簡單的星球大戰的游戲。
怎么樣?挺好玩的吧?您再想點別的花樣?
下面是一個從《另類科學》中取來的、更具體的、也更復雜一點的例子。如果您有耐心又有興趣的話,通過它可以更深入了解Wolfram的工作的基本原理。如果沒有興趣,就跳過去不讀它即可。作者的饒舌是自己興之所至的塗鴉,讀者大可不必跟着給弄得暈頭轉向。當然如果我的作品有這么大的魔力讓你跟着我的思想轉悠,我會很有成就感的。謝謝了。
考慮並排的三個格子,它們分別被賦予黑白兩種狀態。考慮各種可能的排列方式,我們不難得到共有8種組合狀態。這8種組合狀態的每一種都各自決定下一個細胞是黑色或白色,這樣算下來的排列總共有256種可能性。因此在Wolfram考慮的細胞自動機種類中,細胞改變狀態的規則有256種。Wolfram把這256種規則一一編號。譬如下面的圖就代表110號規則:
圖9-4 Wolfram的細胞自動機110號規則
用文字來敘述就是:當某細胞的上一行相鄰三個細胞為全黑、全白或者左側一個細胞為黑時,該細胞為白色,否則為黑色。設定一個簡單的細胞初始狀態,譬如在第一行只有一個黑色細胞,根據規則110,細胞自動機就可以自動把其余的細胞變成黑色或保留白色。下圖就是根據規則110運行了前20步的情況,在這里似乎看不出什么有趣的東西。但運行到幾百步后,就出現了一些有趣的特征,一些結構開始既不是周期性地也不是完全隨機地出現在畫面上。下圖是按規則110運行到700步的情況。
圖9-5 110號規則運行了前20步的情況 圖9-6 110號規則運行了前700步的情況
從上面的兩個例子中我們可以看到,在這樣的模式中,確實沒有用到經典的數學公式。
Wolfram用類似的方法,得到了除量子力學外經典物理學中的所有公式。
也就是說,不用數學公式也可以借助計算機來描述自然界。不用數學公式也可以借助計算機來研究宇宙。
1984年Wolfram把256種規則分成了四類:第一類只生成簡單重復的圖案,比如全黑、全白、或黑白相間如國際象棋棋盤等等;第二類規則產生一些自相似的分形圖案,形成穩定的嵌套結構;第三類規則產生的圖案具有明顯的隨機性;第四類規則產生復雜的圖案,但不簡單重復。
這些圖案既不是規則的也不是完全隨機的。它們呈現出某種有序性,但卻不能被預言。
Wolfram關注較多的是第四類規則。第110號規則及30號規則是第四類規則中的精粹。通過它們可以從簡單的初始條件產生出復雜的圖形。這是Wolfram對細胞自動機理論所做出的巨大貢獻。
Wolfram所用的軟件計算本身並不復雜,復雜的是怎樣處理輸出結果。有了適當的軟件后,就可以開展對細胞自動機的研究。
Cited from:http://blog.china.com.cn/home.php?mod=space&uid=1235952&do=blog&id=232854
Note:cellular automaton 通過對問題進行編碼使其更加直觀,可以表示傳統方法難以表達的特征。 比如展示同源 nucleotide sequence 之間的差別,可以將一維的序列轉化為二維的數組,然后將數組以圖像的形式反映出來,於是將序列的特征反映到二維圖像上,可以用直觀的方式發現其特征。