Minimax搜索:如何打印从选择的下一步移动到叶子的路径

时间:2012-06-07 03:53:53

标签: chess minimax

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

1 个答案:

答案 0 :(得分:2)

您想确定Principal Variation

  

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

     

- 国际象棋编程维基

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

  1. 移动 =使用上次搜索确定的最佳移动
  2. 打印移动
  3. 移动
  4. 获取新主板的转置表条目
  5. 转置表条目是否准确?
    • 是:移动 =移动存储在转置表条目中。转到第2步。
    • 否:撤消移动。转到第6步。
  6. 结束