首页 > 其他分享 >博弈论

博弈论

时间:2023-12-15 20:57:07浏览次数:27  
标签:www 石子 博弈论 blog https oplus com

Nim 游戏

甲,乙两个人玩 nim 取石子游戏。
nim 游戏的规则是这样的:地上有 \(n\) 堆石子(每堆石子数量小于 \(10^4\)),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。假如甲是先手,且告诉你这 \(n\) 堆石子的数量,他想知道是否存在先手必胜的策略。
这其实是一道很典型的题目:P2197 【模板】Nim 游戏
先抛出定理:(\(\oplus\)代表异或)
Nim 和 = \(a_1 \oplus a_2 \oplus a_3 \oplus \cdots \oplus a_n\)
如果 Nim 和为 \(0\) 的时候,先手必败,否则先手必胜
其实理论是很抽象的。
为什么异或就可以算出先手必胜或者必败呢?

在证明之前不妨先知道几个定理:

  • 异或这个位运算支持交换律和结合律,所以可以交换着乱搞
  • 先手必胜等价于后手必输后手必胜等价于先手必输
  • 如果没有后继状态的状态必然是必败状态。(意思大概就是:如果后面的状态是先手必输,那么前面这个接着的状态就是先手必赢
  • 如果 \(a_1 \oplus x = k\) ,那么 \(a_1 \oplus x \oplus k = 0\)。
  • 如果 \(a_1 \oplus a_2 \oplus a_3 \oplus \cdots \oplus a_n = k\),那么 \(a_1 \oplus a_2 \oplus a_3 \oplus \cdots \oplus a_n \oplus k = 0\)。(学过位运算都知道吧

于是我们可以开始推导了:

  1. 首先明确我们的目标:目标是使得 \(a_1 = a_2 = a_3 = \cdot \cdot \cdot= a_n\) 也就是 \(a_1 \oplus a_2 \oplus a_3 \oplus \cdots \oplus a_n = 0\)。这一步应该很好的就退出来了。
  2. 如果这个先手此时的异或和 = 0时:代表着此时的状态也是0,显然,没有东西取了,必输
  3. 如果这个先手此时的异或和 != 0:那么有一种方案:可以根据上面的定理四使得下一个(即后手)是必输的,所以这个(先手)就是必胜的(是定理三)。

然后,就做完了!!

简单吗?简单。抽象吗?抽象。难吗?我学了一个晚上

如此简短的代码可以过掉一个绿题,很不应该。我学了一个晚上还懂(现在懂了。。),只是绿题,不应该

cin >> n;
ans=0;
for(int i = 1;i <= n;i++){int x;cin>>x;ans^=x;}
if(ans) cout<<"Yes\n";
else cout<<"No\n";

【参考文献】:

标签:www,石子,博弈论,blog,https,oplus,com
From: https://www.cnblogs.com/gsczl71/p/17904159.html

相关文章

  • 博弈论——小偷与守卫混合纳什均衡精解(十九)
    从经济学角度上讲,对于理性的人,犯罪成本高于犯罪收益,自然就不会去犯罪。所以简单回答就是,违法成本变高会减少犯罪。使违法成本变高有很多方法,最直接最常见的就是严打,即加大对犯罪的处罚力度。小偷-守卫博弈有助于我们对这些方面的思考,该博弈在双方采用纯策略的情况下不存在纳什均衡......
  • 博弈论——古诺博弈模型详解
    古诺模型(Cournotmodel)是博弈论中最具有代表性的模型之一,也是是纳什均衡最早的版本。它是法国经济学家古诺(AugustinCournot)在1938年出版的《财富理论的数学原理研究》一书中最先提出的。而古诺的定义比纳什的定义早了一百多年,足以体现博弈论这样一个学科是深深扎根于经济学的土......
  • 博弈论——信号博弈(十一)
    信号博弈是经济学和决策理论中的一个重要模型,它旨在解释如何在存在信息不对称的情况下,通过信号传递和反应函数的相互作用,实现均衡。信息不对称是指参与博弈的各方所拥有的信息不同,这可能导致不公平的结果。信号传递是指通过某种行为或信号,传递信息给其他参与方,以改善信息的对称性,......
  • 【笔记】博弈论
    【笔记】博弈论0基本概念&性质0.1博弈论1SG函数ps.通过SG函数来理解三个基本模型,也是不错的选择。1.2定义\(\text{SG}(x)=\text{mex}\{\text{SG}(y_i)\}\)(其中\(y_i\)为\(x\)的后继状态)1.3SG定理由\(n\)个博弈图组成的游戏,设起点(即每个连通分量内入......
  • P4260 博弈论与概率统计
    传送门description\(T\)次询问,每次给定\(n,m,p\),总共\(n+m\)局游戏,每局A有\(p\)的概率获胜。一局游戏获胜A的得分加1,否则减1,但是如果A在得分为0的情况下输了一局,得分不变。求A赢\(n\)局,输\(m\)局后游戏结束时A的得分的数学期望。\(n,m,T\leq2.5\time......
  • 博弈论(Nim游戏 , 有向图游戏)
    博弈论专题Nim游戏内容: 有n堆石子,每堆石子的石子数给出,甲乙两人回合制取石子,每次可以取任意一堆石子的任意多个(可以直接取完,但不能不取),每个人都按照最优策略来取(抽象),问先手必胜或先手必败? 结论: 设有n堆石子,每堆的个数分别为a1,a2,a3,……,an-1,an。则......
  • 10.11 博弈论之抢夺安排最后一名同学进校
    一开始解决这道题的时候很费解,想了一些办法发现都是无从下手,最后看到一位大佬写的有关博弈论的博客,突然顿悟。以下是题目内容std的国庆节结束了,由于疫情,校长决定让同学们分批进校。​至于每批学生来多少人由小蒲和小池负责,两个人轮番负责,需要所有人都可以进校,小蒲学长不想被别......
  • 博弈论——练习(十三)
    1(分钱)两人之间分\(10\)。使用下述方法:每个人说出一个至多为10的数字(非负整数)。如果两人说出的数字之和不超过10,那么每个人得到她所说出的钱数(多出的钱被销毁),如果两人提出的数字之和超过10并且数目不同,那么说出较小数的人得到自己所说的钱数,而另一个人则得到剩余的钱。如果......
  • 博弈论——连续产量古诺模型
    连续产量古诺模型连续产量古诺模型是博弈论中非常经典的模型,以两厂商连续产量古诺博弈为例:1、模型建立Player:两个供应相同产品的厂商产量:厂商1的产量为q1,厂商2的产量为q2,市场总供给为Q=q1+q2。市场出清价格P:市场总供给的函数P(Q)=8-Q(市场出清价格是可以将产品全部卖出的价格)成本......
  • 博弈论——不完全信息动态博弈(十)
    在动态博弈中,行动有先后次序;在不完全信息条件下,博弈的每一参与人知道其他参与人的有哪几种类型以及各种类型出现的概率,即知道“自然”参与人的不同类型与相应选择之间的关系,但是,参与人并不知道其他的参与人具体属于哪一种类型。由于行动有先后顺序,后行动者可以通过观察先行动者的......