游戏AI中的状态评估和启发式有什么区别?

时间:2017-03-05 03:22:19

标签: state heuristics minimax game-ai

我正在尝试在简单的纸牌游戏中为AI玩家实施minimax算法。然而,通过研究,我很困惑状态评估和启发式之间的主要区别是什么。

根据我的理解,通过玩家可获得的当前信息(例如,在国际象棋,棋子及其相关位置)计算启发式。通过这个信息,他们基于启发式函数得出结论,该函数基本上提供了“经验法则”。

状态评估是当前状态的确切值。

然而,我不确定为什么这两个事物共存,因为我看不出它们彼此之间有多大的不同。请有人能够精心制作,并澄清我的困惑。感谢。

1 个答案:

答案 0 :(得分:0)

假设是一场零和游戏,你可以对终结状态进行状态评估(游戏以胜利,平局和玩家X的视角输掉比赛结束),结果为1,0,-1。完整的树搜索将让您完美游戏。

但实际上树很大,无法完全搜索。因此,您必须在某个时刻停止搜索,这不是最终状态。没有确定的赢家或输家。现在很难用1.0,-1标记这个状态,因为游戏可能太复杂而不能轻易地评估远离终端状态的某个州的胜利者。但是你仍然需要评估这个位置,并且可以使用一些关于游戏的假设,这等于启发式信息。一个例子是国际象棋中的棋子(女王比棋子更有价值)。这是将非完美评估函数(近似于真实函数)中的启发式信息。您的假设/启发式越好,实际评估的近似值就越好!

但是还有其他部分可以合并启发式信息。一个非常重要的领域是控制树搜索。将首先评估哪个第一步,最后评估。选择好的移动首先允许像alpha-beta这样的算法修剪树的大部分。但是当然你需要说出一些假设/启发式信息来命令你的动作(例如皇后移动比典当移动更强大;这是一个简单的例子,我不确定这个启发式的效果在国际象棋AIs)