博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博弈论进阶之Every-SG
阅读量:6638 次
发布时间:2019-06-25

本文共 739 字,大约阅读时间需要 2 分钟。

Every-SG

给定一张无向图,上面有一些棋子,两个顶尖聪明的人在做游戏,每人每次必须将可以移动的棋子进行移动,不能移动的人输

博弈分析

题目中的要求实际是“不论前面输与否,只要最后一个棋子胜利,那么就算胜利”

这样的话,能赢得游戏必须赢

因为两个人都顶尖聪明,因此当一个人知道某一个游戏一定会输的话,它一定会尽力缩短游戏的时间,当它知道某一个游戏一定会赢的话,一定会尽力延长游戏的时间(毕竟都是为了追求最终的胜利嘛233)

但是!我们怎么来处理时间的?暴力枚举博弈树肯定是不可取的,so我们来研究一下这个问题

定义Every-SG游戏

  • 对于还没有结束的单一游戏,游戏者必须对该游戏进行一步决策;
  • 其他规则与普通SG游戏相同

Every-SG游戏与普通SG游戏最大的不同就是它多了一维时间

对于\(SG\)值为\(0\)的点,我们需要知道最少需要多少步才能走到结束,

对于\(SG\)值不为\(0\)的点,我们需要知道最多需要多少步结束

这样我们用\(step\)变量来记录这个步数

\(step(u) = \begin{cases} 0, & \text{$u为终止状态$}\\ max\{step(v)\}, & \text{ $sg(u)\neq 0\land v为u的后继\land sg(v)=0$ }\\ min\{step(v)\}, & \text{$sg(u)=0\land v为u的后继$} \end{cases}\)

定理

对于Every-SG游戏先手必胜当且仅当单一游戏中最大的step为奇数。

定理是显然的:最大的单一游戏步数如果是奇数的话那么肯定是先手取得进行最后一步,否则一定是对手取走最后一个棋子。

例题

这种题目不怎么好找,到现在也就找到一道

转载地址:http://tusvo.baihongyu.com/

你可能感兴趣的文章
问题MySQL server has gone away
查看>>
SpriteKit-SKView
查看>>
Log4j 配置文件(log4j.properties)的所在路径问题(转)
查看>>
柜子和托的取值
查看>>
oracle 创建表加双引号作用
查看>>
SpringMvc流程分析,简单源码分析
查看>>
[K/3Cloud] 动态表单打开时传递一个自定义参数并在插件中获取
查看>>
jquery学习记录三(表单选择器)
查看>>
mac 使用iTerm2快捷登录远程服务器
查看>>
CF1027C Minimum Value Rectangle 贪心 数学
查看>>
洛谷P4513 小白逛公园
查看>>
中国福利彩票,牛B,开奖和数据传输有什么关系?
查看>>
MOSS 2010 修改列表的字段名及列的宽度方法
查看>>
正则表达式
查看>>
带有.rdlc报表的项目发布需要注意的问题
查看>>
操作系统和环境准备
查看>>
ios webp转换jpg
查看>>
CF700E Cool Slogans
查看>>
前端第三天
查看>>
SDN第一次上机作业
查看>>