進(jìn)擊的生命游戲

生命游戲,是數(shù)學(xué)家Conway所提出的一個(gè)規(guī)則非常簡單但卻能衍生出眾多有趣內(nèi)容的游戲。

PS一下:這位Conway也是一個(gè)非常有趣的老爺子,比如有趣的“超現(xiàn)實(shí)數(shù)”就是他提出的,而他提出的另一個(gè)有趣的概念是量子理論中的“自由意志定理”,用比較充滿噱頭的話來說就是:倘若人是有自由意志的,那么基本粒子也有。

這篇文章就是從傳統(tǒng)的生命游戲開始,介紹一下這次我個(gè)人對它所做的拓展——當(dāng)然了,這類拓展以前還在學(xué)校的時(shí)候每年都會搞搞,當(dāng)時(shí)用的還是VB與VB.net,現(xiàn)在用的是Vue+ES6。


最初的生命游戲,規(guī)則只有這么兩條:

  1. 如果一個(gè)有生命的格子周圍的8個(gè)鄰居中有小于2個(gè)或者大于3個(gè)格子是有生命的,那么這個(gè)格子的生命就會死亡,在下一刻變成無生命格子;
  2. 如果一個(gè)無生命的格子周圍的8歌鄰居中有正好三個(gè)格子是有生命的,那么這個(gè)格子的生命就會復(fù)蘇,在下一刻變成有生命的格子。

在如此簡單的規(guī)則下,我們一般認(rèn)為最終的情況會是穩(wěn)定在幾個(gè)特定的模式下——比如全部死光當(dāng)然是一個(gè)穩(wěn)定模式了,或者四個(gè)格子飽成一個(gè)“田”字當(dāng)然也算一個(gè)穩(wěn)定模式,這類還有很多。

但,出乎意料的是,生命游戲中除了上述靜態(tài)穩(wěn)定模式外,還有不少動態(tài)模式,會呈現(xiàn)出非常有趣的狀態(tài)。

其中最簡單的,就是三個(gè)連成一條橫線,此時(shí)這條橫線會繞著中間的那個(gè)點(diǎn)不斷地橫豎搖擺。

這個(gè)模型雖然是動態(tài)的,但卻不夠“動”。

另一個(gè),是一個(gè)歪斜的“Y”字型,這個(gè)造型會不斷“扭動”身體,然后朝著一個(gè)固定的方向一直走下去,不會停歇——這就是一個(gè)足夠“動”的動態(tài)模式了,可以穩(wěn)定地勻速運(yùn)動。

網(wǎng)上大家可以找到許多別的模式,都很有趣。

那么,為什么規(guī)則會是這樣的?

比如說,我們將復(fù)蘇的規(guī)則修改為1或者2,不是3,那會怎么樣?

當(dāng)我們將復(fù)蘇規(guī)則就該為1的時(shí)候,這其實(shí)就是說每個(gè)點(diǎn)的外圍都可以“長”出新的店來,從而整體是非常容易生長的。

同理,當(dāng)復(fù)蘇規(guī)則為2的時(shí)候,只要是連在一起的兩個(gè)點(diǎn)就可以孕育出新的點(diǎn)來,也是很容易生長的。

但復(fù)蘇規(guī)則為3則不同——它不像1和2那么容易達(dá)成,而是需要一定的“結(jié)構(gòu)性”,而這一要求就導(dǎo)致了整個(gè)容器內(nèi)的生命需要高度“有序化”,同時(shí)又不至于將這種有序化徹底僵死。

規(guī)則為4的時(shí)候就是徹底僵死了,因?yàn)?個(gè)鄰居中4個(gè)有生命,這樣的要求還是較難達(dá)成的。

既然有了最基礎(chǔ)的生命游戲,我們下一個(gè)想法當(dāng)然就是通過恰當(dāng)?shù)木幋a來控制這種極簡單生命的行為了。

這就是行為的基因化。

一旦我們可以通過簡單編碼來控制生命的行為規(guī)則,那也就是說,我們可以通過改寫編碼來修改這種生命的行為。

于是,我們下一步可以引入“變異”,從而改變生命行為。

另一方面,我們又注意到這種生命游戲中的生命是沒有“壽命”這個(gè)概念的,即只要沒有達(dá)成死亡規(guī)則的要求,那么一個(gè)有生命的格子中的生命就不會死去。

因此,為了更加有趣一點(diǎn),我們引入了“壽命”的概念。

基因化,隨機(jī)變異,有限壽命,這是能區(qū)別于傳統(tǒng)生命游戲的第一步。

我們可以更進(jìn)一步引入對“鄰居”中生命計(jì)數(shù)規(guī)則的“量子化”,使用會隨著時(shí)間而變的一個(gè)模為1的復(fù)數(shù)來代表“生命數(shù)”,這樣在統(tǒng)計(jì)的時(shí)候就會出現(xiàn)更多有趣的現(xiàn)象了。

接著,我們要求有生命的格子的復(fù)生命值在時(shí)間的演化過程中是會給變的,而且這個(gè)概念的幅度與這個(gè)生命的“能量”成正比,而這個(gè)“能量”又與鄰居8個(gè)點(diǎn)的總“復(fù)生命的?!毕嚓P(guān),那么情況就會變得非常復(fù)雜了。

此時(shí),如果兩個(gè)格點(diǎn)的鄰居數(shù)不同,那么基本就宣告了這兩個(gè)格點(diǎn)是“不同頻”的,因此在一定時(shí)間后,原本幅角接近的兩個(gè)復(fù)生命值可能就變成相反的了,這對于計(jì)算一個(gè)格點(diǎn)周圍復(fù)生命量的工作來說就非常有趣了。

這里有一個(gè)有趣的現(xiàn)象,就是上述不同頻的格點(diǎn)如果在一起,那么最后會因?yàn)椴煌l而“退相干”,從而使得其中一個(gè)格子更快地死亡。

因此,在“量子化”之后的版本里,兩個(gè)格點(diǎn)的“同頻”成了非常有趣的一項(xiàng)工作。

我們也可以問這么一個(gè)問題:

在量子化版本的生命游戲中,是否存在某些穩(wěn)定的動態(tài)模型?

個(gè)人在此的認(rèn)為是:對于相連生命數(shù)量超過一定閥值的這種量子生命游戲,最終的結(jié)果必然是大部分細(xì)胞死于退相干而別的細(xì)胞死于自然至死。

事實(shí)上,這里的關(guān)鍵信息是:生命可以通過“不可觀測”的手段彼此交流,從而衍生出一些不可觀測情況下不可思議的行為。

比如說,在某個(gè)已經(jīng)看上去穩(wěn)定的模式下,突然某個(gè)格子就消失或者出現(xiàn)了,從而破壞了整個(gè)模式的穩(wěn)定性——而,這種突然出現(xiàn)于消失在一個(gè)已經(jīng)在一段運(yùn)行周期內(nèi)穩(wěn)定的經(jīng)典模式中,是不可想象的,因?yàn)橐?guī)則告訴了我們:如果這一個(gè)運(yùn)行周期里這個(gè)格子沒有消失或者出現(xiàn),且整個(gè)模式?jīng)]有發(fā)生任何改變,那么下一個(gè)運(yùn)行周期里這個(gè)格子也不會消失或者出現(xiàn)。

經(jīng)典版的規(guī)則是死的。

但在量子版中,這點(diǎn)卻受到了沖擊,因?yàn)榱孔影嬷懈褡由系纳鼣?shù)不是0或1的實(shí)數(shù),而是模為0或1的復(fù)數(shù),這里多出來的相位信息是不可見的,但卻可以改變整個(gè)模式中的每個(gè)格子的最終決策——尤其在模式的不同格點(diǎn)上一個(gè)生命可能因?yàn)橹車鼣?shù)的不同而具有不同的相改變速度的時(shí)候,這種決策就很難達(dá)到穩(wěn)定。

這點(diǎn),或許還是很有啟發(fā)意義的吧——不可見的隱變量參與到最終決策中,這也算是量子理論隱變量詮釋的一種復(fù)辟?


下面就是這個(gè)游戲的網(wǎng)址:

BT版生命游戲


在之后的版本中,會引入一個(gè)以前就做過的功能:競技場。以及一個(gè)以前沒做過的功能:多細(xì)胞與細(xì)胞吞噬。

競技場模式中,用戶可以指定不同原始基因組的生命,然后讓他們相互廝殺。這個(gè)其實(shí)主要就是娛樂性。

這里的一個(gè)關(guān)鍵,就是利用生命的基因構(gòu)成來計(jì)算一個(gè)生命的“戰(zhàn)斗力”,基本來說,就是可適應(yīng)的環(huán)境越多的生命,戰(zhàn)斗力越弱,從而達(dá)到一個(gè)平衡。

而戰(zhàn)斗所發(fā)生的場所,只能是在無生命格子中,當(dāng)條件符合從而要轉(zhuǎn)入有生命狀態(tài)時(shí),可能就會有多個(gè)不同生命都可以進(jìn)入這個(gè)狀態(tài),從而就需要引入競爭機(jī)制——這點(diǎn)在隨機(jī)變異版中其實(shí)已經(jīng)引入了。

而在多細(xì)胞模式中,一個(gè)生命可以擁有多個(gè)基因組,然后根據(jù)所處環(huán)境的不同而在多個(gè)基因組中切換,用來“模擬”多細(xì)胞生命對不同環(huán)境的應(yīng)對。

而,既然可以有多細(xì)胞模式,那么我們自然可以使用考慮一個(gè)生命“吞噬”另一個(gè)生命的細(xì)胞的過程,從而就會有細(xì)胞吞噬。

因此,最后我們將獲得的,是一群具有隱變量策略的會變異的有壽命的多細(xì)胞生命,在一個(gè)二維小空間里相互廝殺。

想想也是挺美的。


最后驗(yàn)證申明一下:
這個(gè)小游戲基于Vue.js與ES6制作,算是對著兩項(xiàng)技術(shù)的試手作。其中,由于采用的是ES6,所以并非所有瀏覽器都支持,如果你打開后發(fā)現(xiàn)一片空白,請趕快換用最新的現(xiàn)代瀏覽器,燒掉手上的IE,謝謝。


本文遵守創(chuàng)作共享CC BY-NC-SA 4.0協(xié)議

通過本協(xié)議,您可以分享并修改本文內(nèi)容,只要你遵守以下授權(quán)條款規(guī)定:姓名標(biāo)示非商業(yè)性、相同方式分享
具體內(nèi)容請查閱上述協(xié)議聲明。

本文禁止一切紙媒,即印刷于紙張之上的一切組織,包括但不限于轉(zhuǎn)載、摘編的任何應(yīng)用和衍生。網(wǎng)絡(luò)平臺如需轉(zhuǎn)載必須與本人聯(lián)系確認(rèn)。


如果喜歡簡書,想要下載簡書App的話,輕戳這里~~
<small>私人推薦訂閱專題:《有意思的文章》《嚴(yán)肅碼匠圈》</small>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,382評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,038評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,853評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,616評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,112評論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,355評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,869評論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,727評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,928評論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,165評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,570評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,813評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,585評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,892評論 2 372

推薦閱讀更多精彩內(nèi)容