陶晓静+杨雄
摘 要:在高职数学建模的教学中,会遇到一些博弈问题,稍简单的问题尚可用理论推断,手动计算,一旦数据量增加,就对MATLAB等软件的使用提出了更高的要求。文章从一个经典的博弈问题出发,探讨了MATLAB循环语句的使用实践,对数学建模教学起到了良好的促进作用,也增强了高职学生学习数学软件的兴趣与信心。通过软件处理含有复杂数据的数学问题,实现了从课堂走向实践的可能。
我们知道博弈论对现代社会的深远影响,并且了解它在现代数学中的重要地位。它是连接数学与现代社会的纽带与桥梁。而其中权力指数是我们常见的博弈论问题,也十分重要。在实际研究中人们不但要进行定性分析,也要对相关问题进行定量分析,而大量的数据阻碍了很多人对大数据问题的研究。MATLAB在教学过程中打开了一种新的局面,培养了学生处理数据的能力。
本文从权力指数这个问题入手,通过一个例题展示数学建模课程中使用MATLAB软件的一些技巧与心得。
一、博弈问题的描述
1.博弈论概述
博弈论也称为对策论(Game Theory),是现代数学的一个重要分支,属于运筹学的一部分。博弈论研究公式化的激励结构之间的相互作用,是研究斗争或竞争性现象的数学理论与方法。可考虑个体的预测行为和实际表现,进一步研究个体的改进策略,为个体决策提供理论依据与量化指标。
2.权力指数的概念
公司在做出决策的时候,需按股权分量进行表决。在通常情况下,大股东的意志对决策有着巨大影响。具体来说,设一共有n个股东,C1,C2,…Cn,股权分量不一,某决议的通过表决时有以下几种可能。
(1)若C1離场,C2,C3…Cn能否直接做出决定?
(2)若C2离场,C1,C3…Cn能否直接做出决定?
(3)同理,若 Ci,i>2,离场,情况会怎样?
否定其他股东预决议的能力称为他的权力指数。
二、权力指数在投票表决中的应用
表决时,为了体现己方的表决意志,必须获得足够多的票数。通过权力指数,我们可以方便地了解某人在表决过程中的重要程度,并由此做出相应的决策。
案例1 某公司有A、B、C、D、E五个股东,决策原则遵循“一股一票”。他们的股份分别为:A拥有36股,B拥有16股,C拥有16股,D拥有16股,E拥有16股。
若A暂时离场,由B、C、D、E对于某项决议进行初步的表决,我们称之为预决策。预决策时,共有24=16种情形。
解:%ABCDEF的权力指数计算语句
a=input('please input a');
b=input('please input b');
c=input('please input c');
d=input('please input d');
e=input('please input e');
f=input('please input f');
A=a+b+c+d+e+f;%计算票数的和
k=0;
%如果要计算其他人的权力指数只需在这里将a与其他变量进行一个交换。
%其交换语句如交换a与b,以计算b的权力指数为:a=m;a=b;b=m;
forC2=0∶1
for C3=0∶1
for C4=0∶1
for C5=0∶1
for C6=0∶1
sum=C2*b+C3*c+C4*d+C5*e+C6*f;
if sum>b+c+d+e+f-sum
if sum k=k+1; end elseif sum+a>b+c+d+e+f-sum k=k+1; end end end end end end fprintf('quanlizhishuwei %6.2f',k) 输入36 16 16 16 16,得a 的权力指数为14,如此进行替换后,可计算得b、c、d、e权力指数都为2。 案例2 议员名额的分配 某国家有人口数量不等的六个地区。国家议员人数按地区分配如表1所示: 议员的总人数是31。虽然地区a地区、b地区、c议员都不足以单独左右议会决议,但这三个地区中任何两个地区的票数之和都已经超过了议会的半数。有人动议将议员人数变更为12、10、8、3、3、2,请分析权力指数与比重的变化以及为各个地区给出决策。对上例程序稍微修改就能得到如下解: 解:a=input(‘please input a); A=a(1)+a(2)+a(3)+a(4)+a(5)+a(6); k=0;M=[0 0 0 0 0 0];n=1; for C2=0∶1 for C3=0∶1 for C4=0∶1 for C5=0∶1 for C6=0∶1 sum= C2*a(2)+ C3*a(3)+ C4*a(4)+ C5*a(5)+ C6*a(6); if sum>a(2)+a(3)+a(4) +a(5)+a(6)-sum if sum k=k+1; end elseif sum+a(1)>a(2)+a(3)+a(4)+a(5)+a(6)-sum k=k+1; end