Python模擬現象,matplotlib模塊,Python實現生命遊戲 前言 開發工具 環境搭建 主要思路

前言

今天用Python簡單復現一下里面介紹的生命遊戲,讓我們愉快的開始吧~

開發工具

Python版本:3.6.4

相關模塊:

matplotlib模塊;

numpy模塊。

環境搭建

安裝Python並添加到環境變量,pip安裝需要的相關模塊即可。

主要思路

遊戲簡介:

想象一下,一望無際的太平洋被分成了許許多多方格子。每個格子里正好能放下一個“細胞”。這個細胞不能運動,它可以是死的,也可以是活的。但它的狀態,是由它周圍8個細胞的死活決定的。

決定的規則爲:

(1)“人口過少”:任何活細胞如果活鄰居少於2個,則死掉;

(2)“正常”:任何活細胞如果活鄰居爲2個或者3個,則繼續活;

(3)“人口過多”:任何活細胞如果活鄰居大於3個,則死掉;

(4)“繁殖”:任何死細胞如果活鄰居正好是3個,則活過來。

題外話:

上面這幾條規則大概是元胞自動機中最出名的一套規則了。“麥克阿瑟天才獎”最年輕的得主Stephen Wolfram正是元胞自動機的忠實粉絲。其發現的“Rule 30”規則組,可以從一個活細胞出發,生成一套極其複雜的無盡花紋。後來Mathematica裏使用的隨機數生成器,就是基於“Rule 30”的。250次迭代後的“Rule 30”:

據說結果神似織錦芋螺的花紋。

Wolfram認爲這正是我們宇宙的本質;我們的世界就是計算,就是一套簡單的規則生成的複雜現象。其關於元胞自動機的研究獲得了超過一萬次引用。

隨手附上xkcd的一幅漫畫:

生命遊戲具體實現過程詳見主頁簡介相關文件中的源代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章