想象一个非常简单的游戏,在任何非最终位置,主动玩家都可以进行第 1 步或第 2 步。
假设玩家 1 从第 1 步开始,他立即赢得比赛。如果他从第 2 步开始,如果玩家 2 下第 1 步,他仍然可以赢,但如果玩家 2 下第 2 步,他就输了。
value([1]) := win for player 1
value([2,1]) := win for player 1
value([2,2]) := win for player 2
显然,第 1 步是最好的一步。不仅因为它立即赢得比赛,而且因为如果玩家 1 改为使用第 2 步,则不能保证获胜。
对于任何大于 1 的前瞻深度,GKMinmaxStrategist
尽管想要玩移动 2。请注意,战略家似乎甚至没有探索玩家 1 输掉比赛的可能性,只探索了位置[1]
和[2,1]
。在我看来,这GKMinmaxStrategist
是修剪太多职位。
我在这里错过了什么吗?
您可以在GitHub 上找到示例项目。