最小-最大搜索树的表示

我想请教一下大家关于这个问题。我查看了最小-最大理论,但仍然不知道如何将这个概念应用到下面的问题中。

下面的树表示了一种竞技游戏中的可能移动,显示玩家X目前可以选择A移动或B移动。玩家X移动后,玩家Y可以选择一个移动,然后玩家X可以选择游戏的最后一个移动。树的叶节点标记为W、L或T,分别表示该结局对玩家X来说是赢、输或平局。

使用最小-最大搜索来确定玩家X应该选择A还是B,以获得X可以预期的最佳结果。

enter image description here

要复习最小-最大搜索,请参阅http://www.nada.kth.se/kurser/kth/2D1350/progp02/lecture2.pdf

玩家X应该选择A。

玩家X应该选择B。


回答:

我为节点添加了编号,并高亮了“最大”行。未高亮的行是“最小”行(即,玩家希望最小化结果)。显然,L是最低值,W是最高值。我们通常将赢分配为1,输分配为-1,平局分配为0。玩家Y希望将数字尽可能降低(如果玩家X得到L,他们就赢了)。玩家X希望将数字尽可能提高(他想要一个W)。

enter image description here

如果游戏进行到节点4,无论如何玩家X都会赢。因此,4被标记为W(或1)。如果游戏进行到节点5,他会输,所以标记为L。6也是如此(标记为W)。

要分配给节点2,我们注意到2在“最小”行上(轮到玩家Y)。4、5、6分别有W、L、W。玩家Y可以通过选择节点5来最小化这个结果,因此赢了。因此,玩家X知道如果玩家Y足够聪明,选择A他就会输。

我们可以对另一侧做同样的事情,以显示如果玩家X选择B,他将平局。因此,玩家X应该选择B。

当编写最小-最大算法的代码时,代码执行后序树遍历,并通过查看后代为节点分配值。

Related Posts

L1-L2正则化的不同系数

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

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

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

f1_score metric in lightgbm

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

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

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

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

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

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

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

发表回复

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