Go的游戏算法?

时间:2010-08-29 11:07:57

标签: algorithm search artificial-intelligence baduk

播放game of Go的算法的最新技术是什么? 最好阅读哪些文章(描述算法)?

有一个StackExachge site致力于Go,但没有足够的人承诺在那里提出问题。

4 个答案:

答案 0 :(得分:7)

所有当前的机器人都使用基于蒙特卡罗的算法。它们通常非常适合Go,并且有许多额外的层来支持MC算法来预测每次移动的结果。您可以查看一个开源机器人,例如Fuego

答案 1 :(得分:3)

This是最基本的资源开始,但它非常完整我敢说

答案 2 :(得分:0)

Amirim项目尝试使用结合ab-pruning和分区搜索方法的minimax方法来实现Go AI的工作。他们似乎取得了一些成功,但我不记得他们通过与人类对手对抗来证明他们的AI。

我建议您查找partition search

不幸的是,我对Amirim项目的链接已经死了(here)。

答案 3 :(得分:-2)

我通过使用alpha-beta修剪在Prolog中实现了类似的东西。这种方法可以轻松地用于 Go ,因为它是一个完美的信息游戏,其中

  • 每一个可能的举动都是已知的
  • 游戏的状态完全为人所知

你可以从Minimax trees开始,然后深入挖掘AB-pruning,negmax等聪明的方法。

很酷的是,您可以首先开发最佳动作的引擎,然后尝试找到最好的启发式(也可以通过让你的AI相互竞争,看看哪一个更聪明)决定多少好是一招。

当然,找到一个好的启发式是实现的一部分,你必须要研究游戏规则,这需要考虑各种策略..所以它是更复杂的,但也是最有趣的。