改进使用Q-Learning的自学游戏机器人

时间:2018-06-04 05:44:24

标签: python bots tic-tac-toe reinforcement-learning q-learning

我最近尝试使用Tic Tac Toe bot实施强化学习。

我用Python创建了一个自学游戏机器人。在经过足够的迭代后,它能够几乎完美地击败一个随机玩家,并与一个极小极大的玩家对战(随机播放最佳动作)。

我的最后一次尝试是创建静态opponent-bot,其Q表在每集后都会更新,以匹配动态变化的那个。

即使在调整了超参数之后,我也无法达到理想的效果:在300集之后,机器人仍然对我失去了兴趣,每集都有100场比赛。

我的问题是:一旦机器人不再学习,即使我增加了迭代次数,我该如何修改代码?

以下是我的一些想法:(您怎么看?)

  • 增加迭代次数 - 这对于有大约6000个合法州的游戏真的有用吗?
  • 修改超参数(通过将学习率设置为一个非常小的数字并以指数方式增加它是一个好主意来找到学习率吗?)
  • 更改探索参数 - 现在设置为1 /(1 + x),其中x是所玩游戏的总数

此外,如果您对我的代码有任何评论/建议,请随时告诉我您认为可以改进的任何内容。

谢谢!

0 个答案:

没有答案