提问者:小点点

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


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


共1个答案

匿名用户

您需要确定主要变量。

主变(PV)是程序考虑最佳的一系列动作,因此期望被播放。

--象棋编程维基

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

  • 移动=上次搜索确定的最佳移动
  • 打印移动
  • 采取行动
  • 获取新板的换位表条目
  • 换位表条目准确吗?
    • 是:移动=存储在转置表条目中的移动。转至步骤2
    • 否:撤消移动。转至步骤6