首页 > 其他分享 >博弈论专题

博弈论专题

时间:2023-02-08 23:58:21浏览次数:57  
标签:专题 游戏 nim 博弈论 必胜 异或 Leftrightarrow SG

基本概念

去复习

公平组合游戏

nim 游戏

有向图游戏和 SG 函数

SG 函数值相同的游戏等价 —— lingfunny

各种模型

nim 游戏

模型:\(n\) 堆石子,每次可以取一堆中的若干个石子(至少一个),取完胜

结论:异或和 \(\ne 0\) \(\Leftrightarrow\) 必胜

证明

很好证,一般来说博弈论的证明只需要证三件事

  1. 游戏结束是必败态,异或和为 \(0\) (这个显然)

  2. 必胜态可以到必败态,也就是异或和非零可以到异或和为零

    (假设目前异或和为 \(k\),一定可以找到一个 \(a_i\) 使 \(a_i \oplus k <a_i\),因为如果 \(k\) 的最高位上 \(a_i\) 也是 \(1\),异或之后一定会变小,而由于 \(k\) 是异或和,所以一定有奇数个 \(a_i\) 满足 \(k\) 的最高位上 \(a_i\) 也是 \(1\))

  3. 必败态只能到必胜态,也就是异或和为零只能到异或和非零

    (假设取的石子原本是 \(a_i\),由异或的性质得取后也是 \(a_i\),显然不合法)

我觉得证明很好证,关键是这个结论怎么想得到啊喂)

【模板】nim 游戏

阶梯-nim 游戏

模型:\(n\) 堆石子,每次可以取一堆中的若干个石子(至少一个),放到前一堆中,最后一次操作的人胜

结论:奇数位置的异或和 \(\ne0 \Leftrightarrow\) 必胜

证明也是一样套路

这个等价于保证单调不下降的 nim

P5363 [SDOI2019]移动金币

k-nim 游戏

模型:\(n\) 堆石子,每次可以取最多 \(k\) 堆 (不能不取),最后一次操作的人胜

结论:二进制表示下 \(a_i\) 每一位的和 \(\equiv 0 \left(\bmod (k+1)\right)\)

P2490 [SDOI2011]黑白棋

anti-nim 游戏

模型:跟 nim 一样,最后一次操作的人败

结论:当全部 \(a_i=1\),有偶数堆 \(\Leftrightarrow\) 必胜态

​ 当至少一个 \(a_i>1\) ,异或和 $\ne 0 $ \(\Leftrightarrow\)必胜态

第一点显然,对于第二点,若异或和非 \(0\),一定可以变成 \(0\) ,最终只有一堆的石子数 \(>1\) ,此时,轮到先手,先手一定可以让局面变成只有奇数个 1 ,先手胜

反常游戏

推广上述到任意一个反常游戏(最后一次操作的人败)

结论:\(\forall\ SG(a_i)=1\),\(SG(A)=0\) \(\Leftrightarrow\) 必胜态

​ \(\exists\ SG(a_i)>1\) ,$SG(A)\ne 0 $ \(\Leftrightarrow\) 必胜态

(其中 \(a_i\) 是子游戏,有 \(SG(A)=\bigoplus SG(a_i)\)

拆分-Nim游戏

集合-Nim游戏

Bash 游戏

模型:\(n\) 个石子,每次取 \(1\sim m\) 个

结论:\((m+1)\nmid n\Leftrightarrow\) 必胜

Fibonacci 游戏

Wythoff 游戏

Every−SG 游戏

标签:专题,游戏,nim,博弈论,必胜,异或,Leftrightarrow,SG
From: https://www.cnblogs.com/copper-carbonate/p/17103747.html

相关文章

  • ZOJ4116 Game on a Graph(图+博弈论)
    题目连接:​​点击这里​​给出n个点m条边的图,k个人做游戏。分为两队,每次给图取掉一条边,若这这次行动后图不连通了,这个队就赢了,输出赢的队伍。只要你能保证最低联通量,就是n......
  • bitset小专题(待续)
    bitset:一个01位如果用bool存的话需要1byte,而用bitset只需要1bit(=1/8byte)每次两个集合取并的时候可以除以一个大常数(32/64),从而优化复杂度LOJ515设\(dp[i]\)表示考......
  • 数独专题
    输入 输入包含多组测试用例。每个测试用例占一行,包含81个字符,代表数独的81个格内数据(顺序总体由上到下,同行由左到右)。每个字符都是一个数字(1-9)或一个”.”(表示尚未填......
  • 博弈论
    经典的公平组合游戏nim游戏规则\(n\)堆物品,每堆有\(a_i\)个,两个玩家轮流取走任意一堆的任意个物品,但不能不取。取走最后一个物品的人获胜。结论定义$Nim=a_1......
  • 风哥NoSQL数据库工程师培训专题2.0
    风哥NoSQL数据库工程师培训专题2.0:互联网大厂运维/DBA必备技术【包括:Redis,Mongodb,Cassandra,Memcache,Elasticsearch,ELK】课程地址:​ ​https://edu.51cto.com/top......
  • 风哥NoSQL数据库工程师培训专题2.0
    风哥NoSQL数据库工程师培训专题2.0:互联网大厂运维/DBA必备技术【包括:Redis,Mongodb,Cassandra,Memcache,Elasticsearch,ELK】课程地址:​​https://edu.51cto.com/topic/576......
  • 数学专题
    发现自己数学太菜了,所以练练!(CF1780E JosukeandCompleteGraph链接:https://codeforces.com/contest/1780/problem/E考虑$gcd$本质上是个啥。假设我们现在知道某个数......
  • 对标阿里P7面试Redis面试专题
    文章目录​​一、什么是Redis?简述它的优缺点。​​​​二、Redis与memcached相比有哪些优势?​​​​三、Redis支持哪几种数据类型?​​​​四、Redis主要消耗什么物理......
  • IM通讯协议专题学习(八):金蝶随手记团队的Protobuf应用实践(原理篇)
    本文由金蝶随手记技术团队丁同舟分享。1、引言跟移动端IM中追求数据传输效率、网络流量消耗等需求一样,随手记客户端与服务端交互的过程中,对部分数据的传输大小和效率也有......
  • 【分布式技术专题】「分布式缓存专题」针对性分析缓存与数据库一致性如何解决
    数据缓存由来在实际的业务场景中,一定有很多需要做数据缓存的场景,比如售卖商品页面,包括了许多并发访问量很大的数据,它们可以称作是是"热点”数据,这些数据有一个特点,就是更新......