今日,Hackernews上一個12歲小女孩兒用Node.js實現(xiàn)了Wolframe的元胞自動化,引起了不少網(wǎng)友的驚嘆。
畢竟,是別人家的孩子......
這名叫Liam Ilan的12歲小女孩在Hackernews上低調(diào)寫了一句話,僅數(shù)小時,便驚呆了一路眾人:
我12歲了,正在學(xué)習(xí)JS,用Node寫了Wolfram的元胞自動機(jī)
網(wǎng)友們不禁唏噓,真是長江后浪推前浪,把我們?nèi)寂脑谏碁┥希?/p>
來自12歲小女孩的杰作
小女孩在bitbucket中將自己的項目整理了下來:
使用方法
首先,使用下面的命令克隆repo:
$gitclonehttps://liamilan@bitbucket.org/liamilan/wolfram-cellular-automata.git
要運行項目,請輸入目錄,然后使用:
$nodeindex.js18
或者:
$nodeindex.js{rulenumberbetween0to255}
Development:
使用下方命令在目錄中初始化:
$npminit
用這個命令運行eslint:
$npmrunlint
元胞自動機(jī),了解一下?
元胞自動機(jī)(cellular automata,CA) 是一種時間、空間、狀態(tài)都離散,空間相互作用和時間因果關(guān)系為局部的網(wǎng)格動力學(xué)模型,具有模擬復(fù)雜系統(tǒng)時空演化過程的能力。最早由馮諾依曼提出。
包含800個時間步的90號規(guī)則演化圖案
不同于一般的動力學(xué)模型,元胞自動機(jī)不是由嚴(yán)格定義的物理方程或函數(shù)確定,而是用一系列模型構(gòu)造的規(guī)則構(gòu)成。凡是滿足這些規(guī)則的模型都可以算作是元胞自動機(jī)模型。因此,元胞自動機(jī)是一類模型的總稱,或者說是一個方法框架。
就形式而言,細(xì)胞自動機(jī)有三個特征:
平行計算(parallel computation):每一個細(xì)胞個體都同時同步的改變
局部的(local):細(xì)胞的狀態(tài)變化只受周遭細(xì)胞的影響
一致性的(homogeneous):所有細(xì)胞均受同樣的規(guī)則所支配
自元胞自動機(jī)產(chǎn)生以來,對于元胞自動機(jī)分類的研究就是元胞自動機(jī)的一個重要的研究課題和核心理論,在基于不同的出發(fā)點,元胞自動機(jī)可有多種分類。
其中,最具影響力的當(dāng)屬S. Wolfram在80年代初做的基于動力學(xué)行為的元胞自動機(jī)分類,而基于維數(shù)的元胞自動機(jī)分類也是最簡單和最常用的劃分。
StephenWolfram
而Wolfram創(chuàng)建的計算搜索引擎Wolfram|Alpha中,其在計算時候,顯示的就是元胞自動機(jī)。
Wolfram|Alpha 的元胞自動機(jī)應(yīng)該也是 Generations 一類,但肉眼不容易看出具體是什么規(guī)則。可通過Mathematica,將其二值化,并拆分成一個個連通分支來看。
而后放進(jìn)Golly里。下圖所示是周期15的振蕩子:
以及還有周期24的puffer:
熱心網(wǎng)友評論
有網(wǎng)友將小女孩兒的成果給他12歲兒子看了一眼,結(jié)果那孩子快要驚掉下巴!
當(dāng)然也有熱心網(wǎng)友給這個小女孩提出改進(jìn)建議的。
-
動力學(xué)
+關(guān)注
關(guān)注
0文章
105瀏覽量
16969 -
自動機(jī)
+關(guān)注
關(guān)注
1文章
28瀏覽量
9261
原文標(biāo)題:天才女孩!12歲小學(xué)生寫出馮·諾依曼提出的元胞自動機(jī)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論