進階博弈論

基本定理

一、必勝點與必敗點

  • \(P\) 點:必敗點, 在雙方都無比聰明的情況下,當前先手的人必敗的情況。
  • \(N\) 點:必勝點,在雙方操作都正確的情況下,先手必勝的位置。

幾個性質

  • 所有終止位置都是必敗點。(可當做公理,即所有公式的推理都在這個性質成立的基礎上進行)。
  • 從任意一個必勝點 \(N\) 出發,至少有一種方式到達一個必敗點 \(P\)
  • 從一個必敗點 \(P\) 出發,所有的移動都會到達必勝點 \(N\)

二、無偏博弈

無偏博弈是一類任意局勢對於遊戲雙方都是平等回合制雙人遊戲。這裏平等的意思是所有可行的走法僅僅依賴於當前的局勢,而與現在正要行動的是哪一方無關。換句話說,兩個遊戲者除了先後手之外毫無區別。此外還需要滿足以下性質:

  • 完全信息,任意一個玩家都能夠知曉整個遊戲狀態。
  • 無隨機行動,所有的行動都會轉移到一個唯一確定的狀態。
  • 在有限步內遊戲會終止, 此時有位移的必勝者。

三、DAG中的博弈

給定一張有向無環圖,在起始定點有一枚棋子,兩個頂尖聰明的人交替移動這枚棋子,不能移動的人算輸

不要小看這個遊戲,事實上,所有無偏博弈問題都可以抽象爲這種遊戲(即把初始局面看做頂點,把從一個狀態可以到另一個狀態之間連邊)。

SG函數

  • SG 函數:對於每一個狀態的一個尼姆數的函數
  • Sprague−Grundy 定理:所有一般勝利下的無偏博弈(定義在上面)都能夠轉化成尼姆數表達的尼姆堆博弈,一個無偏博弈的尼姆值定義爲這個博弈的等價尼姆數。

首先來定義 mex 運算,這是一種集合中的運算,它表示最小不屬於這個集合中的自然數。
\(mex \{0. 1, 2, 3\} = 4\)\(mex \{2, 3 \} = 0\)\(mex \{\emptyset \} = 0\)
那麼我們有運算\(SG(x)=mex{SG(y),<x,y> \in E}\) (E 爲邊集)。即對於當前狀態 x 的 SG 函數,它的值定義爲所有的後繼狀態的 mex 值。

我們來看一下它的性質:

  • 所有匯點的 SG 函數都爲 0。

這個性質比較顯然,因爲匯點沒有後繼狀態,因此那個集合爲空集,所以 SG 函數爲 0。

  • \(SG(x) = 0\) 時,該節點爲必敗點。

由 SG 函數的性質可知, x 的後繼狀態都非 0。滿足必敗點的定義。

  • \(SG(x) \not = 0\) 時, 該節點爲必勝點。

由 SG 函數的性質可知, x 的後繼狀態中只有一個必敗點, 滿足必勝點定義。

SG定理

遊戲和的 SG 函數等於各個遊戲 SG 函數的異或和。

翻譯成人話就是:對於一個遊戲 \(X\),可以拆分成 n 個小問題, \(x_1, x_2, \dots, x_n\),
那麼 \(SG(X) = SG(x_1) \oplus SG(x_2) \oplus \dots \oplus SG(x_n)\)

至於證明的話...........不完全歸納法算不算

Anti-SG遊戲 & SJ定理

基本問題

決策集合爲空者的操作者勝利。翻譯成 Nim 一點的問題就是,給定 n 堆式子,每次每個人可以從任意一堆石子中拿走不少於一個的石子,拿走最後一個石子的人輸。

解決方法

SJ 定理:對於一個 Anti−SG 遊戲,如果我們規定當前局面中所有單一遊戲的 SG 爲 0 時,遊戲結束,則先手必勝的條件爲:

  • 遊戲的 SG 值不爲 0, 且存在一個單一遊戲的 SG 值大於 1。
  • 遊戲的 SG 爲 0, 且不存在任意一個單一遊戲的 \(SG\) 值大於 1。

模板 & 代碼

SHOI2008 小約翰的遊戲

Multi-SG遊戲

基本模型

決策集合爲空的操作者輸。一個單一遊戲的後繼可以是多個單一遊戲。換成 Nim 一點的說法就是,給你 n 堆石子,每次可以去任意多個,或者將一堆石子分成兩堆非空的石子,不能操作者輸, 讓你判定勝負。

解決辦法

還是可以使用 \(SG\) 函數來解決。舉個栗子,比如一堆 3 個石子,你可以一次取 0, 1, 2, 3 個或者將它分成 \((1, 2)\) 兩堆, 因此 $SG(3) = mex { SG(0), SG(1), SG(2), SG(3), SG((1, 2)) = SG(1) \oplus SG(2) } $
那麼這個問題本質上還是一個 Nim 遊戲, 可以直接用 SG 函數來解決。
同時,這樣每次拆分成兩堆的 Multi-SG 遊戲,打表找規律後發現這樣的性質。

\[SG(x) = \begin{cases} x-1 \ (x \operatorname{mod} 4 = 0) \\ x\ \ \ \ \ \ \ (x \operatorname{mod} 4 = 1 \& 2) \\ x+1 \ (x \operatorname{mod} 4 = 3) \end{cases} \]

模板 & 代碼

HDU 3032 Nim or not Nim
BZOJ 2940

小結

主要參考, yyb的博弈論總結 & attack 大爺的blog

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章