官术网_书友最值得收藏!

第一個(gè)例子是一個(gè)非常著名的游戲,叫作“生命游戲”。這個(gè)游戲并不是人和計(jì)算機(jī)玩的,而是計(jì)算機(jī)自己跟自己玩的。這個(gè)游戲的開(kāi)發(fā)目的既不是為了供人們娛樂(lè),也不是為了模擬現(xiàn)實(shí)中的實(shí)際場(chǎng)景,而是為了展示簡(jiǎn)單的互動(dòng)規(guī)則就足以產(chǎn)生豐富多彩的復(fù)雜現(xiàn)象。

這是一個(gè)由大量黑白方格組成的世界,每一個(gè)方格都可以看成一個(gè)主體,每一個(gè)主體都可以跟它周?chē)?個(gè)鄰居發(fā)生相互作用。我們不妨做一個(gè)比喻,假設(shè)黑色方格表示這個(gè)生命體是活的,白色方格表示這個(gè)生命體是死的,而且這些生命體都不能移動(dòng),只能在自己的方格里待著,如圖1-3所示。

圖1-3 生命游戲

生命游戲的規(guī)則如下。

  • 出生:如果某方格為白,周?chē)?個(gè)鄰居中有3個(gè)方格為黑,則該方格變黑。
  • 過(guò)分擁擠而死亡:如果某方格為黑,周?chē)?個(gè)鄰居中黑色方格的數(shù)量超過(guò)或等于3個(gè),則該方格變白。
  • 過(guò)分孤獨(dú)而死亡:如果某方格為黑,周?chē)?個(gè)鄰居中黑色方格的數(shù)量少于2個(gè),則該方格變白。
  • 其他情況顏色不變。

根據(jù)上述簡(jiǎn)單規(guī)則,生命游戲就可以產(chǎn)生非常復(fù)雜的現(xiàn)象。下面我們通過(guò)模擬程序展示用NetLogo做出來(lái)的生命游戲。

打開(kāi)NetLogo軟件,在“文件”菜單下單擊“模型庫(kù)”,如圖1-4所示。

圖1-4 NetLogo軟件界面

模型庫(kù)中就有我們要展示的生命游戲,如圖1-5所示,這是一個(gè)綠紅相間的方格世界。

圖1-5 NetLogo自帶的生命游戲

開(kāi)始的時(shí)候,只要單擊“setup”按鈕,就會(huì)用一些隨機(jī)的紅色方格和綠色方格來(lái)進(jìn)行填充。

接下來(lái),單擊“go-forever”按鈕,整個(gè)世界就會(huì)按照前述簡(jiǎn)單規(guī)則運(yùn)轉(zhuǎn)。我們很快就會(huì)看到一個(gè)類(lèi)似于沸騰的屏幕,上面閃爍著各種各樣的花紋。

開(kāi)始時(shí)你可能覺(jué)得這些花紋比較隨機(jī),但是隨著游戲演化,你會(huì)發(fā)現(xiàn),慢慢地大量隨機(jī)的花紋消失了,出現(xiàn)了一些看起來(lái)比較對(duì)稱的花紋,有時(shí)候甚至?xí)a(chǎn)生一些令人非常驚嘆的結(jié)構(gòu),如圖1-6所示。

圖1-6 運(yùn)行中的生命游戲

這就是所謂的生命游戲世界。別小看這樣一個(gè)生命游戲世界,數(shù)學(xué)家們花費(fèi)了大量精力就證明了一件事:這個(gè)生命游戲世界理論上可以模擬任意的計(jì)算過(guò)程。也就是說(shuō),你在計(jì)算機(jī)中可以計(jì)算的任何程序和內(nèi)容,都可以讓生命游戲來(lái)完成計(jì)算。所以生命游戲的發(fā)明者約翰·康威曾經(jīng)說(shuō)過(guò)這樣一段豪言壯語(yǔ):“如果給我充足的時(shí)間和空間,我將能夠用生命游戲創(chuàng)造出任何你能想到的復(fù)雜事物,包括能夠撰寫(xiě)博士論文的智慧生命?!?/p>

主站蜘蛛池模板: 澎湖县| 蕉岭县| 太仆寺旗| 汶上县| 财经| 齐齐哈尔市| 石棉县| 九龙城区| 西乌珠穆沁旗| 丹棱县| 嘉禾县| 应城市| 彭州市| 岑溪市| 莱西市| 东乌珠穆沁旗| 河东区| 伊吾县| 大邑县| 陈巴尔虎旗| 达日县| 呼图壁县| 华容县| 本溪| 吴旗县| 突泉县| 西吉县| 舟山市| 临高县| 买车| 长汀县| 内黄县| 工布江达县| 南宁市| 育儿| 彩票| 巴彦淖尔市| 胶州市| 梅州市| 泸溪县| 鄂伦春自治旗|