威佐夫(Wythoff)博弈
两堆石子,从某一堆中取任意数量
或者两堆中同时取相等的任意数量的石子
结论
设必败点
(ak,bk)
,
ak
是前面未出现的最小自然数,
bk=ak+k
前几个必败点是 (0,0),(1,2),(3,5),(4,7),(6,10),(8,13)
性质
这些数不重复不遗漏地包含了所有自然数
并且所有a、b的差值也正好构成了所有自然数
性质证明
ak=⌊ϕ×k⌋
,
bk=⌊ϕ×k⌋+k
其中
ϕ
是黄金比例:
5√+12
ak
和
bk
还构成一对贝蒂(Beatty)数列,这也是为何他们正好是自然数的划分
必败点无法一步到达另一个必败点
由于必败状态
(a,b)
中的两个数仅出现过一次
所以单独缩减任意一个值都无法到达值更小的必败点
而值更小的必败态
(x,y)
的差值
y−x<b−a
,所以同时缩减也无法到达另一个必败点
所以必败点只能到达另一个非必败点
必胜点最优策略
设当前状态
(a,b)
且
a<b
,这个状态可以一步到达必败点
由于必败状态包含了所有自然数,所以总是能在某个必败状态中找到 a这个值
设 a是某个必败点状态中较大的那个,形如
(x,a)
,则
x<a<b
,缩减 b至 x
设 a是某个必败点坐标中较小的那个,形如
(a,x)
若
b>x
, 则缩减 b至x,若
b<x
,则 a与b的差值
b−a<x−a
,
同时缩减 a、b,一定能到达
(a,x)
之前某个差值更小,为
b−a
的必败状态
证明出处:http://www.matrix67.com/blog/archives/6784#more-6784
菲波那契(Fibonacci)博弈
有一堆石子,先手每次可以取若干个,但不能一次取完
后手每次能取的个数不超过前者刚取的两倍
结论
石子数量是菲波那契数的时候,为必败点
否则为必胜点