我正在研究 minmax 算法,我想进行 alpha-beta 剪枝... 我读了一个有这棵树的例子。
谁能帮我,值 3,5,10,2 是怎么来的,背后的逻辑是什么??
最佳答案
它不是来自任何地方,通常,您预测这些值。
为了搜索具有大量可能状态的树(即国际象棋游戏),这种技术通常也称为 heuristic function , 是必须的。启发式函数通常采用单个参数,一个状态,即这些子节点之一(例如,井字游戏的大小为 9 的数组),并尝试预测该状态的有利程度对于某个玩家。因此,如果函数是根据白方在国际象棋中的 POV 编写的,+10 可能意味着白方有可能获胜,而 -7 可能意味着比赛对黑方有利。保证白方获胜的状态,应该有 +infinity 作为返回值。
自然地,像“有多受欢迎”这样的问题不可能有科学的、绝对的答案。因此,您通常会运用您的直觉、领域专业知识、常识等来编写此函数。
当状态的数量不是很大时,例如在井字游戏中,您不必在一定深度后停止搜索,您可以简单地使用 +1,0,-1 来表示分别赢、平、输。
关于algorithm - 如何在minimax算法中获取子节点的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47951245/