學習筆記 nim遊戲

2022-02-05 21:42:39 字數 1229 閱讀 7639

n堆石子,每個人每次對著一堆拿若干個。不能拿者判輸。

只有兩種情況,先手必勝,先手必敗。

先手必勝當且僅當:a1^a2^...^an!=0

證明:設=x(x不為0),選擇最高位和x一樣的ai,顯然有ai^x階梯型nim遊戲:高度單調的階梯。每次只能把a[i]中選擇x個,放到a[i-1]中,或者把a[1]中扔掉若干個。問有無先手必勝策略。

等價於對奇數堆做nim遊戲。

第一次先手,就把奇數堆按照必勝策略移動。偶數堆不管,當做垃圾桶。

如果後手移動奇數堆到偶數堆,就按照奇數堆必勝策略移動。

反之,就把後手移動過來x的奇數堆再往前移動x個。對於奇數堆的狀態不變。早晚會把偶數堆移動完。

所以,等價。

有 n 堆石子,每次可從一堆石子中拿走任意數量的石子。

兩個人輪流拿,誰不能拿誰贏。

上面的必勝和必敗都是基於「無法操作者敗」這個規則來解釋的。

若某組合遊戲的勝利條件是「無法操作者勝」的話,必勝態必須滿足二者之一:

sg異或和》0且石子數》1的堆數》0

sg異或和=0且石子數》1的堆數=0

證明。。。

有 n 堆石子,每次可從 k 堆石子中拿走任意數量的石子。

兩個人輪流拿,誰不能拿誰輸。

證明:數學歸納法

1.沒有石子的時候,一定全部為0

2.如果當前全部為0,最多某一位1的個數變化k個,一定不會全部為0

3.如果當前不全為0,從高位開始往低位找,

如果某一位1的個數為b,之前已經動過的堆數為c,先用c個動過的堆來調整,讓b變成0或者k+1,不夠用,就從剩下的b的堆把1刪去(大概就是先都往0湊,加上新選擇的堆還不行的話,那麼一定可以直接湊出k+1,直接用c個原來的堆往k+1湊)

刪去1的堆一定已經取走,所以後面就可以隨便0->1或者1->0了,加入那c個。如果能操作k個,那麼一定可以隨心所欲了。

證畢。小例題:

兩人之間的距離就是石子數量。都撞上了以後,誰撤,對面立刻懟上去。

數論學習筆記 NIM遊戲

博弈論的內容。遊戲規則 地上有n堆石子,每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。先手是先操作的人。定理 先手必勝 當且僅當 a1 xor a2 xor a3 0。證明 當所有物品都取光。明顯為a1 xor a2 xor a3 ...

nim遊戲簡介

定義p position和n position,其中p代表previous,n代表next。直觀的說,上一次move的人有必勝策略的局面是p position,也就是 後手可保證必勝 或者 先手必敗 現在輪到move的人有必勝策略的局面是n position,也就是 先手可保證必勝 更嚴謹的定義是 ...

博弈 Nim遊戲

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