vAIbe_2048 / TASK.md
forthezero's picture
Upload 13 files
0642513 verified

需求

用Python制作一个基于Transformer的2048游戏AI

可以创建一个简单的窗口让我看到实时的训练状态,包括训练时AI的当前分数、训练速度、历史已经结束的游戏的累积分数变化、当前游戏的局面分数变化,窗口可切换演示模式和训练模式

2048的一部分规定补充:

  • 开局会在随机位置生成一个2,后续在空格生成的砖块在随机位置且值为2或4
  • 同时存在两个分数机制:累积分数和局面分数
  • 累积分数机制:每合成一个增加合成后的砖块的数值
  • 局面分数机制:根据空格数量相邻连续数字数量(相邻砖块拥有相邻数字的数量,取最大值,不计算重复,如512 1024 2048为3,256 512 512 2为2)最高数字的对数设计以恶合理的函数,局面分数越高越好

第一步:训练模型

为模型提供当前的局面状态和两种分数(累积分数的权重低于其它,目的是局面分数保持更高),输出只有上下左右

游戏结束后再开始新的游戏继续训练,直到训练没有长进或我手动点击停止

性能允许的话可以多开2048游戏进行训练

第二步:演示模式

在窗口中可以手动操作或AI托管,AI托管可以单步执行也可以持续下一步,可以看到两种分数及局面分数变化