Python運用蒙特卡洛演算法模擬植物生長

青衫無名發表於2018-03-15

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

(細胞二次分裂呈現對稱分佈)

細胞到生物、胚胎生長曲線、發展模式是隨意形成的嗎?為什麼大多數人都是兩隻眼睛,很少出現三眼神童?我相信分形數學的進化一定會重新揭開生命的祕密。就像一把開啟潘多拉的魔盒的鑰匙,也許有天我們的宇宙、DNA組成結構,一個智慧生命社會的生長、演化、發展和興衰均可以由一個或者數個簡潔流暢的數學公式進行模擬和預言,我們現在就可以是一個正在不斷迭代計算的公式呢?亞歷山大圖書館和研究院的建立,從古代至今人們不斷努力試圖對宇宙萬物表面看似毫無規律可循的各種形態的隨機性做概括。隱匿在表面下的密碼。科幻小說中調侃的“宇宙終極答案是43”不再是個玩笑。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

(達芬奇人體圖對稱分佈)

細胞二次分裂和人體呈現對稱分佈,但山川,水浪,植物形態屬於非對稱分佈,是否有事物不遵循數學法則?其實萬物皆有數,生命發展是遵循一定規律的,可稱之為演算法。

下面我用Python的蒙特卡洛演算法模擬巴恩斯利蕨(一種植物)生長。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

(自然界真實的巴恩斯利蕨植物) 

巴恩斯利蕨植物的生長由下面四個方程式構成

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

四個方程式分別按照0.85, 0.07, 0.07, 0.01概率隨機生成。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

(程式模擬結果:電腦生成一萬個隨機點構成巴恩斯利蕨植物)

執行環境:Canopy python 2.7+Windows32

專案原始碼:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

原文釋出時間為:2017-03-09 
本文作者:Toby
本文來自雲棲社群合作伙伴“Python中文社群”,瞭解相關資訊可以關注“Python中文社群”微信公眾號


相關文章