專題總結(博弈論)
阿新 • • 發佈:2018-07-31
ble mat https 推導 strong 狀態 tps 場景 game 表示取括號內不包含的 最小非負整數)\[SG(x)=mex_{0\leq i<x}(\bigoplus_{j=1}^iSG(j))\]
https://zybuluo.com/ysner/note/1232112
雙人平等博弈(理論應用前提)
- 信息完全公開
- 雙方輪流行動
- 面對同一局面,雙方的決策集合相同
- 一般來說,規定不能操作者輸
遊戲局面不會成環,有限步之後遊戲必定結束
\(N\)態與\(P\)態
- 首先把結束的局面置為\(P\)態
- 對於一個\(P\)態,找到所有能轉移到它的狀態,它們全部是\(N\)態
搜到一個狀態時,它還沒有被篩掉,就是\(P\)態
很多題目中, P 態之間不可直接轉移。
一些性質
\(SG\)值異或和為\(0\)即後者勝,對應\(P\)態。
證明:每當前者把異或和改變,使其不為\(0\),後者總能把異或和重新變為\(0\)
而若不為\(0\),前者一開始把異或和變為\(0\),之後與後者對著幹(使異或和為\(0\))即可。- \(SG(A+B)=SG(A)\bigoplus SG(B)\)
如果交換勝負條件,先手勝利:
1、存在\(SG(x)>1\),且異或和不為\(0\)
2、\(SG(x)=1\),且有偶數堆石子如何計算\(SG\)值
總的來說,常規計算\(SG\)值是一個遞推的過程。
一般計算(推導)過程,就是對 所有前驅狀態的\(SG\)值 的異或和取\(mex\)。
而根據上面提到的性質二,可以得到一個遞推式:
(\(mex\)
應用場景
階梯博弈
有\(N\)堆石子放在\(N\)層階梯上,每次選擇一層的若幹石子,放入下一層。(特別地,\(1\)層的石子就被扔掉)
結論:計算所有奇數層石子數的異或和,得到整個遊戲的\(SG\)
其實這玩意兒講不完的,還得自己去看課件。
有趣的題目
模板題
- [X] nim遊戲 戳
裸板子。
- [x] Bash遊戲 戳
只有一堆,限制一次最多只能取\(k\)個石子。
則\(SG[n]=n\%(k+1)\)(不信可以遞推試試)
中等題
[ ] CF 731E 戳
[ ] CF 794E 戳
[X] [HEOI2014]人人盡說江南好 戳
[ ] Alice和Bob又在玩遊戲 戳
[X] CF 768E 戳
[ ] [ZJOI2009]取石子遊戲 戳
\(SG\)函數相關
- [x] [ZJOI2009]染色遊戲 戳
我在題解中寫了一份SG計算教程???
[ ] [HAOI2015]數組遊戲 戳
[ ] [HNOI2014]江南樂 戳
[ ] CF 494E 戳
[ ] CF 138D 戳
[X] A tree game 戳
專題總結(博弈論)