2016-05-15 55 views
1

我有問題要解決,任何建設性的幫助將是好的。球和束的健身功能

無論如何,我必須做出遺傳算法來創建神經網絡來解決問題的球和束。我想象的唯一的健身功能是設定一些時間(如3到10秒),並測試每個單位的人口,如果它能在板上生存下去(fitness = t/T; t - 它存活的時間,T - 總時間),那需要長期:(。

Simulation look like this

,遺傳算法應該產生的權重,訓練係數和神經元的數量每個隱藏層。主要是我做過的事情,但剩下的健身是我最大的問題。

感謝您的幫助!

+0

你的目標是什麼?控制球到指定的位置?只要將健身表現爲離目標的距離即可。你使用什麼模擬工具需要這麼長時間? – zegkljan

回答

0

我認爲你的方式是正確的「設置一些時間和特定如果它能在船上生存下去,那麼每個單位都在人口中「。

我做了一個類似於「橋樑建設者遺傳算法」的工作,在那種情況下我的健身功能是「搭橋,放一輛車通過它,車的距離和時間就是健身效果」。爲了評估這種適應度函數需要很長的時間,所以你可以嘗試出頭,使其更快:

  • 並行:我想,你的GA支持評估染色體的健身並行,如果它支持你可以把作爲儘可能多的球對射模擬在同一時間運行。在橋樑建設者健身功能的情況下,我同時測試了大約100座橋樑。
  • 物理引擎的時間尺度:如果你使用物理引擎來執行你的模擬,可能你可以改變它的時間尺度。嘗試將時間刻度更改爲0.5或更少。結果可能不像正常時間尺度那麼完美,但可以用來創建您的神經網絡。

我不知道你用什麼語言來構建遺傳算法,如果你使用C#,你可以嘗試使用GeneticSharp。我用它來創建具有並行適應度函數評估的橋樑生成器遺傳算法。