博弈论 NIM取子问题 组合数学

博弈论基础 博弈类问题大致分为,公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)、反常游戏。只需要关注公平组合游戏(ICG)(ICG),反常游戏是公平组合游戏的变形,经济类博弈也不是博客所讨论的范围两个玩家轮流行动且游戏方式一致。两个玩家对状况完全了解。游戏一定会在有限步数内分出胜负。游戏以玩家无法行动结束。博弈的双方都被认为是神之个体,因为所有玩家对状况完全了解,且充分为自己打算,绝对理性当局面确定,结果必然注定,并且没有任何随机的成分。 阅读详情

Nim取子游戏是由两个人面对若干堆硬币(或石子)进行的游戏。设有k>=1堆硬币,各堆分别含有N1,N2,……NK 枚硬币。游戏的目的就是选择最后剩下的硬币。游戏法则如下:

1.两个游戏人交替进行游戏(游戏人I和游戏人II);
2.当轮到每个游戏人取子时,选择这些堆中的一堆,并从所选的堆中取走至少一枚硬币(游戏人可以取走他所选堆中的全部硬币);
3.当所有的堆都变成空堆时,最后取子的游戏人即为胜者。
这个游戏中的变量是堆数k和各堆的硬币数N1,N2,……Nk。对应的组合问题是,确定游戏人I获胜还是游戏人II获胜以及两个游戏人应该如何取子才能保证自己获胜(获胜策略)。

我们看一下特殊情况如何取胜:
如果游戏开始时只有一堆硬币,游戏人I则通过取走所有的硬币而获胜。现在设有2堆硬币,且硬币数量分别为N1和N2。游戏人取得胜利并不在于N1和N2的值具体是多少,而是取决于它们是否相等。设N1!=N2,游戏人I从大堆中取走的硬币使得两堆硬币数量相等,于是,游戏人I以后每次取子的数量与游戏人II相等而最终获胜。但是如果N1=N2,则:游戏人II只要按着游戏人I取子的数量在另一堆中取相等数量的硬币,最终获胜者将会是游戏人II。

每个正整数都有对应的一个二进制数,例如:57(10)==111001(2) ,即:57(10)=25+24+23+20。于是,我们可以认为每一堆硬币数由2的幂数的子堆组成。这样,含有57枚硬币大堆就能看成是分别由数量为25、24、23、20的各个子堆组成。

如果每一种大小的子堆的个数都是偶数,我们就称Nim取子游戏是平衡的,而对应位相加是偶数的称为平衡位,否则称为非平衡位。如有3堆为5、10、15

5=0∗23+1∗22+0∗21+1∗20
10=1∗23+0∗22+1∗21+0∗20
15=1∗23+1∗22+1∗21+1∗20

这个时候:

数量级数目
202
212
222
232

这个时候我们说上面的石子堆处于平衡状态。

我们以一个两堆硬币的Nim取子游戏作为试验。设游戏开始时游戏处于非平衡状态。这样,游戏人I就能通过一种取子方式使得他取子后留给游戏人II的是一个平衡状态下的游戏,接着无论游戏人II如何取子,再留给游戏人I的一定是一个非平衡状态游戏,如此反复进行,当游戏人II在最后一次平衡状态下取子后,游戏人I便能一次性取走所有的硬币而获胜。而如果游戏开始时游戏牌平衡状态,那根据上述方式取子,最终游戏人II能获胜。

归根结底,Nim取子游戏的关键在于游戏开始时游戏处于何种状态(平衡或非平衡)和第一个游戏人是否能够按照取子游戏的获胜策略来进行游戏。

三种经典博弈(取石子问题) 博弈是有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。 阅读详情

相关推荐

组合数学取子游戏nim

Nim is a 2-player game featuring several piles of stones. Players alternate turns, and on his/her turn, a player’s move consists of removing one or more stones from any single pile. Play ends when all the stones have been removed, at which point the last player to have moved is declared the winner. Given a position in Nim, your task is to determine how many winning moves there are in that position. 组合数学取子游戏代码实现。

取子问题 两个人怎么保证先走的赢

取子问题: 如果n%(m+1)为0,那么后手赢,如果n%(m+1)!=0,那么先手赢。 考虑到只剩m+1个棋子的时候,这个时候谁取谁输。   所以   如果n%(m+1)为0,那么先手至少取了1个,后手可以对应的取,使得剩下棋子数保持n%(m+1)=0,这样下去,先手一定会面临在m+1个棋子中取子的问题,先手必输。   如果n%(m+1)!=0,那么先手可以先行取子,使得剩余的棋子保持n%(m+1)=0,这样后手无论怎么取,先手都可以调整取子,使得n%(m+1)=0,这样就可以保证先手必赢。 .

qq_24624539的博客 1938

Win10 / Win11 启用 Hyper-V 虚拟机详细教程(图文+命令行全攻略)

摘要:本文详细介绍Windows10/11系统启用Hyper-V虚拟化平台的方法,包含专业版/企业版的图形界面和PowerShell命令行操作,以及家庭版通过脚本强制启用的特殊方案。内容涵盖版本支持对比、操作步骤图解、常见问题解答和性能优化建议,帮助开发者快速搭建虚拟化环境进行多系统测试。附微软官方文档参考链接和详细操作示意图。

ElioXu 7077

Nim取子游戏

Nim取子游戏属于“Impartial Combinatorial Games” 有若干堆石子N1,N2…,双方交替在堆中取子,取子数n∈[1,Ni]。 此游戏对于不同的石子情况下,先手和后手有对应的必胜策略。 首先定义游戏的平衡态 ⑴,将每一堆石子数二进制展开 Ni=Ait Ai(t-1)…..Ai1 i=1.2….k; 若各位的第i位的和为偶数,则称之为平衡态。 一个游戏处于平

jinyi763776890的博客 1366

【win11 cuda12.0安装tensorflow-gpu】

win11 cuda 12.0 安装 tensorflow-gpu

weixin_36299320的博客 3010

在线考试系统源码+数据库+word+ppt(高分毕业设计)

本系统通过Spring Cloud实现微服务拆分,将授权、考试、监控等功能解耦,既保证了系统的扩展性,也便于后期维护。基于OAuth2.0的单点登录,解决多服务统一认证问题;考试与练习模式分离,满足不同场景需求;集成Druid与Hystrix,保障系统监控与稳定性。

weixin_44355158的博客 737

取石子问题

取石子问题有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。     显然,如果n=...

pdsu_congshuang的博客 972

AI Agent在智能投研中的实战:多智能体信息整合与策略生成

那么,什么是AI Agent?简单来说,AI Agent是一种能够感知环境、做出决策并采取行动的自主系统。自主性:能够在没有人类直接干预的情况下运行,对自己的行为和内部状态有一定的控制权。反应性:能够感知环境的变化,并及时做出反应。主动性:不仅能够对环境变化做出反应,还能够主动地设定目标并采取行动实现这些目标。社会性:能够与其他Agent(包括人类和人工智能)进行交互、协作和竞争。它们可以全天候不间断地监控和处理海量信息,大大提升信息处理能力;

AI大模型应用之禅 191

博弈论 SG函数

别被文章长度吓到,学会博弈(SG)只用看前1/10。 鉴于讲明白博弈要写好多字,于是找了些论文拼凑,对疑难点加了注释并配上“美图”助解。 Nim游戏 重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。 Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论

Strangedbly 4万+

YOLOv8进阶:SEAM注意力与Repulsion Loss双剑合璧,突破遮挡检测瓶颈

做目标检测时,最头疼的莫过于目标被遮挡的场景——行人被树木挡住一半、车辆被广告牌遮挡部分轮廓……这些情况往往让模型“犯迷糊”。但现在,有了SEAM注意力模块和Repulsion Loss排斥损失,我们就能让YOLOv8在遮挡场景下也能“拨开迷雾见真章”。这篇教程会带你一步步理解这两个技术,并亲手把它们融入YOLOv8,让你的检测模型在复杂场景下也能稳如泰山。

FJN110的博客 233

SAP_SD模块路径及运输功能后台配置简介

后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义传输模式根据实际运输过程运输地理的类型:海运、公路运输、空运后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义发运类型根据实际运输过程运输方式:汽车、卡车、火车、轮船、飞机后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义运输连接点指在运输过程中需要中转的地区可以维护中转地区的停留的时间后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义路径和阶段。

我小时候很黑的博客 1399

preguntas-entrevista-react 工程实践:React 服务端并发渲染下的共享模块状态陷阱与请求数据隔离

本文围绕 React 服务端组件(RSC)与 SSR 场景下"禁止用可变的模块级变量承载请求级数据"这一核心规则展开,结合本仓库内 Vercel React Best Practices 技能库中的规则原文与配套规则文件,剖析并发渲染为何会把模块作用域变成"进程级共享内存",并通过正反示例、安全例外清单和相邻规则(如静态 I/O 提升、`React.cache()` 请求内去重)给出可直接落地到

gitblog_01413的博客 607

LDRA Testbed(TBrun)软件单元测试_实例讲解(对多次调用的函数打桩)

在之前的文章《LDRA Testbed(TBrun)软件单元测试_操作指南》中,已经讲解了如何使用TBrun进行软件单元测试的基本操作步骤。本篇文章将结合实例进一步讲解被测函数中包含多次调用其他函数时,如何对其打桩来实现测试目的(详细的操作流程本文不再重述,若有不清楚的,可以结合之前的操作指南一起来看)。本文以一个被测函数作为示例,讲解了如何使用Testbed(TBrun)对涉及到多次调用其他函数的被测函数进行单元测试。本文的示例可能比较简单,但是思路、方法和流程都是通用的,希望对大家有所帮助。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1463

博弈论--NIM游戏

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

mathematicians的博客 1383

勇闯dify v1.0.0之设置模型供应商。解决:Reached maximum retries (3) for URL https://marketplace.dify.ai/

朋友们,大家好,今天带大家来勇闯dify v1.0.0。为什么叫勇闯呢?我就这么说吧,本来我昨天就想带大家勇闯v1.0.0的。但是dify的marketplace访问不了。公司的网和手机热点都试了,就是访问不了。我们连个模型都没有,还勇闯个球啊,对吧,就搁置了。今天,我赶紧看看这个marketplace好了没。一看,可以了。赶紧写下这篇博客,帮助同志们走出困境。

xiezhipu的博客 4616

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

#博弈论 #公平组合游戏(ICG) #尼姆游戏(NIM) 20.09.06

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

仅仅是笔记。 2899

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【刷题】数学知识——博弈论:NIM游戏

博弈论的游戏主要分为:公平组合游戏: 游戏有两个人参与,二者轮流做出决策,双方均知道游戏的完整信息; 任意一个游戏者在某一确定状态可以作出的决策集合只与当前的状态有关,而与游戏者无关; 游戏中的同一个状态不可能多次抵达,游戏以玩家无法行动为结束,且游戏一定会在有限步后以非平局结束。非公平组合游戏 在非公平组合游戏中,游戏者在某一确定状态可以做出的决策集合与游戏者有关。大部分的棋类游戏都不是公平组合游戏,如国际象棋、中国象棋、围棋、五子棋等(因为双方都不能使用对方的棋子)。反常游戏 胜者为第一个无法行动的玩家

qq_42581685的博客 2641

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

博弈论之Nim

博弈论(一):Nim游戏 重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。 Nim游戏是组合游戏(Combinatorial Games)的一...

dianche1354的博客 430

【数论】博弈论 —— nim游戏

学习博弈论nim游戏(先手后手)问题

gzkeylucky的博客 1828

【算法基础篇】(六十)Nim 博弈超全解析:从基础原理到经典变种,玩转多堆取石子问题

本文系统介绍了Nim博弈及其变种。Nim博弈是多堆取石子问题的经典模型,其核心结论是通过计算各堆石子数的异或和判断胜负:异或和非零则先手必胜,否则必败。文章详细证明了该结论,并给出基础模板题和进阶操作方案题的代码实现。进一步介绍了阶梯型Nim博弈这一重要变种,其关键是将问题转化为仅考虑奇数级台阶的经典Nim博弈。通过两道实战例题(格子移石子和棋盘移棋子)展示了如何将实际问题转化为阶梯型Nim博弈。全文强调理解必胜态/必败态的推导逻辑和问题转化能力的重要性,为博弈论学习打下坚实基础。

2301_79248256的博客 1269

数学知识——博弈论

若一个游戏满足:1.由两名玩家交替行动2.在游戏进行的任意时刻,可以执行的合法行动与轮到哪位玩家无关3.不能行动的玩家判负则称该游戏为一个。则称该游戏为一个公平组合游戏。NIM博弈属于公平组合游戏,但城建的棋类游戏,比如围棋,就不是公平组合游戏。因为围棋交战双方分别只能落黑子和白子,胜负判定也比较复杂,不满足条件2和条件3。给定一个有向无环图,图中有一个唯一的起点,在起点放有一枚棋子。两名玩家交替把这枚棋子沿着有向边进行移动,每次可以移动一步,无法移动判负。这类游戏被称为。

m0_70897036的博客 851

《博弈论全家桶》(ACM / OI)(超全的博弈论 / 组合游戏大合集)

超级全的博弈论大合集 !

繁凡さん的博客 2万+

博弈论之公平组合游戏理论

感觉很多博弈论的资料没有写清楚为什么公平组合游戏要这样解决,为什么需要SG函数,为什么在Nim博弈里,求先手是否胜利是将每堆石子的石子数异或起来,为什么Bush博弈是找规律不用异或,Nim博弈需要异或。我尝试在这篇文章中把这些写清楚。多名玩家玩一个游戏,每个玩家都采取最优策略,均无失误,这类问题就是博弈论。即SG(x)函数为状态x(x是当前状态和决策有关的重要因素)能转到0~k - 1即k个连续的状态。可描述成状态x是k阶(0阶必胜态是必败态)必胜态。

Xiaoxiaodezhuren的博客 1048

Nim博弈论

Nim游戏的概述: 转载自: 博客园 : exponent https://www.cnblogs.com/exponent/articles/2141477.html 还记得这个游戏吗? 给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取。最后拿光珍珠的人输。 后来,在一份资料上看到,这种游戏称为“拈(Nim)”。据说,它源自中国,经由被贩卖到美洲的奴工们外传。辛苦的工...

画船听雨眠 534

博弈论(Nim游戏、有向图游戏之SG函数)

这里写目录标题经典NIM游戏Nim游戏属于公平组合游戏ICG有向图游戏(SG函数)Mex运算SG函数单个有向图(一堆石子)求SG值(记忆化递归)有向图游戏的和 ,(多个有向图(多堆石子)模板题 AcWing 893. 集合-Nim游戏练兵时间到(习题集)game(取后可分为两堆 (x^y<=x+y)S-Nim + sg函数+博弈+模板(vis数组代替setNim or not Nim?取*或* 分成两堆参考 经典NIM游戏 模板题 AcWing 891. Nim游戏 给定N堆物品,第i堆物品有Ai个

qq_51070956的博客 6365

(转载)Nim博弈论

最近补上次参加2019西安邀请赛的题,其中的E题出现了Nim博弈论,今天打算好好看看Nim博弈论,在网上看到这篇总结得超级好的博客,就转载了过来。 转载:https://www.cnblogs.com/exponent/articles/2141477.html Nim游戏的概述: 还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取。...

weixin_30757793的博客 99
上一篇: 蓝桥杯 网络寻路 暴力法 By Assassin
下一篇: 蓝桥杯 格子刷油漆 动态规划 By Assassin
Assassin__is__me
博客等级 码龄10年 179粉丝 200原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值