博弈论--NIM游戏

博弈论---Nim游戏(公平组合游戏,概念,证明异或为0就是必败态,示例) 游戏使用一堆物品,例如棋子、石头或者硬币,这些物品被分成几堆,每堆可以有任意数量的物品。Nim游戏的关键在于掌握取物品的策略,因为有正确的方法可以确保你获胜,无论对手怎么移动。这个策略涉及到让每一堆物品的数量保持在特定的模式,这样你就可以控制游戏的走向,迫使对手进入必败局面。NIM博弈属于公平组合游戏,但城建的棋类游戏,比如围棋,就不是公平组合游戏。给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 阅读详情

引入

先介绍几个概念

1.公平组合游戏ICG:
  • 两名玩家交替行动
  • 在任意时刻,可执行的行动与玩家本身无关(游戏公平性)
  • 不能行动的玩家输
2.有向图游戏
  • 给定一个有向无环图,具有唯一的起点,玩家交替的把棋子沿有向边进行移动,每次移动一步,无法移动者输
  • 任何ICG均可化为有向图游戏
3.先手必胜与先手必败
  • 在双方均完全理性的情况下,先手不必胜则必败,先手不必败则必胜

NIM游戏:

1.介绍

NIM 游戏是一种经典的组合博弈,两名玩家轮流从若干堆石子中选择一堆,并从中取走任意数量的石子。无法继续操作的玩家判负。

2.结论

对于 n n n 堆石子 a 1 , a 2 , ⋯   , a n a_1, a_2, \cdots, a_n a1​,a2​,⋯,an​

  • 先手必胜态: a 1 ⊕ a 2 ⊕ a 3 ⊕ ⋯ ⊕ a n ≠ 0 a_1 \oplus a_2 \oplus a_3 \oplus \cdots \oplus a_n \neq 0 a1​⊕a2​⊕a3​⊕⋯⊕an​=0
  • 先手必败态: a 1 ⊕ a 2 ⊕ a 3 ⊕ … ⊕ a n = 0 a_1 \oplus a_2 \oplus a_3 \oplus \ldots \oplus a_n = 0 a1​⊕a2​⊕a3​⊕…⊕an​=0
3.证明:

通过数学归纳,从特殊推向一般。

  1. 不能操作时,每堆都是 0, 0 ⊕ 0 ⊕ … ⊕ 0 = 0 0 \oplus 0 \oplus \ldots \oplus 0 = 0 0⊕0⊕…⊕0=0

  2. 当 a 1 ⊕ a 2 ⊕ … ⊕ a n = 0 a_1 \oplus a_2 \oplus \ldots \oplus a_n = 0 a1​⊕a2​⊕…⊕an​=0,任意一步操作之后 a 1 ′ ⊕ a 2 ′ ⊕ … ⊕ a n ′ ≠ 0 a_1' \oplus a_2' \oplus \ldots \oplus a_n' \neq 0 a1′​⊕a2′​⊕…⊕an′​=0

    反证:对任意一步操作使 a i → a i ′ a_i \to a_i' ai​→ai′​

    若 a 1 ⊕ a 2 ⊕ … ⊕ a i ⊕ … ⊕ a n = 0 a_1 \oplus a_2 \oplus \ldots \oplus a_i \oplus \ldots \oplus a_n = 0 a1​⊕a2​⊕…⊕ai​⊕…⊕an​=0, a 1 ⊕ a 2 ⊕ … ⊕ a i ′ ⊕ … ⊕ a n = 0 a_1 \oplus a_2 \oplus \ldots \oplus a_i' \oplus \ldots \oplus a_n = 0 a1​⊕a2​⊕…⊕ai′​⊕…⊕an​=0

    设 a 1 ⊕ a 2 ⊕ … ⊕ a i ⊕ … ⊕ a n = x ⊕ a i = 0 a_1 \oplus a_2 \oplus \ldots \oplus a_i \oplus \ldots \oplus a_n = x \oplus a_i = 0 a1​⊕a2​⊕…⊕ai​⊕…⊕an​=x⊕ai​=0

    则 a 1 ⊕ a 2 ⊕ … ⊕ a i ′ ⊕ … ⊕ a n = x ⊕ a i ′ = 0 a_1 \oplus a_2 \oplus \ldots \oplus a_i' \oplus \ldots \oplus a_n = x \oplus a_i' = 0 a1​⊕a2​⊕…⊕ai′​⊕…⊕an​=x⊕ai′​=0

    则 x = a i = a i ′ x = a_i = a_i' x=ai​=ai′​,但是 a i ≠ a i ′ a_i \neq a_i' ai​=ai′​,矛盾!得证。

  3. 当 a 1 ⊕ a 2 ⊕ … ⊕ a n ≠ 0 a_1 \oplus a_2 \oplus \ldots \oplus a_n \neq 0 a1​⊕a2​⊕…⊕an​=0,一定存在一步操作之后 a 1 ′ ⊕ a 2 ′ ⊕ … ⊕ a n ′ = 0 a_1' \oplus a_2' \oplus \ldots \oplus a_n' = 0 a1′​⊕a2′​⊕…⊕an′​=0

    证明:设 a 1 ⊕ a 2 ⊕ … ⊕ a n = x ≠ 0 a_1 \oplus a_2 \oplus \ldots \oplus a_n = x \neq 0 a1​⊕a2​⊕…⊕an​=x=0,设 x x x 的最高位 1 在第 k k k 位。

    则 a 1 , … , a n a_1, \ldots, a_n a1​,…,an​ 中必定存在至少一个 a i a_i ai​ 的第 k k k 位也为 1,且 a i ⊕ x < a i a_i \oplus x < a_i ai​⊕x<ai​

    (若第 k k k 位均为 0,则所有异或之后得到 x x x 的第 k k k 位也只能是 0,不合题意)

    所以可以从 a i a_i ai​ 中拿走 a i − ( a i ⊕ x ) a_i - (a_i \oplus x) ai​−(ai​⊕x) 个石子(上一步证明了此步的合法性),使得 a i ′ = a i ⊕ x a_i' = a_i \oplus x ai′​=ai​⊕x

    故 a 1 ⊕ a 2 ⊕ … ⊕ a i ′ ⊕ … ⊕ a n = a 1 ⊕ a 2 ⊕ … ⊕ a i ⊕ x ⊕ … ⊕ a n = x ⊕ x = 0 a_1 \oplus a_2 \oplus \ldots \oplus a_i' \oplus \ldots \oplus a_n = a_1 \oplus a_2 \oplus \ldots \oplus a_i \oplus x \oplus \ldots \oplus a_n = x \oplus x = 0 a1​⊕a2​⊕…⊕ai′​⊕…⊕an​=a1​⊕a2​⊕…⊕ai​⊕x⊕…⊕an​=x⊕x=0,得证。

  4. 所以在双方绝对理性的情况下,某一方拿完之后达到了异或值为 0 的情况后,会一直握住这个状态,保证自己必胜。

更详细的思路构造过程及证明请看编程之美_1.11 NIM(1)一排石头的游戏在线阅读

SG函数

1. Mex 运算:

设 S S S 表示一个非负整数集合,定义 mex(S) 为求出不属于集合 S S S 的最小非负整数的运算。

即: mex ( S ) = min ⁡ ( x ) , x ∈ N  且  x ∉ S \text{mex}(S) = \min(x), x \in N \text{ 且 } x \notin S mex(S)=min(x),x∈N 且 x∈/S

2. SG 函数

将游戏的所有状态及其转换关系抽象成一张有向无环图。

定义 S G ( 终点 ) = 0 SG(\text{终点}) = 0 SG(终点)=0, S G ( x ) = mex [ S G ( y 1 ) , S G ( y 2 ) , ⋯   , S G ( y k ) ] SG(x) = \text{mex}[SG(y_1), SG(y_2), \cdots , SG(y_k)] SG(x)=mex[SG(y1​),SG(y2​),⋯,SG(yk​)]

示例:

图中模拟一堆个数为 10 的石子的状态转移图,每次只能拿 2 个或 5 个石子,蓝色字为石子数,红色字为对应状态的 SG 值。

由图:任何一个非 0 状态都可以到 0,任何一个 0 状态都到不了 0。

则 S G ( x ) = 0 SG(x) = 0 SG(x)=0 时,先手拿完后 S G ( x ′ ) ≠ 0 SG(x') \neq 0 SG(x′)=0,对手总有办法后手让 S G ( x ′ ′ ) = 0 SG(x'') = 0 SG(x′′)=0,先手必败。

S G ( x ) ≠ 0 SG(x) \neq 0 SG(x)=0 时,先手总有办法拿完使 S G ( x ) = 0 SG(x) = 0 SG(x)=0,对手怎么拿都使 S G ( x ′ ′ ) ≠ 0 SG(x'') \neq 0 SG(x′′)=0,先手必胜。

性质: S G ( b 1 , b 2 ) = S G ( b 1 ) ⊕ S G ( b 2 ) SG(b_1, b_2) = SG(b_1) \oplus SG(b_2) SG(b1​,b2​)=SG(b1​)⊕SG(b2​)

对一个含多个图的游戏,取每个图起点 x i x_i xi​ 的 SG 值 S G ( x i ) SG(x_i) SG(xi​)

则必胜,当 S G ( x 1 ) ⊕ S G ( x 2 ) ⊕ ⋯ ⊕ S G ( x n ) ≠ 0 SG(x_1) \oplus SG(x_2) \oplus \cdots \oplus SG(x_n) \neq 0 SG(x1​)⊕SG(x2​)⊕⋯⊕SG(xn​)=0

必败,当 S G ( x 1 ) ⊕ S G ( x 2 ) ⊕ ⋯ ⊕ S G ( x n ) = 0 SG(x_1) \oplus SG(x_2) \oplus \cdots \oplus SG(x_n) = 0 SG(x1​)⊕SG(x2​)⊕⋯⊕SG(xn​)=0

3.证明:

类似一般 NIM 游戏。

  1. 当 S G ( x i ) = 0 SG(x_i) = 0 SG(xi​)=0,没有必胜的起点,则 x o r = 0 xor = 0 xor=0,必败。

  2. 存在 S G ( x i ) ⊕ x < S G ( x i ) SG(x_i) \oplus x < SG(x_i) SG(xi​)⊕x<SG(xi​),则我先手一定可以走一步到达 S G ( x i ′ ) = S G ( x i ) ⊕ x SG(x_i') = SG(x_i) \oplus x SG(xi′​)=SG(xi​)⊕x,此时 x o r ′ = 0 xor' = 0 xor′=0,对方先手必败,即我方必胜。

  3. 当 x o r = x = 0 xor = x = 0 xor=x=0 时, S G ( x i ) SG(x_i) SG(xi​) 不全为 0 的情况,不管怎么走, x o r ′ ≠ 0 xor' \neq 0 xor′=0,必将落入对方先手必胜局面,即我方必败。

分类

NIM博弈的内容大致就这么多啦~

来几道题目练练手,看看题目中是怎么变形的。

基础变形

洛谷P1247 取火柴游戏

洛谷P7589 黑白棋
⇒ \Rightarrow ⇒ 关键在翻译题目,本质就是简单的 NIM 游戏。

洛谷P5675 取石子游戏 ⇒ \Rightarrow ⇒ 背包DP + 阶梯NIM,代码不难理解,关键是想明白思路,考思维

阶梯 Nim

洛谷P3480 KAM-Pebbles ⇒ \Rightarrow ⇒ 差分数组的阶梯nim

洛谷P2575 高手过招

博弈论——组合游戏(Bash和nim) 就是说nim游戏是一堆石子不能增加的游戏,要不断地从其中的一堆石子中取走一些石子,然后台阶nim游戏就是说,把奇数层的阶梯维护成一个nim游戏,根据nim游戏的规则,当奇数层的异或和不为0的时候,先手胜,因为如果后手将偶数层的石子移动到奇数层,先手可以将该奇数层被移过来的石子,又移到下一层偶数层,此时奇数层的状态不受影响,后手想改变状态的话,就要将奇数层的石子移到偶数层,那这时异或和由0变为正整数,先手始终能从奇数层上一部分石子,使得异或和又变成零。如果一开始奇数层的异或和为0的话,同理,但会是后手胜。 阅读详情

相关推荐

博弈论2:尼姆游戏(取物游戏)(Nim Game)

两个玩家,I & II,每轮交替行动有三堆筹码,筹码个数分别为x1,x2,x3(xi都是正整数)每轮游戏中,选取一个非空的筹码堆i从堆中取走>=1个筹码(拿走一个或更多个,最多把这一堆拿空)拿走最后一个筹码的人获胜。(拿完之后三堆都没有筹码了)

weixin_74447766的博客 4314

博弈论(Nim游戏)

题目要求:给你 n 堆石子,两个人轮流取石子,每次选择一堆,可以取出这一堆的任何数量的石子,直到某个人无法再取出任何石子,则另一个人就赢了。因此我们就可以创造先手的必胜态,则对于后手的来说一定是必输态。阶上去,直到最后台阶为0时,无法再移动,问能否先手必胜?,则可以证明,一个必胜态一定可以转换得到一个必输态。第一个人取第一堆,第二个人取第二堆,则第一个人必输。则通过上面的描述,一个必胜态一定可以转换为必输态。的位置,则最后就可以把一个必胜态转变为必输态。的情况,则就是甲先手赢的选择的情况。

ylh的博客 2393

【acm 博弈论 】 之 Nim游戏与sg函数

文章目录前言巴什博弈威佐夫博弈Nim游戏Nim游戏与sg函数题目题意样例思路代码 前言 从今天开始复习和整理下acm的部分模块,从博弈论开始。 著名的“取石子”游戏通常有3种类型,从简单到复杂依次是: 1.巴什博弈 2.威佐夫博弈 3.Nim游戏 4.Nim游戏与sg函数 复习Nim博弈之前,先复习下前两者。 巴什博弈 大意: 一堆物品有n个,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜,问最优策略下谁赢。 思路: 不难发现,当剩下m+1个物品时,先手必败。 所以,如果当前的

weixin_45924828的博客 715

博弈论(Nim 游戏)

Mex运算设SSS表示一个非负整数集合。定义mex⁡SmexS为求出不属于集合SSSmex⁡Smin⁡xmexSminxxxx属于自然数,且xxx不属于SSS。有向图游戏给定一个有向无环图,图中有一个唯一的起点,在起点上放有一枚棋子。两名玩家交替地把这枚棋子沿有向边进行移动,每次可以移动一步,无法移动者判负。该游戏被称为有向图游戏。任何一个公平组合游戏都可以转化为有向图游戏。

blind5883的博客 2566

【转】博弈论--取物品和Nim游戏

感慨数学归纳法真强大! 郗博的文章写得真好,情不自禁的就转过来了。 PS:今天晚上在实验室研究这些东西的时候用手抓到两只蚊子,并且好像都残了,前进的路上总是沾满了XX。。。 分为三个部分,第一部分是简单版的甲乙两人取物品,第二部分是博弈论中经典的模型--Nim游戏,最后是关于Nim游戏的介绍和Bouton's Theorem。 第一部分:简单版的甲乙两人取物品 前序 先来看

ZkvIA的博客 2904

Xilinx IP核 Block Memory Generator v8.4 的使用

本文主要介绍如何使用并初始化 Xilinx 提供的IP核 Block Memory Generator v8.4`,为了确保成功初始化,还对其进行了一个简单的仿真,更多细节请参考官方手册。

高阶近似的博客 1万+

Nim游戏——简单博弈论

原题链接 给定n堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问如果两人都采用最优策略,先手是否必胜。 输入格式 第一行包含整数n。 第二行包含n个数字,其中第 i 个数字表示第 i 堆石子的数量。 输出格式 如果先手方必胜,则输出“Yes”。 否则,输出“No”。 数据范围 1≤n≤105, 1≤每堆石子数≤10...

我们都有光明的未来 660

【无标题】EXCEL实现刷题

运用Excel开发的刷题工具,具有普遍实用性,可将WORD的试题自动导入并实现刷题。

weixin_44081794的博客 2971

【博弈论】Nim游戏

【博弈论】Nim游戏 提到博弈论,比较经典的就是Nim游戏。 Nim游戏的大致内容就是:给了好几堆石子,两个人,每个人轮流从某一堆中拿取任意数量的石子,最先取完石子的那一方即可获胜,注意:两个人都用的是最优的取法。 假设我们先手,如图,不难想到这样的一种石子的布局是对我们不利的,这是一种特殊的情况,因为我们无论从某一堆,拿几堆,对方也能模仿我们一样的拿法,比如我们从第一堆里面拿两个石子,对方也能拿两个石子,我们如果第一堆里面拿1个石子,对方也能拿一个石子,这样无论如何都是,对方最后拿完最后一个石子。这种情况

ZZY6868的博客 1744

cJSON库用完后内存泄漏?手把手教你正确使用cJSON_Delete和free释放资源

本文深入解析cJSON库的内存管理机制,重点解决使用后的内存泄漏问题。通过详细讲解cJSON_Delete和free的正确使用方法,帮助开发者在处理JSON数据时有效释放资源,避免内存泄漏。特别适用于嵌入式系统和资源受限环境,提升开发效率和系统稳定性。

weixin_30808693的博客 419

GJB软件需求规格说明-编制指南

《软件需求规格说明》是软件开发过程必不可少的文档,并且需要评审,也是后续鉴定试验的依据,因此,非常有必要认真对待此文档。 文档对于很多开发技术人员来说是一件非常头疼的事,虽然标准有要求,但是光看标准还是难以下笔。 本文将详细讲解如何按照GJB 438C的要求编写《软件需求规格说明》。 注:文中有背景颜色内容为标准内容,加粗部分为范例。斜体部分为解释。 全文1.3万字

Abel的博客 6361

博弈论——Nim游戏

的结论,我们已经得出了这个策略——第一个人拿走 x 个石子,不就相当于石子数的异或和变为 x 吗?可以发现,这三个数的异或和为001,且在这三个数中,第三位有两个数的数值为1,第二位有两个数的数值为1,第三位有一个数的数值为1,符合上述规律。,可以选择从目前的状态转移到下一个状态,而这下一个状态,即后继状态往往是非常多的。这是个非常经典的博弈论中的公平组合游戏,即对于A、B双方而言,二者的行动限制是一样的。综上,该问题就得解了——把所有石子的数量的异或和求出来,为0则先手必输,反之先手必胜。

tjhd05151434的博客 1787

uniapp - 获取设备麦克风权限+麦克风设备列表,用户可选择切换麦克风设备功能,选择麦克风采集设备后点击录制音频外部声音+可随时暂停/继续录音+记录音频录制时长(支持在线播放试听或下载MP3文件)

uniapp获取麦克风设备列表,uniapp录制声音,Uniapp获取麦克风权限,uniapp苹果ios安卓app获取麦克风设备列表,Uniapp H5获取浏览器麦克风并实现录音,Uniapp实现麦克风权限管理与音频录制全流程,uni-app实战案例:实现H5页面麦克风权限获取与录音功能,uni-app音频录制,uniapp麦克风授权窗口,uniapp获取iOS麦克风权限,实现前端录音并播放,把音频传给后端接口处理,获取麦克风并实现录音功能,前端获取/切换麦克风播放采集音频和采集音量大小,前端调用麦克风实现

🏆 前端领域优质创作者 2984

博弈论之Nim游戏

OI里,博弈论就是两个聪明绝顶的人玩不公平的游戏。 Nim游戏是组合游戏(Combinatorial Games)的一种,属于“Impartial Combinatorial Games”(以下简称ICG)。 通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果...

dawzski22234的博客 264

ComfyUI 汉化教程(中文界面)

如果你对翻译的结果不满意,还可以进行修改。首先,进入目录,可以看到该目录中有很多 JSON 文件:打开 JSON 文件,找到要修改的内容,修改对应的Value值即可:最后,重启 ComfyUI 即可。

水滴的博客 1万+

华为OD机试真题 新系统 2026-04-22 Java&Go 实现【小学生班长选举增强版】

9 月份开学第一天,小学某班级进行班长选举活动,班级共有 N 个学生,每个学生最多可投 3 票(对同一个人只能投一票),也可以弃权不投票,大家投票时写上对应学生的名字。 假设学生不存在重名。考虑到部分少数民族名字带分隔,且整体较长,同学在投票时为了方便,允许同学写全称,也可以只写其中的部分连续段。 例如班级里只有 2 个少数民族名称带点的同学:

MISAYAONE的博客 263

博弈论—Nim游戏

<br /> <br />每天学一点,今天学习的内容是博弈论中的Nim问题。虽然有关的算法和证明在网上有很多,但是好晦涩啊(@_@),自己写一下,可以强化一下理解。<br />如果我写的有不对的地方,请大牛指正!Thanks!<br /> <br />什么是Nim?Nim是一种经典的博弈论模型,是组合游戏(Combinatorial Games)的一种,属于“Impartial Combinatorial Games”(以下简称ICG)。下面来一个经典的Nim游戏:<br />有N堆石子,每堆有a[n]

delostik的专栏 576

风控系统中的架构设计原型图分析与实践探讨

本文探讨了风控系统的架构设计原型图在风险管理中的重要性。通过分析多个案例,文章展示了如何利用架构设计原型图提升团队沟通效率,优化系统结构与功能。强调了良好的架构设计不仅有助于系统的可扩展性和可维护性,还能增强对风险的应对能力。最后,呼吁金融行业持续关注技术进步与市场需求变化,以不断提升风控系统的设计与实施效果。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

nim游戏html网页,Nim游戏题解(博弈论入门基础)

博弈论这真的是很神奇呢注:这里引用了大量他人的博客,再次不一一说明,主要是为了学习定义博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。 博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。生物学家使用博弈理论来理解和预测进化论的某些结果。博弈论...

weixin_29146779的博客 225

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

nim游戏和博弈论

之前对SG函数完全没有理解,只会做0/1记录必胜必败的博弈论。现在重温一下了一下终于有点理解了。

Maxwell_Newton的博客 1257

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

博弈论:Nim游戏【集合型】

在讲博弈论之前,本菜先讲两个工具:sg函数和mex函数,我们讲所有的状态都抽象成一个点,那么所有状态会构成一张图,因为状态之间是可以相互转换,或者单向转换的【这里只讲单向转换】,有图就有边,这两个函数就是定义点之间的边的关系的,本菜为了不让各位听得乌云就先前缀一下; mex函数:这个函数其实很好理解,我们定义一个集合A,其中A中的元素为自然数,这mex(A)为不存在于A中的最小自然数,举个例子:mex({1,2,3})=0,mex({0,2,3})=1; sg函数:这个函数是建立在mex函数之上的,我们

weixin_62953519的博客 3237

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

博弈论与SG函数(Nim游戏)

博弈论与SG函数(Nim游戏) 目录博弈论与SG函数(Nim游戏)游戏状态状态图(SG图)Nim 游戏Nim 和与SG定理SG函数Grundy数字 在本篇,我们考虑的是两个玩家进行游戏,并且不存在随机概率因素(例如随机抽卡)。 我们的目标是找到一个最优策略去赢得游戏而不关心谁是对手。 游戏状态 让我们考虑一个游戏,这有一堆棍子,两个游戏者A和B依次从这一堆棍子中抽走一些,每次只能抽走1,2或3个棍子,最终谁抽走了最后一根棍子谁就是赢家。 这个游戏包含n+1n+1n+1个状态,分别是0,1,2,…,n0,1,

jiahonghao2002的博客 812

【博弈论】Nim游戏/Nim博弈及其异或的详细易懂理解

【博弈论】关于Nim博弈及其异或的理解Nim博弈简介题面结论理解1.终结状态 和 异或2.玩家的操作 与 异或3.如何使用异或合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Nim博弈简介 题面 洛谷P2197 有nnn堆石子(nnn &g

一名学生的思考 4225

【博弈论】从Nim游戏到SG函数

本文介绍博弈论中的Nim游戏以及博弈论中重要的解题方法:SG函数

qq_73176808的博客 454

博弈论题目之Nim游戏

Nim游戏 题目:你和你的朋友,两个人一起玩Nim游戏: 桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一个回合,轮到的人拿掉1-3块石头。 拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为n的情况下赢得游戏。如果可以赢,返回True;否则,返回False。 示例1: 输入:n=4 输出:false 解释:如果堆中有4块石头,那么你永远不会赢得比赛;因为无论你拿走1块、2块还是3块石头,最后一块石头总是会被你的朋友拿走。 示例2:

ly17809212771的博客 1173

博弈论算法之nim游戏

博弈论算法之nim游戏 题意: 有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 解法: 它与二进制有密切关系,我们用(a,b,c)表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n,n),只要与对手拿走一样多的物品,最后都将导致(0,0,0)。仔细分析一下,(1,2,3)也是奇异局势,无论对手如何拿,接下来都可以变为(0,n,n)的情形。 计算机算法里面有...

qq_34023568的博客 397
上一篇: Vue 3 生命周期钩子详解
下一篇: 图论基础:图存+记忆化搜索
图灵科竞社资讯组
博客等级 码龄3年 435粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值