博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博弈论进阶之Anti-SG游戏与SJ定理
阅读量:5316 次
发布时间:2019-06-14

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

前言

在中,我们初步了解了一下SG函数与SG定理。

今天我们来分析一下SG游戏的变式——Anti-SG游戏以及它所对应的SG定理

首先从最基本的Anti-Nim游戏开始

Anti-Nim游戏是这样的

有两个顶尖聪明的人在玩游戏,游戏规则是这样的:

\(n\)堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿),拿走最后一个石子的人失败。问谁会胜利

博弈分析

Anti-Nim游戏与Nim游戏唯一的不同就是两人的胜利条件发生了改变,不过这并不影响我们对结论的推导

对于这个游戏,先手必胜有两种情况

  • 堆石子都只有一个,且游戏的SG值\(0\)
  • 至少一堆石子多于一个,且游戏的SG值不为\(0\)

粗略的证明一下

游戏大概可以被分为\(3\)种情况

  • 每堆只有一个石子
  • 当异或值为\(0\)时,先手必胜
  • 当异或值不为\(0\)时,先手必败
  • 只有一堆石子数大于1,先手必胜

经过分析不难发现,先手可以对数量大于1的那堆石子下手脚,从而构造出后手必败的状态

  • 存在至少两堆石子数大于1
  • 当异或和为0时,先手必败
  • 当异或和不为0时,先手必败

这一步的结论与Nim游戏非常相似,同时它们的证明也非常相似,大概就是从异或和为\(0\)的状态无论怎样都会变为异或和不为\(0\)的状态,反过来从异或和不为\(0\)的状态总有一步能到达异或和为\(0\)的状态

推广

按照我们学习SG函数的思路,我们是否可以把Anti-Nim游戏推广开来呢?

答案是肯定的

定义Anti-SG游戏

  • Anti-SG游戏规定:决策集合为空的游戏者赢
  • 其余规则与相同

同时我们定义SJ定理

对于Anti-SG游戏,如果我们规定当局面中所有单一游戏的SG值为0时,游戏结束,则先手必胜当且仅当

  • 游戏的SG函数不为0且游戏中某个单一游戏的SG函数值大于1
  • 游戏的SG函数为0且没有某个单一游戏的SG函数大于1

证明与SG函数类似,

不追求完美的可以从DAG上归纳

追求完美的可以用模仿棋证明出该游戏的等价性然后推出该游戏是可数集合然后通过计算推出在模\(2\)意义下线性空间的基可以为\(nim(0),nim(1)\)最后归纳证明一个后继是若干Anti-nim游戏的游戏等价于\(mex(S)\)

例题

按照whx老师的说法

Anti-SG不怎么重要,我至今为止就做到过一道题

那道题在

转载于:https://www.cnblogs.com/zwfymqz/p/8469856.html

你可能感兴趣的文章
使用Visio进行UML建模
查看>>
mongoDB 高级查询之取模查询$mod
查看>>
poj 2886 Who Gets the Most Candies?(线段树)
查看>>
Codeforces Round #260 (Div. 2)
查看>>
编程算法 - 切割排序 代码(C)
查看>>
POJ 2418 Hardwood Species( AVL-Tree )
查看>>
AfxMessageBox和MessageBox差别
查看>>
glog摘记
查看>>
WCF从理论到实践(4):路在何方
查看>>
归并排序(转)
查看>>
Linux下全局安装composer方法
查看>>
Python_Xlrd&Xlwt
查看>>
项目执行过程
查看>>
SCM基础之过程描述
查看>>
面向对象初识
查看>>
不喜欢写测试的朋友看过来,与你分享写测试的经验 做一个爱写测试的程序员...
查看>>
Anaconda+vscode+pytorch环境搭建
查看>>
java 几个实用的小工具
查看>>
Html常用标签元素
查看>>
介绍一下Objective-c常用的函数,常数变量
查看>>