algorithm - 如何在minimax算法中获取子节点的值?

标签 algorithm artificial-intelligence data-science

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

Tic Tac Toe tree

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

谁能帮我,值 3,5,10,2 是怎么来的,背后的逻辑是什么??

最佳答案

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

为了搜索具有大量可能状态的树(即国际象棋游戏),这种技术通常也称为 heuristic function , 是必须的。启发式函数通常采用单个参数,一个状态,即这些子节点之一(例如,井字游戏的大小为 9 的数组),并尝试预测该状态的有利程度对于某个玩家。因此,如果函数是根据白方在国际象棋中的 POV 编写的,+10 可能意味着白方有可能获胜,而 -7 可能意味着比赛对黑方有利。保证白方获胜的状态,应该有 +infinity 作为返回值。

自然地,像“有多受欢迎”这样的问题不可能有科学的、绝对的答案。因此,您通常会运用您的直觉、领域专业知识、常识等来编写此函数。

当状态的数量不是很大时,例如在井字游戏中,您不必在一定深度后停止搜索,您可以简单地使用 +1,0,-1 来表示分别赢、平、输。

关于algorithm - 如何在minimax算法中获取子节点的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47951245/

相关文章:

python - 在 python 中处理大型 JSON 数据

python - python中的缺失值插补

c# - 如何有效地计算移动标准偏差

algorithm - 设计数据路径以求和三个输入中最大的两个

c# - 我有一个游戏的攻击链系统,但它很快就会变得非常复杂

neural-network - 如何防止我的程序陷入局部最大值(前馈人工神经网络和遗传算法)

algorithm - 带a-b修剪和换位表的Minimax

java - 在 Java 中计算与目标总和对应的数组索引的代码优化空间是否存在?

algorithm - A*算法的正确表述

python - 自动使 matplotlib 图像与其他子图标签齐平