PYTHON

含有「PYTHON」共 126 篇內容
全部內容
發佈日期由新至舊
在寫程式之前先來看一下,傳統的GA是透過哪些步驟來讓生物族群一代一代地演化下去的。
GA可以在不知道正確答案的情況下,隨機地找個起點,然後透過模擬演化的方式,以遠比暴力法更快的速度找出正確的答案,是個可實際解決問題的好工具。
在開發具備演化能力的程式系統時,所使用的主要手段,就是受到達爾文演化論啟發所發展出來的基因演算法(genetic algorithm),簡稱GA。在GA中,會讓問題可能的解答形成一個族群,然後這個族群會透過模仿自然界生物演化時的天擇方式,一代一代地進行演化。
這章的內容,是要介紹自然界生物演化方式的原理,並把這些原理應用到程式設計上。如此一來,模擬世界中的物件也可以具有演化的能力。
L-system是由匈牙利生物學家Aristid Lindenmayer在1968年所開發出來的。Lindenmayer開發L-system的主要目的,是要建立可用於描述植物在生長發展中,其細胞交互作用行為的數學模型。時至今日,L-system也用於描述整株植物的發展型態。
Thumbnail
碎形樹(fractal tree)是碎形界除了Cantor集、Koch曲線外,另一個無人不知、無人不曉的圖案。比較特別的是,製作Cantor集跟Koch區線時,所使用的方法不帶有任何隨機性在裡頭;但在製作碎形樹時,可以加入隨機性,讓畫出來的碎形樹長相,更接近大自然中樹木的真實模樣。
Thumbnail
關於遞迴,有一句話是這麼說的:遞迴只應天上有,凡人應當用迴圈。從這句話就可以知道,遞迴這玩意兒,並不是那麼容易駕馭的。
Thumbnail
Koch曲線(Koch curve),碎形界另一個名氣響噹噹的圖案,是由瑞典數學家Helge von Koch在1904年所提出的。Koch曲線的製作規則非常簡單,就是把一段線段三等分,然後以中間那等分為底部畫出正三角形,接著把底部挖掉。不斷針對新形成的線段重複同樣的動作,就可以產生Koch曲線了。
Thumbnail
除了自我相似性之外,碎形的另一個基本組成部分是遞迴(recursion)。遞迴指的是,利用稱為製作規則(production rule)的同一套規則,不斷地進行迭代,而且每次迭代時,都會把上一次迭代的結果,作為這次迭代的起點。
Thumbnail