0

我使用Expectiminimax這是在我目前的狀況偉大的工作電流:Expectiminimax與α-β剪枝

Max -> Min -> Chance -> Max -> Min -> Chance -> (Repeat) 

我不能以任何方式

Max/Min -> Chance -> (Repeat) 

由於方式的遊戲作品。

我覺得好像alpha將會不準確,如果我繼續轉換我的算法。用我目前的設置來實施修剪(除了視野效果)還有什麼副作用嗎?還是我只是在推翻?

回答

0

在這樣的環境下,看起來剪枝仍然存在,我有嚴重的疑慮,但是到目前爲止所有的東西都已經檢查出來。也就是說,在非修剪算法和修剪算法中的所有測試用例都只在較少的節點中以相同的啓發式提供相同的移動。

我還發現在我的情況下,我會放棄對用戶機會節點的控制(他們可以確定可接受的損失,如果有的話對於某些事件)。如果能力有95%的機率命中,並有5%的機會錯過用戶可能認爲這5%是可以忽略不計,並忽略錯過的機會,這並不意味着啓發式被視爲其價值的100%,但它,保持95%。在極少數情況下,考慮到環境因素使用1種能力可能會出現16種可能的結果,我希望在這種情況下具有靈活性。

至於遊戲,至少在玩法上至少類似於神奇寶貝。

0

我不確定你試圖實現哪個遊戲,但它聽起來很有趣。如果我們對任何節點的分支因素一無所知,或者遊戲進行得如何,我們很難提出一個好的答案。我認爲這取決於你的比賽。

我已經嘗試了五子棋遊戲中的不同修剪方法,並且基於這種經驗,我真的認爲您的搜索算法的結果取決於機會節點對遊戲期望的影響程度與最小和最大程度節點改變了期望。

如果機會節點可以徹底改變遊戲的期望值(每個擲骰子的高差異),但是五六個棋子選擇並不會改變這種情況,那麼我認爲你不應該擔心許多。然而,如果相反,機會節點基本上只是在不影響遊戲結果期望的情況下推進遊戲,而遊戲的移動(或動作)真的很重要,我認爲你可以在獲得好的搜索算法。

還檢查* -minimax算法。 (Bruce Ballard 1983)

同樣的事情適用於Expectiminimax和* -minimax正常極小極小。首先嚐試假設的最佳移動(從一些啓發式算法)創建截斷點,但您也應嘗試啓發式排列機會節點中的機會結果。

當你開始測試時,這實際上是非常有趣的,但獲得好答案的唯一方法就是讓你的手指變髒並嘗試一下。

祝你好運!