我正在实施一个Alpha-Beta修剪算法,用于在奥赛罗游戏中获得最佳动作。当算法到达叶节点(即没有有效移动或达到最大深度)时,我会根据此计算该节点的启发式值:
最大化玩家(运行算法的玩家是多少砖) 要使用算法返回的移动)在该节点的板上? (每块砖+1)
最大化玩家在此节点上有多少有效移动? (每次移动+10)
最大化玩家有多少角砖? (每个角砖+100)
问题是:当不是玩家在叶子节点中进行最大化时,我该怎么办?然后就不可能计算他的有效动作,因为轮到他了。我可能误解了整个alpha-beta修剪算法,或至少启发式函数应该如何工作。有人可以给我一个提示吗?
由于