-1

我正在考虑为可能有两到四个玩家的游戏构建 AI。在该领域进行一些研究,看起来标准的极小极大方法都不起作用,除非你构建一个“偏执狂”的人工智能,假设所有玩家都想得到它,并且可以有效地被视为一个更大的对手,需要更多转身。

游戏的部分问题在于棋盘非常大,在任何给定的回合中,任何玩家通常都有数百个动作可用。此外,某些移动可能允许玩家再次移动。除非您积极修剪,否则这会使任何广度优先搜索都变得非常昂贵。

就上下文而言,该游戏与跳棋大致相似,但在大约 4 倍大的棋盘上进行。

有适合这种游戏的算法吗?还是我最好的选择是在没有任何移动树搜索的情况下使用启发式算法?

4

1 回答 1

1

你有多个问题,在这里。

简单的问题是,“我该怎么处理这个巨大的移动空间?” 一个很好的答案是,带有板评估启发式的树搜索。基本概念是,由于搜索空间太大而无法直接处理,因此您尽可能向前搜索,并在最后使用您对游戏本身的了解来评估哪些叶子是最好的。

例如,国际象棋中有一条粗略的规则,兵值 1,象和马值 3,车值 5,皇后值 9,所以在搜索过程结束时,您可以使用棋盘评估函数计算双方的点总和并将其用作评估函数。(警告:那个特定的评估函数非常粗略。好的函数将取决于棋子的位置,被检查等。董事会评估函数不是容易弄清楚的。)

困难的问题是,“我如何处理两个以上的玩家?” 这是一个非常难的问题。处理它的一种方法是假设每个玩家都严格要求赢得比赛,并相应地调整搜索算法。这与假设所有对立的参与者都在合作和协调并不完全相同。我相信 Russell 和 Norvig 在 AIMA 中关于对抗性搜索的章节中有几页专门介绍了这个想法。不过,AIMA 在这个话题上所拥有的只是多玩家 AI 方向的手势。

多人——也就是说,多智能体——人工智能比单智能体人工智能要困难得多。

于 2013-03-24T18:54:56.023 回答