威佐夫博弈
威佐夫博弈
内容
有两堆各若干个物品,两个人轮流从某一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
用 $(a_k,b_k)$ $(a_k\le b_k,k=0,1,2,\dots,n)$ 表示两堆物品的数量并称其为局势。
如果甲面对 $(0,0)$,那么甲已经输了,这种局势称为奇异局势。
前几个奇异局势是:$(0,0)$,$(1,2)$,$(3,5)$,$(4,7)$,$(6,10)$,$(8,13)$,$(9,15)$。
$k$ 表示奇异局势的序号, 第一个奇异局势 $k=0$。
可以看出,$a_0=b_0=0$,$a_k$ 是未在前面出现过的最小自然数,而 $b_k=a_k+k$。
性质
1. 任何自然数都包含在一个且仅有一个奇异局势中。
由于 $a_k$ 是未在前面出现过的最小自然数,所以 $a_k>a_{k-1}$,而 $b_k= a_k+k>a_{k-1}+k>a_{k-1}+k-1=b_{k-1}>a_{k-1}$。
2. 任意操作都会将奇异局势变为非奇异局势。
只减少奇异局势 $(a_k,b_k)$ 的某一个分量,那么另一个分量不可能在其他奇异局势中,所以必然是非奇异局势。
减少奇异局势 $(a_k,b_k)$ 的两个分量,则由于其差不变,且不可能是其他奇异局势的差,因此也是非奇异局势。
3. 任何一个非奇异局势都可变为奇异局势。
记当前面对的非奇异局势为 $(A,B)$。
先考虑只取一堆的情况:
当 $A=a_p,B=a_q$ 时,
变为奇异局势 $(a_p,b_p)$ 的条件:$B>b_p$。
因为 $A \le B$,所以无法变为奇异局势 $(b_q,a_q)$。
当 $A=a_p,B=b_q$ 时,
变为奇异局势 $(a_p,b_p)$ 的条件:$B>b_p$。
变为奇异局势 $(a_q,b_q)$ 的条件:$A>a_q$。
当 $A=b_p,B=a_q$ 时,
因为 $a_p < b_p = A \le B$,所以必能变为奇异局势 $(b_p,a_p)$。
因为 $A \le B = a_q <b_q$,所以无法变为奇异局势 $(b_q,a_q)$。
当 $A=b_p,B=b_q$ 时,
- 因为 $a_p < b_p = A \le B$,所以必能变为奇异局势 $(b_p,a_p)$。
- 变为奇异局势 $(a_q,b_q)$ 的条件:$A>a_q$。
只取一堆的情况下,可以发现当 $A=a_p,B>b_p$ 或 $A=b_p$ 时,必能将非奇异局势变为奇异局势。
而当 $A=a_p,B<b_p$ 时,$B-A<p \longrightarrow a_{B-A} < a_p$,一定能从两堆同时取出 $A-a_{B-A}$,变为奇异局势 $(a_{B-A},b_{B-A})$。
所以任何一个非奇异局势都可变为奇异局势。
当然,当 $A>a_{B-A}$ 且 $B>b_{B-A}$ 时,一定能从两堆同时取出 $A-a_{B-A}$,变为奇异局势 $(a_{B-A},b_{B-A})$。
一个非奇异局势可能会有多种变为奇异局势的取法。
结论
两堆物品数量分别为 $n,m$ $(n\le m)$,当 $(m-n)*\frac{1+\sqrt{5}}{2}=n$ 时,先手必败,否则先手必胜。