目录:
一、巴什博弈(Bash Game)
二、尼姆博弈(Nimm Game)
三、威佐夫博奕(Wythoff Game)
四.斐波那契博弈
五.环形博弈
一、巴什博弈(Bash Game)
情形:有n个石子,每个人最少拿a个石子,最多拿b个石子,问先手赢还是后手赢.
分析:当n = a + b时,先手必输. 推广而来,n = k*(a + b)时,先手必输.其他情况先手必赢.
证明:很简单,略了
结论:当n%(a+b) == 0 时,先手必输,否则,先手必赢
二、尼姆博弈(Nimm Game)
情形:有3堆任意多的物品(x, y, z)。两个人轮流拿,每次只能从一堆中拿,至少拿一个,至多不限。拿到最后者胜利。
简要分析:
当(0,0,0)时,先手必输
当(0,a,a)时,先手必输,因为无论先手在一堆中拿多少个,后手总能拿同样多个,到最后还是后手拿完.
当(0,a,b)时,先手必赢,因为先手可以拿成(0,a,a),变后手必输。
结论:a^b^c = 0为先手必败
扩展情形:n堆 结论:a1^a2^...^an = 0为先手必败.
证明:为了证明结论,我们需要先证明两个东西.
①我们知道0^0^0 = 0 是必败态。那么我们来证明 a1^a2^...^an = 0 且 ai不全等于0 的条件下,先手无法一步致胜.
要证明先手无法一步致胜,那就需要证明:无论如何拿,拿完后的局面:a1^a2^...^an != 0;
证明这一点:我们只能在某一堆里拿去不少于一个石子,那么只能有一个数变化了。
设我们拿的这一堆为ak,那么根据异或的自反性,ak = a1^a2^...^an (右式中不含ak)
显然当ak减小了以后,上式子不成立。利用反证法:
设ak = a1^a2^...^an 且 ak - d = a1^a2^...^an (0 < d <= ak)那么 两式相减得d = 0,与前提相悖,所以ak - d != a1^a2^...^an ,即
a1^a2^..^(ak - d)^.^an != 0 , 即无论如何拿,拿完后的局面:a1^a2^...^an != 0; 即先手无法一步致胜,得证.
②接下来再证明一个东西:a1^a2^...^an != 0时,先手一定有一种合法的方案使得拿完后的局面为a1^a2^...^an = 0.
证明:设a1^a2^...^an = k. 设k二进制中最左边(即最高位)的1为第g位。
那么a中一定存在ai,它的第g位为1(若不存在,那么第g位上a为全0)。那么得出ai^k < ai.(我们知道,k的更高位都为0了,那么ai^k后第g位一定从1变成0,不管最低位如何变化,ai^k的值一定是减小的).
所以得证.
综合上面的证明我们可以得出一点,当且仅当先手面对a1^a2^...^an != 0的局面时才有可能赢,即,a1^a2^...^an = 0时先手必输,a1^a2^...^an != 0时 先手必赢.(我们的方法是证明a1^a2^...^an = 0 不可能一步赢,且a1^a2^...^an != 0时可以以合法的手段转换成a1^a2^...^an = 0.而且总体的石子数是下降的.所以显然最终肯定是面对a1^a2^...^an != 0局面的人赢)
三、威佐夫博奕(Wythoff Game)
情形:有两堆石子,两个顶尖聪明的人在玩游戏,每次每个人可以从任意一堆石子中取任意多的石子或者从两堆石子中取同样多的石子,谁先无法继续取谁就输了
前几个必输状态:
(0,0),(1,2),(3,5),(4,7),(6,10)…
性质1:假设(x,y)且 x < y,为第k个必输状态,x为前1~k-1必输状态中没出现过的最小自然数.那么y = x + k;
性质2:任何一个自热数都包含在一个且仅一个必输状态中.
结论:必输状态一定符合等式:(y - x)*(sqrt(5.0) + 1) / 2 = x;
四.斐波那契博弈
情形:有一堆石子,两个顶尖聪明的人玩游戏,先取者可以取走任意多个,但不能全取完,以后每人取的石子数不能超过上个人的两倍
结论:先手必败,当且仅当石子数为斐波那契数
五.环形博弈
情形:n个石子围成一个环,每次取一个或者取相邻的2个(每个石子有序号)
结论:石子数<=2先手赢,否则后手赢