ICE公平组合游戏

  • 公平组合游戏特点
    • 巴什博弈
      • 威佐夫博弈
        • 尼姆博弈

公平组合游戏特点

1.由两名玩家组成。
2.游戏的状态为有限的。
3.两人轮流走,当有一玩家不可继续时游戏结束。

巴什博弈

1.问题:一堆n个物品,两人轮流取(1~m个),取光者胜。
2.同余定理:n=k*(m+1)+r,先手取走r个,无论后手取走多少个,只要先手取的数目和为(m+1),则先手必赢。
//分析:
(1)n<=m时,先手必赢。
(2) n=m+1时,无论先手拿多少个,剩余的一定大于1小于m,即后手必赢。
3.模板:

if (n%(m+1))
return 1;//先手赢
else
return 0;//后手赢

威佐夫博弈

1.问题:两堆n个物品,两人轮流取一堆中的至少一个或两堆中的相同多个物品,取光者胜。
2.黄金分割比:差值*黄金分割比==最小值,则后手赢,反之先手赢。
3.模板:

double r=(sqrt(5)+1)/2;//黄金分割比
int d=abs(a-b)*r;
if(d!=min(a,b))
return 1;//先手赢
else
return 0;//后手赢

尼姆博弈

1.问题:n堆物品,两人轮流取至少一个物品,取光者胜。
2.结论:讲n堆物品全部异或运算,若结果为0则必败,反之则必胜。
3.模板:

int m=0;
for(int i=1;i<=n;i++)
m=m^arr[i];
if(m==0)
return 0;//后手胜
else
return 1;//先手胜

博弈——ICE公平组合游戏(简单整理结论)相关推荐

  1. SG函数SG定理游戏的和公平组合游戏

    公平组合游戏(Impartial Combinatorial Games) 条件: 1.两名选手交替进行操作 2.两名选手局面移动的权力相同 3.当前选手的合法移动集合至于当前的局面有关,与轮到哪名选 ...

  2. 博弈论·公平组合游戏 学习笔记

    文章目录 公平组合游戏ICG N状态和P状态 游戏图 Sprague-Grundy SG函数 Nim游戏 游戏的和 SG定理 写在前面:发现是好久之前存在草稿里的,偶然间翻出来了,稍微完善了一下. 公 ...

  3. 博弈论——公平组合游戏与SG函数

    参考自算法竞赛进阶指南 公平组合游戏与有向无环图 一个博弈游戏被称为公平组合游戏(ICG)当且仅当其同时满足3个条件 由两名玩家交替行动 游戏任意时刻可进行的操作与轮到哪名玩家无关 不能进行操作的玩家 ...

  4. 最近做到的一些有意思的数学题目(博弈,双人玩游戏)

    最近做一些数学题目,感觉挺有意思的整理了一下. 1.北京理工大学2018级3月月赛A题:Ervin and Joker https://vjudge.net/problem/Gym-241030A#a ...

  5. 组合游戏(分石子,nim游戏,sg)

    一.最近在学习组合游戏方面的知识,我们可以考虑这类组合游戏: (1)两个人轮流操作 (2)游戏状态有限,总能走到最终状态,且都不会出现以前的状态.即给定初始状态,游戏的胜负是可以预见的. (3)规定谁 ...

  6. 组合游戏 - SG函数和SG定理

    在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...

  7. 博弈论 1.Introduction(组合游戏基本概念、对抗搜索、Bash游戏、Nim游戏)

    1.博弈 博弈论是研究具有斗争或竞争性质现象的数学理论和方法. 每个玩家都有一个偏好,A一般是希望A赢,如果不可以的话就倾向于 平局,B一般倾向B赢,达不到的话就倾向于平局.他们的每一步组成了一个&q ...

  8. 精华游戏算法整理_整理游戏

    精华游戏算法整理 在HTML5 2D游戏开发系列的上一部分文章结尾,Snail Bait处于可玩但原始的状态. 在这一期的最后一部分中,我将向您展示如何将Snail Bait从该状态带到最终版本,如图 ...

  9. ACM练习 校赛183F:公平的游戏(TLE)【set的使用,给迭代器增加指定偏移量】

    总时间限制: 1000ms 内存限制: 256000kB 描述 如果说考试还会受到天赋的影响,那最公平的游戏就非抽奖莫属了. 输入 第一行输入一个整数 N,代表操作的总数 接下来的 N 行中,第 i ...

最新文章

  1. 怎么安装python3-centos编译安装python3怎么做?
  2. BZOJ3160: 万径人踪灭
  3. php框架控制器是什么意思,控制器定义
  4. js与C++交互及C++解析json
  5. java int转bitmap_Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码...
  6. 【离散数学】命题逻辑符号化例题
  7. ubuntu操作系统firefox浏览器安装flashplayer后仍无法播放的问题解决
  8. 鸿蒙电脑系统连不上打印机,电脑与打印机脱机怎么连接
  9. 京东方10.1寸1280*800薄屏EV101WXM-N10-BOE工业屏
  10. Qt多功能计算器(二)——三角函数
  11. 磊科路由器信号按键_超简单的磊科路由器重置方法
  12. 鸿蒙app前后端流程实现
  13. 超实用的 IPTV 管理工具,xTeVe 助你定制专属电视频道。
  14. 【Oracle】一条SQL的一生
  15. 【Linux operation 48】Ubuntu启用root用户,并授予远程ssh访问权限
  16. 多多自走棋改动_多多自走棋:几个隐藏更新,体验服公告真没提,有一项熟悉又隐蔽...
  17. Jetson Nano 人工智能计算
  18. C++模板/泛型编程
  19. Excel解析与数据生成(撑持JXL,POI)
  20. 原来QQ聊天记还能这样找回!学会之后再也不用担心删除了

热门文章

  1. 最长递增子序列问题(你真的会了吗)
  2. 进gmail不失去连接的办法之一
  3. 外星人Alienware 17R4基本上可完美黑苹果10.13.6
  4. “芒果数据库”————mongodb分片全集和管理
  5. mongoose 与 mylab 的使用 (1)
  6. (转)业务知识_电子商务知识
  7. 【零信任落地案例】北京芯盾时代电信运营商零信任业务安全解决方案落地项目
  8. MATLAB文件操作
  9. ES中如何实现in和not in查询
  10. python列表对应元素相乘_在python中,将两个列表中的每个元素相乘