【发布时间】:2011-06-13 17:16:07
【问题描述】:
我正在为 3x4(行 x 列)网格上的 3-in-a-row 游戏的 negamax 算法而苦苦挣扎。它像众所周知的 4-in-a-row 一样播放,即丢掉棋子(不像井字游戏)。让我们称玩家 R 和 B。R 有第一步,B 的动作由 negamax 控制。可能的移动是 1、2、3 或 4。这是在 R:移动 3 --> B:移动 1 --> R:移动 3 之后到达的相关位置:
1 2 3 4| | | | |
| | |右 | |
|乙| |右 | |
现在,为了防御 R 的第 3 步,B 必须自己下第 3 步,但它拒绝这样做。相反,它下的是第 1 步,在 R 的下一步之后游戏就结束了。
顺便说一句,我花了一整天的时间在我的 negamax 实现中寻找一个错误,该错误非常适用于 3x3 网格,但我找不到任何错误。
然后我开始思考:对于负最大算法行为的另一种解释是,在 R 在 3x4 网格上以第 3 步开始游戏之后,无论如何 B 在所有变体中都会丢失。
任何人都可以反驳这个命题或给我一个证明(我更喜欢;-))吗?
谢谢,RSel
【问题讨论】:
-
如果将搜索深度限制为向前两步会发生什么?