【问题标题】:Is the board game "Go" NP complete?桌游“围棋”NP完整吗?
【发布时间】:2010-12-16 02:47:30
【问题描述】:

周围有很多国际象棋 AI,显然其中一些足以击败一些世界上最伟大的棋手。

我听说为棋盘游戏 Go 编写成功的 AI 进行了许多尝试,但到目前为止,还没有任何超出平均业余水平的构想。

难道在围棋中以数学方式计算任意给定时间的最优走法是一个 NP 完全问题吗?

【问题讨论】:

  • 不知道为什么你被否决了。这是一个合法的问题。 +1
  • 嗯,当前的蒙特卡洛和类似算法已经将前沿推到了平均业余水平。要寻找的名字包括 Zenith、Many Faces of Go、Fuego、Leela 等等。

标签: artificial-intelligence np-complete baduk


【解决方案1】:

国际象棋和围棋都是EXPTIME complete。 IIRC,围棋有更多可能的移动,所以我认为它比国际象棋复杂度更高。维基百科有一个关于 Go 复杂性的 good article

【讨论】:

  • 您可能想提一下,这两个结果都是针对游戏的通用版本。简单地说,具有恒定大小棋盘的游戏都可以在恒定时间内解决。 (尽管这个常数太大了,我们现在甚至可能永远无法处理。)
  • 在理解专家说“国际象棋是 EXPTIME-complete”时的意思方面,ShreevatsaR 的观点非常重要。
【解决方案2】:

即使 Go 仅在 P 中,它仍然可能是像 O(n^m) 这样可怕的东西,其中 n 是空格数,m 是一些(大)固定数字。即使在P 中也无法进行合理的计算。

【讨论】:

    【解决方案3】:

    国际象棋或围棋 AI 在决定走法之前都没有完全评估所有可能性。

    国际象棋 AI 使用各种启发式方法来缩小搜索空间,并量化棋盘上给定位置的“好”程度。这可以通过评估可能的棋盘位置 14-15 向前移动并选择通向良好位置的路径来递归地完成。

    棋盘位置的量化方式有点“魔力”,因此在顶层,AI 可以简单地移动 A > 移动 B,因此让我们移动 A。但由于棋子数量有限,而且它们都具有可量化的价值,可以实现“足够好”的算法。

    但事实证明,程序要评估围棋中两个可能的棋盘位置并进行 A > B 计算要困难得多。如果没有这个关键部分,要让 AI 的其余部分正常工作会有点困难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-19
      • 2016-09-27
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多