NIM博弈證明

2021-09-21 02:08:02 字數 824 閱讀 6903

古代的nim

⁡\operatorname

nim取石子遊戲是由兩個人面對若干堆石子進行的遊戲。

設有n ≥2

n\ge 2

n≥2堆石子,各堆分別含有a1、

a2⋯a

na_1、a_2\cdots a_n

a1​、a2

​⋯an

​個石子。

遊戲的目的就是選取最後剩下的石子。遊戲規則如下:

遊戲人交替進行遊戲

當輪到每個遊戲人取子時,選擇這些石子中的一堆,並從所選的堆中取走至少乙個石子

(遊戲人也可以取走他所選擇的堆中的全部石子,於是留下乙個空堆)

當所有的堆都變成空堆時,遊戲結束。

最後取子(即能夠取走最後一堆中剩下的所有石子)的遊戲人,視為遊戲的勝利者。

這種遊戲稱為nim

⁡\operatorname

nim遊戲。

對於這種遊戲,只有先手必勝先手必敗兩種情況。

定理:nim

⁡\operatorname

nim先手必勝,當且僅當a

1xor⁡a

2xor⁡a

3xor⁡⋯

xor⁡an

a_1\operatornamea_2\operatornamea_3\operatorname\cdots\operatornamea_n

a1​xor

a2​x

ora3

​xor

⋯xor

an​不等於000

證明:

NIM博弈證明

若a1x ora2 xora 3.xora n 0a 1 xor a 2 xor a 3 xor a n neq 0 a1 xor a2 x ora3 xora n 0則先手 r rr 贏 否則 先手 r rr 輸 1 定義令tem a1x ora2 xora 3.xora ntem a 1 xor...

關於nim博弈的證明。

nim博弈我們大家都很熟悉,那麼為什麼nim博弈中石子數異或起來和為0就是先手必敗,非0就是先手必勝呢,想必大家都有過這個疑問。很多人都知道這個結論,但是卻很少人知道證明過程。其實nim博弈的證明過程是一種對稱博弈。我們知道如果異或和是0,先手必敗。考慮異或和是0的意義,異或和是0代表著對於所有石頭...

博弈論 Nim博弈 反Nim博弈 SG函式

nim遊戲 hdu1846 若各堆石子異或和為不為零,則先手勝 後手當且僅當異或和為零時取勝 此題問要想先手取勝第一步的取法,考慮到上述引理,只需遍歷一遍石子找到異或和的最高位匹配的個數。int a 105 int main return0 view code hdu 1848 在上題的基礎上取法只...