【发布时间】:2012-12-09 20:15:47
【问题描述】:
我正在实施一种 Alpha-Beta 修剪算法,该算法将用于在黑白棋游戏中获得最佳移动。当算法到达叶节点(即没有有效的移动或达到最大深度)时,我基于此计算该节点的启发式值:
最大化玩家(运行算法的玩家)有多少积木 会使用算法返回的移动)在这个节点的棋盘上吗? (每块砖+1)
最大化玩家在这个节点有多少有效动作? (每步+10)
最大化玩家有多少个角落砖? (每个角砖+100)
问题是:如果不是最大化玩家在叶子节点上交,我该怎么办?然后不可能计算他的有效动作,因为轮不到他。我可能误解了整个 alpha-beta 修剪算法,或者至少误解了启发式函数应该如何工作。有人可以给我一个提示吗?
谢谢
【问题讨论】:
-
关于这个算法有很多关于 SO 的问题。参见例如this one,其中有很多解释和更多信息的链接。
标签: algorithm artificial-intelligence alpha-beta-pruning