撰文|吳玶萭
玩撲克牌時,有一種洗牌方式,是將一疊牌分成兩堆,再將兩堆牌交互排列,這樣的方式,可以產生2.5*10^29種含有52張牌的新組合。
在物競天擇的環境下,多樣性便是物種生存競爭力的關鍵。動物的交配便是這樣的過程,將兩個不同的個體,取出一半的基因來進行混合。人類約有大約50000個基因,這樣的洗牌、組合的方式,可產生約10^3000種不同的組合,是一個相當可觀的數字啊!在電腦的世界中,我們也可以以這樣的觀念,去產生新的、難以 預期,又帶有母代特徵的新的樣貌。舉例來說,Karl Sims的作品— 進化中的虛擬生物(如下圖),便利用了這樣的遺傳編程。通常根據一個程式完成給定的任務的能力來確定程式的適合度,在上述Karl Sims的作品中便制定了游泳、走路等不同的任務,接著應用達爾文的自然選擇確定較適合的程式,也類比兩性組合,變異,基因複製,基因刪除等代代進化,直到達到預先確定的某個終止條件為止。
圖片出處|
“Evolving Virtual Creatures” by atduskgreg is licensed under CC BY-NC-SA 2.0
“Riffle Shuffle” by w4nd3rl0st (InspiredinDesMoines) is licensed under CC BY-NC-ND 2.0
參考資料|
Mahlon Hoagland & Bert Dodson, 李千毅譯,⟪觀念生物學⟫,台 北:天下遠見,p.50-p.52。
https://zh.wikipedia.org/wiki/遗传算法