数学建模教材7第七章对策论.docx
《数学建模教材7第七章对策论.docx》由会员分享,可在线阅读,更多相关《数学建模教材7第七章对策论.docx(13页珍藏版)》请在冰豆网上搜索。
![数学建模教材7第七章对策论.docx](https://file1.bdocx.com/fileroot1/2023-6/17/5fe454e0-ebed-4d1d-88d7-27d713831801/5fe454e0-ebed-4d1d-88d7-27d7138318011.gif)
数学建模教材7第七章对策论
§1引言
社会及经济的发展带来了人与人之间或团体之间的竞争及矛盾,应用科学的方法来解决这样的问题开始于17世纪的科学家,如C.,Huygens和W.,Leibnitz等。
现代对策论起源于1944年J.,VonNeumann和O.,Morgenstern的著作《TheoryofGamesandEconomicBehavior》。
对策论亦称竞赛论或博弈论。
是研究具有斗争或竞争性质现象的数学理论和方法。
一般认为,它既是现代数学的一个新分支,也是运筹学中的一个重要学科。
对策论发展
的历史并不长,但由于它所研究的现象与人们的政治、经济、军事活动乃至一般的日常生活等有着密切的联系,并且处理问题的方法又有明显特色。
所以日益引起广泛的注意。
在日常生活中,经常看到一些具有相互之间斗争或竞争性质的行为。
具有竞争或对抗性质的行为称为对策行为。
在这类行为中。
参加斗争或竞争的各方各自具有不同的目标和利益。
为了达到各自的目标和利益,各方必须考虑对手的各种可能的行动方案,并力图选取对自己最为有利或最为合理的方案。
对策论就是研究对策行为中斗争各方是否存在着最合理的行动方案,以及如何找到这个合理的行动方案的数学理论和方法。
表1中每对数字表示嫌疑犯A、B被判刑的年数。
如果两名疑犯均担心对方供认并希望受到最轻的惩罚,最保险的办法自然是承认制造了伪币。
从这一简单实例中可以看出对策现象中包含有的几个基本要素。
2.1对策的基本要素
(i)局中人在一个对策行为(或一局对策)中,有权决定自己行动方案的对策参加者,称为局
中人。
通常用I表示局中人的集合.如果有n个局中人,则I={1,2,L,n}。
一般要求一个对策中至少要有两个局中人。
在例1中,局中人是A、B两名疑犯。
(ii)策略集一局对策中,可供局中人选择的一个实际可行的完整的行动方案称为一个策略。
参
加对策的每一局中人i,i∈I,都有自己的策略集Si。
一般,每一局中人的策略集中至少应包括两个策略。
-154-
-156-
-157-
-158-
§4零和对策的线性规划解法
-160-
-161-
@for(player1(i):
@sum(player2(j):
c(i,j)*y(j))@sum(player1:
x)=1;
@sum(player2:
y)=1;end
由定理4知,混合对策问题的求解问题可以转化为求不等式约束的可行点,而
LINGO软件很容易做到这一点。
我们编写如下Lingo程序求解上述问题。
model:
sets:
player1/1..3/:
x;player2/1..3/:
y;game(player1,player2):
c;endsets
data:
c=0.33333330.5-0.3333333
-0.40.2-0.5
0.5-0.60.3333333;
enddata
@free(u);u=@sum(game(i,j):
c(i,j)*x(i)*y(j));
@for(player1(i):
@sum(player2(j):
c(i,j)*y(j))
@for(player2(j):
@sum(player1(i):
c(i,j)*x(i))>u);
@sum(player1:
x)=1;
@sum(player2:
y)=1;end
§5二人非常数和对策
所谓常数和对策是指局中人I和局中人II所赢得的值之和为一常数。
显然,二人零和对策是二人常数和对策的特例,即常数为零。
对于二人常数和对策,有纯策略对策和混合策略对策,其求解方法与二人零和对策是相同的。
二人非常数和对策也称为双矩阵对策。
也有纯策略对策和混合策略对策两种策略。
5.1纯策略问题例1给出了典型的二人非常数和对策,每人的赢得矩阵是不相同的,因此称为双矩
阵对策。
问题分析这是一个二人非常数和对策问题。
从表面上看,两犯罪嫌疑人拒不供认,只能被
判18个月徒刑,结果是最好的。
但仔细分析,却无法做到这一点。
因为犯罪嫌疑人A如果采用不供认策略,他可能被判刑的刑期为18个月或7年,而犯罪嫌疑人B可能判的刑期为0或18个月。
而A选择供认,他被判的刑期为0或3年,此时,犯罪嫌疑人B可能判的刑期为3年或7年。
因此,犯罪嫌疑人A一定选择供认。
基于同样的道理,犯罪嫌疑人B也只能选择供认。
选择供认是他们最好的选择,各自被判3年。
按照上面的论述,对于一般纯策略问题,局中人I、II的赢得矩阵如表2所示。
其中局中人I有m个策略α1,L,αm,局中人II有n个策略β1,L,βn,分别记为
S1={α1,L,αm},S2={β1,L,βn}
-162-
假定各运动员在比赛中都发挥正常水平,又比赛第一名得5分,第二名得3分,第
三名得1分,问教练员应决定让自己队健将参加哪两项比赛,使本队得分最多?
(各队参加比赛名单互相保密,定下来后不准变动)
解分别用α1、α2和α3表示甲队中李姓健将不参加蝶泳、仰泳、蛙泳比赛的策略,分别用β1、β2和β3表示乙队中王姓健将不参加蝶泳、仰泳、蛙泳比赛的策略。
当甲队采用策略α1,乙队采用策略β1时,在100米蝶泳中,甲队中赵获第一、钱获第三得6分,乙队中张获第二,得3分;在100米仰泳中,甲队中李获第二,得3分,乙队中王获第一、张获第三,得6分;在100米蛙泳中,甲队中李获第一,得5分,乙队中王获第二、张获第三,得4分。
也就是说,对应于策略(α1,β1),甲、乙两队各自的得分为(14,13)。
表4给出了在全部策略下各队的得分,计算的Matlab程序如下:
clc,clear
a=[59.763.257.158.661.464.8
67.268.463.261.564.766.5
74.175.570.372.673.476.9];m=3;n=3;kk=3;T=1000;
sc1=[5:
-2:
1,zeros(1,3)];%1-6名的得分
sc2=repmat(sc1,kk,1);fori=1:
m
forj=1:
n
b=a;
b(i,3)=T;b(j,4)=T;%不参加比赛,时间成绩取为充分大[b,ind]=sort(b,2);%对b的每一行进行排序
fork=1:
m
sc2(k,ind(k,:
))=sc1;%计算得分
end
A_sc(i,j)=sum(sum(sc2(:
1:
m)));%统计得分
B_sc(i,j)=sum(sum(sc2(:
m+1:
end)));
endendA_sc,B_sc
-164-
按照定理8,求最优混合策略,就是求不等式约束(5)的可行解,写出相应的LINGO
程序如下:
model:
sets:
pa/1..3/:
x;
pb/1..3/:
y;link(pa,pb):
c1,c2;endsets
data:
c1=@file(txt2.txt);c2=@file(txt2.txt);enddata
v1=@sum(link(i,j):
c1(i,j)*x(i)*y(j));
v2=@sum(link(i,j):
c2(i,j)*x(i)*y(j));
@for(pa(i):
@sum(pb(j):
c1(i,j)*y(j))@for(pb(j):
@sum(pa(i):
c2(i,j)*x(i))@sum(pa:
x)=1;@sum(pb:
y)=1;
@free(v1);@free(v2);end
求得甲队采用的策略是α1、α3方案各占50%,乙队采用的策略是β2、β3方案各占
50%,甲队的平均得分为12.5分,乙队的平均得分为14.5分。
习题七
1.表5是一双矩阵对策,试求局中人A,B的最优策略。
2.有三张纸牌,点数分别为1,2,3,显然按大小顺序为3>2>1。
先由A任抽一张,看过后反放在桌上,并任喊大(H)或小(L)。
然后由B从剩下纸牌中任抽一张,看过后,B有两种选择:
第一,弃权,付给A1元;第二,翻A的牌,当A喊H
时,得点数小的牌者付给对方3元,当A喊L时,得点数大的牌者付给对方2元。
要
-165-
表6中的数字为双方各种阵容下甲队的得分数。
这次团体赛双方各采取什么阵容比较稳
妥?
-166-