博弈論之尼姆博弈

2021-10-08 02:24:29 字數 1164 閱讀 2760

有三堆分別有 a,b,c 個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝。

當 a ⊕ b ⊕ c == 0 時,先手必敗;

反之,先手必勝。

對於 a,b,c 三個數,我先假設 a 最大, b 第二大, c 最小,且 a,b,c 對應的二進位制位數分別為 x,y,z

那麼,要使得 a ⊕ b ⊕ c == 0,就得滿足以下條件( a,b,c 的二進位制形式都沒有前導零的情況下):

(1) a 和 b 的二進位制位數要一致,且 c 的二進位制位數要小於 x,否則通過異或運算,不可能得到 a ⊕ b ⊕ c == 0,即 x == y 且 x > z 恆成立

(2)對於 a 和 b 的二進位制形式下,a 和 b 的二級制數值從第 z+1 位到第 x 位要保持一致,否則不可能得到 a ⊕ b ⊕ c == 0

假設 a,b,c 分別對應第 1,2,3 堆

當 a ⊕ b ⊕ c == 0 時

先手先從第 1 堆裡面取 k1 個物品

(1)當 k1 > c 時,( a - k1 )⊕ b > c 恆成立,所以後手可以從第 2 堆裡面取 k2 個物品,使得( a - k1 )⊕ ( b - k2 )== c 恆成立

(2)當 k1 < c 時,( a - k1 )⊕ c > b 恆成立,所以後手可以從第 3 堆裡面取 k2 個物品,使得( a - k1 )⊕ ( c - k2 )== b 恆成立

(3)當 k1 == c 時,( a - k1 )== b 恆成立,那麼,後手只需要把第 3 堆取完即可

當先手從第 2,3 堆中取任意物品時,也是以上過程

綜上所述,當 a ⊕ b ⊕ c == 0 時,先手不管怎麼取,後手總能維持先手必敗狀態

當 a ⊕ b ⊕ c != 0 時,先手一定可以從 1,2,3 堆中取出物品,使得後手面臨先手必敗態

有 n 堆分別有 a [ i ]( i = 1,2 … n )個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝。

結論也是和三堆物品的一樣

當 a [ 1 ] ⊕ a [ 2 ] ⊕ … ⊕ a [ n ] == 0 時,先手必敗;

反之,先手必勝。

博弈論(尼姆博弈)

尼姆博弈指的是這樣乙個博弈遊戲 有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能從一堆物品中取部分或全部物品,最少取一件,取到最後一件物品的人獲勝。結論就是 把每堆物品數全部異或起來,如果得到的值為0,那麼先手必敗,否則先手必勝。這樣理解 先手必敗態為面臨的所有堆都為0,而此時的...

博弈 尼姆博弈

今天我們來聊一聊另一種博弈 尼姆博弈,這一種博弈可以說是巴什博弈的一種變體,巴什博弈中 石子 的堆數為1堆,而在利姆博弈中 石子 的堆數為n堆,還有在尼姆博弈中取石子的規則也發生了變化,前一種博弈中取石子的數量限定在 1,l 而後一種取石子的數量可以為任意數 但不能不取,而且還不能超過這一堆石子的總...

演算法與資料結構 博弈論(高階篇之尼姆博弈)

尼姆博弈 nimm game 有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能從一堆物品中取部分或全部物品,最少取一件,取到最後一件物品的人獲勝。分析 我們先來看假設有三堆物品時的情況 這種情況最有意思,它與二進位制有密切關係,我們用 a,b,c 表示某種局勢,則前幾種奇異局勢如...