1. 程式人生 > 其它 >博弈論之SG函式

博弈論之SG函式

參考自《演算法競賽進階指南》

\(NIM\)博弈:

\(n\)堆物品,第\(i\)堆物品有\(A_i\)個。兩名玩家輪流行動,每次可以任選一堆,取走任意多個物品,可把一堆取光,但不能不取。取走最後一件物品的人獲勝。假設兩人每一步都必然採取最優的策略。問先手是否必勝。

定理:

若先手必贏,那麼當且僅當滿足:\(A_1 \,\, xor \,\, A_2 \,\, xor \,\, A_3 \,\, ... \,\, xor \,\, A_n != 0\)

兩個概念:

必敗局面:若某一局面無論採取什麼行動,都會輸掉遊戲,則稱該局面必敗。
必勝局面:若在某一局面下采取某種行動後可以使對手面對必敗局面,那麼優先採取此行動,那麼這種局面叫必勝局面。

證明:

  1. 如果所有物品被取光,那麼即\(A_i = 0\),那麼這是一個必敗局面,則滿足:\(A_1 \,\, xor \,\, A_2 \,\, xor \,\, A_3 \,\, ... \,\, xor \,\, A_n == 0\)
  2. 對於任意一個\(A_1 \,\, xor \,\, A_2 \,\, xor \,\, A_3 \,\, ... \,\, xor \,\, A_n = x != 0\)局面,那麼我們應該證明它一定可以採取一定行動來出現\(x = 0\)的局面。
  • \(x\)的二進位制表示下最高位的\(1\)在第\(k\)位,那麼至少存在一堆石子\(A_i\),它的第\(k\)
    位是\(1\),顯然\(A_i \,\, xor \,\, x \,\, < \,\, A_i\),然後我們便可以從\(A_i\)中取走\(A_i - A_i \,\, xor \,\, x\)個石子,使這堆石子變為\(A_i \,\, xor \,\, x\)個石子,那麼代入式子得:\(x \,\, xor \,\, x = 0\)
  1. 對於任意一個\(A_1 \,\, xor \,\, A_2 \,\, xor \,\, A_3 \,\, ... \,\, xor \,\, A_n = x == 0\)局面,那麼我們應該證明無論採取什麼行動都不可能出現出現\(x = 0\)的局面。
  • 用反證法證明:假設\(A_i\)
    被取成了\(A_i'\),那麼此時就應該滿足\(A_1 \,\, xor \,\, A_2 \,\, xor \,\, A_3 \,\, ... \,\, xor \,\, A_i', \,\, ... \,\, xor \,\, A_n != 0\),由於\(A_1 \,\, xor \,\, A_2 \,\, xor \,\, A_3 \,\, ... \,\, xor \,\, A_n == A_i\), 那麼則出現了\(A_i \,\, xor \,\, A_i' == 0\)得情況,說明\(A_i == A_i'\),那麼這顯然不對與題目要求“不能不取石子”矛盾。

Mex運算

\(S\)表示一個非負整數集合。定義\(mex(S)\)為求出不屬於集合S得最小非負整數的運算,即:

\[mex(S) \,\, = \min\limits_{x \in N, x \notin S}\{x\} \]

SG函式

有向圖中,對於每個節點\(x\),設從\(x\)出發共有\(k\)條有向邊,分別到達節點\(y_1, y_2, ..., y_k\),定義\(SG(x)\)\(x\)的後繼節點\(y_1, y_2, ..., y_k\)\(SG\)函式值構成的集合,再執行\(mex\)運算,即:

\[SG(x) = mex({SG(y_1), SG(y_2), ... ,SG(y_k)}) \]

整個有向圖的\(SG\)函式就是圖的起點的\(SG\),\(SG(G) = SG(s)\)

那麼多個有向圖的遊戲中,行動規則是任選一個有向圖\(G_i\),並在\(G_i\)中行動一步,那麼類比於\(NIM\)遊戲,如果滿足:

\[SG(G) \,\, = \,\, SG(G1) \,\, xor \,\, SG(G2) \,\, xor \,\, ... \,\, SG(G_m) == 0 \]

那麼此時是必勝局面,證明方法與\(NIM\)博弈類似
否則必敗局面。

理解:

在一個沒有出邊的節點上,不能進行任何操作,那麼它的\(SG = 0\),此時就是必敗局面。
對於一個節點的某一個後繼節點\(SG = 0\)的情況,在\(mex\)運算後,該節點\(SG > 0\),那麼等價於當前局面是必勝局面,因為後繼介面是必敗介面。
對於一個節點的後繼節點\(SG\)均不為\(0\),在\(mex\)運算後,該節點\(SG\)值為\(0\),那麼當前就是一個必敗介面。

理論部分結束!
後邊新學知識我再補上。