如何在minmax算法中获取子节点的值?

时间:2017-12-23 09:19:29

标签: algorithm artificial-intelligence data-science

我正在研究minmax算法,我想做alpha-beta修剪...... 我读了一个有这棵树的例子。

Tic Tac Toe tree

我不明白,如何获得子节点的值,用红色标记。Tic Tac Toe Tree

有人可以帮助我,3,5,10,2的值是如何产生的以及它背后的逻辑是什么?

1 个答案:

答案 0 :(得分:1)

它并非来自任何地方,通常,您预测这些值。

为了搜索具有大量状态(即国际象棋游戏)的树,这种技术(也称为heuristic function)是必须的。启发式函数通常采用单个参数,即一个状态,即那些子节点中的一个(例如,对于井字游戏的大小为9的数组)并尝试预测有利这个状态是多少对于某个球员。所以,如果这个函数是用国际象棋中的白色POV写的,那么+10可能意味着白色可能会获胜,而-7可能意味着游戏是黑色的。保证白色获胜的状态,应该有+无穷大作为返回值。

当然,像“有利”这样的问题不能有科学的,绝对的答案。所以你通常会运用你的直觉,专业知识,常识等来编写这个函数。

当状态数量不是很大时,例如在tic-tac-toe游戏中,你不必在某些深度后停止搜索,你可以简单地使用+ 1,0,-1来表示分别赢,抽,亏。