i was standing all alone against the world outside
忘記在**看到,很適合用這句歌詞來描述john nash
1.《組合遊戲略述 ——**sg遊戲的若干拓展及變形》 賈志豪
2.上面那篇**裡的參考文獻...
遊戲有兩個人參與,二者輪流做出決策。且這兩個人的決策都對自己最有利。
當有一人無法做出決策時遊戲結束,無法做出決策的人輸。無論二者如何做出決策,遊戲可以在有限步內結束。
遊戲中的同乙個狀態不可能多次抵達。且遊戲不會有平局出現。
任意乙個遊戲者在某一確定狀態可以作出的決策集合只與當前的狀態有關,而與遊戲者無關。
遊戲可以轉化成有向無環圖,乙個狀態是乙個點,乙個決策是一條邊.
終止狀態出度為0.
如果用1代表必勝態,0代表必敗態
當前狀態必勝:後繼狀態存在0
當前狀態必敗:後繼狀態沒有0
桌子上有$n$堆石子$a_i$,遊戲者輪流取石子。
每次只能從一堆中取出任意數目的石子,但不能不取。
取走最後乙個石子者勝。
先手必敗:$a_1 \oplus a_2 \oplus ... \oplus a_n=0$
數學歸納法證明:
$1.\ $最終狀態異或和為0。
$2.\ $對於任意乙個必勝態(異或和不為0),存在乙個必敗後繼狀態(異或和為0)。
設$a_1 \oplus a_2 \oplus ... \oplus a_n=s$,一定存在$a_i$在$s$的最高位為1,只要改變$a_i$使這一位為0,後面的位相應改變使總體異或和為0就行了
$3.\ $對於任意乙個必敗態(異或和為0),不存在乙個必敗後繼狀態(異或和為0)。
sprague-grundy
$sg(u)=mex\$
$mex(minimal\ excludant)$是定義在整數集合上的操作。它的自變數是任意整數集合,函式值是不屬於該集合的最小自然數。
必敗態的$sg$為0
數學歸納法證明:
$1.\ $最終狀態$sg=0$。
$2.\ $對於任意乙個必勝態$sg \neq 0$,存在乙個後繼態$sg=0$
$3.\ $對於任意乙個必敗態$sg=0$,不存在乙個後繼態$sg=0$
和nim遊戲類似,$sg$的變化模擬成取石子
遊戲的和:若局面x由若干個子遊戲$x_1,x_2...x_n$構成,則$sg(x)=sg(x_1)\oplus sg(x_2) \oplus ...\oplus sg(x_n)$考慮任意多個同時進行的sg-組合遊戲,這些sg-組合遊戲的和是這樣乙個sg-組合遊戲,在它進行的過程中,遊戲者可以任意挑選其中的乙個單一遊戲進行決策,最終,沒有辦法進行決策的人輸。
數學歸納法證明:
$1.\ $最終局面成立
$2.\ $ $\forall x$,所有後繼局面可以取到$sg(x_1)\oplus sg(x_2) \oplus ...\oplus sg(x_n)-1$,取不到$sg(x_1)\oplus sg(x_2) \oplus ...\oplus sg(x_n)$
同樣看做nim遊戲
設$s \rightarrow s_1$
$s \oplus (s \oplus s_1) =s_1$
設$(s \oplus s_1)$最高位為$k$,存在$a$使得$k$位為1
那麼$a \oplus (s \oplus s_1) < a$,所以讓$a$變成$a \oplus (s \oplus s_1)$就行了呀
每乙個簡單sg-組合遊戲都可以完全等效成一堆數目為k的石子,其中k 為該簡單遊戲的sg 函式值。這樣的等效是充要的。
在我們每次只能進行一步操作的情況下,對於任何的遊戲的和,我們若將其中的任一單一sg-組合遊戲換成數目為它的sg 值的一堆石子,
該單一sg-組合遊戲的規則變成取石子遊戲的規則(可以任意取,甚至取完),則遊戲的和的勝負情況不變。
anti-sg遊戲規定,決策集合為空的遊戲者贏。
anti-sg其他規則與sg遊戲相同。
sj定理
規定所有單一遊戲$sg=0$時遊戲結束
先手必勝:
$1.\ sg \neq 0,\ 某個單一遊戲sg >1$
$2.\ sg = 0,\ 沒有單一遊戲 sg > 1$
數學歸納法證明
$1.\ $所有的終止局面為先手必勝局。
$2.\ $遊戲中的任何乙個先手必敗局一定只能夠轉移到先手必勝局
$3.\ $遊戲中的任何乙個先手必勝局一定能夠轉移到至少乙個先手必敗局
想一想道理很簡單,不寫了
怎麼記住呢?想想nim遊戲,全是1,必須偶數個$sg=0$才行
multi-sg遊戲規定,在符合拓撲原則的前提下,乙個單一遊戲的後繼可以為多個單一遊戲
multi-sg其他規則與sg遊戲相同。
仍然可以使用sg函式,後繼為多個單一遊戲的,這個後繼的sg值為多個單一遊戲sg的異或和
對於anti-nim,同樣有個規律:
$\mod 4=3$ 時$sg(x)=x+1$,$\mod 4=0$ 時$sg(x)=x-1$,其他不變
every-sg 遊戲規定,對於還沒有結束的單一遊戲,遊戲者必須對該遊戲進行一步決策
every-sg 遊戲的其他規則與普通sg 遊戲相同
貪心:先手必勝的盡量長,先手必敗的盡量短
對於sg值為0的點, 我們需要知道最快幾步能將遊戲帶入終止狀態
對於sg值不為0的點,我們需要知道最慢幾步遊戲會被帶入終止狀態
我們用step函式來表示這個值。
$step(u) =$
\begin
0, & \text\\
max\+1, & \text\\
min\+1, & \text
\end
定理:對於every-sg遊戲先手必勝當且僅當單一遊戲中最大的$step$為奇數。
證明$1.\ $對於所有的單一遊戲,
先手必勝狀態的$step$值為奇數,先手必敗狀態的$step$值為偶數
$2.\ $設最大的$step$為$step_$,
那麼勝手可以保證該單一遊戲最少會在$step_$步結束,所有他必敗遊戲最多在$step_$步結束。
因為必勝的遊戲敗者每次最多使他的$step-1$,必敗的遊戲也是每次都可以$step-1$,所以可以保證
n 枚硬幣排成一排,有的正面朝上,有的反面朝上。我們從左開始對硬幣按1 到n 編號。
遊戲者根據某些約束翻硬幣(如:每次只能翻一或兩枚,或者每次只能翻連續的幾枚),但他所翻動的硬幣中,最右邊的必須是從正面翻到反面。
誰不能翻誰輸。
每乙個硬幣可以看成獨立的子遊戲,所以:
局面的sg 值為局面中每個正面朝上的棋子單一存在時的sg值的異或和。
乙個經典的問題是每次翻動向左連續的幾枚,有乙個規律:
$sg(x)=lowbit(x)$
其他變形還有好多,扔鏈結就跑
階梯nim只考慮奇數字置進行nim遊戲,因為偶數字置是對稱的,我們有平衡的操作
給出乙個n個點的有根樹。
遊戲者輪流從樹中刪去邊,刪去一條邊後,不與根節點相連的部分將被移走。
無邊可刪者輸。
葉子節點的sg值為0,中間節點的sg值為它的所有孩子的sg值加1後的異或和。
數學歸納法證明
$1.\ $乙個和兩個節點顯然成立
$2.\ $ $k$個節點根為$b$的子樹$g'$成立,證明$g$成立
先證明根有乙個孩子成立
看**吧太多了
根有多個孩子:孩子和連向父親的邊組成的圖可以等效成nim中一堆石子
擴充套件:一些節點多出去乙個環?好像是multi-sg唉!
奇環的後繼狀態:兩條奇偶性相同的鏈,異或和一定沒有1
所以奇環的$sg=1$,可以等效成一條長為1的鏈
偶環的後繼狀態:兩條奇偶性不同的鏈,異或和一定沒有0
所有偶環$sg=0$,等效成乙個點(也就是不考慮啦)
乙個無相聯通圖,有乙個點作為圖的根。
遊戲者輪流從圖中刪去邊,刪去一條邊後,不與根節點相連的部分將被移走。
無邊可刪者輸。
定理:我們可以對無向圖做如下改動:
將圖中的任意乙個偶環縮成乙個新點,任意乙個奇環縮成乙個新點加乙個新邊;
所有連到原先環上的邊全部改為與新點相連。
這樣的改動不會影響圖的sg值。
博弈論學習筆記
eg hdu2149,2156 描述 只有一堆n個石子,每次能取1到m個物品,a先手,問誰能先取完石子 思路 這種問題的關鍵就在於能否取到關鍵點,比如,這裡只能能取到倒數m 2個石子,留下m 1個石子,則後者就必敗。結論 如果初始石子是 m 1 的倍數,則先手必敗,否則先手必勝。eg hdu2177...
博弈論學習筆記
個人實在太懶 所以直接抄啦 點球案例 在一次足球比賽罰點球時,罰球隊員可以選擇l,m,r三種不同射門路徑 門將可以選擇撲向左路或者右路 原則上講他也可以守在右路 lr l4,4 9,9 m6,6 6,6 r9,9 4,4 該錶表示各自的收益,其中,lr對應的9表示當射手射向左路而門將撲向右路時,射手...
學習筆記 博弈論
博弈論的題比較重思路,都比較好寫,所以我打算腦內做題不寫 梳理一下遇到的博弈論題目的思路。題意是給乙個由數字0 9和問號構成的字串,長度為n,n為偶數 需要注意可能沒有問號 b和m兩人輪流用數字替換問號,m先手,若所有問號都被替換後前一半的數字之和等於後一半的數字之和,b勝,否則m 勝。考慮三種情況...