我正在为 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 在所有变体中都丢失了。
任何人都可以反驳这个命题或指出我的证据(我更喜欢;-))吗?
谢谢, 塞尔