博弈论之Nim游戏】的更多相关文章

Nim游戏是组合游戏(Combinatorial Games)的一种,属于“Impartial Combinatorial Games”(以下简称ICG). 通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动).         我们都知道,对于N堆石子,判断第一个人是否赢是将每个石子进行异或运算,如果结果为0则第一个人取得必输,否则必赢.…
说实话,我真的对这个游戏看得是一脸懵逼,因为(我太弱了)我没有明白一些变量的意思,所以一直很懵,现在才明白,这让我明白博弈论(还可以骗钱)博大精深; 以下是我自己思考的过程,也许不严谨,但是最终明白了. 这里只是粗略地介绍Nim游戏,一个入门博客,以来更好地进入SG函数(因为我才刚学 游戏简介 背景故事我就不说了,直接介绍游戏规则. 有n堆物品,每堆有$a_{i}$个物品,两个玩家每次可以任选一堆挑出任意整数个物品(可以整堆取完),但不能不取,取走最后一个物品的为胜者. 这个游戏历史久远,曾用来…
说到自己,就是个笑话.思考问题从不清晰,sg函数的问题证明方法就在眼前可却要弃掉.不过自己理解的也并不透彻,做题也不太行.耳边时不时会想起alf的:"行不行!" 基本的小概念 这里我们讨论的是公平游戏(ICG游戏:Impartial Combinatorial Games),满足: 1.双方每步的限制相同(轮流) 2.游戏有尽头 对于当前局面的玩家如果能有必胜策略,那就是N局面(反之,P局面) SG函数 每一种决策以及后面的所有可能可以抽象成有向无环图,而sg函数的计算就类似图上dp的…
百度百科 Definition 这样的游戏被称为Nim游戏: 1.有两个玩家,轮流进行操作 2.是公平游戏.即面对同一局面两个玩家所能进行的操作是相同的.例如中国象棋不是公平游戏.因为面对同一个局面,红方只能移动红色棋子而不能移动黑方棋子,黑房同理. 3.一个玩家是输掉当且仅当他无法进行操作.例如如果是两个人轮流取石子的游戏,那么一个玩家输掉当且仅当他面前没有石子了.因为他下面无法进行取石子的操作. 一般的,Nim游戏指两个玩家轮流在好几堆东西中取物品,不能夸堆取,无法操作判负. Solutio…
更好的阅读体验点这里 nim游戏 nim游戏 有两个顶尖聪明的人在玩游戏,游戏规则是这样的: 有\(n\)堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿),没法拿的人失败.问谁会胜利 nim游戏是巴什博奕的升级版(不懂巴什博奕的可以看这里) 它不再是简单的一个状态,因此分析起来也棘手许多 如果说巴什博奕仅仅博弈论的一个引子的话, nim游戏就差不多算是真正的入门了 博弈分析 面对新的博弈问题,我们按照套路,从简单的情况入手 当只有一堆石子的时候,先手可以全部拿走.先手必胜 当有两堆石…
Nim游戏在ACM中碰到了,就拎出来写写. 一般Nim游戏:有n堆石子,每堆石子有$a_i$个,每次可以取每堆石子中$[0,a_i-1]$,问先手是否有必胜策略. 泛Nim游戏:每堆石子有$a_i$个,每次可以取每堆石子中若干个且有一定限制,问先手是否有必胜策略. 我们定义 : P 表示 先手必败局N 表示 后手必败局 性质1:对于Nim游戏任何局面要么是P要么是N. 给出 N P 状态的严谨定义(性质) : 1. 无法更改局面的局面是 P 2. 可移动到 P 的是 N3. 所有移动都导致 N…
今天初步学习了一下博弈论……感觉真的是好精妙啊……希望这篇博客可以帮助到和我一样刚学习博弈论的同学们. 博弈论,又被称为对策论,被用于考虑游戏中个体的预测行为和实际行为,并研究他们的应用策略.(其实这句话没有什么卯月) 在OI中,博弈论的主要应用是一些经典的模型,以及sg函数,sj定理的应用. 首先我们来看博弈论最为经典的模型之一:Nim游戏 有n堆石子,每次可以从其中任意一堆石子中取出若干块石子(可以取完),不能不取. 最后无石子可取者为输家.假设两人都按最优情况走,问是否先手必胜. 为了计算…
写这篇博客之前,花了许久时间来搞这个SG函数,倒是各路大神的论文看的多,却到底没几个看懂的.还好网上一些大牛博客还是性价比相当高的,多少理解了些,也自己通过做一些题加深了下了解. 既然是博弈,经典的NIM游戏不得不提一下,这也是要不断提醒自己别忘了NIM游戏才是SG函数由来的核心关键! 1. 若干堆石头. 2. 甲和乙轮流从任意堆中取任意个石头. 3. 谁不能取就输. 分析: 对于一个博弈来说,P-position表示previous,代表先手必败,即后手必胜,N-position表示next,…
BZOJ_3105_[cqoi2013]新Nim游戏_线性基+博弈论 Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿.拿走最后一根火柴的游戏者胜利. 本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴.可以一堆都不拿,但不可以全部拿走.第二回合也一样,第二个游戏者也有这样一次机会.从第…
有N堆石子.A B两个人轮流拿,A先拿.每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出N及每堆石子的数量,问最后谁能赢得比赛. 例如:3堆石子,每堆1颗.A拿1颗,B拿1颗,此时还剩1堆,所以A可以拿到最后1颗石子.   Input 第1行:一个数N,表示有N堆石子.(1 <= N <= 1000) 第2 - N + 1行:N堆石子的数量.(1 <= A[i] <= 10^9) Output 如…