加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

数学逻辑游戏05:NIM游戏(解答3)

(2009-08-19 23:07:58)
标签:

幽魂之家

数学

逻辑

游戏

文化

分类: 休闲娱乐类

  现在考虑一般的NIM游戏(参见《数学逻辑游戏05:NIM游戏》《数学逻辑游戏05:NIM游戏(解答1)》《数学逻辑游戏05:NIM游戏(解答2)》

  将的表示为二进制,如<3, 5, 7>就表示为<11, 101, 1111>。对于二进制表示有一种按位加的运算,就是在标准的加法中取掉进位,如:
      11
      101
     1111
   ———————
     1011
一个数位上的最后的值实际上只要看相应数位上1的个数,1的个数是偶数,结果是0,1的个数是奇数,结果是1。
  使用二进制可以很简单的表示必输状况:按位加都是0的状况就是必输状态。

  必输状态有两个重要的特征:
  1. 随便怎么拿,得到的一定不是必输状态。
  2. 在非必输状态,一定存在一种拿法,使得得到必输状态。
  这样,我们就能使对方一直处于必输状态,直至<0, …, 0>,从而获得胜利。所以,如果开始的状态是非必输状态,则先游戏者一定有获胜策略;如果开始的状态是必输状态,则后游戏者一定有获胜策略。

  最后,我们来证明按位加都是0的状况是必输状态。
  我们在一堆小棍中拿掉一些小棍,则二进制表达式中至少有一位数字发生了变化,而且只在一堆中拿,所以其它推的二进制表达式没有变化,所以按位加至少有一位是1,一定不是必输状态。
  如果处于非必输状态,则按位加至少有一位是1。取按位加是1的数位最高的的那个数位,必有一个数在这个数位是1。就这个1改为0,使得这个数位的按位加是0。其它比它小的数位作必要的调整,使得每个数位的按位加都是0。这样调整后的数一定比原数小,它们的差就是我们在这堆中拿走的小棍数。

(完)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有