nim博弈
来源:互联网 发布:火车票刷屏软件 编辑:程序博客网 时间:2024/05/22 01:44
定义
通常的Nim游戏的定义是这样的:
有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。
先放出公式a1^a2^…^ai’^…^an=0,如果成就就是奇异局势,先手必胜;
首先先简化一下思考只有a1^a2=0;的情况,当在(1,1)这种局势下,先手必输,这是显然的;当 (n,n)的时候后手与先手取的数量相同这必然会变为(1,1)这种局势;
然后我们来讨论一下a1^a2^a3=0,例如(1,2,3)可以拆分为,
1|1 0|
2|0 2|
3|1 2|
对应二进制
1 =二进制01
2 =二进制10
3 =二进制11
———————
0 =二进制00
注意对应奇异局势,将其所有数字都转换为二进制来看,它们数位上每个1,都有另一个1与之向对应;
当先手从某个数字拿走了一个K,也就是这数字的二进制某位的1,后手只要拿走对应的数字也拿走K就可以
将非奇异局势变为奇异局势;
0 0
- nim 博弈
- Nim博弈
- Nim博弈
- NIM 博弈
- Nim 博弈
- Nim博弈
- nim 博弈
- Nim博弈
- Nim博弈
- Nim博弈
- nim博弈
- nim博弈
- (博弈Nim)Nim
- 博弈-Nim博弈
- Nim博弈变形(anti-nim)
- Nim(Nim博弈变形)
- Misere Nim (Nim博弈)
- POJ 2975 Nim <Nim 博弈>
- 开源世界应该致谢的五家公司 Square、LinkedIn、Google
- Eclipse 在开发中使用到的快捷键(转载)
- 转凉的天
- log4j利用数据库连接池(dbcp)
- notepad++ 搭建python开发环境
- nim博弈
- 期中考试-C
- 主干(trunk)、分支(branch )、标记(tag) 用法示例 + 图解
- attach source(jdk)
- TensorFlow在Windows 10上安装手记
- Discuz数据库调用:DZ模板调用常用代码手册
- 通过DIVA了解APP安全问题
- material-design定制颜色
- 新手必须学习ABAP内容