组合游戏/博弈论学习笔记

【博弈论】ACM博弈论知识总结 博弈论的入门令我十分痛苦,网上(包括竞赛教材)往往都只说怎么做,却不说为什么。综合各个资料,我详细总结了一下博弈论的知识,希望能对后来人也有所帮助吧 引入 1.游戏 ACM博弈论中考察的游戏大都以如下形式进行: ①两人轮流操作,每次可以在合法的操作集合中选取一种操作进行,游戏的局面/状态会随着操作而发生改变 ②这个合法的操作集合会随着局面的改变而发生改变: 比如在取石子的游戏中,规定可以取{1、3、5}个石子,在场上有6个石子时合法操作集合为{1、3、5},但是如果现在只剩下2个石子,那合法操作集合就变为了 阅读详情

【有一些东西不准确或者不对的还望各位大佬指正】

参考资料:

巴什博奕
威佐夫博弈
尼姆博弈

博弈论基本概念

一、概念

首先要明确,我们在这所讨论的【博弈题】都是【组合游戏】,最后所讨论的sg函数的适用范围也是【组合游戏】。

组合游戏

定义:
在游戏中双方都有完整的信息,没有牵涉,任何状态的合法操作对双方来说都是相同的。

判定:(相比定义更详(luo)细(suo)一些)

满足以下条件的游戏是ICG(可能不太严谨):1、有两名选手;2、两名选手交替对游戏进行移动(move),每次一步,选手可以在(一般而言)有限的合法移动集合中任选一种进行移动;3、对于游戏的任何一种可能的局面,合法的移动集合只取决于这个局面本身,不取决于轮到哪名选手操作、以前的任何操作、骰子的点数或者其它什么因素; 4、如果轮到某名选手移动,且这个局面的合法的移动集合为空(也就是说此时无法进行移动),则这名选手负。根据这个定义,很多日常的游戏并非ICG。例如象棋就不满足条件3,因为红方只能移动红子,黑方只能移动黑子,合法的移动集合取决于轮到哪名选手操作。

表示:
组合游戏可以抽象地用一个有向无环图来表示,这个图中每个点都对应这一个状态,每条有向边代表从一个状态到另一个状态的合法操作
这里写图片描述
这有一道和此定义相关的题poj2425【不过poj最近好像挂了】
我的题解

状态定义

P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败。因为前一个(previous)玩家将获胜,所以称作P。
N点:必胜点,处于此情况下,双方操作均正确的情况下必胜。
因为下一个(next)玩家将获胜,所以称作N。
这里写图片描述

二.三大博弈模型

巴什博弈:
内容:

只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。

结论:

如果n=(m+1)r+s(r为任意自然数,0< s≤m) 那么先取者获胜。
如果s=0 那么后取者获胜。

威佐夫博奕:
内容:

有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

结论:

必败点(P):(ai,bi)
ai=[i*(1+√5)/2](方括表示下取整),bi=ai+i
其余均为必胜点(N)

尼姆博奕:
内容:

有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

结论:(证明见后面sg函数的内容)

共n堆,每堆大小为a1,a2,……an
若a1^a2^a3……an=0 则为P-position(必败点)
其余情况为N-position(必胜点)

由此我们引出sg函数

三.sg函数

内容:

mex(minimal excludant):施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。
对于任意状态 x,定义 SG(x) = mex(S),其中 S 是 x 后继状态的SG函数值的集合。SG函数的终态为 SG(x) = 0,当且仅当 x 为必败点P时。

对于单个nim游戏我们可以直接得出它们的sg值(比如轮流取一堆石子),但是是对于多个组合游戏呢?
在这里用SG表示多个组合游戏的SG和
SG=sg(a)^sg(b)^……
为什么可以子组合游戏sg的异或值就是SG的值呢?
蒟蒻我也不知道,但是这有一段证明【异或】求法是正确的引用

它是P-position当且仅当a1^a2^…^an=0,其中^表示异或(xor)运算
1、最后的状态,全为零,显然成立;
2、对于某个局面(a1,a2,…,an),若a1^a2^…^an<>0,一定存在某个合法的移动,将ai改变成ai’后满足a1^a2^…^ai’^…^an=0。不妨设a1^a2^…^an=k,则一定存在某个ai,它的二进制表示在k的最高位上是1(否则k的最高位那个1是怎么得到的)。
这时ai^k< ai一定成立。则我们可以将ai改变成ai’=ai^k,此时a1^a2^…^ai’^…^an=a1^a2^…^an^k=0。
3、对于某个局面(a1,a2,…,an),若a1^a2^…^an=0,一定不存在某个合法的移动,将ai改变成ai’后满足a1^a2^…^ai’^…^an=0。因为异或运算满足消去率,由a1^a2^…^an=a1^a2^…^ai’^…^an可以得到ai=ai’。所以将ai改变成ai’不是一个合法的移动。证毕。
通俗的说,如果异或的结果为0,那么改变任何一个数,显然结果肯定不能为0了,如果结果不为0,改变某个特定一个数,可以使结果等于0,而异或运算恰好就满足这个条件。因而成就了这个不可思议的定理。

博弈论算法常见模型整理 本文主要介绍算法竞赛中常常出现的博弈论模型 阅读详情

相关推荐

算法 {博弈论,组合游戏,SG游戏}

1

qq_66485519的博客 394

关于组合游戏

这几天初步了解了组合游戏和博弈,在这里写一个总结。 首先说说状态图。状态图,顾名思义就是将游戏的各个状态作为一个节点表示在图中。在状态图中存在两种状态。一种就是P-position(先手必败状态),一种就是N-position(先手必胜状态)。对于状态图存在几个结论:1.一个状态是必败状态当且仅当它的所有后继都是必胜状态。   2.一个状态是必胜状态当且仅当至少它有一个后继是必败状态。   3.

顺 856

HDU 1848 浅谈组合游戏博弈论及SG函数MEX推导SG定理

世界真的很大 今天考试考了博弈论,发现对于博弈论除了原版的nim游戏之外就什么都不会了 对于作为其基础的SG函数及定理也是完全不了解,这样是不得行的 要通过不断地刷题,总结,得出一套博弈论的题的做题思路才好 看题先:description:任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n

BerryKanry的博客 2169

组合博弈理论

<br />百度文库下载这个花了10个财富,拿来跟大家分享啦~<br /><br /><br /><br /><br />博弈论(一):Nim游戏... 1<br />博弈论(二):Sprague-Grundy函数... 4<br />Game theory初步... 7<br />寻找必败态——一类博弈问题的快速解法... 14<br />博弈论(一):Nim游戏<br />重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^

菜鸟在努力-的专栏——不积跬步,无以至千里。 3528

博弈论·公平组合游戏 学习笔记

文章目录公平组合游戏ICGN状态和P状态游戏图Sprague-Grundy SG函数游戏的和Nim游戏 公平组合游戏ICG 我们把这样的一类问题称作ICG: 游戏有两个人参与,二者轮流做出决策,决策是有限的。且这两个人的决策都对自己最有利。当有一人无法做出决策时游戏结束,无法做出决策的人输 游戏过程中任意时刻有确定的状态 无论二者如何做出决策,游戏可以在有限步内结束 游戏中的同一个状态不可能多...

岂曰无衣,与子同袍 675

博弈论基础

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

m0_73085893的博客 2485

博弈论/组合游戏学习笔记

目录 1.公平组合游戏定义 2.必胜态与必败态定义 3.sg函数及Mex运算 4.各类经典博弈及例题整理 (1)Nim博弈(经典Nim+阶梯Nim) (2)巴什博弈 (3)威佐夫博弈 (4)斐波那契博弈 (5)集合、拆分Nim游戏(sg函数求值) 注:以下部分文案摘自《算法进阶指南》 一、公平组合游戏定义 1.公平组合游戏ICG 若一个游戏满足: 由两名玩家交替行动; 在游戏进程...

smilng的博客 1096

博弈论——组合游戏(Bash和nim)

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

GMOW_MoveOn的博客 859

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

超级全的博弈论大合集 !

繁凡さん的博客 2万+

浅谈算法——博弈论(从零开始的博弈论)

转自洛谷。 网上的博弈博客和论文有很多,但是有些没有详细的证明,仅仅是给出了结论。今天作者将一些常见的博弈论模板集中起来,给大家介绍一下博弈论中一些单一游戏的决策和常见的Nim模板与证明。 注:下列游戏都建立在双方都有最优策略的情况下,若未加以说明,则每人每次至少取一个石子。 例1:取石子游戏之一 有两个游戏者:A和B。有n颗石子。 约定:两人轮流取走石子,每次可取1、2或3颗。A先取,取走最后一...

Mi-Queen 2529

一种高超声速飞行器弹道的仿真方法

设计并实现了一个高超声速飞行器弹道仿真算法,并应用到基于OSGEarth的态势中。

eyepeak的博客 6542

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

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

Xiaoxiaodezhuren的博客 1048

AI赋能工业自动化:传感器大数据实战

工业自动化中AI与传感器大数据的结合,显著提升了生产效率与可靠性。关键技术包括实时数据处理、边缘计算和数字孪生,未来将进一步向自主决策系统演进。

AFAGA_x的博客 416

博弈论 详解

博弈论 ,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。 对于算法竞赛中的博弈问题,一般具有以下特征: 博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都使用最优策略来获取胜利。 博弈是有限的。即无论两人怎样决策,都会在有限步后决出胜负。 公平博弈。即两人进行决策所遵循的规则相同。 本文针对常见的几种博弈:巴什博弈、威佐夫博弈、斐波那契博弈、NIM博弈以及解决公平组合博弈的SG函数定理进行解

HeartFireY的博客 1万+

VBA解决Excel批处理任务之:批量修改Sheet名称

针对需要批量处理大量的Sheet改名的场景,使用VBA是非常便捷的方式。 简单介绍几种方法: 1. 录制宏法: 录制宏是用Excel自带的工具把改名改成一个可以复制操作的动作。 这里选择录制,会弹出一个宏设置窗口: 这里设置好宏名称就好,然后确定就可以开始录制你的操作。操作完成之后,再进入到宏窗口点击结束录制: 这样就可以通过执行来运行了,运行方法: 1. 通过选择宏: ...

跬步至千里 1万+

【pprof】简要学习教程

基本介绍 pprof 是在做性能优化前的性能分析工具。 安装: go get -u github.com/google/pprof 分析工具 go tool pprof 是命令行指令,用于分析 Profiling 数据,源数据可以是 http 地址,也可以是已经 dump 下当 profile 文件;查看模式可以命令行交互模式,也可以是浏览器模式(-http 参数)。 两种应用 服务型应用 _ "net/http/pprof" 包,专用于采集 web 服务 运行数据的分析。即在运行的服务中通过 API .

码农印象 885

【算法】博弈论(C/C++)

在算法竞赛中,博弈论算法常用于解决涉及对抗、策略选择、最优决策等问题。这类问题通常涉及两名或多名玩家在某种规则下的竞争,而每个玩家试图通过选择最优策略获胜。常见的博弈论问题类型包括零和博弈、格局游戏(如Nim博弈)、棋类游戏以及其他涉及策略选择的问题。

闻道有先后,术业有专攻 1万+

【AI知识点】启发式算法(Heuristic Algorithms)

启发式算法(Heuristic Algorithms) 是一种基于经验、直觉和局部优化的求解问题的算法,尤其适用于解决计算复杂度高、规模庞大的问题。它们通过简化问题、局部搜索和快速近似,提供了一种在短时间内获得“足够好”解的途径。虽然启发式算法无法保证全局最优解,但它们在实际应用中广泛使用,特别是在优化问题、任务调度和机器学习等领域。

AI完全体 3032

博弈论中组合游戏模型的算法浅析

博弈论及其算法分析 MBA智库百科 博弈论(Game Theory),又称对策论,或赛局理论,顾名思义,它是研究多个个体或团队之间在特定条件制约下的对局中利用相关方的策略。即,在某特定游戏规则下,参与者在行动之前所准备好的一套完整的行动方案。 博弈论既是现代数学的一个分支,也是运筹学的一个学科。 下面我主要讲算法竞赛中博弈论的模块。 我们先看一道题,是我第一次接触这种博弈思想的题。 有一天 pb和...

qq_44064400的博客 754

x265探索与研究(四):如何编码视频?

如何编码视频?           本文介绍x265中的两种编码视频方法,一是采用命令行的方法;二是GUI的方式。   1、命令行的方法   (1)、第一种方式生成*.265格式的视频文件           第一种方式可以生成*.265格式的视频文件,对应的命令为: x265 --input-res 352x288 --fps 30 hall_cif_352x288_300.y

成长Bar的博客专栏 3936

Pluto SDR新手避坑指南:从环境配置到第一个MATLAB收发程序(附完整代码)

本文为Pluto SDR新手提供全面的避坑指南,从硬件连接到MATLAB环境配置,再到第一个信号收发程序的实现。详细介绍了驱动安装、常见问题排查以及关键参数设置,帮助用户快速上手软件定义无线电(SDR)技术,并附有完整代码示例。

weixin_33168937的博客 325

有趣的数学 博弈论初探

博弈论可以帮助我们找到竞争情况下的最佳决策,或合作情况下最公平的决定。每个参与者的结果取决于他们的决定和其他玩家的决定。 它在商业、军事、体育、金融、个人生活、游戏等方面都很有用。 让我们看一个例子,看看博弈论如何帮助我们找到最佳决策。 纳什均衡可以应用于各种现实生活中的情况。例如,它解释了我们过度捕捞海洋的原因:尽管过度捕捞显然对整个生态系统不利,但对单个公司来说,停止捕捞是不好的,因为这样一来,该公司将停止盈利,而其他公司将继续捕鱼,从而继续盈利。纳什均衡也可以应用于经济、战争、政治和无数其他领域。

学以致用 知行合一 1323

新手必看!手把手教你如何在飞牛NAS上玩转Docker容器!(飞牛Nas(fnOS)如何创建Docke容器以及Compose部署项目)

新手必看!手把手教你如何在飞牛NAS上玩转Docker容器!(飞牛Nas(fnOS)如何创建Docke容器以及Compose部署项目)

XiaoqiangClub的博客 1万+

保研机试——公平组合博弈论

这个新的问题和之前的取石子问题规则完全不同,但你仍然可以使用相同的SG函数框架来解决它。这个框架是通用的,关键在于正确理解游戏的规则,从而正确地计算出每个子游戏局面的SG值。移动是。后继局面只有一个,其SG值是SGx−siSG(x-s[i])SGx−si])。移动是,其中ijki,j < kijk。后继局面由两个独立的子游戏组成,其SG值是SGi⊕SGjSGi⊕SGj。可以看到,虽然计算公式不同,但核心思想都是找到所有后继局面的SG值,然后取其。

Rhett_Butler0922的博客 1022

efm32 入门.pdf

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

SAP B1中文培訓教材_SDK

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

小谈博弈论

介绍博弈论及其简史,以及经典的博弈论问题和它们在oi中的应用。

2301_79021675的博客 843

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

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

nim游戏和博弈论

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

Maxwell_Newton的博客 1257

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 对拍
下一篇: poj2086 博弈论+dp
五彩蒟蒻DDD
博客等级 码龄10年 20粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值