从威佐夫博弈看博弈论——一类有趣的整数集划分问题
威佐夫博弈([SHOI2002]取石子游戏)
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。
我们来初步分析一下这个问题:
我们认为在这个博弈中的必败状态为奇异状态(我不知道为什么要这么命名),例如
可以发现对于一个正整数,它会且仅会出现在一个奇异状态中。
证明:
1.它仅会出现在一个奇异状态中。
假设同时存在两个奇异状态
出现矛盾。原命题得证。
2.它会出现在一个奇异状态中。
假设存在一个最小的正整数
原命题得证。
这样的话,我们就将这个问题转化为了正整数集的划分问题。
贝蒂定理
贝蒂定理是解决正整数集划分问题的一个有效的手段。
设a、b是正无理数且 1/a +1/b =1。记P={ [na] | n为任意的正整数},Q={ [nb] | n 为任意的正整数},([x]指的是取x的整数部分)则P与Q是N+的一个划分,即P∩Q=Ø且P∪Q=N+(正整数集)。
从百度百科搬了证明过来,我觉得这个证明既严谨,又直观,所以我就不额外证一遍了。
I. 任一个整数至多在集合P或Q中出现一次
因为a、b为正且1/a +1/b=1,则a、b>1,所以对于不同的整数n,na各不相同,类似对b有相同的结果。因此任一个整数至多在集合P或Q中出现一次。
II. P∩Q为空集
现证明P∩Q为空集:(反证法)假设k为P∩Q的一个整数,则存在正整数m、n使得[ma]=[nb]=k。即>k < ma、nb<k+1,等价地改写不等式为
m/(k+1)< 1/a < m/k及n/(k+1)< 1/b < n/k。相加起来得 (m+n)/(k+1) < 1 < (m+n)/k,即 k < m+n < >k+1。这与m、n为整数有矛盾,所以P∩Q为空集。
III. Z+ = P∪Q
现证明Z+=P∪Q:已知P∪Q是Z+的子集,剩下来只要证明Z+是P∪Q的子集。(反证法)假设Z+(P∪Q)有一个元素k,则存在正整数m、n使得[ma]< k <[(m+1)a]、[nb]< k <[(n+1)b]。 由此得ma < k ≦[ (m+1)a]-1<(m+1)a -1(因为a是无理数),类似地有nb < k ≦[ (n+1)b]-1<(n+1)b -1。等价地改写为 m/k < 1/a < (m+1)/(k+1)及n/k < 1/b < (n+1)/(k+1)。两式加起来,得
(m+n)/k < 1 < (m+n+2)/(k+1),即m+n < k < k+1 < m+n+2。这与m, n, k皆为正整数矛盾。
现在,我们就可以继续解决这个问题了。
定义一个奇异状态的排名为
可以观察这个图像,会发现排名为
根据贝蒂定理,我们有
于是我们得到了奇异状态的通项公式。
威佐夫问题的求第一次取值
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。如果你胜,你第1次怎样取子?
这个问题很简单,分别找到两类不同的取法对应的奇异状态即可。
推荐练习题:
[SHOI2002]取石子游戏
威佐夫问题 V2
HDU - 2177取(2堆)石子