剪枝如何在必须遍历完整图以找到终止状态时提供帮助?

我阅读了关于minimax算法的内容,然后阅读了关于alpha beta pruning的内容。虽然我能够理解剪枝的概念,但我无法理解的是,我仍然需要提前知道终止状态/叶节点。

要知道终止状态,我必须在内存中绘制完整的图,并且还要提前遍历每个节点。不是吗?

我在下图中有一个一维的1 x 3网格。所以有3列但只有一行。我选择这个是为了便于说明。

enter image description here

如您所见,我通过找出所有可能的状态并遍历每个节点来计算每个MIN/MAX。虽然剪枝确实可以防止额外的遍历,但既然我必须遍历完整的图,剪枝如何仍然有益呢?


回答:

您不必遍历完整的图,因为剪枝会确定那些肯定不会给您更好解决方案的分支,并将其从图中“删除”。这里有一个视频帮助我理解了这个算法。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注