0

我在为可能有两到四名玩家的游戏构建AI。在该领域做了一些研究,看起来没有任何标准的极小极大方法可行,除非你建立一个假设所有球员都能得到它的“偏执狂”AI,并且可以被有效地视为一个更大的对手,转。AI为多人游戏?

游戏问题的部分原因是棋盘非常大,在任何回合中通常有数百个动作可供任何玩家使用。另外,某些移动可能会让玩家再次移动。这使得任何广度优先搜索都非常昂贵,除非你积极修剪。

对于上下文来说,游戏大致类似于跳棋,但在棋盘上玩的大概是4倍。

有没有适合这种游戏的算法?或者,我最好的办法是使用启发式方法,而不用任何移动树搜索?

回答

1

您有多个问题正在进行,请点击这里。

简单的问题是,“我该如何处理这个巨大的移动空间?”一个好的答案是,使用董事会评估启发式进行树搜索。基本概念是,因为搜索空间太大而无法直接处理,所以您可以尽可能向前搜索,并在最后使用游戏本身的知识来评估哪些树叶最好。

例如,国际象棋中有一个粗略的规则,即棋子值1,主教和骑士值3,车值5,皇后值9,所以在搜索过程结束时,你可以使用板评价函数可以计算双方的积分总和并将其用作评价函数。 (警告:特别的评估功能是非常粗糙的,好的功能取决于棋子的位置,处于检查中等等。评估板的评估功能并不是一件容易的事。)

难题是“我是否与两名以上的球员打交道?“这是一个非常难的问题。解决这个问题的一个方法是假设每个玩家都严格地赢得游戏,并相应地调整搜索算法。这是不完全是假设所有对手都在合作和协调。我相信Russell和Norvig在关于对抗性搜索的章节中有关于AIMA这个概念的几页内容。尽管如此,AIMA对这个话题的评论仅仅是针对多人AI的手势。

多人游戏 - 也就是说,多智能体 - 人工智能比单智能体人工智能更加困难。