基于深度Q网络的HarmonyOS 2俄罗斯方块游戏

HarmonyOS 2俄罗斯方块:深度Q网络加持

该项目展示了如何使用深度Q网络(DQN)训练AI玩俄罗斯方块。训练成果显著,AI能够消除1000多行方块。

工作原理

项目利用强化学习来决定在特定状态下采取何种行动以最大化奖励。

状态选择

最初尝试使用二维数组表示游戏面板状态,但由于神经网络需要更高的复杂性才能识别模式,效果不佳。最终选择了基于面板统计数据的状态表示方式,具体统计数据如下:

  • Kong: 完全被方块覆盖的空单元格数量
  • 着陆高度: 最后放置方块的高度
  • 侵蚀: 消除的行数 × 从最后放置的方块中消除的单元格数
  • 行转换: 水平单元格过渡次数
  • 列转换: 垂直单元格过渡次数
  • 累积井数: 所有井的总和
  • 颠簸: 每列的高度差之和
  • 总高度: 每列高度的总和
  • 行已清除: 已清除的行数

奖励机制

奖励机制基于经典俄罗斯方块游戏,同时在玩家存活和失败时给予奖励:

  • 存活: +1
  • 清除1行: +40
  • 清除2行: +100
  • 清除3行: +300
  • 清除4行: +1200

AI会比较所有预测动作的潜在状态,并选择最佳状态对应的动作。统计数据的选择参考了Dellacherie算法。

zip 文件大小:1.94MB