今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解..

首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输..

如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只能把后面的点往前面放...如何来分析这个问题呢...其实阶梯博弈经过转换 可以变为Nim..把所有奇数阶梯看成N堆石子..做nim..把石子从奇数堆移动到偶数堆可以理解为拿走石子..就相当于几个奇数堆的石子在做Nim..( 如所给样例..2^3^4=5 不为零所以先手必败)为什么可以这样来转化?
   假设我们是先手...所给的阶梯石子状态的奇数堆做Nim先手能必胜...我就按照能赢的步骤将奇数堆的石子移动到偶数堆...如果对手也是移动奇数堆..我们继续移动奇数堆..如果对手将偶数堆的石子移动到了奇数堆..那么我们紧接着将对手所移动的这么多石子从那个奇数堆移动到下面的偶数堆...两次操作后...相当于偶数堆的石子向下移动了几个..而奇数堆依然是原来的样子...即为必胜的状态...就算后手一直在移动偶数堆的石子到奇数堆..我们就一直跟着他将石子继续往下移..保持奇数堆不变...如此做下去..我可以跟着后手把偶数堆的石子移动到0..然后你就不能移动这些石子了... 所以整个过程..将偶数堆移动到奇数堆不会影响奇数堆做Nim博弈的过程..整个过程可以抽象为奇数堆的Nim博弈...
   其他的情况...先手必输的...类似推理...只要判断奇数堆做Nim博弈的情况即可...
   为什么是只对奇数堆做Nim就可以...而不是 偶数堆呢?...因为如果是对偶数堆做Nim...对手移动奇数堆的石子到偶数堆..我们跟着移动这些石子到下一个奇数堆...那么最后是对手把这些石子移动到了0..我们不能继续跟着移动...就只能去 破坏原有的Nim而导致胜负关系的不确定...所以 只要对奇数堆做Nim判断即可知道胜负情况...

我谈阶梯博弈( Staircase Nim )相关推荐

  1. 我谈阶梯博弈(Staircase Nim)

    今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解..   首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈. ...

  2. 【小组专题二:博弈论入门综述(1)】NP状态 | SG函数 | 巴什博奕、威佐夫博弈、斐波那契博弈、Nim游戏、SJ定理

    博弈论综述[1] 前言 博弈与博弈论 博弈树 NP状态 SG函数(Sprague-Grundy) Sprague-Grundy Theorem 巴什博奕 Bash Game 威佐夫博弈 扩展威佐夫博弈 ...

  3. 阶梯博弈(Staircase Nim)

    阶梯博弈!!!下面阐述一下我对于阶梯博弈的理解..   首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( & ...

  4. Poj1704:staircase nim【博弈】

    题目大意:有一个无限长的一维的棋盘,棋盘上N个格子放置着棋子.两个人轮流操作,每次操作能选择其中一个棋子向左移动,但不能越过其它棋子或者两枚棋子放在同一格中,最后不能操作的人算输,问先手是否必胜? 思 ...

  5. Nim问题和阶梯Nim(staircase nim)

    Nim问题和阶梯Nim(staircase nim) Nim问题: 有若干堆石子,每堆石子的数量都是有限的,合法的移动是"选择一堆石子并拿走若干颗(不能不拿)",如果轮到某个人时所 ...

  6. 博弈问题总集第三类----Staircase Nim

    这一关我们上楼梯玩... 阶梯博弈是这样一个模型:有一个n层的台阶,每个台阶上都放有一定数量的石子.每次每个玩家可以选取某一层上任意数量的石子移动到下一层,不能操作的人输. 嗯这个问题看起来很复杂?我 ...

  7. staircase nim 经典组合游戏

    游戏开始时有许多硬币任意分布在楼梯上,共n阶楼梯从地面由下向上编号为0到n.游戏者在每次操作时可以将楼梯j(1<=j<=n)上的任意多但至少一个硬币移动到楼梯j-1上.游戏者轮流操作,将最 ...

  8. HDU3389(阶梯博弈)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3389 题意:1-N带编号的盒子,当编号满足A>B && A非空 && ...

  9. P3480-[POI2009]KAM-Pebbles【阶梯博弈】

    正题 题目链接:https://www.luogu.com.cn/problem/P3480 题目大意 nnn个石头堆上进行Nim\text{Nim}Nim游戏,不过需要满足每次操作前后都有ai≤ai ...

最新文章

  1. 广度深度都要,亚马逊是如何推动 Alexa 内生成长的?
  2. Ionic2中集成第三方控件Sweetalert
  3. /usr/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at BOOST_JOIN错误
  4. 黑客游戏系列--------第四关
  5. 使用jQuery Treeview插件实现树状结构效果
  6. mysql dql_Mysql中的DQL查询语句
  7. 利用dns来ping通所有主机名的方法,免去一条条配置hosts
  8. Python凭啥这么受欢迎?
  9. 7.1 pdo 宝塔面板php_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)
  10. 这行的压力还是比较大的
  11. 【重识 HTML + CSS】背景相关知识点
  12. 转:VS2005 快捷键
  13. JavaScript封装缓动动画函数
  14. 我踩过的支付通道的“坑”(一)
  15. navicat报错SSH:Unable to load key
  16. windows7在无法访问Internet的情况下,修改公共网络为家庭网络(或工作网络)
  17. 假如古人用上了区块链技术
  18. 你应该知道的八款国产操作系统
  19. Enterprise Architect:绘制基本包图(详细步骤)
  20. 指针实现写一个函数,将一个3×3的整数矩阵转置

热门文章

  1. 关于unittest的介绍及应用
  2. java生成随机邮箱_Java随机生成姓名、邮箱、手机号码
  3. OpenCms 带分页的新闻列表
  4. 直接访问html网址怎么输入,如何设置输入IP地址就直接访问到某一个网站
  5. C#运控框架 雷赛运动控制 DMC系列 运动控制项目 C#源码
  6. nargin 和 nargout
  7. 09-单片机模块化程序: μCOS-II中内存管理程序使用说明
  8. 线性代数系列(二)--矩阵变换
  9. 电脑卡在系统logo处
  10. 【ZJOI2017】仙人掌