Minimax / Alpha Beta 算法 - 在五子棋中寻找 AI 的走法

发布于 2024-10-28 00:22:55 字数 366 浏览 0 评论 0原文

据我所知,极小极大决策树是实现棋盘游戏人工智能的好方法。目前,我正在尝试实现一个名为 Gomoku(连续 5 个)的游戏。但有一件事情让我感到困惑:

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

这是我到目前为止所做的: 我有一个 20x20 整数数组,代表空白空间 (0)、计算机 (1) 和玩家 (2)。 为了减少开销,极小极大树中的每个节点都是较大数组(较小参考系)的 9x9 数组表示。我的 eval 函数返回一个 int,我的 minimax/alphabeta 算法返回一个 int。如何找到AI移动的坐标?

并预先感谢您!

I understand that a Minimax decision tree is a good approach to implementing an AI for a board game. Currently, I am trying to implement a game called Gomoku (5 in a row). But there is one thing that I am confused about:

I've looked around and it seems that almost all Minimax/AlphaBeta algorithms return an integer. Specifically for me, the return value of eval(bestGomokuBoard). How am I supposed to find the coordinate of the winning board?

Here is what I have done so far:
I have a 20x20 Array of integers, representing an empty space(0), computer(1), and player(2).
To reduce overhead, each node in the Minimax Tree is a 9x9 array representation of the larger array (a smaller frame of reference). My eval function returns an int, my minimax/alphabeta algorithm returns an int. How do I find the coordinates of the AI's move?

And thank you in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

山有枢 2024-11-04 00:22:55

您可以制作两个略有不同的最大函数。一个仅返回整数(分数),另一个 max 函数(例如 maxWithBestMoverootMax)返回分数最好的举动。递归调用顺序将是:

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

看看 Negamax 中的注释 #2国际象棋编程维基上的框架。我在此处给出了类似的答案。

You can make two slightly different max-functions. One which returns only an integer (the score), and another max-function (e.g. maxWithBestMove or rootMax), which returns the score and the best move. The recursive call order would than be:

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

Have a look at Note #2 in the Negamax Framework on the chessprogramming wiki. A similar answer I gave here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文