详解威佐夫博弈(POJ1067)

Wythoff Game

Overview

其解决的典型博弈问题是: 给定两堆物体, 两位选手轮流取物, 规定每位选手要么从某一堆中取物, 要么从两堆中同时取相同数量的物体, 至少取一物, 多者不限. 规定最后取完的胜利. 要求判断给定物体数量时, 先手后手的输赢情况.

Wythoff给出的结论是: 设两堆物体的数量分别为a, b, 不妨设 a ⩽ b a\leqslant b ab, 若
⌊ 1 + 5 2 ( b − a ) ⌋ = a \lfloor \frac{1 +\sqrt{5}}{2} (b-a) \rfloor = a 21+5 (ba)=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 akbk,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>ak1, 于是有 b k = a k + k > a k − 1 + k − 1 b_k=a_k+k>a_{k-1}+k-1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值