博弈——Bash、Nim、Wythoff
一、巴什博弈(Bash Game)
有一堆n个物品,两个人轮流从中取出(1~m)个;最后取光者胜。
结论:n = k * (m + 1) + r,r = 0,先手必输;r != 0,先手必胜。
二、尼姆博弈(Nimm Game)
有任意堆物品,每堆物品的个数是任意的,双方轮流从中取物品,每一次只能从一堆物品中取部分或全部物品,最少取一件,取到最后一件物品的人获胜。
结论:把每堆物品的数量全部异或起来,如果得到的值为0,那么先手必败,否则先手必胜。
三、威佐夫博奕(Wythoff Game)
有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
结论:若两堆物品的初始值为(x,y),令z = abs(x - y),w = (int) ( ( (sqrt(5) + 1) /2) * z),若w=x,则先手必败,否则先手必胜。