2015-04-22 126 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