人工智能可以在简单的游戏中无与伦比吗?

人工智能 机器学习 组合游戏
2021-10-20 19:34:02

有(两人,完全信息)组合博弈,在博弈的任何配置下,一个获胜的举动(如果有的话)可以通过一个短程序快速计算出来。这是以下游戏的情况,从一堆匹配开始,每个玩家交替删除 1,2 或 3 匹配,直到删除最后一个的玩家获胜。Nim 游戏也是如此

另一方面,理解围棋或国际象棋等游戏的获胜策略似乎是没有希望的。然而,一些基于机器学习的程序(如 alphaGo zero)能够“学习”复杂游戏的策略,仅使用游戏规则作为输入数据。我真的不知道这些算法是如何工作的,但这是我的模糊问题:

对于像 Nim 这样的简单游戏,这样的算法是否能够在游戏的任何获胜配置中真正找到获胜的动作?

Nim 的配置数量是无限的,但该算法在其“训练”期间将仅考虑有限数量的配置。似乎可以想象,如果这个训练阶段足够长,那么程序将能够像人类一样捕捉获胜策略。

1个回答

实际上有一个关于“解决” Nim 的 github 项目,它实现了某种类型Q-learning reinforcement algorithm在 Erik Jarleberg(皇家理工学院)的本科论文中描述,题为“Nim 组合游戏的强化学习”),据说可以找到最优策略在游戏里面,人类也可以找到。

该项目使用 Python 中的代码,“仅”114 行代码,因此如果您有兴趣并想对其进行测试,它可以在您自己的机器上运行。Github 页面还告诉我们:

该游戏有一个已知的最优策略,这归功于哈佛的 Charles L. Bouton,它可以作为评估我们 Q-learning 代理性能的基准。

(这就是我引用它以获得足够好的/最佳结果的引用)。

Q-learning是强化学习算法家族的一部分,所谓的通过从其动作agent中学习如何玩游戏,并尝试通过以下策略最大化数量:rewardstotal reward

代理的目标是最大化其总奖励。它通过将未来状态可获得的最大奖励添加到实现其当前状态的奖励中来实现这一点,通过潜在的未来奖励有效地影响当前行为。该潜在奖励是从当前状态开始的所有未来步骤的奖励的期望值的加权和。

在Q-learning Wikipedia-page中引用和更多信息

如需进一步了解使用强化学习解决的简单游戏,请查看以下论文:使用深度强化学习玩 Atari该论文及其发现中还有一个 Udemy 课程