博弈论试题集

博弈论试题集
博弈论试题集

(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。

显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。

这个游戏还可以有一种变相的玩法:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者胜。

取石子(一)

时间限制:3000 ms | 内存限制:65535 KB

难度:2

描述

一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/

她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N

(1<=N<=1000000),两个人轮番取出其中的若干个,每次最多取M个

(1<=M<=1000000),最先把石子取完者胜利。我们知道,TT和他/她的室友

都十分的聪明,那么如果是TT先取,他/她会取得游戏的胜利么?

输入

第一行是一个正整数n表示有n组测试数据

输入有不到1000组数据,每组数据一行,有两个数N和M,之间用空格分隔。

输出

对于每组数据,输出一行。如果先取的TT可以赢得游戏,则输出“Win”,否则输

出“Lose”(引号不用输出)

最优解:

#include

using namespace std;

int main()

{

int k;

long m,n;

cin>>k;

while(k--)

{

cin>>n>>m;

if(n%(m+1)==0)

cout<<"Lose"<

else

cout<<"Win"<

}

}

巴什博弈变形:

有两种解,依实际情况而定:

取石子(七)

时间限制:1000 ms | 内存限制:65535 KB

难度:1

描述

Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈,Yougth和Hrdv分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个,Hrdv先取,输出胜利着的名字。

输入

输入包括多组测试数据。

每组测试数据一个n,数据保证int范围内。

输出

输出胜利者的名字。

解一:

#include

int n;

int main()

{

while(~scanf("%d",&n))

printf(n>=3?"Yougth\n":"Hrdv\n");

return 0;

}

解二:3的倍数的是Yougth嬴

#include

using namespace std;

int main()

{

int a;

while(cin>>a)

{

if(a%3!=0)

cout<<"Hrdv"<

else cout<<"Yougth"<

}

return 0;

}

尼姆博弈基本思想:

两人从n堆物品中取任意个,先取完者胜。

即将n堆物品的数量异或,得到的值如果为0,则先手败,反之先手胜。

如果要求先手在胜的条件下,到奇异局势的方法数,则判断异或的值与每一堆原值异或后(结果应该表示该堆没有参加异或时的异或值)与原值比较大小,

如果小于,则方法数加一。且对应的方法后,该堆的数目应变为异或的值与每一堆原值异或的值。

取石子(二)

时间限制:3000 ms | 内存限制:65535 KB

难度:5

描述

小王喜欢与同事玩一些小游戏,今天他们选择了玩取石子。

游戏规则如下:共有N堆石子,已知每堆中石子的数量,并且规定好每堆石子最多可以取的石子数(最少取1颗)。

两个人轮流取子,每次只能选择N堆石子中的一堆,取一定数量的石子(最少取一

个),并且取的石子数量不能多于该堆石子规定好的最多取子数,等哪个人无法取子时就表示此人输掉了游戏。

假设每次都是小王先取石子,并且游戏双方都绝对聪明,现在给你石子的堆数、每堆石子的数量和每堆石子规定的单次取子上限,请判断出小王能否获胜。

输入

第一行是一个整数T表示测试数据的组数(T<100)

每组测试数据的第一行是一个整数N(1

行每行表示一堆石子,这N行中每行有两个数整数m,n表示该堆石子共有m个石子,该堆石子每次最多取n个。(0<=m,n<=2^31)

输出

对于每组测试数据,输出Win表示小王可以获胜,输出Lose表示小王必然会败。

提示

注意下面一组测试数据

2

1 1

2 2

正确的结果应该是Win

因为小王会先从第二堆石子中取一个石子,使状态变为

1 1

1 2

这种状态下,无论对方怎么取,小王都能获胜。

最优解

#include

int main(){

int T;

scanf("%d",&T);

while(T--){

int m,n,g,sum=0;

scanf("%d",&g);

while(g--){scanf("%d%d",&m,&n);sum ^= m % (n + 1);}

puts(sum?"Win":"Lose");

}

}

一般解:

#include

using namespace std;

#include

bool HandleEachCase();

int main(){

int iCaseCount;

cin>>iCaseCount;

while(iCaseCount--){

if(HandleEachCase()){

cout<<"Win"<

}else{

cout<<"Lose"<

}

}

}

bool HandleEachCase(){

long long magic= 0;

long long iCount;

long long m, n;

cin>>iCount;

for(int i= 0; i< iCount; ++i){

cin>>m>>n;

m%= (n+1);

magic^= m;

}

return magic != 0;

}

取石子(六)

时间限制:1000 ms | 内存限制:65535 KB

难度:3

描述

最近TopCoder的PIAOYI和HRDV很无聊,于是就想了一个游戏,游戏是这样的:有n堆石子,两个人轮流从其中某一堆中任意取走一定的石子,最后不能取的为输家,注意:每次只能从一堆取任意个,可以取完这堆,但不能不取。假设

PIAOYI先取石子,请你帮他判断他是否能赢(假设他们取的过程中不发生失误,他们足够聪明)。

输入

第一行输入n,代表有n组测试数据(n<=10000)

以下每组测试数据包含两行:第一行:包含一个整数m,代表本组测试数据有m

(m<=1000)堆石子;

:第二行:包含m个整数Ai(Ai<=100),分别代表第i堆石子的数量。

输出

若PIAOYI赢输出“PIAOYI”,否则输出“HRDV”注意每组结果占一行。。

最优解:

#include

#include

using namespace std;

void in(int &a)

{

char ch;

while((ch=getchar())<'0'||ch>'9');

for(a=0;ch>='0'&&ch<='9';ch=getchar()) a=a*10+ch-'0';

}

int main()

{

int T;in(T);

while(T--)

{

int n;in(n);

int ans=0;

for(int i=0;i!=n;++i)

{

int b;in(b);

ans^=b;

}

if(ans) puts("PIAOYI");

else puts("HRDV");

}return 0;

}

取石子(三)

时间限制:1000 ms | 内存限制:1000 KB

难度:6

描述

小王喜欢与同事玩一些小游戏,今天他们选择了玩取石子。

游戏规则如下:共有N堆石子,已知每堆中石子的数量,两个人轮流取子,每次只能选择N堆石子中的一堆,取一定数量的石子(最少取一个),取过子之后,还可以将该堆石子中剩下的任意多个石子中随意选取几个放到其它的任意一堆或几堆

上。等哪个人无法取子时就表示此人输掉了游戏。注意,一堆石子没有子之后,就不能再往此处放石子了。

假设每次都是小王先取石子,并且游戏双方都绝对聪明,现在给你石子的堆数、每堆石子的数量,请判断出小王能否获胜。

例如:如果最开始有4堆石子,石子个数分别为3 1 4 2,而小王想决定要先拿走第三堆石子中的两个石子(石子堆状态变为3 1 2 2),然后他可以使石子堆达到的状态有以下几种:

3 1 2 2(不再移动石子)

4 1 1 2(移动到第一堆一个)

3 2 1 2(移动到第二堆一个)

3 1 1 3(移动到第四堆一个)

5 1 0 2(全部移动到第一堆)

3 3 0 2(全部移动到第二堆)

3 1 0 4(全部移动到最后)

输入

可能有多组测试数据(测试数据组数不超过1000)

每组测试数据的第一行是一个整数,表示N(1<=N<=10)

第二行是N个整数分别表示该堆石子中石子的数量。(每堆石子数目不超过100)当输入的N为0时,表示输入结束

输出

对于每组测试数据,输出Win表示小王可以获胜,输出Lose表示小王必然会败。

一般解:

#include

#include

#include

using namespace std;

bool HandleEachCase();

int main(){

while(HandleEachCase()){

//empty while

}

}

bool HandleEachCase(){

int iCount;

int count[101];

memset(count, 0, sizeof(count));

cin>>iCount;

if(!iCount){

return false;

}

int iStone;

for(int i= 0; i< iCount; ++i){

cin>>iStone;

++count[iStone];

}

int magic = 0;

for(int i= 0; i< 101 && !magic; ++i){

magic+= count[i]&1;

}

if(magic){

cout<<"Win"<

}else{

cout<<"Lose"<

}

return true;

}

分析:

显然,如果石头是能够两两配对,每一对的数目相同,比如:2,3,2,4可以配对成(2,2),(4,4) ,这样的话就是先拿的输,因为后拿的可以使自己拿完后仍然能够使得两两配对,且每一对的数目相同.

刚刚开始的时候,如果已经两两配对了,那么先拿的输了,否则,选拿的可以把最大的动一下手脚,使剩下的两两配对,且每一对的数目相同.

最优解:

#include

#include

using namespace std;

bool ok(int stone[])

{

for(int i=0;i!=110;i++)

if(stone[i]&1) return true;

return false;

}

int main()

{

int stone[110];

int n,m;

while(cin>>n && n)

{

memset(stone,0,sizeof(stone));

while(n--)

{

cin>>m;

stone[m]++;

}

cout<<(ok(stone)?"Win":"Lose")<

}

}

威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(12,20)。

可以看出,a0=b0=0,ak是未在前面出现过的最小自然数,而bk= ak + k,奇异局势有如下三条性质:

1。任何自然数都包含在一个且仅有一个奇异局势中。

由于ak是未在前面出现过的最小自然数,所以有ak > ak-1 ,而bk= ak + k > ak-1 + k-1 = bk-1 > ak-1 。所以性质1。成立。

2。任意操作都可将奇异局势变为非奇异局势。

事实上,若只改变奇异局势(ak,bk)的某一个分量,那么另一个分量不可能在其他奇异局势中,所以必然是非奇异局势。如果使(ak,bk)的两个分量同时减少,则由于其差不变,且不可能是其他奇异局势的差,因此也是非奇异局势。

3。采用适当的方法,可以将非奇异局势变为奇异局势。

假设面对的局势是(a,b),若b = a,则同时从两堆中取走a 个物体,就变为了奇异局势(0,0);如果a = ak ,b > bk,那么,取走b - bk个物体,即变为奇异局势;如果 a = ak , b < bk ,则同时从两堆中拿走ak - ab - ak个物体,变为奇异局势(ab - ak , ab - ak+ b - ak);如果a > ak ,b= ak + k,则从第一堆中拿走多余的数量a - ak 即可;如果a < ak ,b= ak + k,分两种情况,第一种,a=aj (j < k),从第二堆里面拿走b - bj 即可;第二种,a=bj (j < k),从第二堆里面拿走b - aj 即可。

从如上性质可知,两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。

那么任给一个局势(a,b),怎样判断它是不是奇异局势呢?我们有如下公式:

ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,...,n 方括号表示取整函数)奇妙的是其中出现了黄金分割数(1+√5)/2 = 1。618...,因此,由ak,bk组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a=[j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1+ j + 1,若都不是,那么就不是奇异局势。然后再按照上述法则进行,一定会遇到奇异

局势。

取石子(四)

时间限制:1000 ms | 内存限制:65535 KB

难度:4

描述

有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游

戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多

的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部

取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假

设双方都采取最好的策略,问最后你是胜者还是败者。

输入

输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。

输出

输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。

最优解:

#include

#include

using namespace std;

int main()

{

int m,n;

while(cin>>m>>n)

{

if (m > n)

{

int temp;

temp = m;

m = n;

n =temp;

}

int k = n - m;

int data = floor(k*(1.0+sqrt(5.0))/2.0);

if (data == m)

cout<<0<

else

cout<<1<

}

}

Wythoff Game

时间限制:1000 ms | 内存限制:65535 KB

难度:1

描述

最近ZKC同学在学博弈,学到了一个伟大的博弈问题--威佐夫博弈。

相信大家都学过了吧?没学过?没问题。我将要为你讲述一下这个伟大的博弈问题。

有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。

游戏规定,每次有两种不同的取法:

一是可以在任意的一堆中取走任意多的石子;

二是可以在两堆中同时取走相同数量的石子。

最后把石子全部取完者为胜者。

我们今天要做的是求前n个必败态。

什么是必败态?比如我们把(a,b)称为一种状态,a,b分别为两堆石子中所剩的

数目。如果a=0,b=0,我们说该种状态为必败态,因为我不能再进行游戏,即使是

可以进行,那也是必败的,你知道,游戏的我们都是非常聪明的。(0,0)(1,2)

(3,5)...都是必败态,我们今天要做的就是求前n个必败态。不会?好吧!

我再告诉你:假设第n个必败态为(a,b)a为前n-1个必败态中没有出现的最小

自然数,b=a+n。这下大家应该明白了吧。好吧,我们的任务就的要前n个必败态。

规定第0个必败态为(0,0)。

输入

多组数据。

输入为一个数n(0<=n<=100000)。

输出

按照要求求出前n个必败态。输出格式看下面样例。

样例输入

提示

注意:每种情况中间没有空格

#include

#include

typedef struct Node

{

int a,b;

}N;

N res[100001];

void init()

{

res[0].a=0;

res[0].b=0;

for(int i=1;i<100001;i++)

{

res[i].a=(1+sqrt(5))*i/2;

res[i].b=res[i].a+i;

}

}

int main()

{

int n;

init();

while(scanf("%d",&n)!=EOF)

{

for(int i=0;i<=n;i++)

{

printf("(%d,%d)",res[i].a,res[i].b);

}

printf("\n");

}

return 0;

}

本人自己写的代码:

#include

int main()

{

int n,k,b,a[100001],i,m=0;

a[0]=0;

while(~scanf("%d",&n))

{

if(n<=m)

{

for(k=0;k<=n;k++)

{

printf("(%d,%d)",a[k],a[k]+k);

}

}else

{

printf("(%d,%d)",a[0],a[0]);

for(k=1;k<=n;k++)

{

b=a[k-1]+1;

for(i=k-1;i>=0;i--)

{

if(b==(a[i]+i))

{

b++;

}else if(b>(a[i]+i))

{

break;

}

}

a[k]=b;

printf("(%d,%d)",a[k],a[k]+k);

}

m=n;

}

printf("\n");

}

return 0;

}

取石子(八)

时间限制:1000 ms | 内存限制:65535 KB

难度:3

描述

有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。如果你胜,你第1次怎样取子?

输入

输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000。a=b=0退出。

输出

输出也有若干行,如果最后你是败者,则为0,反之,输出1,并输出使你胜的你第1次取石子后剩下的两堆石子的数量x,y,x<=y。如果在任意的一堆中取走石子能胜同时在两堆中同时取走相同数量的石子也能胜,先输出取走相同数量的石子的情况,假如取一堆的有多种情况,先输出从石子多的一堆中取的情况,且要求输出结果保证第二个值不小于第一个值。

最优解:

#include

#include

#include

#include

using namespace std;

int main()

{

int a,b,temp,temp2,k,i;

while(scanf("%d%d",&a,&b),a+b)

{

if(a>b)

swap(a,b);

k=b-a;

temp=k*(1.0+sqrt(5.0))/2.0;

if(a==temp) //奇异局势

printf("0\n");

else

{

printf("1\n");

if(abs(temp-a)==abs(temp+k-b)&&temp

printf("%d %d\n",temp,temp+k);

if(a==0) //0 0情况,第一种奇异局势

printf("0 0\n");

for(i=1;i<=b;i++) //一堆

{

temp=i*(1.0+sqrt(5.0))/2.0;

temp2=temp+i;

if(temp>b)

break;

if(temp==a&&temp2

printf("%d %d\n",a,temp2);

else if(temp2==a&&temp

printf("%d %d\n",temp,a);

else if(temp2==b&&temp

printf("%d %d\n",temp,b);

}

}

}

return 0;

}

Fibonacci’s Game(斐波那契博弈)斐波那契博弈模型,大致上是这样的:

有一堆个数为n 的石子,游戏双方轮流取石子,满足:

1. 先手不能在第一次把所有的石子取完;

2. 之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。

约定取走最后一个石子的人为赢家,求必败态。

(转)分析:

n = 2时输出second;

n = 3时也是输出second;

n = 4时,第一个人想获胜就必须先拿1个,这时剩余的石子数为3,此时无论第二个人如何取,第一个人都能赢,输出first;

n = 5时,first不可能获胜,因为他取2时,second直接取掉剩下的3个就会获胜,当他取1时,这样就变成了n为4的情形,所以输出的是second;

n = 6时,first只要去掉1个,就可以让局势变成n为5的情形,所以输出的是first;

n = 7时,first取掉2个,局势变成n为5的情形,故first赢,所以输出的是first;

n = 8时,当first取1的时候,局势变为7的情形,第二个人可赢,first取2的时候,局势变成n为6得到情形,也是第二个人赢,取3的时候,second直接取掉剩下的5个,所以n = 8时,输出的是second;

…………

从上面的分析可以看出,n为2、3、5、8时,这些都是输出second,即必败点,仔细的人会发现这些满足斐波那契数的规律,可以推断13也是一个必败点。

借助“Zeckendorf定理”(齐肯多夫定理):任何正整数可以表示为若干个不连续的Fibon acci数之和。n=12时,只要谁能使石子剩下8且此次取子没超过3就能获胜。因此可以把12看成8+4,把8看成一个站,等价与对4进行"气喘操作"。又如13,13=8+5,5本来就是必败态,得出13也是必败态。也就是说,只要是斐波那契数,都是必败点。

所以我们可以利用斐波那契数的公式:fib[i] = fib[i-1] + fib[i-2],只要n是斐波那契数就输出No。

取石子(五)

时间限制:1000 ms | 内存限制:65535 KB

难度:4

描述

himdd最近很想玩游戏,于是他找到acmj和他一起玩,游戏是这样的:有一堆石子,两个人轮流从其中取走一定的石子,取走最后所有石子的人为赢家,不过得遵

循如下规则:

1.第一次取不能取完,至少取1颗.

2.从第二次开始,每个人取的石子数至少为1,至多为对手刚取的石子数的两倍。

himdd事先想知道自己会不会赢,你能帮帮他吗?(每次himdd先手)

输入

有多组测试数据,每组有一个整数n(2<=n<2^64);

输出

himdd会赢输出Yes,否则输出No;

一般解:

#include

using namespace std;

int main()

{

long long n,fib[100];

int i,flag;

fib[0]=2;

fib[1]=3;

for(i=2;i<100;i++)

fib[i]=fib[i-1]+fib[i-2];

while(cin>>n&&n)

{

flag=0;

for(i=0;i<100;i++)

if(fib[i]==n)

{

cout<<"No\n";

flag=1;

break;

}

if(flag==0)

cout<<"Yes\n";

}

return 0;

}

Nim Staircase博奕:

这个问题是尼姆博弈的拓展:游戏开始时有许多硬币任意分布在楼梯上,共n

阶楼梯从地面由下向上编号为0到n。游戏者在每次操作时可以将楼梯

j(1<=j<=n)上的任意多但至少一个硬币移动到楼梯j-1上。游戏者轮流操作,将最后一枚硬币移至地上(0号)的人获胜。

算法:将奇数楼层的状态异或,和为0则先手必败,否则先手必胜。证明略。

例题:Poj1704

这道题可以把两个棋子中间间隔的空格子个数作为一堆石子,则原题转化为每次可以把左边的一堆石子移到相邻的右边的一堆中。也就是阶梯尼姆博弈,注意对输入数据先排序,然后倒着往前数(a[n]-a[n-1]-1为第一个),奇数个数到的就做一下xor,其中最前面的看做a[1]-0-1,参考程序:

vart,n,b,i,j:longint;a:array[0..1000]of

longint;beginreadln(t);repeatdec(t);readln(n);for i:=1 to n do

read(a[i]);qsort(1,n);//快排略j:=0;b:=0;for i:=n downto 1

dobegininc(j);if odd(j) then b:=b xor (a[i]-a[i-1]-1);end;if b=0 then writeln('Bob will win') else writeln('Georgia will win');until t=0;end.

SG函数模板

首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。

对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里的g(x)即sg[x]

例如:取石子问题,有1堆n个的石子,每次只能取{1,3,4}个石子,先取完石子者胜利,那么各个数的SG值为多少?

sg[0]=0,f[]={1,3,4},

x=1时,可以取走1-f{1}个石子,剩余{0}个,mex{sg[0]}={0},故sg[1]=1;

x=2时,可以取走2-f{1}个石子,剩余{1}个,mex{sg[1]}={1},故sg[2]=0;

x=3时,可以取走3-f{1,3}个石子,剩余{2,0}个,mex{sg[2],sg[0]}={0,0},故sg[3]=1; x=4时,可以取走4-f{1,3,4}个石子,剩余{3,1,0}个,mex{sg[3],sg[1],sg[0]}={1,1,0},故sg[4]=2;

x=5时,可以取走5-f{1,3,4}个石子,剩余{4,2,1}个,mex{sg[4],sg[2],sg[1]}={2,0,1},故sg[5]=3;

以此类推.....

x 0 1 2 3 4 5 6 7 8....

sg[x] 0 1 0 1 2 3 2 0 1....

计算从1-n范围内的SG值。

f(存储可以走的步数,f[0]表示可以有多少种走法)

f[]需要从小到大排序,这个模版f是从1开始的。hash数组大小跟f[]大小差不多

1.可选步数为1~m的连续整数,直接取模即可,SG(x) = x % (m+1);

2.可选步数为任意步,SG(x) = x;

3.可选步数为一系列不连续的数,用GetSG()计算

//f[]:可以取走的石子个数

//sg[]:0~n的SG函数值

//hash[]:mex{}

int f[N],sg[N],hash[N];

void getSG(int n)

{

int i,j;

memset(sg,0,sizeof(sg));

for(i=1;i<=n;i++)

{

memset(hash,0,sizeof(hash));

for(j=1;f[j]<=i;j++)

hash[sg[i-f[j]]]=1;

for(j=0;j<=n;j++) //求mes{}中未出现的最小的非负整数

{

if(hash[j]==0)

{

sg[i]=j;

break;

}

}

}

}

下边补充一点东西。

上边那个模版求hash时候并没有考虑f[j]有效长度,在某些题目中可以通过,比如这个。因为在求斐波那契数列时候肯定多求了一个,而就是因为这个会在求hash时候打破循环。

其实总的来说还是这个函数并不严密。因为有的时候f[]是有有效长度的,如果多出了这个

基于博弈论的夫妻冲突分析

一个女人能有多美,通常是由与她相伴的男人来决定;一个男人能走多远,往往是由与他相随的女人来决定。夫妻之间的物质生活水平,通常是由收入较高的一方来决定;夫妇之间的精神生活水平,往往是由素质较低的一方来决定。 囚徒困境 在囚徒困境这个例子中,两个囚犯的上策都是坦白,因此最容易出现的结局也就是两人都被判5年。这个结局构成了一种博弈均衡状态,当对局者选择的都是上策的时候,这种均衡叫做上策均衡。在博弈论中,所谓均衡是指一种稳定的结局,当这种结局出现的时候,所有对局者都不想再改变他们所选择的策略。二.情侣冷战对峙 现将囚徒困境的报酬矩阵分析引入到一对情侣的冷战对峙中,见下图: H表示主动的一方感觉自己付出更多从而受到伤害,生出不平衡感;E代表不主动的一方有种优越成就感谈过恋爱的人都会对此有深刻的体会吧。闹矛盾有别扭之后,有时也可能两人都想主动了,但谁也不先迈出这一步,在不知道对方策略和想法的情况下,一权衡一算计就总害怕自己亏了,又或者碍于情面拉不下面子,不肯服个软。于是乎,秋水望穿了,花瓣也掰完了,最后是怎样呢?在这个矩阵中我们需要考虑的是,或者说我们的假设前提是,双方都是完全理性的,是完全以利己目的和最大化利益为原则行事的人。上策均衡显然并非最好的结局,但却是博弈双方经过反复权衡后所采取的认为对自己最有利的选择。但我们知道,所谓的爱情是没有理性可言的,它是一种激情,一旦斤斤计较反复权衡利弊得失,那就不叫爱。所以非常有意思的是,这个矩阵中出现的上策均衡(O,O——OVER),即双方都不主动从而导致感情破裂爱情失败的结局,正说明了爱情只要一权衡一算计,俩人都矜持和自私的话,那么最终铁定玩完。 三、夫妻关系的博弈分析 感情,爱情,亲情夫妻关系尴尬的了现实的活动中,夫妻关系既有和谐、融洽的一面,也存在冲突、矛盾的一面。每5对佳侣新婚燕尔之时,就有一对夫妻分道扬镳。 无论是丈夫还是妻子,双方都有自己的利益追求和价值取向,而家庭生活成为他们博弈的载体和工具。

浙大博弈论考试题目

博弈论考试 1、完全信息静态博弈 1“老师点名和学生逃课”的案例 构建如下模型:老师 点名不点名 学生逃课a1,b1 a2,b2 不逃课a3,b3 a4,b4 结果:(1)老师每次点名,学生每次不逃课 a3> a1 ,b3> b4 ,a2< a4 ,b2< b1 (2)老师每次不点名,学生每次不逃课 a4> a2 , b4> b3 , a1< a3 , b1< b2 (3)老师有时候点名,学生有时候逃课 a1< a3 , a2> a4 , b1> b2 , b3< b4 (4)老师每次不点名,学生每次逃课 a2> a4 , b2> b1 , a3< a1 , b3< b4 2市场占有者和想进入市场者 构建模型:占有者 默认斗争 进入者进入(40,50)(-10,0) 不进入(0,300)(0,300) 没有占优战略均衡,也没有重复剔除的占优均衡。 结果:(1)占有者默认,进入者进入时,占有者会损失部分利益 (2)占有者斗争,进入者进入,则占有者利益变0,而进入者为负,两败俱伤,因而占有者“斗争”是弱劣战略。 (3)占优者默认,进入者不进入,则占有者获得全部市场 (4)(斗争,不进入时,占有者仍获得全部市场。 综上存在两个纳什均衡,(进入,默认)和(不进入,斗争) 3应试教育和素质教育学生 应试教育素质教育 学校应试教育(0,0)(0,-1) 素质教育(-1,0)(1,1) (1)假设学校和学生都采取应试教育为(0,0),那么若他们都转向素质教育达到最优结局(1,1),(2)但如果单方面采取素质教育,另一方为应试教育,其支付就变为-1,比如如果学校重视应试成绩,而学生重视素质教育,学生单方面受损,为-1 (3)若学校注重素质教育,而学生只注重成绩,学校的策略难以推行,支付为-1. 此博弈中存在两个纳什均衡,即(应试,应试)和(素质,素质),虽然(素质,素质)是最优纳什均衡,但一方采取素质教育存在风险:另一方为应试时,支付变为-1;若采取应试没有变为-1的风险,那么最终结局为(应试,应试)。4两个人合作开发一项产品假设项目开发成功每人收益为4,失败时收益为 0,偷懒者的机会成本为1

博弈论期末习题

《博弈论》期末习题 专业:经济学学号:2 ;姓名:王兆丽 一、试写出掷硬币博弈的局中人及其策略与得益函数,并写出双变量得 益矩阵。 答:局中人:盖硬币者和猜硬币者。 策略:有正面和反面两种可选择策略,若猜对,猜者得1盖者-1.否则猜者-1盖者1.由于每一方都不会让对方在选择之前知道自己的决策,所以可以看做是同时做决策的。 双变量得益矩阵; 猜硬币方 二、试举生活中的一例,说明囚徒困境是如何产生的?并试分析可能走 出囚徒困境的途径。 答:例子:中国移动和中国联通之间的价格战。 产生原因:囚徒困境是在个体之间存在行为和利益相互制约的博弈结构中,以个体理性和个体选择为基础的分散决策方式,无法有效地协调各方面的利益,并实现整体、个体利益共同的最优。简单的说,囚徒困境问题都是个体理性与集体理性的矛盾引起的。 可能走出的囚徒困境途径:(1)惩罚。如果政府对实行价格战以获利的企业实行惩罚,那么就会制止这种现象发生。(2)忠诚文化。有时候,建立一种相互忠诚的文化也可以帮助走出囚徒困境。在很多组织中,团体产生所面临的囚徒困境问题的轻重程度是不同的,这种差异的根本来源就是各个组织有自己的文化。(3)长期关系和重复博弈。建立长期关系使得囚徒困境博弈可以多次重复,如果这个“多次”足够长,那么人们就有可能为了长远的将来利益而牺牲眼前的一笔横财,合作也是可以达成的。

三、用逆向归纳法求解下面的博弈的子博弈完美纳什均衡。 答:1、该博弈共包括四个子博弈:(1)从博弈方1选择R 以后博弈方2的第二 阶段选择开始的三阶段动态博弈;(2)从博弈方2第二阶段选择R 以后博弈方1 的开始选择的两个阶段动态博弈;(3)第三阶段博弈方1选择A 以后博弈方2 的单人博弈;(4)第三阶段博弈方1选择B 以后博弈方2的单人博弈 2、根据逆推归纳法先讨论博弈方2在第四阶段的选择。由于选择C 、D 个中 任何一个的得益都相同,因此在这阶段随意选择一个都可以。倒退回第三阶段, 博弈方1选择AB中任何一个都可以。再推回第二阶段,博弈方2选择L将得到 3选择R得到2,因此选择L;最后回到第一阶段,博弈方1选择L得到2选择 R得到3,。所以该博弈的子博弈完美纳什均衡为:博弈方1第一阶段选择R, 博弈方2第二阶段选择L,即(3,1)是该博弈的完美纳什均衡。 四、两个寡头企业进行价格竞争博弈,企业1的利润函数是 q c aq p ++--=21)(π,企业2的利润函数是p b q +--=22)(π,其中p 是企业1 的价格,q 是企业2的价格。求: 1.两个企业同时决策的纯战略纳什均衡; 两个企业同时定价。根据两个企业的得益函数,很容易导出它们各自的反应 函数:απ1 /αp = -2(p-aq+c)=0 ____ p=aq-c απ2/αq = -2(q-b)=0 ______ q=b

博弈论考试答案

2009——2010学年第二学期《社会生活中的博弈论》试题学院:专业: 姓名:学号: 成绩: 一:什么是“囚徒困境”,举出你对社会生活中观察到的“囚徒困境”的例子。 答:囚徒困境是指在力求获得自己最好的结果时,却选到了不那么好的结果。它说明了个体理性与集体理性的不同,也说明了只追求自身利益最大化的行为,有时会导致失去最大利益。故事中两个囚犯面对的境况,就形象鲜明的说明白了。 举例:在此想特别说下目前中国改革开放取得了众多成就,经济实力也越来越雄厚。但是我们在各种领域却没有什么创新。在中国各种政治会议、科技会议、学校会议等等可以说都在说要有创新,可是有谁去创新了。当官的所在科技上要创新,却不给科学家多少科研经费。这难免成了一句口头语而已。另外还有商家之间的价格战与广告战、中国的素质教育与应试教育、世界各国之间的核军备与核裁军等等事事只为己而不利人的事,就是“囚徒困境”。 二:什么是非合作博弈?什么是合作博弈?分别举出它们的例子。并说明为什么随着人类文明的发展合作博弈的情况越来越多。 答:1、非合作博弈是指博弈时完全不考虑其他博弈者的利益,只考虑如何获得自己的最大利益,并且常常是通过占有对方的利益来获得自己的利益。当利益有限而博弈各方都只为自身着想时必然是

合作博弈。 举例:下象棋、围棋、篮球、足球等双方性的比赛,以及法庭控辩、疆域之战等都为获得自己利益的最大化而未考虑对方的利益,就是非合作博弈。在中国几千年的历史中,没有那一代人不喜欢赌博,而赌博就是非合作博弈的最极端的一种。在中国人的心里就根深蒂固着有“小赌怡情,大赌伤身”的思想。 2、合作博弈是参加博弈的各方固然是要争取自己的利益,但又要注意他人的利益。是在各方共同遵守一些约定,并在考虑整体利益的条件下去争取自己的最大利益。同时在争取自己最大利益时,不会去破坏约定,不会不顾及整体利益。因为只有在合作博弈中才能得到最大利益。现实可行的个体利益的最大化与他人利益的最大化的理性结合的部分叫做合作博弈。 举例:在世界各国间我们知道有很多的国与国形成了组织。像欧盟、G8、G20、东盟、WTO等等都是为了满足彼此各方更多的利益相互合作。 在社会生活中各种各样的合同越来越多,要签订各种合同就得注意各方的利益。在社会中各种各样的协会、商会也越来越多,他们就是为了防止陷入囚徒困境,恶性竞争而形成一个满足大家利益的一个组织。 另外在全球气温逐渐升高的情况下,地球环境日益污染严重的情况下,一个国家是绝对无法解决问题的。为了人类的长久生存,世界各国达成了很多协议共同解决问题。每年世界各国都有各种不同主题

博弈论复习题及答案

博弈论复习题及答案 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

一、名词解释(每题7分,共28分) 1、逆向选择:逆向选择源于事前的信息不对称,经典例子就是“柠檬市场”——二手车市场,它使得市场资源逐渐流向低质量的产品或要素,最后形成劣货驱逐良货的局面,这种现象称之为“逆向选择”。 2、策略互动:所谓策略互动,就是参与人之间的策略相互影响、相互作用和相互制约。用策略性思维来分析问题,从中找出合理策略,实现目标最优。 3、纳什均衡:对于博弈方而言,互为最优的策略选择就是纳什均衡。 4、信号发送:是指信息优势方不断发出信息的行为,就叫信号发送。 5、博弈论:研究人们如何进行决策,以及这种决策如何达到均衡(合理策略)的问题。每个博弈者在决定采取何种行动时,不但要根据自身的利益和目的行事,还必须考虑到他的决策行为对其他人的可能影响,以及其他人的反应行为的可能后果,通过选择最佳行动计划,来寻求收益或效用的最大化。 二、简要回答问题(每题10分,共40分) 1、博弈的基本要素有哪些基本特点是什么 答:博弈的基本要素有:参与人、策略、行动顺序、信息、收益等五个要素。博弈的基本特点则是需尽可能考虑到博弈对方的决策选择以及对自身的影响,并从中选择出对自身最有利的方案决策,从而达到收益和效用最大化。 2、什么是性别战博弈请求出其中的纳什均衡

答:性别战博弈是不可调和的博弈,双方只有一方选择满足另外一方的要求才能达成均衡,也就是混合策略纳什均衡;故性别战博弈的纳什均衡会有两种情况,分别是:男生陪女生看电影以及女生陪男生看足球的两种选择。 3、猎鹿博弈反映的基本思想是什么 答:反应的基本思想是需要沟通和互相协调,因为只有合作才能猎到所需猎物。 4、什么是道德风险有什么办法可以解决道德风险问题 答:道德风险是指委托-代理框架中,由于委托人无法直接观察代理人行动,造成信息不对称,从而出现代理人选择不利于委托人的行为的一种现象;解决道德风险的方法可以用签订合同、派人监督,以及采用激励等方式来进行解决,约束和激励机制。 三、计算题(16分) 1、求解下列博弈中的纳什均衡(包括混合策略纳什均衡)。 F 2 B 2 F 1 B 1 答:根据上方的矩阵图,我们可得出其博弈中存在两种策略的纳什均衡:分别是H 选择F1和N 选择F2,以及H 选择B1和N 选择B2 2、A 、B 两者博弈:A 首先行动,可以选择“左”或者“右”的行动;B 后行动,有“L ”和“R ”的行动,其收益如下:当A 选左,B 选L 时,A 的收益为2 ,B 的收益为3;当A 选左,B 选R 时,A 的收益为1 ,B 的收益为4;当A 选右,B 选L 时,A 的收益为3 ,B 的收益为1;当A 选右,B 选R 时,A 的收益为N H

基于博弈论的恋爱模型

《数学建模》 课程考核论文 姓名:王湘衡齐久坤张程勇 学号:08100225 08100217 08100232 班级:08信息2班 2011年5 月10日

基于博弈论的恋爱数学模型 摘要 本文用数学建模的方法研究博弈论中的问题,从不完全信息静态博弈建立模型建立模型,并利用纳什均衡原理程序来确定纳什均衡点,对不同均衡点进行分析,从而来确定最佳策略。然后通过海萨尼转换将不完全信息静态博弈转换成不完全信息动态博弈,来模拟现实社会中的恋爱,再利用恋爱者不同类型的分布概率,求出恋爱者的期望,最终来决策恋爱者自己下一步的策略。 关键词:恋爱模型博弈论贝叶斯纳什均衡

1、问题重述 随着社会的进步和发展,现在恋爱问题越来越成为生们关注的热门话题,那么如何利用数学知识来确定恋爱中双方能找到适合自己的恋人,成为现在数学建模中研究的一个重要领域。恋爱模型可以用博弈论来确定双方的合适恋人,这其中将恋爱双方都理想化,这样将给我们研究恋爱问题和建立数学模型带来方便,使我们能将恋爱模型数学化,从而确定恋爱者的进一步决定。 2.模型假设及符号说明 模型假设: 1、恋爱双方都有自己明确的恋爱目标 2、恋爱双方从始至终都保持着自己的理性 3、恋爱双方都有自己喜欢类型的人,并且不会随时间变化 4、恋爱的男女通过对方的行为能够明确的判断出对方为哪种类型的人 5、恋爱的参与生都选择的是均衡战略 符号说明: 3. 问题分析与模型建立 3.1 问题分析 谈恋爱作为一个日常生活中最常见的现象要模型化却也并不简单。我们不妨

这样来看,谈恋爱的男女双方,各有不同类型,我们简单将其分为为了寻找真正爱情的人和为了骗财骗色的人。虽然这样不免有所武断,但我们分析的是一般现象,寻求的是一般解释。有了这样的分类便有了不同的组合,有了我们这个世界的爱恨情仇。我们的分析中有现代版的陈世美,却不会让他得逞,原因是理性经济人的假设。有人说这一点说不通,我不这样认为,经济学说所有人都是理性的并不影响不理性家伙们的存在,能解释一切的理论只能是没有内容的套套逻辑。一个理论的解释力只不过是它一般化的程度罢了。 简单的博弈理论己深入人心,显然上面的问题是不完全信息博弈,无论是男追女还是女追男,信息的不完全或是不对称是显而易见的,用博弈论的话说是对对方的了解不够精确。因此,我们依据博弈论理论可以将其分为静态博弈和动态博弈。静态分析是找出其静态均衡,动态分析是揭示现实中生的行为。 3.2 模型的建立 3.2.1不完全信息静态博弈模型 所谓静态是指所有参与生都同时行动,不会以别人行动的信息来更改自己的行动。我们以最常见的男追女为例,一个男生追求一个女生,在此情况下女生最苦恼的是不知男生是A类型的人还是B类型的人,虽然自己可以从各种渠道了解男生,但知生知面不知心,风险还是存在的。在这种情况下女生所遇到的就是不确定性条件下的选择问题,因为女生不仅不知道男生的类型(A还是B),而且还不知道不同类型的分布概率,但她对自己所属的类型是清楚的,这是她的私人信息。同理男生也是这样。 下面来设定支付函数的权值,以便求出纳什均衡点,设男A类追求者,只要他追求A类女生就得到10,他不追求A类女生就得到-10,A类女生接受得到10,拒绝得到-10;男B类追求者,他追求A类女生得到10,不追求得到-10,A类女生接受得到-10,拒绝得到10;男A类追求者,他追求B类女生得到-10,不追求得到10,B类女生接受得到10,拒绝得到-10;男B类追求者,他追求B类女生得到10,不追求得到0,B类女生接受得到10,拒绝得到0;他们的支付函数的权值依赖追求者的类型。这里用下面四张表说明:

博弈论考试题目

博弈论考试题 一、名词解释(20分) 1.纳什均衡 2.子博弈完美均衡 3.重复博弈 4.贝叶斯博弈 二、简答题(30分) 1.按照信息和顺序,博弈有哪些分类?且对应的均衡概念分别是什 么? 2.在完全信息静态博弈中,求纳什均衡的方法有几种,分别是什么? 3.对于重复博弈,合作解可能在哪些情况下产生? 三、分析题(25分,每小题5分) 假设公安局抓住了两个合伙犯罪的嫌疑犯,但获得的证据并不十分确切,对于两者的量刑就取决于两者对于犯罪事实的供认。这两名犯罪嫌疑人在公安局是分别关押以防他们串供。两名犯罪嫌疑人都知道,如果他们都交代犯罪事实,则可能将各被判5年;如果他们都不交代,则有可能会被较轻的妨碍公务罪各判2年;如果一人交代,另一人不交代,交代者会被立即释放,不交代者被判8年。回答以下问题:(1)请写出这两名犯罪嫌疑人博弈的支付矩阵。 (2)假设这两名犯罪嫌疑人都是自私且不讲江湖道义的人,同时被审问且不能够相互沟通串供。请给出该博弈的纳什均衡。(3)说明这两个囚徒的困境在哪里?

(4)利用囚徒困境博弈对下面现象进行解释:电信市场上移动和联通的价格战。 (5)请指出一种走出囚徒困境的办法。 四、计算题(25分) 企业甲和企业乙都是家电制造商,他们都可以选择生产高端或是低端产品,两企业在不同选择下的利润如以下得益矩阵所示。假设企业甲先于企业乙进行产品选择并投入生产,企业乙在决定生产时已经知道企业甲的选择,而且这一点大家都知道。 (1)请写出该博弈的扩展式; (2)该博弈的子博弈完美均衡是什么? 企业2 高端低端 高端 企业1 低端 答题要求: 1.必须手写; 2.稿纸单面书写; 3.下周三上午统一交。

《经济博弈论》期末考试复习

《经济博弈论》期末考试复习资料 第一章导论 1.博弈的概念: 博弈即一些个人、队组或其他组织,面对一定的环境条件,在一定的规则下,同时或先后,一次或多次,从各自允许选择的行为或策略中进行选择并加以实施,并从中各自取得相应结果的过程。它包括四个要素:参与者,策略,次序和得益。 2.一个博弈的构成要素: 博弈模型有下列要素:(1)博弈方。即博弈中决策并承但结果的参与者.包括个人或组织等:(2)策略。即博弈方决策、选择的内容,包括行为取舍、经济活动水平或多种行为的特定组合等。各博弈方的策略选择范围称策略空间。每个博弈方各选一个策略构成一个策略组合。(3)进行博弈的次序:次序不同一般就是不同的博弈,即使博弈的其他方面都相同。(4)得益。各策略组合对应的各博弈方获得的数值结果,可以是经济利益,也可以是非经济利益折算的效用等。 3.合作博弈和非合作博弈的区别: 合作博弈:允许存在有约束力协议的博弈;非合作博弈:不允许存在有约束力协议的博弈。主要区别:人们的行为互相作用时,当事人能否达成一个具有约束力的协议。 假设博弈方是两个寡头企业,如果他们之间达成一个协议,联合最大化垄断利润,并且各自按这个协议生产,就是合作博弈。 如果达不成协议,或不遵守协议,每个企业都只选择自己的最优产品(价格),则是非合作博弈。 合作博弈:团体理性(效率高,公正,公平) 非合作博弈:个人理性,个人最优决策(可能有效率,可能无效率) 4.完全理性和有限理性: 完全理性:有完美的分析判断能力和不会犯选择行为的错误。 有限理性:博弈方的判断选择能力有缺陷。 区分两者的重要性在于如果决策者是有限理性的,那么他们的策略行为和博弈结果通常与在博弈方有完全理想假设的基础上的预测有很大差距,以完全理性为基础的博弈分析可能会失效。所以不能简单地假设各博弈方都完全理性。 5.个体理性和集体理性: 个体理性:以个体利益最大为目标;集体理性:追求集体利益最大化。 第一章课后题:2、4、5 2.设定一个博弈模型必须确定哪几个方面? 设定一个博弈必须确定的方面包括:(1)博弈方,即博弈中进行决策并承担结果的参与者;(2)策略(空间),即博弈方选择的内容,可以是方向、取舍选择,也可以是连续的数量水平等;(3)得益或得益函数,即博弈方行为、策略选择的相应后果、结果,必须是数量或者能够折算成数量;(4)博弈次序,即博弈方行为、选择的先后次序或者重复次数等;(5)信息结构,即博弈方相互对其他博弈方行为或最终利益

博弈论复习题及标准答案

囚徒困境说明个人的理性选择不一定是集体的理性选择。(√) 子博弈精炼纳什均衡不是一个纳什均衡。(×) 若一个博弈出现了皆大欢喜的结局,说明该博弈是一个合作的正和博弈。( ) 博弈中知道越多的一方越有利。( ×) 纳什均衡一定是上策均衡。(×) 上策均衡一定是纳什均衡。(√) 在一个博弈中只可能存在一个纳什均衡。(×) 在一个博弈中博弈方可以有很多个。(√) 在一个博弈中如果存在多个纳什均衡则不存在上策均衡。 (√ ) 在博弈中纳什均衡是博弈双方能获得的最好结果。(×) 在博弈中如果某博弈方改变策略后得益增加则另一博弈方得益减少。(×)上策均衡是帕累托最优的均衡。 (×) 因为零和博弈中博弈方之间关系都是竞争性的、对立的,因此零和博弈就是非合作博弈。 (×) 在动态博弈中,因为后行动的博弈方可以先观察对方行为后再选择行为,因此总是有利的。(×) 在博弈中存在着先动优势和后动优势,所以后行动的人不一定总有利,例如:在斯塔克伯格模型中,企业就可能具有先动优势。 囚徒的困境博弈中两个囚徒之所以会处于困境,无法得到较理想的结果,是因为两囚徒都不在乎坐牢时间长短本身,只在乎不能比对方坐牢的时间更长。 (×) 纳什均衡即任一博弈方单独改变策略都只能得到更小利益的策略组合。(√ ) 不存在纯战略纳什均衡和存在惟一的纯战略纳什均衡,作为原博弈构成的有限次重复博弈,共同特点是重复博弈本质上不过是原博弈的简单重复,重复博弈的子博弈完美纳什均衡就是每次重复采用原博弈的纳什均衡。(√ ) 多个纯战略纳什均衡博弈的有限次重复博弈子博弈完美纳什均衡路径:两阶段都采用原博弈同一个纯战略纳什均衡,或者轮流采用不同纯战略纳什均衡,或者两次都采用混合战略纳什均衡,或者混合战略和纯战略轮流采用。(√) 如果阶段博弈G={A1, A2,…,An; u1, u2,…,un)具有多重Nash均衡,那么可能(但不必)存在重复博弈G(T)的子博弈完美均衡结局,其中对于任意的t

基于博弈论的爱情浅析

基于经济学的爱情攻略浅析 摘要 随着市场经济的发展,人们对事物认知态度的变化,经济学的应用范围进一步扩大,人们的行事原则越来越趋向于经济学上的“理性”。就现状而言,经济学的分析不仅局限于某些领域,只要存在人类的社会活动,就存在经济,就存在资源合理配置问题,也就有经济分析的必要。谈恋爱是校园中的一个普遍现象,本文从经济学的视野中透视,爱情中的微观经济学问题,包括从预算线角度分析择偶以及爱情中的博弈关系,并试图以经济学的理论提出缓解和解决有关爱情现象问题的建议。 关键词:微观经济学;爱情;预算线;博弈论

Analysis based on the economics of love Raiders 【Abstract】:With the development of market economy, people's attitudes change perception of things, to further expand the scope of application of economics. More and more people tend to act on the principle of "rational" economics. On the current situation, the analysis is not limited to certain areas of economics. As long as the existence of human social activities, there is the economy. There is a reasonable allocation of resources, there is need for economic analysis. Love is a common phenomenon in the campus. This paper is from the perspective of economy. The love of microeconomics issues, including the budget line from the perspective of the relationship between mate and love the game, and tried to ease the economic theory proposed and recommendations to address issues related to the phenomenon of love. 【Key words】:Game theory; microeconomics; love; budget line

博弈论考试试题

博弈论考试试题 你有三个小时考试时间。回答所有问题。考试内容比较多,我在认为最难的问题旁边标注了星号,如果你担心不够时间,可以把这些带星号的问题留到最后才做。 1.(55分钟—36分)简略回答下面每个子问题。请写出你的计算过程,并在你不能给出正式结论时,提供大概的解释,那样我可以给你部分分数。 (a)尽可能给出正式的说明,指出一个观察到的行为是无穷连续的多级博弈意味什么?给出一个不是无穷连续博弈的例子。 (b)尽可能给出正式的说明,指出一个一般性支持的性质意味着什么?在课上我们看到什么理论关于一般性支持的性质? (c)课堂上,在说明带有可观察行为的有限扩展型博弈和无限期多级博弈时,我不同地详细讲述了支付函数。支付函数范畴是如何不同?为什么我做出这个改变? (d)在扩展型博弈中给出一个策略的正式定义。 (e)给出一个博弈的例子,其中一个看起来不合理的结果在一个子博弈完美均衡里变成可能。(f)下面显示的扩展型博弈里,博弈者1有多少个纯策略?写出正常形式的支付矩阵。这个博弈有多少子博弈? (g)找出下面博弈中全部的纳什均衡。

(h )找出二阶段博弈的子博弈完美均衡,博弈者在成本a/16处选择a ,于是博弈者1和2同时行动进行博弈,如下面所示。 (i )找出同时行动博弈中的纳什均衡,其中博弈者1选择1a ∈?,博弈者2选择2a ∈?,支付是,

考虑如下的关于信任的博弈,这在很多试验中都做过。试验者从给博弈者1$10和给博弈者2$0开始。然后试验者问博弈者1愿意将多少美元给博弈者2来帮助他。如果他选择给x美元给试验者,则试验者给博弈者2 *3x。随后,博弈者2有机会将一些或全部(或没有)他获得的钱给博弈者1。 (a)假定这两个博弈者都是风险中性的,仅关心他们自己的支付,找出这个博弈的子博弈完美均衡。(顺便说明,子博弈完美均衡不像在试验中出现。通常博弈者1给出一些,但不会把全部的钱给回试验者) (b) 这个博弈有博弈者获得更高支付的纳什均衡吗? (c)假定我们修改了博弈,以致在上述的两阶段后,博弈者1有机会打博弈者2。假定这将减少博弈者1的效用1美元,减少博弈者2的效用5美元。这将改变你们在(a)和(b)中的答案吗?如果我们在第二阶段后有如下显示的博弈会怎么样呢?作个你认为合理的预测。 (d*)对这个试验结果的另一个解释是,博弈者可以是无私心的。说明无私心的最简单表达——每个博弈者最大化他自己的美元支付和其他博弈者美元支付的权重和——除了权重上一个特别(非强迫)的选择,不能解释试验规则性。你能想出可能被用来说明试验结果的效用函数吗?

博弈论测试题四

博弈论测试题四 (每题10分) 1、在下面的战略式表述博弈中,说明两个参与人是否有占优战略及其理由,是否有占优战略均衡,若有,说明均衡结果。 2、在下面的战略式表述博弈中,说明战略组合(U, L)不是纳什均衡和(D, R)是纳什均衡的理由。 3、求下面扩展式表述博弈的纳什均衡及结果。 3, 0 7, -1 2, 5 5, 1 L R Column Row U D 9, 5 5, 3 6, 7 9, 5 L R Column Row U D 进入者 (40, 50) (10, 30) (0, 400) (0, 400)

4、求下面战略式表述博弈的混合战略纳什均衡,画出反应对应图。 5、在下面的扩展式表述博弈中,写出两个参与人的战略空间,求其子博弈精炼纳什均衡及结果。 6、求下面扩展式表述博弈的子博弈精炼纳什均衡及结果。 2, 2 4, 3 3, 4 2, 2 L R Column Row U D 在位者 (300, 0) (0, -10) (300, 0) (100, 90) 1 (10, 60, 0) (0, 50, 20)

7、图示以下列战略式表述博弈为阶段博弈的无限重复博弈的纳什威胁点、可行支付集合、个人理性支付集合、个人理性可行支付集合和子博弈精炼可达到的支付集合。 8、写出下列扩展式表述博弈的战略式表述,求出这个博弈的纳什均衡及结果,如何使两个企业既守法又不减少所获收益? 9、在以下静态贝叶斯博弈中,在位者知道自己是低成本的,进入者不知道在位者是高成本还是低成本,但知道在位者是高成本的概率是60%,两个参与人同时行动,画出这个博弈的扩展式表述,说明在进入者选择进入的情况下在位者在两种成本情况下的战略选择,计算进入者两种战略选择的期望支付,写出这个博弈的贝叶斯纳什均衡及结果。 企业1 (1, 1) (-1, 2) (2, -1) (1, 1) 在位者 高成本[0.6] 低成本[0.4] 进入 者 进入 不进入 默许斗争 默许 斗争 8, 8 0, 6 6, 0 2, 2 L R Column Row U D

博弈论考题与答案

一、假设市场上有三个垄断企业,企业无生产成本,问达到纳什均衡时的产量为多少?假设市场的价格和数量之间P=a—b*Q 解: 二、什么是纳什均衡,你是如何理解纳什均衡的? 答:纳什均衡指的是这样一种战略组合,这种战略组合由所有参与人的最优战略组成,也就是说,给定别人战略的情况下,没有任何单个参与人有积极性选择其他战略使自己获得更大利益,从而没有任何人有积极性打破这种均衡。当然,“纳什均衡”虽然是由单个人的最优战略组成,但并不意味着是一个总体最优的结果。如上述,在个人理性与集体理性的冲突的情况下,各人追求利己行为而导致的最终结局是一个“纳什均衡”,也是对所有人都不利的结局。 三、构建一个博弈,说明如何杜绝学生考试作弊现象(参考高薪养廉博弈) 答: 四、给出该博弈的纳什均衡,并用消除劣势战略法,找出 (R1,C3)这个纳什均衡。 C1 C2 C3 R1 2,12 1,10 1,12 R2 0,12 0,10 0,11 R3 0,12 0,10 0,13 五、两个老朋友在一起喝酒,每个人有四个纯战略:杠子、老虎、鸡和虫子,输赢规则是:杠子降鸡,鸡吃虫子,虫子降杠子,两人同时出令。如果一个打败另一个,赢的效用为1,输的效用为-1,否则效用为0,写出这个博弈的支付矩阵,计算其混合战略纳什均衡。 答:设S为棒子T为老虎C为鸡W为虫子,则其支付矩阵为: 2 S T C W S 0,0 1,-1 0,0 -1,1 1 T -1,1 0,0 1,-1 0,0 C 0,0 -1,1 0,0 1,-1 W 1,-1 0,0 -1,1 0,0 设1、2出STCW的概率分别为P1P2P3P4和Q1Q2Q3Q4,则矩阵达到均衡时,2的期望收益必须满足:0*p1—1*p2+0*p3+1*p4=1*p1+0*p2—1*p3+0*p4=0*p1+1*p2+0*p3—1*p4= —1*p1+0*p2+1*p3+0*p4 整理为—p2+p4=p1—p3= —p1+p3 由于上式为对称的,所以,p1=p2=p3=p4,又p1+p2+p3+p4=1,可得p1=p2=p3=p4=0.25. 同理q1=q2=q3=q4=0.25 综上所述,混合战略的纳什均衡为:A1(0.25,0.25,0.25,0.25)A2(0.25,0.25,0.25,0.25) 六、5个海盗抢到了100颗宝石,每一颗大小和价值都一样他们决定这么分:抽签决定自己的号码(1、2、3、4、5)。首先,1号提出分配方案。然后大家5人进行表决,当超过半数的人同意时,按照他的提案进行分配,否则将被扔人大海喂鳌鱼。如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔人大海喂鳖鱼。以次类推。假定每个个强盗都是经济学假设的“理性人”,假定每个判决都能顺利执行。那么,如果你是第一个强盗,你该如何提出分配方案才能够使自己的收益最大化? 七、假设选民政治态度是成线性均匀分布的,说明为什么两党政治具有欺骗性,如果是三党政治情况如何,为什么? 答:政党和政治家争取选民情况实际上就和杂货铺定位博弈一样。工党一定要打出劳工代言人的旗帜,所以他是站在左边的,左边是他的地盘。但是只有左边一半的选民,还不足以保证胜出。为了在竞选中获胜,他要想办法把中间的在两党之间摇摆的选民争取过来。最好的办法,就是使自己的竞选纲领向“右”的方向靠过去一点,就是在竞选中宣布也要照顾中产阶级的利益。移过去一点,地盘就可能大一点。同样,原来立党之本是在“右”边的保守党,在竞选的过程中,也要往左边靠,争取更多的选民。这样斗法的结果,在漫长的竞选过程中,虽然两党的漫骂不断升级,但是实际纲领却不断靠近,直到两个政党在中点紧挨在一起,才是稳定的纳什均衡。 这个政党纲领向中点移动的机制,也说明西方两党政治的欺骗性。竞选的时候,怎样有利于拉票就怎样讲,当选以后,可以忘得一干二净。在这个意义上,我们说不要以为哪个政党上台这些西方国家的态度就会改变,确实很有道理。政党政治,本来在理论上有促使政治家个人操守不可太放肆的优点。但是在西方国家,小学生都知道政治家说的话不可靠,无奈制度决定了,每次竞选,人们只能在那少数政治家之间作出他信非常有限的选择。 为什么第三个政党难成气候?这是因为,如果三个政党的位置不相同,不在同一个点上,那么他们都有向中点

博弈期末考试总结

博弈与决策答案 一、名词解释(每小题2分,共16分) 1、博弈 博弈是指一些个人、团队或其他组织,面对一定的环境条件,在一定的规则约束下,依靠掌握的信息,同时或先后,一次或多次,从各自允许选择的行为或策略中进行选择并加以施,并从中各自取得相应结果或收益的过程, 2、占优战略均衡 占优战略均衡是指在博弈中,如果所有参与人都有占优策略存在,博弈将在所有参与人的优策略的基础上达到均衡. 3、重复博弈 重复博弈是指同一个博弈在相同的环境、规则下反复多次执行的博弈问题, 4、序列博弈 序列博弈是指对局者选择策略有时问先后的顺序,某些对局者可能率先采取行动.序列博也是一种动态博弈. 5、动态博弈 动态博弈是指在博弈中,参与人的行动有先后顺序且后行动者能够观察到先行动者所选择的行动. 6、占优战略均衡--占优战略均衡是指在博弈中,如果所有参与人都有占优策略存在,博弈将在所有参与人的占优策略的基础上达到均衡. 7、完全信息---完全信息是指在博弈过程中,每一位参与人对其他参与人的特征、策略空间及收益函数有准确的信息. 8、得益 得益是参与人在博弈结束后从博弈中获得的效用,一般是所有参与人的策略或行动的函数,这是每个参与人最关心的东西. 9,博弈论:博弈论就是系统的研究各种各样的博弈问题,寻求各博弈方合理选择策略的情况下博弈的解,并对这些解进行讨论分析的理论。 10,纳什战略均衡:纳什战略均衡指在均衡中,每个博弈参与人都确信,在给定其他参与人选择的策略的情况下,该参与人选择了最优策略以回应对手的策略。 11,静态博弈:静态博弈是指在博弈中,参与人同时选择或非同时选择但后行动者并不知道先行动者采取了什么具体行动。 二、、简答题(每小题6分,共24分) 1、占优战略均衡和纳什均衡的联系与区别如下: 1)每一个占优战略均衡都是纳什均衡,而每一个纳什均衡却未必是占优战略均衡; 2)用重复剔除严格劣战略方法,保留下的唯一的重复剔除的占优均衡,就是纳什均衡. 3)纳什均衡,不会被重复剔除严格劣战略方法剔除掉(但弱劣战略剔除,可能会剔除纳什衡): 4)经重复剔除严格劣战略之后,有不唯一的多个哉略组合保留,其中有的战略组合不一定纳什均衡.即重复剔除严格劣战略方法,无法确保将所有非纳什均衡战略剔除,没有被剔的战略组合不一定是纳什均衡. 5)没有占优战略均衡的博弈,不能用重复剔除严格劣战略方法求解的博弈,可以有纳什均衡2,博弈的构成要素有哪些?并对其进行说明。 2、博弈一般由以下几个要素组成,包括:参与人、行动、信息,策略、得益、结果、均衡等.

博弈论试题

杭州师范大学2010-2011学年第二学期通识 课程期末考试 《博弈论与企业管理》试卷 一、单项选择题(本大题共12题,每题3分,共36分) 1. 下列关于优势策略均衡和纳什均衡的描述正确的是( ) A 优势策略均衡肯定是纳什均衡; B 纳什均衡都是优势策略均衡; C 纳什均衡是特殊的优势策略均衡; D 以上三种情况都有可能 2. 以下关于承诺的描述不准确的是( ) A 承诺使威胁可置信; B 承诺往往对自己构成约束; C 承诺往往不需要成本; D 承诺往往会给自己带来成本,但最终结果使自己有利 3. 对于以下报酬矩阵,哪个命题是正确的( ) 【 A 甲和乙都有占优策略; B 只有甲有占优策略; C 只有乙有占优策略; D 两人都没有占优策略 4. 对于如下报酬矩阵,乙的占优策略是( ) (

A 上; B 中; C 左; D 右 5. 对于题4的报酬矩阵,以下哪个是纳什均衡( ) A (上,左);B (上,右);C (下,右);D (上,中) 6. 对于题4的报酬矩阵,如果乙先走一步,并且知道甲再作决策时已经知道乙的决策,那么,乙将采取( ) A 左; B 中; C 右; D 上 7. 交易双方信息不对称,比如买房不知道卖方的一些情况,是由于( ) A 卖方故意隐瞒自己的一些情况; B 买方自身的认识能力有限; C 买方掌握完全信息的成本太高; D 以上三种情况都有可能 8. 面对不对称信息,下列哪一项不能为消费者减少信息不对称( ) A 品牌;B 低价格 C 产品保证 D 长期质量保证书 9. 下列哪一项不是高质量的信号( ) ) A 产品保证; B 延长的质量保单; C 暂时的经营场所; D 被认可的品牌 10.在二手市场上,( ) A 买主知道商品的质量,而卖主不知道; B 买主不知道商品的质量,而卖主知道; C 卖主和买主都知道商品的质量是低的; D 卖主和买主都不知道商品的质量是低的 11.一个有效的激励机制必须能够( ) A 使代理人参与工作的净收益不低于不工作也能得到的收益; B 使代理人让委托人满意的努力水平也是给代理人带来最大净收益的努力水平; C 尽可能地减少或消除代理人的目标函数与委托人的目标函数之间的冲突; D 以上都是 12.在信息不对称的劳动力市场,效率最低的激励机制是( ) A 固定工资;B 效率工资;C 利润分享; D 提成 二、简答题(本大题共6题,第1、2、3题每题4分,第4、5、6题每题6分,共30分) 1.一个博弈如果出现两败俱伤的结果,这样的博弈一定是非合作的零和博弈吗 … 2.两个罪犯只打算合伙犯罪一次,所以被捕后出现了囚徒困境的情况。如果这两个罪犯准备合伙犯罪30次,那么在开始的犯罪活动中如果被捕,还会出现囚徒困境吗 3.请举例分析说明在什么条件下博弈者采取威胁对方的策略可以奏效。 4.某博弈的报酬矩阵如下:

博弈论的读书笔记

博弈论的读书笔记 【篇一:博弈论读书笔记】 博弈论读书笔 博弈论 :亦名“对策论”、“赛局理论”,属应用数学的一个分支,主要研究公式化了的激励结构间的相互作用。是研究决策主体的行 为发生直接相互作用时候的决策以及这种决策的均衡问题,具有斗 争或竞争性质现象的数学理论和方法。也是运筹学的一个重要学科。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优 化策略。 博弈论的目的在于巧妙的策略,而不是解法。我们学习博弈论的目的,不是为了享受博弈分析的过程,而在于赢得更好的结局。博弈 的思想既然来自现实生活,它就可以高度抽象化地用数学工具来表述,也可以用日常事例来说明,并运用到生活中去。没有高深的数 学知识,我们同样通过博弈论的学习成为生活中的策略高手。孙膑 没有学过高等数学,但是这并不影响他通过运行策略来帮助田忌赢 得赛马。 博弈时时存在,它就在你的身边。本书就是试图通过日常生活中常 见的例子,来介绍博弈论的基本思想及运用,并且寻求用种智慧来 指导生活决策的方法。 在李凌、王翔的《论博弈论中的策略思维》中,作者从博弈论的起 源谈起,回顾了博弈论在诺贝尔经济学奖上所取得的成就,把博弈 论中的经典案例同生活中的实际例子联系起来进行分析,从合作、 模仿、创新、拍卖、战争和群居等实例表明博弈论中的策略思维是 如何影响人们的行为的, 又是如何使得博弈达到均衡的。最后,围 绕演进博弈论的基础理论与实例案例来分析对传统博弈论的冲击, 及其使博弈论的发展上升到了一个新的阶段和深度。

! 以下是对这篇文章中的囚徒困境、智猪博弈和演进博弈论的简述和分析: 一、囚徒困境—合作还是不合作 在这个模型中,合作还是不合作问题得到了很好的解释,纳什均衡解就是都选择坦白,也就是跟对方囚徒不合作,但这个解对两个囚徒来说并不是帕累托最优解,囚徒困境反映了集体理性和个人理性的矛盾。联系到实际生活中的例子政府提供公共物品,如果让使用资源者自愿承担费用,则会由于搭便车现象的出现,而无法实现共同提供公共物品的目标,所以需要政府通过纳税的方式来提供,以实现帕累托最优,达到资源的有效配置。囚徒困境有限次重复博弈中,当一次性违约的收益大于失信所必须付出的代价时, 企业就存在偏离合同规 定行事的激励,这种内生的激励表明,“损人利己”也是行为人的理性选择。在无限次重复博弈中,如果企业之间致力于长期合作, 就应当设法改变合作机制, 降低合作企业发生机会主义行为的概率。除了健全社会诚信体系之外, 一种行之有效的方法便是提高失信成本。然而在实际生活中的局中人可能受各种外部环境因素或者市场地位的影响,并非是完全理性的,所以在合作方面还存在着一定的风险,这就需要订立合作契约,将这种风险最小化,从现实经济利益的角度提高失信成本,使失约威胁实现真正的可置信。 二、智猪博弈—创新还是模仿 在智猪博弈中,在理性人的假设下,大猪和小猪的支付矩阵决定了大猪选择按,小猪选择等待。类似的,在股票市场中,大户是大猪, 他们进行技术分析, 收集信息、预测股价走势, 所付出的成本高,而相应得到的收益也比较高,而大量散户就是小猪, 他们几乎不花成本去进行技术分析, 而是跟着大户的投资策略进行股票买卖, 这就是股票市场上著名的“散户跟大户”现象。在股份公司中, 大股东是大猪, 他们收集信息、监督经理, 拥有决定经理任免的投票权,

相关文档
最新文档