学习笔记 威佐夫博弈

摘要:
维佐夫的游戏中有两堆石头。两个最聪明的人在玩这个游戏。每一次,每个人都可以从任何一堆石头中取出任意数量的石头,或者从两堆石头中取相同数量的石头。如果你不能让人失去分析,谁会赢?如果你不想听,你可以直接看到结论。前两场比赛的区别在于,你不能将两堆石头分开。因此,类似地,我们需要一个扩展的二维SG。我们将你必须首先失去的情况定义为一种奇异的情况。第一种奇异情况是(0,0)((x,y)=(y,x))。等价地考虑递归的思想是将$(0,0)$视为直角坐标系中的一种奇异情况
威佐夫博弈
有两堆石子,两个顶尖聪明的人在玩游戏,

每次每个人可以从任意一堆石子中取任意多的石子

或者从两堆石子中取同样多的石子,不能取得人输

分析谁会获得胜利

不想听的的话直接看结论

与前两种博弈不同的是 不可以将两堆石子 分开计算

所以类似需要一个扩展的二维SG

我们定义先手必输的局势就是奇异局势

第一个奇异局势就是((0,0))

((x,y)=(y,x))等价

考虑递推的思想

从直角坐标系考虑$ (0,0)$是奇异局势

那么((0,k),(k,0),(k,k))都是非奇异局势 把TA们划去

再去寻找第一个没有被划过的点 $ (1,2)(2,1) $

同理处理出((3,5),(4,7),(6,10))

威佐夫博弈

通过大眼观察法 我们find

对于第k个奇异局势$(a_k,b_k)(a_k<b_k) $

1.(a_k)是之前未出现的最小自然数

2.(b_k=a_k+k)


根据我们需找奇异局势的方法 可以证明定理1

使用GH的数学归纳法证明定理2

假定((a_k,a_k+k))是第k个奇异局势

仅需证明((a_{k+1},a_{k+1}+k+1))((k+1))个奇异局势

((a_{k+1},a_{k+1}+k+1))

1.左边取一点

因为(a_i<a_{k+1}(i<k+1) a_i)之前已经出现过

所以左边少了那就把右边拿成对应的情况

2.右边取一点

取得比较少的时候 两队之间差值减小 成为((a_{k+1},a_{k+1}+m))

那么我们就拿成((a_m,a_m+m))

取得比较多的时候 右边<左边

那么右边就是之前出现过的一个(a_i(i<(k+1)))

又因为(a_i+i=b_i<a_{k+1}) 所以可行

那么左边取成类似的情况

3.两边同时取

(a_m,a_m+k+1)因为((k+1)>m) 所以取成$(a_m,a_m+m) $

如上我们可以发现

任意情况下奇异局势都会成为非奇异局势

非奇异局势总是能够成为奇异局势

所以

奇异局势对应必败态

非奇异局势对应必胜态

那么我们仅需要计算出当前

((x,y)(x<y) x)所位于第几个奇异局势

这需要运用到Beatty数列和Beatty定理 不加详述

(a_k=frac {sqrt{5}+1}{2}*k)

$b_k=a_k+k $

有兴趣者自行查看

例题

HDU1527

51NOD 1185

免责声明:文章转载自《学习笔记 威佐夫博弈》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇neo4j-备份、恢复未分类[selenium] 玩转python selenium鼠标键盘操作(ActionChains)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章