ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

7.13 $\text{Nim & SG(x)}$

2022-07-13 10:34:50  阅读:144  来源: 互联网

标签:有向图 游戏 Nim text Grundy rm SG


\(\large \text{Date: 7.13}\)

\(\rm Nim\) 游戏 & \(\rm SG\) 函数

$ \rm Nim$ 游戏

先摆结论:
\(\large\left\{\begin{aligned}\text{xor}_{i=1}^na_i=0 \to先手必败\\\rm else \to先手必胜\end{aligned}\right.\)

感性理解:若干个数,\(a_1,a_2,...,a_n\),将它们化为二进制串,若每一个二进制位上都有偶数个 \(1\),那么完全存在一种后手必胜策略,即先手取了若干个 \(1\),后手就将对应的 \(1\) 取完,这样后手就是必胜的。这样表现出来就是 \(\text{xor}_{i=1}^na_i=0\)。反之,若不满足这一条性质,那先手完全可以取出上述模型中单独的 \(1\),让局面变成对于后手玩家的先手必败策略。

由此衍生出一个结论: 先手必胜局面 \(\to\) 后手必败局面。

但是这仅仅是一个 \(\rm SG\) 函数的衍生结论。

\(\text{Link: OI - Wiki}\)

什么是 \(\rm SG\) 函数?

有向图游戏与 SG 函数
有向图游戏是一个经典的博弈游戏——实际上,大部分的公平组合游戏都可以转换为有向图游戏。

在一个有向无环图中,只有一个起点,上面有一个棋子,两个玩家轮流沿着有向边推动棋子,不能走的玩家判负。

定义 \(\rm mex\) 函数的值为不属于集合 \(S\) 中的最小非负整数,即:

例如 \(\text{mex}(\{0,2,4\})=1,\text{mex}(\{1,2\})=0\)

对于状态 \(x\) 和它的所有 \(k\) 个后继状态 \(y_1,y_2,...,y_k\),定义 \(\rm SG\) 函数:

\(\text{SG}(x)=\text{mex}\{_{i=1}^k\text{SG}(y_i)\}\)

而对于由 \(n\) 个有向图游戏组成的组合游戏,设它们的起点分别为 \(s_1,s_2,...,s_n\),则有定理:当且仅当 \(\text{xor}_{i=1}^n\text{SG}(s_i)\not= 0\) 时,这个游戏是先手必胜的。同时,这是这一个组合游戏的游戏状态 \(x\) 的 SG 值。

这一定理被称作 Sprague-Grundy 定理(Sprague-Grundy Theorem), 简称 SG 定理。


\(\rm SG\) 定理适用于 任何公平的两人游戏, 它常被用于决定游戏的输赢结果。

计算给定状态的 Grundy 值的步骤一般包括:

  • 获取从此状态所有可能的转换;

  • 每个转换都可以导致 一系列独立的博弈(退化情况下只有一个)。计算每个独立博弈的 Grundy 值并对它们进行 异或求和。

  • 在为每个转换计算了 Grundy 值之后,状态的值是这些数字的 。

  • 如果该值为零,则当前状态为输,否则为赢。

标签:有向图,游戏,Nim,text,Grundy,rm,SG
来源: https://www.cnblogs.com/Doge297778/p/16472902.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有