2015-03-25 10 views
1

我正在製作一個expectimax人工智能,這個遊戲的分支因素是不可預知的,範圍從6-20。我目前每回合都在探索遊戲樹1秒,然後確保整個遊戲樹被探索到相同的深度,但偶爾會導致非常大的放緩,如果特定轉折的分支因子從根本上跳躍起來。如果我沒有深入探索遊戲樹的某些部分,如果我切斷了探索,是否可以?這會影響expectimax的數學特性嗎?Expectimax AI如果不是所有分支探索到相同的深度仍然按預期工作?

回答

0

簡短回答:我很確定你失去了數學保證,但是這會影響你的程序的性能的程度可能取決於遊戲和你的棋盤評估函數。

下面是一個抽象的場景,給你一些直覺在具有不同的分支長度可能會造成最多的問題:這麼說,對於一個球員,最好的舉動是一些需要幾圈成立。假設這個設置不是你的董事會評估功能可以接受的。在這種情況下,無論球員2同時做什麼,將來都會有一些動作讓球員的分數朝向球員1的方向擺動。如​​果一個分支足夠遠以至於看不到這個移動,另一個不移動,它看起來像第一個對於玩家2來說是一個更糟糕的選擇,儘管在另一個分支上會發生同樣的事情。如果玩家2在第一個分支中的移動實際上比它在第二個分支中移動的移動要好,那麼這將導致次優選擇。

。另一方面,完善的董事會評估將使這是不可能的(它會識別播放器1建立自己的舉動)。也有像這樣的提前移動的遊戲是不可能的。但這起案件的存在是一面紅旗。

從根本上說,這並沒有得到評估分支機構就在他們的舉動是多麼好估計更大的不確定性。這有時會導致他們被選擇時,他們不應該和其他時間,這將導致他們不應該被選中時,他們應該。因此,我強烈懷疑你這樣做會失去數學保證。也就是說,這個問題對性能的實際影響可能不是很大。

如果結合當前的週期數爲董事會評價函數並相應地調整它可能有一些解決這個方式。最低限度,這將允許您明確說明較短分支中增加的不確定性。