基本介紹
- 中文名:黃鼠狼程式
- 外文名:Weasel program
簡介,批評,算法範例,相關條目,
簡介
黃鼠狼程式(Weasel program),或說道金斯的黃鼠狼(Dawkins' weasel,或者the Dawkins weasel),是一個思想實驗,並且有許多計算機模擬可以解釋。 這個實驗的重點是澄清一個演化系統 — 隨機的突變混合上一些非隨機的天擇— 與純粹的隨機機率是不同的。
這個思想實驗是由理察·道金斯提出,並且也是由他寫出第一個模擬。各種其他的程式模擬則是由其他人寫出。
批評
一個常見的批評是這類程式必須要倚賴"鎖住"已知正確的字母才能運作。 創造論者宣稱"一旦字母落入屬於它的位置,道爾金的程式就確認這字母不會因突變而被改掉。",但是,如下面的範例所表示的,這個限制其實並不存在。
算法範例
雖然道金斯本人沒有提供他的程式碼,但是一個"黃鼠狼"式的算法可以操作如下:
- 從一條具有28個字母的隨機字串開始
- 複製100個相同的字串,然後每個字母有5%的機率會換成另一個隨機的字母
- 將每個字串與目標 "METHINKS IT IS LIKE A WEASEL"作比較,給每個字串進行評分(正確的字母出現在正確的位置上此字串得一分)。
- 如果任何字串達到28分,也就是滿足條件時,程式停止
- 否則,取用分數最高的字串,然後回到步驟2
在這裡,一個"字母"指的是大寫的字母或空白。 在道金斯的書裡面沒有明確指出字串的複製數目跟突變機率,這裡的100個複製跟5%的突變機率只是個範例。另外值得注意的是,正確的字母並沒有被"鎖住":也就是說,即使一個字母已經出現在正確的位置,還是有可能在下一代突變的時候被改掉。