0

我在爲可能有兩到四名玩家的遊戲構建AI。在該領域做了一些研究,看起來沒有任何標準的極小極大方法可行,除非你建立一個假設所有球員都能得到它的「偏執狂」AI,並且可以被有效地視爲一個更大的對手,轉。AI爲多人遊戲?

遊戲問題的部分原因是棋盤非常大,在任何回合中通常有數百個動作可供任何玩家使用。另外,某些移動可能會讓玩家再次移動。這使得任何廣度優先搜索都非常昂貴,除非你積極修剪。

對於上下文來說,遊戲大致類似於跳棋,但在棋盤上玩的大概是4倍。

有沒有適合這種遊戲的算法?或者,我最好的辦法是使用啓發式方法,而不用任何移動樹搜索?

回答

1

您有多個問題正在進行,請點擊這裏。

簡單的問題是,「我該如何處理這個巨大的移動空間?」一個好的答案是,使用董事會評估啓發式進行樹搜索。基本概念是,因爲搜索空間太大而無法直接處理,所以您可以儘可能向前搜索,並在最後使用遊戲本身的知識來評估哪些樹葉最好。

例如,國際象棋中有一個粗略的規則,即棋子值1,主教和騎士值3,車值5,皇后值9,所以在搜索過程結束時,你可以使用板評價函數可以計算雙方的積分總和並將其用作評價函數。 (警告:特別的評估功能是非常粗糙的,好的功能取決於棋子的位置,處於檢查中等等。評估板的評估功能並不是一件容易的事。)

難題是「我是否與兩名以上的球員打交道?「這是一個非常難的問題。解決這個問題的一個方法是假設每個玩家都嚴格地贏得遊戲,並相應地調整搜索算法。這是不完全是假設所有對手都在合作和協調。我相信Russell和Norvig在關於對抗性搜索的章節中有關於AIMA這個概念的幾頁內容。儘管如此,AIMA對這個話題的評論僅僅是針對多人AI的手勢。

多人遊戲 - 也就是說,多智能體 - 人工智能比單智能體人工智能更加困難。