上帝的靈藥─基因演算法(一)

如果說上帝鉅細彌遺的創造了這個世界,那麼當這個上帝還真的得無所不能。幸好達爾文為我們指出了演化的力量,靠著演化,即使沒有上帝,這個世界還是有可能發展出來的; 如果真的有上帝,那麼我相信祂是寫下『基因演算法』的傑出程式設計師。

在這個網站上已經談過許多基因演算法的應用,但卻還沒為它寫一篇詳細的介紹。究竟基因演算法是什麼呢?

基因演算法(Genetic Algorithm)其實是取法大自然的一種演算法,藉著對於演化現象的觀察,John H. Holland 認為可以透過把問題轉為基因型(Genotype),利用競爭-生存以及基因交換-突變,尋求出問題的正確解答。

透過競爭-生存,擁有好基因的品種會有較高的機會生存到下一代,而與生存較無關的基因則會隨著時間逐漸被淘汰,。在理想的狀態下,競爭-生存會迫使不具優勢的品種逐漸消失。

然而單單擁有一種好基因是不夠的;透過基因的交配,不同的個體可以把它們的好基因組合起來,變成更具優勢的下一代;而若是組合出來的後代不理想,也只會加速被淘汰。

但交換基因也不能改變現有的基因狀態,還要再配合突變,才能夠產生革命性的改變,進而對族群進步有突破性的發展。

因此,"生存-競爭"、"交配"、"突變"就是整個基因演算法,也可以說是演化的中心思想。

下一篇將介紹基因演算法的例子,利用基因演算法來演化出符合要求的字串。

5 thoughts on “上帝的靈藥─基因演算法(一)

  1. Pingback: Pesty’s Articles

  2. Ivan

    Hi Petsy,

    This post seem interesting, but there is some problem on my level of chinese. This is in traditional chinese, it would be better for my understanding if it is in simplified chinese.

    I can read chinese, with limited understanding, so just wondering is there any english article or references about this (gene algorithm) that you can recommend to me?

    Is gene algorithm same as genetic algorithm?
    Which field of expertise are you from?
    I’m currently an undergraduate of Bioinformatics (生物資訊).
    Hope to share some knowledge with you.

    Looking forward for your favorable reply.

    Thanks & Regards,
    Ivan Kon

Comments are closed.