我試圖用遺傳算法訓練的人工神經網絡,其任務是垂直移動一欄,以便它使一個反彈球沒有擊中櫃檯後面的牆上,在其他神經網絡單詞,單條乒乓球。 我會直接問,因爲我想知道問題是什麼。 遊戲窗口是200x200像素,所以我創建了40000個輸入神經元。明顯的疑問是:GA可以處理40000(輸入)* 10(隱藏)* 2元素(基因)的染色體嗎? 因爲我認爲答案是否定的(我實現這個解決方案似乎並沒有工作),解決方案似乎很簡單,我喂NN只有4參數,這些參數座標x,酒吧和球的Y,釘它。 很好的解決方案,但問題是:我怎麼能適用於像supermario遊戲這樣的解決方案,其中在屏幕的敵人的數量是不固定的?當然,我不能創建一個具有動態數字輸入的NN。 我希望你能幫助我。使用具有遺傳算法的乒乓球或supermario
0
A
回答
0
你要使用的功能來代表你的國家。例如,您可以按瓷磚劃分屏幕並根據考慮到敵人的功能(例如,如果敵人在瓦片中或者距離最近敵人的距離爲布爾值)分配一個值。
,您仍然可以使用像素,但您可能需要預處理它們,以減少它們的大小(例如,使用一個經常性的NN)。
順便說一句,NN可能無法處理200x200像素,但它能夠學習使用尺寸爲84x84x4的預處理像素(請參閱this paper)的狀態表示法來播放Atari遊戲。
相關問題
- 1. 對乒乓球比賽+速算法
- 2. 乒乓球模擬器
- 3. 乒乓球碰撞問題
- 4. 對於乒乓球遊戲的數學
- 5. 我的乒乓球項目未在FF
- 6. 乒乓球中的「現實」碰撞
- 7. 試圖在乒乓球遊戲中使用OOP彈跳球
- 8. 卡在板上(乒乓球比賽)
- 9. 在Ruby中創建一個乒乓球
- 10. C++錯誤創建乒乓球遊戲
- 11. 如何獨立移動乒乓球的墊給2名球員?
- 12. 讓球在基於Python的乒乓球遊戲中移動
- 13. 處理3.0:加快球的乒乓球不能正確彈跳
- 14. 乒乓球比賽中球和槳之間的碰撞
- 15. 推 - 乒乓功能
- 16. 如何讓電腦在乒乓球比賽中輸球?
- 17. 乒乓球拍移動時帆布球彈向錯誤方向
- 18. 要使用遺傳算法
- 19. 乒乓遊戲示例
- 20. 爲什麼我的乒乓球AI抖得這麼厲害?
- 21. 與Haskell和節儉的乒乓球卡住
- 22. 遺傳算法和細胞遺傳算法有什麼區別
- 23. 的遺傳算法
- 24. While循環不工作按預期在乒乓球比賽
- 25. 爪哇4路乒乓球,與檢查碰撞卡住
- 26. 如何訓練神經網絡玩乒乓球遊戲?
- 27. 乒乓遊戲 - 給球動畫添加計時器
- 28. 乒乓球比賽竊聽了 - mayby指針
- 29. 需要更好的方式在乒乓球遊戲中製作球角
- 30. 遺傳算法庫
高興看到這麼長時間後:)一個答案。無論如何,我試圖減少輸入到只有1個神經元,這是酒吧和球之間的Y距離。我得到了什麼?我不知道我是否真的可以稱它爲GA,因爲幾乎總是會學習在第一代玩遊戲......無論如何,感謝瓷磚的想法,我沒有真正想過,你是否在某處讀過它? – Christian
歡迎您:)瓷磚編碼是在強化學習中表示狀態的常用方法。看看這裏https://webdocs.cs.ualberta.ca/~sutton/book/ebook/node88.html在Google上搜索,您可以輕鬆找到這些算法的一些C實現。類似的方式(經常使用)是徑向基函數。 關於你的1-神經元網絡,它似乎是合理的,因爲最終目標是最小化球和杆之間的距離。 – Simon