游戏“2048”中的对抗性搜索

人工智能 搜索 极小极大
2021-11-08 13:19:50

如果我们使用最大最小博弈树对游戏“2048”进行建模,那么从开始状态到最终状态的最大路径是多少?(假设游戏仅在棋盘已满时结束

这是我们应该准备将游戏实际建模为最大最小游戏树的子问题之一。但是我无法理解这个问题。

它实际上是接收 131072 作为残局的途径吗?

1个回答

要为搜索建模 2048(或任何问题),您只需要几条信息。

首先请注意,2048 不适合 minimax,因为只有一个玩家!相反,您可以将其视为马尔可夫决策过程不过,解决它的技术非常相似。基本上,您将搜索一名玩家,并在搜索的每一层插入“机会”节点。机会节点的值是其子节点的期望值。请注意,这会降低修剪的有效性,因此这可能意味着基于搜索的方法无法处理该问题。

  1. 最终状态是什么样的?通常你有一些函数G(s)接受状态 s,并且当且仅当它是结束状态时才产生 true。在 2048 年,最终状态将是玩家失败(无法移动)或玩家获胜(存在 131072 牌)的状态,因此这应该相当容易编写。
  2. 有什么回报这通常由一个效用函数U(e)给出,它接受一个结束状态 e,并产生一个数值,表示玩家将获得的效用。
  3. 玩家在每种状态下可以采取什么行动?在 2048 年,这些总是相同的(上、下、左、右)
  4. 旧状态和玩家动作如何产生新状态(在这种情况下,棋子根据游戏规则滑动,然后在随机空白位置插入新棋子。

虽然搜索在这里可能有效,但由于 2048 是一个相对简单的 MDP,您可能会更乐意使用专为此类问题设计的强化学习技术。Russell & Norvig对这两种方法都有很好的章节 (14-17)。