VJ 博弈論基礎練習C 威佐夫博弈

2021-09-17 22:57:44 字數 1279 閱讀 6559

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。

輸入包含若干行,表示若干種石子的初始情況,其中每一行包含兩個非負整數a和b,表示兩堆石子的數目,a和b都不大於1,000,000,000。

輸出對應也有若干行,每行包含乙個數字1或0,如果最後你是勝者,則為1,反之,則為0。

威佐夫博弈不同於nim遊戲與巴什博奕,它的特殊之處在於不能將兩堆石子分開分析。

前輩們在對該博弈遊戲做了大量的探索之後最終找到了一些非常有意思的性質

下面的內容不想看的可以跳過直接看結論,其實也沒啥亂用233,這部分就是為了拓寬視野的

定義先手必輸的局勢為奇異局勢,前幾個奇異局勢為(0,0),(1,2),(3,5),(4,7),(6,10)…(0,0),(1,2),(3,5),(4,7),(6,10)…

假設(x,y)(x,y)為第kk個奇異局勢

性質:xx為前1…k1…k個奇異局勢中沒有出現過的最小正整數,y=x+ky=x+k

任何乙個自熱數都包含在乙個且僅有乙個奇異局勢中

證明這個結論,我們只需要證明兩點:(1)任意自然數都出現過(2)任意自然數僅出現一次

對於(1):反證法,設vv這個數沒有出現過,那麼vv可以做乙個新的奇異局勢的xx

對於(2): 反證法

假設數vv出現了兩次,那麼vv一定不是所在奇異局勢的xx(xx必須之前未出現)

那麼vv只能同時是兩個奇異局勢的yy,又因為任意乙個奇異局勢的差值不相同,因此vv不可能出現兩次

任何操作都會將奇異局勢變為非奇異局勢

若取走一堆中的石子,那麼兩對石子的差值會改變,必將成為非奇異局勢

若同時取走,因為同乙個差值只會對應一種奇異局勢,必將成為非奇異局勢

可以採取適當的方法將非奇異局勢變為奇異局勢

博弈論 威佐夫博弈

1.威佐夫博弈的條件 1 人數為兩人 2 物品為兩堆,每乙個人在取物品的時候要麼在一堆中取若干物品,要麼在兩堆中取相等的物品。每次至少乙個,可以取完這一堆。3 先手必敗的條件 在奇異局勢下必敗。2.ok,如果你不是很懂什麼叫做奇異局勢,那麼聽我解釋。我們知道物品兩為兩堆,每一堆的數量數a,b。我們記...

博弈論 威佐夫博弈

理論分析 問題 首先有兩堆石子,博弈雙方每次可以取一堆石子中的任意個,不能不取,或者取兩堆石子中的相同個。先取完者贏。分析 首先我們根據條件來分析博弈中的奇異局勢 第乙個 0 0 先手輸,當遊戲某一方面對 0 0 時,他沒有辦法取了,那麼肯定是先手在上一局取完了,那麼輸。第二個 1,2 先手輸,先手...

博弈論入門之威佐夫博弈

威佐夫博弈是一類經典的博弈問題 有兩堆石子,兩個頂尖聰明的人在玩遊戲,每次每個人可以從任意一堆石子中取任意多的石子或者從兩堆石子中取同樣多的石子,不能取得人輸,分析誰會獲得勝利 威佐夫博弈不同於nim遊戲與巴什博奕,它的特殊之處在於不能將兩堆石子分開分析。前輩們在對該博弈遊戲做了大量的探索之後最終找...