一、巴什博弈
定义:一堆 n 个物品,两个人轮流从中取出不多于 m个,最后取光者胜,不能继续取的人输;
结论:若 n % ( m + 1 ) ! = 0 n\%(m+1)!=0 n%(m+1)!=0,则先手必胜;反之,先手必输。
证明:若 n % ( m + 1 ) ! = 0 n\%(m+1)!=0 n%(m+1)!=0,记 n = k ∗ ( m + 1 ) + r n=k*(m+1)+r n=k∗(m+1)+r,先者取走 r 个,那么设后者 t 个,只要先者拿 ( m + 1 − t ) (m+1-t) (m+1−t)个,即始终和后者拿的数目之和为 ( m + 1 ) (m+1) (m+1),先手必胜。反之,先手必输。
二、尼姆博弈 ※
尼姆博弈是我们重点学习的一个模型。
定义: n 堆物品,每堆物品的个数任意,两人轮流取,每次取某堆中不少于1个,最后取完者胜。
结论:将每堆物品的数量全部异或起来,若值为0,则先手必败,否则先手必胜。
我们将每堆物品数异或起来为0这个状态称为必败态,顾名思义,这个状态下,谁取谁必败。因为当这个状态时,经过两人轮流取物,后者始终可以维持这个必败态,即A取完后,B一定可以取一个数,使得取完后每堆物品数异或起来仍为0。这样一直到最后一轮,B取完一定会使每堆数都为0,此时同样也是必败态(异或起来为0),这时B获胜,A面对所有堆都为0这个状态取,直接失败。
所以当每堆物品数全部异或起来,若值为0,此时已是必败态,先手必败;若值不为0,则先手一定会取一个数使得每堆数异或起来为0,达到必败态,从而后手必败。
三、斐波那契博弈
定义:有一堆物品,共 n 个,两人轮流取物,先手可取任意件,但不能不取,也不能把物品取完,之后每次取的物品数不能超过上一次的两倍,且至少为1件,取走最后一件物品的人获胜。
结论:当且仅当n不是斐波那契数时,先手胜。
证明:此博弈的证明需要各种不等式关系证明,一般记住结论即可,具体证明可以看 这篇文章
四、威佐夫博弈
定义:有两堆物品,数量分别为 a 个和 b个,两人轮流取物,每次可以从一堆中取出任意个,也可以从两堆中取出相同数量的物品,每次至少要取一个,最后取完所有物品的人获胜。
结论:若 a b s ( a − b ) ∗ 5 + 1 /2 = = m i n ( a , b ) 成立,则后手获胜,否则先手胜。
五.反Nim游戏
和最普通的Nim游戏相同,不过是取走最后一个石子的人输。