关于组合游戏
来源:互联网 发布:阿里云服务器搭建云免 编辑:程序博客网 时间:2024/05/22 07:52
这几天初步了解了组合游戏和博弈,在这里写一个总结。
首先说说状态图。状态图,顾名思义就是将游戏的各个状态作为一个节点表示在图中。在状态图中存在两种状态。一种就是P-position(先手必败状态),一种就是N-position(先手必胜状态)。对于状态图存在几个结论:1.一个状态是必败状态当且仅当它的所有后继都是必胜状态。 2.一个状态是必胜状态当且仅当至少它有一个后继是必败状态。 3.没有后继的状态是必败状态。
然后总结一下几种游戏模型:
1.Chomp!游戏:有一个N*M的期盼,每次取走一个方给及其右边和上边的方格,拿到左下角的棋子者输,问先手必胜还是必败。
结论:除了1*1的棋盘,先手均为必胜。
证明:可以采用反证法。即假设存在后手必胜的走法,那么后手的这一个走法,先手可以提前走出,先手取得胜利,与假设矛盾。所以除了1*1的棋盘,先手必胜。
约数游戏:有N个数字,两人轮流选取一个数将它和它的约数去掉,去掉最后一个数的人赢。(结论与Chomp游戏类似,证明也可采用反证法。)
2.Ferguson游戏:有两个盒子分别装有N和M个石子,每次可以选取一个盒子,将里面的石子清空,并将·另一个盒子的石子移一些到这个盒子,最后使得两个盒子都有石子,不能移动者输。
结论:若N和M均为奇数,则先手输,否则先手胜。
证明:可以知道(1,1)为终态。采用分类讨论。对于当前的状态,存在这么三种(不考虑顺序):1‘(奇,奇);2’(奇,偶);3‘(偶,偶);对于(偶,偶)状态可以转变为对手为(奇,奇)的状态,且可以知道最后的状态在(奇,奇)和(奇,偶)中交叉转化。这样,我们知道(1,1)为(奇,奇)且必败,所以以为状态交叉转化,所以进行一轮游戏后双方的状态的性质是不会改变的,那么我们可以得出若当前状态N和M均为奇数,则先手必败,否则,先手必胜。
3.Nim游戏:有三堆火柴,每堆分别有a,b,c根,每次可以任意选取一堆火柴拿走一根及其以上的火柴(可以拿走整堆火柴),最终无法拿火柴者输。
结论:状态(a,b,c)为必败状态当且仅当a^b^c=0,否则先手必胜。
证明:证明什么的由于涉及神奇的位运算,还有数学归纳,所以就免了吧= =。。。
最后讲讲SG函数和定理。定义SG(x)=mex{S},其中S和x的后继的集合,mex的值为最小的未出现的非负整数。其中SG(x)=0时为必败状态。对于有多个局面的游戏的SG值为各个子游戏的SG值的Nim和,即为各个子游戏的SG值的异或值。
其中,单堆Nim游戏的SG函数满足SG(x)=x。证明:因为当先前的x全部去掉,则其不存在后继,其余的去掉小于x的存在后继,对于当前状态SG(x)为mex{S},所以SG(x)=x。
以上就是蒟蒻的总结= =。
- 关于组合游戏
- 组合游戏
- 组合游戏
- 组合游戏
- 组合游戏
- 组合游戏
- 博弈-组合游戏
- 【Game】组合游戏入门
- 组合游戏(博弈)
- 组合游戏学习
- 组合游戏简单题
- HDU5724(组合游戏,博弈论)
- HIHO 组合游戏,学习
- 组合24游戏程序
- 常见组合博弈游戏
- 组合博弈游戏
- hdu 1527 取石子游戏(组合游戏)
- hdu 2516 取石子游戏(组合游戏)
- 创业公司是如何进行研发管理和绩效考核的?从豌豆荚说开去
- C++构造数据类型----引用
- 64位Windows7使用VS2010编译wxWidgets
- sybase ASA 数据库的表碎片 整理
- 代理模式 - 结构型模式
- 关于组合游戏
- POJ 题目3041 Asteroids(二分图)
- .Net单元测试(二)——XML数据载体的优势与实际应用
- 大数据技术趋势以及未来方向
- 日经社説 20150224 訪日客の多様化に応じた通訳ガイド育め
- poj 2458 Rigging the Bovine Election
- 超低功耗物联网
- 社説 20150224 与那国住民投票 国防を地方政争の具にするな
- 社説 20150224 西川農相辞任 農業改革の体制再建が急務だ