NIM博弈證明

2022-09-09 17:57:21 字數 2704 閱讀 7074

若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 \ a_2 \ xor \ a_3 \ ... \ xor \ a_n

tem=a1

​xor

a2​x

ora3

​...

xora

n​(2):具體過程

①證明:若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)贏

首先,tem

temte

m 的二進位制最高位必定在 ai(

i∈[1

,n])

a_i (i \in [1, n])

ai​(i∈

[1,n

])的同一位上出現

滿足條件的乙個 a[i

](i∈

[1,n

])

a[i] (i \in [1, n])

a[i](i

∈[1,

n]) 記作x,將 tem

temte

m 減去 tem

temte

m 二進位制最高位轉換成十進位制的值記作 tem

ptemp

temp

易知:tem

p<=x

temp <= x

temp

<=x

當 rr

r 選擇改變 x

xx 時,我們將 x

xx 減去 tem

ptemp

temp

,這時 a1x

ora2

xora

3...

xora

n=

0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0

a1​xor

a2​x

ora3

​...

xora

n​=0

即證: 若a1x

ora2

xora

3...

xora

n=

0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0

a1​xor

a2​x

ora3

​...

xora

n​=0

,則當前先手 (j

jj) 輸。

轉換成②

②證明: 若a1x

ora2

xora

3...

xora

n=

0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0

a1​xor

a2​x

ora3

​...

xora

n​=0

,則當前先手 (j

jj) 輸。

j

jj任意選擇一堆拿走一堆牌

則 a 1x

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即證:若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)贏

結論:當最後都拿完時:a1x

ora2

xora

3...

xora

n=

0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0

a1​xor

a2​x

ora3

​...

xora

n​=0

,則上一次拿牌的人是先手 (r

rr),所以 r

rr 贏

反之亦然,即證

NIM博弈證明

古代的nim operatorname nim取石子遊戲是由兩個人面對若干堆石子進行的遊戲。設有n 2 n ge 2 n 2堆石子,各堆分別含有a1 a2 a na 1 a 2 cdots a n a1 a2 an 個石子。遊戲的目的就是選取最後剩下的石子。遊戲規則如下 遊戲人交替進行遊戲 當輪到每...

關於nim博弈的證明。

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

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

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