强化学习Double DQN方法玩雅达利Breakout游戏完整实现代码与评估pytorch

1. 实验环境

1.1 硬件配置

  • 处理器:2*AMD EPYC 7773X 64-Core
  • 内存:1.5TB
  • 显卡:8*NVIDIA GeForce RTX 3090 24GB

1.2 工具环境

  • Python:3.10.12
  • Anaconda:23.7.4
  • 系统:Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)
  • IDE:VS Code 1.85.1
  • gym:0.26.2
  • Pytorch:2.1.2

2. 实现

2.1 Breakout for Atari 2600

模型评估效果模型评估效果

Breakout是一款经典的雅达利游戏,也就是我们所熟知的“打砖块”。玩家需要左右移动在屏幕下方的短平板子将一颗不断弹跳的小球反弹回屏幕上方,使其将一块块矩形砖块组成的六行砖块墙面打碎,并防止小球从屏幕底部掉落。在Atari 2600版本的Breakout中,玩家共有5次小球掉落机会,一旦用完就标志游戏结束,每打掉一块砖块得1分,全部打掉则游戏胜利结束。

图2-1 Breakout for Atari 2600游戏示意图图2-1 Breakout for Atari 2600游戏示意图

<center>图2-1 Breakout for Atari 2600游戏示意图</center>