1

令人困惑的标题。我将尝试详细说明:我有一个 AI 国际象棋游戏,它使用极小极大搜索来生成计算机的下一步行动。在将极小极大树下到选定的深度(比如 5)之后,它最终会找到下一个最佳移动。出于我自己的测试目的,我希望能够打印出下一个最佳动作(表示为棋盘配置),以及用于确定下一步动作得分的以下 4 个动作。也就是说,在极小极大树中每个较低级别的最佳选择路径,从​​最终被选为最佳下一步的顶部节点开始。有任何想法吗?

4

1 回答 1

2

您想要确定Principal Variation

主要变体 (PV) 是程序认为最好并因此期望播放的一系列动作。

-- 国际象棋编程维基

我的游戏引擎实现使用转置表来确定 PV。要打印 PV,程序执行以下步骤:

  1. move = 最后一次搜索确定的最佳移动
  2. 打印移动
  3. 起来
  4. 获取新板的转置表项
  5. 转置表条目是否准确?
    • 是:move = move 存储在转置表条目中。转到第 2 步。
    • 否:撤消移动。转到第 6 步。
  6. 结尾
于 2012-06-08T21:57:15.010 回答