其他
学生作品|2024创新开发--《用强化学习玩贪吃蛇》
# 用强化学习玩贪吃蛇
这个项目是一个用强化学习玩游戏的概念验证
它使用 DQN 算法
DQN 是 Q-Learning 算法家族中的一个,它适用于离散动作空间
对比原始的 Q-Learning 算法,它使用一个神经网络(模型)来计算每个状态的价值函数以应对庞大的状态空间
即使训练时显然没法遍历状态空间,模型依然可以推断其在 Q 表中的值来进行决策
# 安装
```
pip install -r requirement.txt
```
你可能需要代理或使用镜像源才能快速地完成这个步骤
你也可以使用已打包好的 EXE 文件(在 `
dist/
` 中),从而跳过这一步骤
# 训练
`
``
python train.py
load?
<Existing model file or 'n' (use initial model)>
...(The progress and result of training)
save?
<File to save as or 'n' (do not save model)>
```
训练时的情况将被 TensorBoard 记录为图表
目录下的 `
dqn*.pth
` 文件为作者已训练好的模型
# 展示
`
``
python show.py
model: <Existing model file>
...(The data of the show)
```
# 依赖的库
- numpy 用于处理数据
- torch 用于制作和训练神经网络
- tianshou 作为强化学习框架
# 开发者信息
株洲市二中 2311 班 陈奕轩
去年陈奕轩以223分获得联赛全国一等奖,由于我的原因,没有给他做好宣传,这是我比较遗憾的地方,所以后来推了《我校学生陈奕轩参加了NOI2024联合省选湖南省队选拔赛》算是弥补遗憾,今年湖南参加省选的资格是2023年联赛成绩>=200分。高中有比教师厉害的学生多了去,所以社会上的三教九流都来质疑中小学生的水平也是醉了:《“蒙特卡罗算法”,中小学生不能研究?》,厉害的学生多了去了……没想到他还在研究AI算法,这在如此繁重的学习压力上能做到这一点确实不容易,我们的未来在年轻一代身上,他们远比上一代人更能够适应时代,接受科技时代的新知识。