寻找AI在Gomoku中的举动

我明白,Minimax决策树是实现棋盘游戏AI的好方法。 目前,我正试图实施一个名为Gomoku的游戏(连续5次)。 但有一件事我很困惑:

我环顾四周,似乎几乎所有的Minimax / AlphaBeta算法都返回一个整数。 具体对我来说,eval(bestGomokuBoard)的返回值。 我应该如何找到胜利板的坐标?

这是我迄今为止所做的:我有一个20x20的整数数组,代表一个空的空间(0),计算机(1)和播放器(2)。 为减少开销,Minimax树中的每个节点都是较大阵列(较小参考帧)的9x9阵列表示。 我的eval函数返回一个int,我的minimax / alphabeta算法返回一个int。 我如何找到AI动作的坐标?

并提前谢谢你!


你可以做两个稍微不同的最大功能。 一个只返回一个整数(得分),另一个最大功能(例如maxWithBestMove或rootMax),它返回分数最佳移动。 递归调用顺序可能是:

maxWithBestMove --> min --> max --> min --> max....

看看chessprogramming wiki上的Negamax框架中的Note#2。 我在这里给出了类似的答案。

链接地址: http://www.djcxy.com/p/56337.html

上一篇: Finding the AI's move in Gomoku

下一篇: Chess: Extracting the principal variation from the transposition table