Wythoff Game
Overview
其解决的典型博弈问题是: 给定两堆物体, 两位选手轮流取物, 规定每位选手要么从某一堆中取物, 要么从两堆中同时取相同数量的物体, 至少取一物, 多者不限. 规定最后取完的胜利. 要求判断给定物体数量时, 先手后手的输赢情况.
Wythoff给出的结论是: 设两堆物体的数量分别为a, b, 不妨设 a ⩽ b a\leqslant b a⩽b, 若
⌊ 1 + 5 2 ( b − a ) ⌋ = a \lfloor \frac{1 +\sqrt{5}}{2} (b-a) \rfloor = a ⌊21+5(b−a)⌋=a
则先手必败, 后手有必胜拿法; 反之, 即不相等, 则先手有必胜拿法, 后手必败.
Theoretical Analysis
奇异局势序列
称两堆物品的数量无序对 ( a k , b k ) (a_k,b_k) (ak,bk)为局势, 其中 a k ⩽ b k , k = 0 , 1... , n a_k \leqslant b_k, k=0,1...,n ak⩽bk,k=0,1...,n. 定义奇异局势为, 当前选手面临它时, 无论他怎么拿, 另外一位选手总有必胜的拿法. 可以验证下列局势皆为奇异局势,
( 0 , 0 ) , ( 1 , 2 ) , ( 3 , 5 ) , ( 4 , 7 ) , ( 6 , 10 ) , ( 8 , 13 ) , ( 9 , 15 ) , ( 11 , 18 ) , ( 12 , 20 ) . . . (0,0),(1,2),(3,5),(4,7),(6,10),(8,13),(9,15),(11,18),(12,20)... (0,0),(1,2),(3,5),(4,7),(6,10),(8,13),(9,15),(11,18),(12,20)...
观察上面的序列, 我们可以发现: b k = a k + k b_k = a_k + k bk=ak+k, 且下一奇异局势的 a k a_k ak等于前面没有出现过的最小自然数(后称发现).
现在, 利用上述发现把自然数组成的不重复无序对集合划分为两个部分, 一个部分称为奇异局势集合(序列), 另一部分称为非奇异局势集合. 于是, 需要证明是: 若选手当前面临奇异局势, 则其必输, 另外一位选手有必胜拿法; 反之, 必赢. (现在的奇异局势不具有前面定义的必输的内涵, 这恰是需要证明的. 现在的理论出发点是"发现".)
首先, 需要证明奇异局势集合和非奇异局势集合具有如下性质.
性质1
任何自然数都包含在一个且仅一个奇异局势中.
证明:
首先, 显然任何自然数都包含在某个奇异局势中, 因此只需证明仅包含在一个奇异局势中. 显然 ∀ k \forall k ∀k, 有 a k > a k − 1 a_k>a_{k-1} ak>ak−1, 于是有 b k = a k + k > a k − 1 + k − 1 b_k=a_k+k>a_{k-1}+k-1