2015-04-22 73 views
1

我想知道是否有人可以帮助我解决这个问题。我查阅了Min Max理论,但我仍然不知道如何将这个概念应用于下面的这个问题。最小最大搜索树表示

以下树代表竞争游戏中的可能移动,表示玩家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.

+0

有没有办法添加图片?我看不到添加一个。 – DetroitRedCoder

+0

我认为你太低代表添加图像。你想添加哪张图片?我会加入它。 –

+0

@ Millie Smith非常感谢你!这里是我的谷歌加帐户的链接?我希望这可以澄清我的问题吗?https://plus.google.com/103665679349429895158/posts/XcFd2qXnPZQ – DetroitRedCoder

回答

2

我加入号码为节点,突出显示“最大”行。非突出显示的行是“最小”行(即玩家想要最小化结果)。显然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将会输。

我们可以在另一边做同样的事情来表明如果玩家X选择B,他会配合。因此,玩家X应该选择B.

当代码为最小最大值编写时,代码执行post-order tree traversal,并通过查看子代来为节点分配值。

+0

你有什么链接我可以学习这些信息吗?不幸的是,我的教授很难回复电子邮件。我的书也没有真正帮助我。 – DetroitRedCoder

+0

@DetroitRedCoder [Wikipedia](http://en.wikipedia.org/wiki/Minimax)是一个很好的资源,并且有一个很好的例子。 [这YouTube视频](https://www.youtube.com/watch?v=zDskcx8FStA)做一个类似于你的问题树的动画很好。由于我在课堂上学到的大部分内容都是众所周知的,所以我通常只是谷歌,直到我找到对我有意义的资源。哦,Sverige? :)。或者那只是你找到的pdf? –

+0

它基于我试图通过的家庭作业。就像我说的我会教我的教授,但他的电子邮件真的很糟糕。 – DetroitRedCoder