数学-博弈
愈努力俞幸运
这个作者很懒,什么都没留下…
展开
-
斐波那契博弈
斐波那契额博弈:有一堆个数为n(n>=2)石子,游戏双方轮流去石子,规则如下(1)先手不能一次把石子都取走,至少取一颗(2)之后每次可以取走的石子数最少为1,之多为对手刚取走的石子数的2倍,约定取走最后一颗石子的为赢家。结论:当n为菲波那切数时先手为必败态。F[i]1 2 3 5 8···链接:https://www.nowcoder.com/acm/contest/77/G来源:牛客网(F...原创 2018-02-26 20:58:46 · 115 阅读 · 0 评论 -
博弈-SG函数
SG函数:首先定义一个mex(minimal excludant)运算,这是一个施加于集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,3}=4;mex{1,2,4}=0;mex{}=0;对于任意的状态x,定义SG(x)=mex(S),其中S是x所有后继状态的SG 函数值的集合;SG(x)==0,当且仅当x为必败点时。那么sg(0)==0;实例:取石子问题有一堆n个的石子,每...原创 2018-04-05 17:31:28 · 240 阅读 · 0 评论 -
博弈-尼姆博弈(nimm)
有n堆若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光着获胜。 奇异局势:无论谁面对奇异局势都必然失败。a1^a2^···^an==0(奇异局势),先手必败。如果一开始不是奇异局势,那么先手可以如何选取,可以使自己获胜。例1:(14,21,39),14^21=27,39-27=12,所以从39中拿走12个物品即可形成奇异局势;例2:(55,81,121),55^...原创 2018-04-03 23:44:37 · 873 阅读 · 0 评论 -
博弈-威佐夫博弈
有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光着得胜。奇异局势的性质:1.任何自然数都包含在一个且仅有一个奇异局势中;2.任何操作都可以将奇异局势变为非奇异局势;3.采用适当的方法,可以将非奇异局势变为奇异局势。所以面对非奇异局势,先手必胜,否则先手必败。#include<iostream>#include<stdio...原创 2018-04-03 20:45:23 · 174 阅读 · 0 评论 -
博弈-菲波那切博弈
有一堆个数为n的石子,游戏双方轮流取石子,满足:1.先手不能在第一次把所有的石子取完;2.之后每次可以取的石子数介于1到对手刚取的石子数的2倍(包含1和对手刚取石子数的2倍);约定取走最后一个石子的人为赢家,求必败态。菲波那切数列f[n]:1 2 3 5 8···先手胜当且仅当n不是菲波那切数。...原创 2018-04-03 19:57:27 · 169 阅读 · 0 评论 -
博弈-巴什博奕-P/N图
kiki的游戏时间限制:5000/1000 MS(Java / Others)内存限制:40000/10000 K(Java / Others)总提交内容:12295已接受提交内容:7472问题描述最近kiki无事可做。虽然她感到无聊,但他脑海中浮现出一个想法,她只是玩棋盘游戏。桌子的大小是n * m。首先,硬币放在右上角(1,m)。每次有人可以将硬币移动到左侧,下方或左下方的空白处。无法移动的人...原创 2018-04-03 16:52:57 · 300 阅读 · 0 评论 -
博弈-巴什博弈-P/N图
P:必败点。前一个(Previous player)选手将取胜的位置。N:必胜点。下一个(Next player)选手将取胜的位置。必败(必胜)点的性质:1.所有终结点必是必败点(P);2.从任何必胜点(N)操作,至少有一种方法可以进入必败点(P);3.无论如何操作,从必败点(P)都只能进入必胜点(N)。...原创 2018-04-03 16:44:28 · 327 阅读 · 0 评论 -
博弈-巴什博弈
博弈论:是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论。巴什博弈(Bash Game):只有一堆n个物品,两个人轮流从这n个物品中取数,规定每次至少取一个,最多取m个,最后取光着获胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后取者获胜。因此我们发现了如何获胜的法则,每个回合时m+1个,如果n=(...原创 2018-04-03 10:58:18 · 582 阅读 · 0 评论 -
取石子游戏(斐波那契博弈)
取石子游戏#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define ll unsigned long longusing namespace std;int main(){ //ll t...原创 2018-02-26 21:24:11 · 165 阅读 · 0 评论 -
博弈-nim博弈
nim博弈有n堆若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最先取完着败。分析:对于n堆石子,一种情况是每堆都是1,那么谁输谁赢看堆数就知道;对于不都是1的话,若这些堆是奇异局势,或者是非奇异局势,但非奇异局势皆可转换到奇异局势。对于不都是1:初始给的是奇异局势的话,则先取者输;初始给的是非奇异局势的话,则先取者赢。int main(){int i,n,a[101]...原创 2018-05-02 20:21:58 · 193 阅读 · 0 评论