2017-03-05 39 views
0

我想在一個簡單的紙牌遊戲中實現一個AI玩家的極小極小算法。然而,通過研究,我很困惑國家評估和啓發式法之間的關鍵區別是什麼。遊戲AI中狀態評估與啓發式有什麼區別?

從我所理解的啓發式是通過玩家可用的當前信息(例如在國際象棋,棋子和他們的相關位置)來計算的。有了這些信息,他們基於啓發式函數得出了一個結論,該函數基本上提供了一個「經驗法則」。

狀態評估是當前狀態的確切值。

但是我不確定爲什麼兩個東西並存,因爲我看不出他們彼此之間有多大的不同。請有人精心準備,並澄清我的困惑。謝謝。

回答

0

假設一個零和遊戲,你可以對最終狀態執行一個狀態評估(遊戲以玩家X的角度來結束贏得,抽獎,損失),結果爲1,0,-1。一個完整的樹搜索將讓你完美的播放。

但實際上樹很大,不能完全搜索。因此,您必須在某個時刻停止搜索,這不是最終狀態。沒有確定的贏家或輸家。現在很難用1,0,-1來標記這個狀態,因爲這個遊戲可能太複雜了,無法從遠離最終狀態的狀態中輕鬆評估獲勝者。但是你仍然需要評估這個位置,並且可以使用關於遊戲的一些假設,這相當於啓發式信息。其中一個例子就是國際象棋中的棋子(王后比兵棋更有價值)。這是啓發式信息併入非完美評估函數(逼近真實評估函數)。你的假設/啓發式越好,真實評估的近似就越好!

但還有其他地方可以引入啓發式信息。一個非常重要的領域是控制樹搜索。首先會評估哪一個移動,哪個移動最後。首先選擇好動作允許像alpha-beta這樣的算法修剪樹的大部分。但是當然你需要陳述一些假設/啓發式信息來命令你的動作(例如,女王動作比典當動作更強大;這是一個虛構的例子,我不確定這種啓發式在國際象棋中的效果-AIs here)

相關問題