博弈遊戲(Bash Nim wythoff)

2021-08-09 15:13:44 字數 2327 閱讀 7018

bash game   nim game 和 wythoff game,較為領人驚嘆的是,他們最後都是通過數論或者自然數性質完美解決:

bash    game:同餘理論

nim      game:異或理論

wythoff game:**分割

一堆n個物品,兩人輪流取,每次取1至m個,最後取完者勝,比如10個物品,每次只能取1到5個,則先手方必贏

1.面對[1...m]個局面,必勝

2.面對m+1個局面,必輸

3.如果可以使對手面臨必輸局面,那麼是必贏局面

4.如果不能使對手面臨必輸局面,那麼是必輸局面

基礎:1      ,      2, ...,        m是必贏局面,   m+1是必輸局面

遞推:m+2,m+3, ... ,2m+1是必贏局面,2m+2是必輸局面 

...k(m+1)是必輸局面,應該允許k=0,因為0顯然也是必輸局面    

在必輸局和必贏局中,贏的一方的策略是: 拿掉部分物品,使對方面臨k(m+1)的局面 

例如上例中10個物品,只能拿1到5個,先手方拿4個即可,對手無論拿多少個,你下次總能拿完

從另乙個角度思考這個問題,如果物品數量隨機,那麼先手一方勝利的概率是m/(m+1),後手方勝利的概率是1/(m+1)

m堆n個物品,兩人輪流取,每次取某堆中不少於1個,最後取完者勝

詳細分析見:poj-2234:matches game

所有物品數目二進位制異或    為0,則先手必輸

所有物品數目二進位制異或不為0,則後手必輸

從另乙個角度思考這個問題,如果物品數量隨機,那麼每個數目的每一位上1或0概率相同,

如果有奇數個堆,那麼1的個數為偶數或者奇數的概率相同,

如果有偶數個堆,那麼1的個數為偶數的概率略大1/(m+1),

也就是說異或結果的每一位為0或1的概率幾乎差不多,而先手必輸要求異或結果每一位都為0,其實輸的概率很小

兩堆(ak,bk)(ak<=bk)個物品,兩人輪流取,每次從一堆中取k個或者從2堆中同時取k個,最後面對(0,0)局面的輸(設ak<=bk是為了忽略順序的影響)

1.面對(0,0)局面必輸

2.面對(1,1)(2,2)...(n,n)局面必贏

(0,1)(0,2)...(0,n)局面必贏

3.如果可以使對手面臨必輸局面,那麼是必贏局面

4.如果不能使對手面臨必輸局面,那麼是必輸局面      

基礎:(0,0)是必輸局面;(0,1)(0 ,2)...(0,n)是必贏局面,

遞推:(1,2)是必輸局面;(1,1)是必贏局面

(1,3)(1 ,4)...(1,n)是必贏局面

(2,2),(2,3)...(2,n)是必贏局面

(3,5)是必輸局面;(3,3)(3,4)是必贏局面

(3,6)(3,7)...(3,n)是必贏局面

(5,5)(5,6)...(5,n)是必贏局面

(4,7)是必輸局面;(4,4)(4,5)(4,6)是必贏局面

(4,8)(4,8)(4,9)...(4,n)是必贏局面

(7,7)(7,8)(7,9)...(7,n)是必贏局面

(6,10)是必輸局面;(6,6)(6,7)(6,8)(6,9)是必贏局面

(6,11)(6,12)(6,13)...(6,n)是必贏局面

(10,10)(10,11)(10,12)...(10,n)是必贏局面

首先發現規律:(必輸局面的規律比較容易找到)

ak是前面必輸局未出現的數中最小者,

bk=ak+k( k=0,1,2,3,...n)

下面介紹必輸局(奇異局)的最重要性質:

1,2,...,n中每乙個自然數,出現且只出現在乙個奇異局中。

推導:1.由於ak總是選擇未出現的數,所以每個數總能出現在奇異局中

且ak不會選擇到重複的數

2.bk=ak+k,所以bk總是比前面所有奇異局出現的數都大,

所以bk不會選擇到重複的數

必贏一方的策略是:始終讓對手面對必輸局(奇異局)

給定任意局勢(a,b),判定(a,b)是否為必輸局的方法是:

k=0,1...n 記**比例是φ=1.618033

ak=[k*φ],bk=ak+k=[k*φ*φ]

如k=0,ak=0,bk=0

k=1,ak=1,bk=2

k=2,ak=3,bk=5     k=3,ak=4,bk=7

更好的一種判斷策略是 k = bk-ak ,如ak=k*φ時,當前局勢為奇異局

從勝負概率角度,如果堆中數量隨機,先手一方優勢很大

(相應經典題目是poj-1067)

三個十分相似的遊戲,但局勢的判斷和必勝策略差異卻很大,但卻又都來自數的性質,這不得不說是一件讓人驚奇的事情。

組合遊戲(博弈)

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

博弈 塗色遊戲

在乙個2 n的格仔上,alice和bob又開始了新遊戲之旅。這些格仔中的一些已經被塗過色,alice和bob輪流在這些格仔裡進行塗色操作,使用兩種塗色工具,第一種可以塗色任意乙個格仔,第二種可以塗色任意乙個2 2的格仔。每一輪遊戲裡,他們可以選擇一種工具來塗色尚未被染色的格仔。需要注意,塗色2 2的...

博弈 Nim遊戲

nim遊戲是博弈論中最經典的模型,它又有著十分簡單的規則和無比優美的結論。nim遊戲是組合遊戲 combinatorial games 的一種,準確來說,屬於 impartial combinatorial games 以下簡稱icg 滿足以下條件的遊戲是icg 可能不太嚴謹 1 有兩名選手 2 兩...