基于深度Q网络的HarmonyOS 2俄罗斯方块游戏
HarmonyOS 2俄罗斯方块:深度Q网络加持
该项目展示了如何使用深度Q网络(DQN)训练AI玩俄罗斯方块。训练成果显著,AI能够消除1000多行方块。
工作原理
项目利用强化学习来决定在特定状态下采取何种行动以最大化奖励。
状态选择
最初尝试使用二维数组表示游戏面板状态,但由于神经网络需要更高的复杂性才能识别模式,效果不佳。最终选择了基于面板统计数据的状态表示方式,具体统计数据如下:
- Kong: 完全被方块覆盖的空单元格数量
- 着陆高度: 最后放置方块的高度
- 侵蚀: 消除的行数 × 从最后放置的方块中消除的单元格数
- 行转换: 水平单元格过渡次数
- 列转换: 垂直单元格过渡次数
- 累积井数: 所有井的总和
- 颠簸: 每列的高度差之和
- 总高度: 每列高度的总和
- 行已清除: 已清除的行数
奖励机制
奖励机制基于经典俄罗斯方块游戏,同时在玩家存活和失败时给予奖励:
- 存活: +1
- 清除1行: +40
- 清除2行: +100
- 清除3行: +300
- 清除4行: +1200
AI会比较所有预测动作的潜在状态,并选择最佳状态对应的动作。统计数据的选择参考了Dellacherie算法。
1.94MB
文件大小:
评论区