Python製作AI且mini版飛機大戰
最新
02-16
導語
相關文件
參考文獻
(1)neuro-evolution
https://en.wikipedia.org/wiki/Neuroevolution
主要思路
遊戲思路:
讓我方飛機自動躲避屏幕上方飛來的敵機。
實現方式:
(1)利用簡單的神經網路來決定飛機的行動方式;
(2)利用neuro-evolution演算法來提高神經網路的性能,該演算法核心類似於達爾文的進化論,隨機生成種群後選擇優秀個體進行雜交變異獲得新的種群,如此反覆循環。
具體思路和實現方式詳見源代碼。
開發工具
Python版本:3.5.4
相關模塊:
win_unicode_console模塊、pygame模塊以及一些Python自帶的模塊。
環境搭建
安裝Python並添加到環境變數,pip安裝需要的相關模塊即可。
使用演示
在cmd窗口運行main.py文件即可:
若效果不佳,請自行修改NeuroEvolution.py文件中相關參數,如下圖所示:
當然你也可以修改main.py文件中敵機的生成位置:
飛機最後會在不生成敵機的位置區域運動:
更多
演算法真的真的寫的很簡陋且丑。。。
So,
沒有任何實際使用價值。。。
有興趣的小夥伴可以進一步優化和擴展這個AI遊戲,當然也歡迎後台留言交流。。。
可優化的內容舉例:
(1)優化新基因的生成方式;
(2)相關參數隨著進化過程不斷改變等。
※GMT/Python(一)
※偽·從零開始學Python-1.2 Python的開發工具
TAG:Python |