博弈论

P1290 欧几里得的游戏(博弈论)

时光怂恿深爱的人放手 提交于 2020-01-24 13:35:33
博弈论是真的难!? 给你两个数,每次只能从大的那个减去小的数的正整数倍,先得到零的人获胜 分析一下,(假设为x,y,且x>y),x=ky+z,若k>=2,那么我(是不是就可以为所欲为了)想一下减完或者,留一个给对手减是不是都行,然后我再往后分析下,我不就必胜了么? 所以遇到了这种情况或者我可以直接赢的情况(x%y==0)直接输出就好了,否则再找这种情况不就得了(除了这两种情况,我只能规规矩矩的减,正整数倍) 1 #include<iostream> 2 using namespace std; 3 4 bool fun(int &a,int &b)//返回1就出现了赢家 5 { 6 int t1=max(a,b); 7 int t2=min(a,b); 8 a=t2; 9 b=t1%t2; 10 if(t1%t2)//表示非整除 11 { 12 if(t1/t2>=2)//不能整除但是系数大于0也结束 13 return 1; 14 else//继续 15 return 0; 16 } 17 else 18 { 19 return 1;//能整除就结束 20 } 21 } 22 int main(void) 23 { 24 int c; 25 cin>>c; 26 while(c--) 27 { 28 int a,b; 29 cin>>a>>b; 30 bool flag=1;/

P1288 取数游戏(博弈论)

99封情书 提交于 2020-01-24 12:02:28
转载自https://blog.csdn.net/Brian_Pan_/article/details/103860752 可以把环想象成两条路,如果没有天生的0,那两条路就是一样的(如果有的话,就两个方向跑一遍,奇数个非零alice必胜) 如果是偶数个的话,就没有必胜的策略了,只能根据bob所走的选择我们Alice最优的方案(不是我们考虑的范围) 1 #include<iostream> 2 using namespace std; 3 const int N=30; 4 int a[N]; 5 int main(void) 6 { 7 int n; 8 cin>>n; 9 for(int i=1;i<=n;i++) 10 { 11 cin>>a[i]; 12 } 13 int ans1=0; 14 for(int i=1;i<=n;i++) 15 { 16 if(a[i]) 17 ans1++; 18 } 19 int ans2=0; 20 for(int i=n;i>=1;i--) 21 { 22 if(a[i]) 23 ans2++; 24 } 25 if(ans1&1||ans2&1) 26 cout<<"YES"<<endl; 27 else 28 cout<<"NO"<<endl; 29 return 0; 30 } 我们可以把这个环想象成两条路

《博弈论》

空扰寡人 提交于 2020-01-19 09:18:37
浙大公开课:博弈论基础 1.搞清楚你要和谁竞争(对手是谁);考虑自己的同时,要考虑别人(换位思考) 2.不要在一个充分竞争的市场(门槛低)里追求成功。 所以不要去买彩票,和文盲在竞争,完全是在拼人品,没有技术可言。 所以,应该选择门槛高的行业,这样市场才没有充分竞争,才有充分的利润可以赚。 3.在博弈之前,博弈已经开始了。 选择很重要,有没有找对竞争对手、找对朋友、找对领导、找对行业。 4.策略让我们建立起从信息到行动的快速反应机制,从而能够以最快的速度做出行动选择。 what(信息分类) who(责任到人) action(具体措施) when(时效性) 5.参照物 1)顾客需要的不是便宜而是感觉占到便宜(参照物) 2)8->10 和 10->12虽然都是提升2元,但是给人感觉不一样; 12块钱4公里 和 10块钱3公里 给人感觉是不一样的 一个股市中总有几个被恶炒的股票,打开股民对股票的想想空间 4)两利相权取其中 5)让别人多做选择题,少做判断题 2、3个选择(避免选花眼),并且这2、3个选择里面有明显区别(托,参照作用) 6)把参照器放在自己手里 7)人是有限的理性 8)愿意吃亏,为了更好地合作 善意 释放愿意合作的信号 9)达成共识太困难了 (被误解的时候 看淡点) 10)规则决定游戏结局 6.一些博弈案例 1)囚徒困境:所做的决策(选择坦白)并不是最优选择,屈于游戏规则

博弈论小结

前提是你 提交于 2019-12-25 09:37:22
博弈论问题一般是,两人都采取最优的策略进行博弈,判读两人胜负。 博弈论一般分为以下几种: 这只是一篇结论性的文章。。 不会证明 预备知识 必胜态:当前状态按照最优策略一定必胜。 必败态:相反,就是必败态。 面临末状态是必败态(具体看题目要求,可能是必胜态) 一个状态是必胜态,必须满足:进行一个操作后,成为必败态 一个状态是必败态,必须满足:任何操作后,都是必胜态。 P-position:先手必败。上次move的人有必胜策略。即这次move的人必败。 N-position:先手必胜。这次move的人有必胜策略。 无法进行任何移动的局面为P-position; 可以移动到P-position的局面是N-position 所有移动都导致N-position的局面是P-position 巴什博奕 bash博弈,模型:n个物品,两个人轮流取,每次最少取1个,最多取m个,取到最后一个的人获胜。 如果n%(m+1)=0,先手必败。否则先手必胜。 威佐夫博弈 模型:威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 奇异局势:如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15

机器学习(三十八)——博弈论(1)

China☆狼群 提交于 2019-12-23 13:38:14
博弈论 博弈论(game theory)是一门单独的学科,和RL并无统属关系。然而由于RL,特别是MARL大量应用到了相关的知识,所以这里也把它写在RL系列里了。 历史 博弈论最早可追溯到“齐威王田忌赛马”,但它真正的发展是在20世纪下半叶。 RL的历史相对比较晚,因此从渊源来看,RL=博弈论+控制论+ML。 参考: https://blog.csdn.net/sobermineded/article/details/79601986 博弈论历史、发展与应用 教程 《Game Theory An Introduction》,Steven Tadelis著。 Steven Tadelis,经济学家。Harvard博士(1997),UCB教授。 概述 要理解博弈论,可以通过博弈论和决策论的区别开始。 决策论 是研究局中人在给定其他环境参数条件下的最优选择问题。 博弈论 研究的是当局中人充分考虑到其他局中人对其战略选择的反应后(即局中人都具有同样充分的理性时)进行最优战略的选择。 博弈论的直接目标不是找到一个玩家的最佳策略,而是找到所有玩家的最理性策略组合。我们称最理性策略组合为 均衡(equilibrium) 。 从宏观上可以将博弈论研究的问题分为: 合作博弈 和 非合作博弈 。现代狭义的博弈论一般是指非合作博弈。 非合作博弈根据参与博弈的参与人做决策的先后顺序可以分为

leetcode打卡之292 nim游戏

♀尐吖头ヾ 提交于 2019-12-17 06:16:28
不会做,但是一眼就造博弈论啊 不明白博弈论,这个东西感觉太高大上了,我脑子拒绝,但是不影响我做对它。 这种简单的题目找规律。找对就可了,难的还是找规律或者研究博弈论,自求多福。leetocde有很多找规律的题。有空还是会研究研究博弈论。 来源: CSDN 作者: zuosidelord 链接: https://blog.csdn.net/zuoside__lord/article/details/103566723

向纳什大神致敬

时光怂恿深爱的人放手 提交于 2019-12-03 15:21:30
博弈论是本科在运筹学那本书上浅浅的学习了一点,当时觉得挺有意思,但是也没继续深入研究。 后面看了《美丽心灵》这部震撼心灵的大片之后,我决定好好研究一下这个理论,我感觉,万物生存皆博弈,当然博弈论也是和我的研究方向是有关系的,我希望能用它来优化我的算法,从而达到一个良好的寻优状态,目前是每天会看一些博弈论有趣的小例子,比如情侣博弈,智猪博弈等等,简单有易懂。我再研究一下,回头更下我的收获,至于落实到编程方面,可能要久一点,另外我看看能否向纳什大神一样搞一个原创理论。 来源: https://www.cnblogs.com/gaowenxingxing/p/11448883.html

博弈论小结

喜欢而已 提交于 2019-12-03 01:31:57
最近学了一点博弈论。 来写写blog造福人民(~~怕自己忘了~~)希望可以写出一篇比较好懂的文章,这里没有一些绕口的定义,也没有什么麻烦的代码,只有思维上的火花: --- ## 先来讨论讨论什么是博弈论: 博弈论就是指有若干个人进行一些对弈,并且窝们默认每个人都是最聪明的,不会失误,都可以找到当前的最优解,然后来寻找有没有哪个人有必胜/必败的的策略。 --- ## 前置芝士: 窝们可以把一场博弈看成一颗树,以第一步为根,引出多叉。 感谢 [$Mital$](https://www.luogu.org/space/show?uid=30036) 的指出,这里并不可以当成一颗树,需要当成一张有向无环图,但是为了方便在文字中区分它连向的边和连向它的边,所以还是用颗树来表示(~~其实是我懒~~ 对于每个节点,它的子树表示它可以如何递归下去; 比如: ![](https://cdn.luogu.com.cn/upload/image_hosting/eu4j39wt.png) 0这个状态可以向1这个状态递推过去,也可以向2这个状态递推过去。 窝们考虑什么时候0这个状态是必胜的? ># 必胜是对于当前这个状态是必胜的,与是谁无关,赢的人只是处于一个胜的状态而已; 这句话,我觉得是博弈论的灵魂,窝们每个必胜的状态都是从对手的上个必败状态推来的,必败也是同理。 如上图,窝们当前是出于0这个状态

【博弈论】

独自空忆成欢 提交于 2019-12-02 23:47:48
博弈论 base 公平组合游戏 无偏博弈:任意局势游戏双方都是平等的回合制双人游戏,平等的含义时当前的所有可行的走法仅仅只依赖当前的局势,与当前谁移动无关 游戏有两个人参与,二者轮流做出决策,双方均知道游戏的完整信息; 任意一个游戏者在某一确定状态可以作出的决策集合只与当前的状态有关,而与游戏者无关; 游戏中的同一个状态不可能多次抵达,游戏以玩家无法行动为结束,且游戏一定会在有限步后以非平局结束 必胜点&必败点 \(P\) 点:必败点,在双方都聪明无比的情况下, 当前 先手必败的位置 \(N\) 点:必胜点,在双方都聪明无比的情况下,当前先手必胜的位置 几个性质: 所有的终止位置都是必败点 \(P\) 从任何一个必胜点 \(N\) 操作,至少有一种方法可以到达一个必败点 \(P\) 从一个必败点 \(P\) 出发,只能到达一个必胜点 \(N\) 常见模型: 巴什博奕 \((Bash GameBash Game)\) 威佐夫博弈 \((Wythoff GameWythoff Game)\) 尼姆游戏$(Nim GameNim Game) $ \(Anti−SG\) 游戏 \(Multi−SG\) 游戏 \(Every−SG\) 游戏 翻硬币游戏 树上删边游戏 博弈图和状态 如果将每个状态视为一个节点 再从每个状态向它的后继状态连边 就可得到一个博弈状态图 定义 必胜状态 为