博弈论--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

【PADS-开发指南】

馒头破戒大师

sinat_23896491的博客 3225

Nim游戏——简单博弈论

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

我们都有光明的未来 660

EfficientNet中的MBConv模块详解:为什么它能如此高效?

本文深度解析了EfficientNet中的MBConv模块,详细介绍了其核心设计理念、效率优化技术和复合缩放理论。MBConv通过深度可分离卷积、倒残差结构和注意力机制三大关键技术,实现了计算效率与模型性能的平衡,成为高效网络结构设计的典范。

tcp8optimizer的博客 353

【博弈论】Nim游戏

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

ZZY6868的博客 1744

anaconda安装-超详细版

文章目录一、anaconda安装1.1 anaconda安装地址1.2 安装详细步骤检验安装是否成功更改conda源(后续安装第三方库可以加快速度) 一、anaconda安装 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。装anaconda,就不需要单独装python了。 anaconda优点: 1、anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而p

in546的博客 25万+

泛微OA表单开发实战:如何用JavaScript动态控制明细表的必填与可编辑属性

本文详细介绍了如何在泛微OA系统中使用JavaScript动态控制明细表字段的必填与可编辑属性。通过主表字段变更事件监听和明细表字段属性批量修改,实现智能化的表单交互,提升用户体验和系统灵活性。文章深入解析了关键API的使用方法,并提供了实战代码示例和最佳实践。

weixin_30955617的博客 550

博弈论——Nim游戏

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

tjhd05151434的博客 1787

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1501

博弈论之Nim游戏

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

dawzski22234的博客 264

YOLOv11 改进 - 注意力机制 | 空间增强注意力SEAM(Spatially Enhanced Attention Module)提升遮挡场景检测鲁棒性

本文介绍了分离与增强注意力模块(SEAM)在YOLOv11中的结合应用。SEAM模块旨在增强面部特征学习能力,特别是处理面部遮挡问题。它采用多头注意力机制强调面部区域、抑制背景区域,第一部分使用深度可分离卷积减少参数并学习通道重要性,通过1x1卷积增强通道联系,利用两层全连接网络融合通道信息,经指数归一化后作为注意力权重与原始特征相乘。我们将SEAM集成到YOLOv11的检测头中,并进行相关注册和配置。实验表明,该方法有助于提升模型检测性能。

魔改工程师的博客 1666

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 124

博弈论—Nim游戏

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

delostik的专栏 576

相机标定(六)—— 张正友标定法

相机标定一、相机标定的目的1. 相机的成像过程2. 相机标定的目的3. 畸变与畸变矫正二、张正友标定法简介三、标定相机内外参1. 求解内参和外参的积2. 求解内参矩阵3. 求解外参矩阵四、标定相机的畸变参数五、L-M算法参数优化六、相机标定的步骤七、源代码 一、相机标定的目的 1. 相机的成像过程 2. 相机标定的目的 3. 畸变与畸变矫正 二、张正友标定法简介 三、标定相机内外参 1. 求解内参和外参的积 2. 求解内参矩阵 3. 求解外参矩阵 四、标定相机的畸变参数 五、L-M算法参数优化 六、相机

weixin_41480034的博客 1万+

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

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

weixin_29146779的博客 225

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

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

nim游戏和博弈论

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

Maxwell_Newton的博客 1257

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

weixin_62953519的博客 3237

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

博弈论与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、付费专栏及课程。

余额充值