2011年11月10日

基因演算法打倒空氣人

小史 po 的
用基因演算法打倒空氣人 xDDDD

原理:
洛克人是用基因演算法寫出來的程式操控的
經過了十個世代的繁衍, 終於打倒了空氣人!
作法大概如下

1.
第一個 generation 先製造, 比方說, 4 隻小洛克人
每隻的操縱指令隨機生成

用 fitness 表示戰鬥結束時 洛克人HP - 空氣人HP
fitness 愈大 排名愈前面

拿每一輪的前, 比方說, 前 2 名洛克人的操控指令
來"生出" 下一代的 4 隻洛克人

舉例來說, 如果這兩隻洛克人的 code 是
洛克人1之1: A1 A2 A3
洛克人1之2: B1 B2 B3

那麼下一個 generation 的 4 隻 洛克人 code 便是
洛克人2之1: A1 A2 B3
洛克人2之2: A1 B2 A3
洛克人2之3: B1 A2 A3
洛克人2之4: B1 A2 B3

...之類的

再去模擬戰鬥, 再拿第二代的前2名來生第三代洛克人

2.
執行面當然要設計一下每代有多少洛克人, 取前幾名, 怎麼生出下一代洛克人
不過一直生下去, 保留良好"基因", 總是可以生出能夠打倒空氣人的優秀戰士!

沒有留言:

張貼留言