第 8.10 節的遺傳演算法(Genetic Algorithm, GA)計算示例。
理解適應度、父代、交配、交叉與逐代改善。
對手預先寫下一個 6 位元二進位字串;每次猜測後只告知猜對幾個位置,不告訴是哪幾個位置。秘密答案為 001010。
| 原書資訊 | 數值/內容 |
|---|---|
| 位元數 | 6 |
| 可能字串數 | 64 |
| 隨機猜測平均次數 | 32 |
| 秘密答案 | 001010 |
| 遺傳演算法找到答案的猜測次數 | 13 |
| 部分候選字串 | 適應度分數 |
|---|---|
| 110100 | 1 |
| 111101 | 1 |
| 011011 | 4 |
| 101100 | 3 |
| 001011 | 5 |
| 001010 | 6 |
保留適應度較高的候選解作為父代,進行交叉,再由新一代候選解繼續選擇與交配,直到適應度達 6。
原書以 13 次猜測找到答案;相較隨機策略平均 32 次,猜測次數少 19 次,依原書數字直接計算約減少 59.4%。
GA 的重點不是窮舉所有可能,而是利用適應度回饋逐步偏向較好的候選解;但它屬啟發式方法,對一般問題不保證真正全域最佳解。
依 Vector Game 的候選字串與適應度,解釋為什麼 011011、101100 比 110100、111101 更適合作為父代,並說明交叉如何產生新候選解。
問題: 若仍用完全隨機策略,原書平均需多少次?GA 示例少多少次?
參考解答: 隨機平均 32 次;GA 示例 13 次,少 19 次,約減少 59.4%。