組合遊戲(博弈)

2021-06-26 02:49:06 字數 1426 閱讀 7280

昨天看大白書翻到了組合遊戲這章,看著發覺原來是博弈論的內容,於是便看下去了。真是不看不知道,一看才知道自己的水平有多弱,不過好在還是集中精神地看了大部分。從nim遊戲(n堆石子,每人每次可以從任意一堆中取至少1個、至多整堆的石子,不能取者為輸)開始講起,引入必勝態、必敗態的概念——

1. 乙個狀態是必敗狀態當且僅當它的所有後繼都是必勝狀態。

2. 乙個狀態是必勝狀態當且僅當它至少有乙個後繼是必敗狀態。

這是劉汝佳大神說的,說得通俗一點就是,必敗態的所有後繼都是必勝態,必勝態只需有乙個後繼是必敗態即可(這裡說的必勝態、必敗態都是針對先手來說必勝、必敗的意思)。可以看出必敗態滿足的條件比必勝態更苛刻。沒有後繼狀態的是必敗態(也就是終態),一般規則都是不能操作的遊戲者為輸(是在雙方都足夠聰明的前提下的),然後可以用乙個有向無環圖來表示二人博弈的過程。實際上,並不需要這樣子做。對於nim遊戲來說,早有科學家給出了乙個定理:狀態(x1,x2.....xn)為必敗狀態當且僅當x1^x2^......^xn= 0,即把所有數進行異或和操作,也稱nim sum。能夠證明,當nim sum為0 時為必敗狀態,非0 時為必勝狀態,這是因為,當前狀態為0 時,進行的某個操作總能使nim sum變為非0(因為改變任何乙個數字(即任何一堆石子),它的二進位制形式會有一位或多位的變化,此時原本各位上都為0 的nim sum就會有所變動(某些位會變成1)),即所有後繼都是必勝狀態了;當前狀態為非0 時,必定會有某個操作能使nim sum變為0(只需在nim sum二進位製上那些為1的位上面著手即可),即一定有乙個後繼狀態為必敗態。這就是bouton定理。

然而,看到後面我才知道,bouton定理實質上是sg定理的具體應用。什麼是sg定理呢?先要介紹下sg函式:對於任意狀態x,定義sg(x)= mex(s),其中s是x 的後繼狀態的sg函式值的集合,而mex(s)表示不在s內的最小非負整數。看到這兒是不是感到有點遞迴的味道了?沒錯,實際上,它可以用遞推來求出各個sg函式的值(要很注意計算順序,結合具體題目分析),也可以用加記憶化的深搜回溯(不建議使用)。而sg定理就是,遊戲和的必勝(敗)態等於各個子遊戲的sg函式的nim sum。這樣,就可以把各個子遊戲分而治之,大大簡化了問題。事實上,很多題目雖然可以套用這些理論來分析(這個確實是真的,sg函式是解決博弈問題的王道!),但往往不會那麼生硬地要你去求各個子sg函式,做這些博弈題的時候,一定要看清題意,抓住問題的本質(這句話…對於所有題目都適用),直接搞就行(0.0),只要找清它的必勝態、必敗態處於具有什麼特徵的位置(一般會有個週期的),明顯的話一兩個迴圈即可搞掂,別想太多(我有時候刷題就是想太多,總想套上什麼特定的演算法,模板之類的,結果思維放不開來 -.-||)……總之一句話,多刷題、多get經驗才是王道,杭電上面有很多很經典的博弈題(大神們都去刷cf了,別鄙視我等渣渣暫時只會在杭電上找題做),過幾天我去水下上面的博弈題,有時間的話再逐個寫題解吧~

——以上理論均引自劉汝佳的大白書,加上了自己的見解,感覺說得不是很清楚的話可以去大白書上 2.4 組合遊戲的章節中詳細閱讀,不喜勿噴,希望各路大神路過指教下。

組合遊戲(博弈)

昨天看大白書翻到了組合遊戲這章,看著發覺原來是博弈論的內容,於是便看下去了。真是不看不知道,一看才知道自己的水平有多弱,不過好在還是集中精神地看了大部分。從nim遊戲 n堆石子,每人每次可以從任意一堆中取至少1個 至多整堆的石子,不能取者為輸 開始講起,引入必勝態 必敗態的概念 1.乙個狀態是必敗狀...

常見組合博弈遊戲

這兩天認識了幾個組合遊戲的基礎模型,希望自己能更新下去。有兩個盒子,乙個裝有 m 顆糖,乙個裝有 n 顆糖,表示為 m,n 每次清空乙個盒子,將另乙個盒子裡的糖轉移一些過來,並保證兩個盒子至少各有一顆糖。最後進行轉移糖者勝,無法轉移糖者敗。m,n 都為奇數,先手敗 m,n 至少乙個為偶數,先手勝。顯...

博弈 ICE公平組合遊戲(簡單整理結論)

1.由兩名玩家組成。2.遊戲的狀態為有限的。3.兩人輪流走,當有一玩家不可繼續時遊戲結束。1.問題 一堆n個物品,兩人輪流取 1 m個 取光者勝。2.同餘定理 n k m 1 r,先手取走r個,無論後手取走多少個,只要先手取的數目和為 m 1 則先手必贏。分析 1 n m時,先手必贏。2 n m 1...