博弈分析及其应用1引言在社会生活和经济、军事活动中,经常碰到各种各样具有竞争或利益相对抗的现象,如下棋、打扑克、为争夺市场展开的广告战、军事斗争中双方兵力的对垒等,竞争的各方总是希望击败对手,取得尽可能好的结果,都想用自己最好的战术去取胜,这就是博弈现象.博弈现象实际上是一类特殊的决策,在关于不确定型的决策分析中,决策者的对手是“大自然”,它对决策者的各种策略不产生反应,更没有报复行为.但在博弈现象中,代替“大自然”的是有理性的人,因而任何一方做出决定时都必须充分考虑其他对手可能作出的反应.博弈论的英文名为Game Theory,又称对策论,用比较简短的话来概括,所谓博弈是指局中人按一定规则,在充分考虑其他局中人可能采取的策略的基础上,从自己的策略集中选取相应策略,并从中得到回报的过程.尽管博弈论中研究的问题形形色色,但任何一个博弈问题都包含下列三个要素:1.局中人(players)是指参与竞争的各方,它可以是一个人,也可以是一个集团,但局中人必须是有决策权的主体,而不是参谋或从属人员.局中人可以有两方,也可以有多方.当存在多方的情况下,局中人之间可以有结盟和不结盟之分.2.策略(strategies)是指局中人所拥有的对付其他局中人的手段、方案的集合.在静态博弈中,策略必须是一个独立的完整的行动,而不能是若干相关行动中的某一步.例如一次乒乓球男子团体比赛中,包括两名单打和一对双打选手出场,比赛前提交的名单除规定出场球员姓名之外,两名单打还必须明确谁是第一单打,谁是第二单打,这样不同单打和双打队员的出场搭配以及两名单打队员的不同排序构成了不同的策略.相应每个局中人的策略选择形成的策略组称为一个局势.3.收益函数(payoff function)指一局博弈后各局中人的输赢得失,通常用正的数字表示局中人的赢得,负的数字表示局中人的损失.博弈论研究决策主体的行为在发生直接相互作用时,人们如何进行决策以及这种决策的均衡问题.博弈论是研究理性的决策之间冲突与合作的理论.在博弈论分析中,一定场合中的每个对弈者在决定采取何种行动时都策略地、有目的地行事,他考虑到他的决策行为对其他人的可能影响,以及其他人的行为对他的可能影响,通过选择最佳行动计划,来寻求收益或效用的最大化.由于在现实生活中人们的利益冲突与一致具有普遍性,因此,几乎所有的决策问题都可以认为是博弈.博弈论在政治学、军事学、生物进化学、心理学、社会学、伦理学、经济学等许多领域都有着广泛的应用.在经济学中博弈论作为一种重要的分析方法已渗透到几乎所有的领域,每一领域的最新进展都应用了博弈论,博弈论已经成为主流经济学的一部分,对经济学理论与方法正产生越来越重要的影响.正因为如此,1994年瑞典皇家科学院决定将诺贝尔经济学奖授予了纳什(John Nash)、哈萨尼(John Sanyi)和泽尔腾(Reinhard Selten)三位博弈理论家和经济学家,表彰他们在博弈论理论和应用研究方面作出的杰出贡献.目前博弈论在定价、招投标、谈判、拍卖、委托–代理以及很多重要的经营决策中得到应用,它已成为现代经济学的重要基础.博弈中有关局中人的策略集、收益函数等构成了博弈的信息.按局中人对信息掌握情况,可区分为完全信息博弈和不完全信息博弈.按局中人采取行动的次序,当同时采取行动或在互相保密情况下采取行动,称这种情况为静态博弈.如果局中人采取行动有先后,后采取行动的人可以观察到前面人采取的行动,则属于动态博弈.综合上述,博弈可分为完全信息静态博弈,完全信息动态博弈,不完全信息静态博弈和不完全信息动态博弈.当然按局中人是否结盟情况,博弈还可区分为合作博弈和非合作博弈.合作博弈是一种解决多利益主体协调行动产生效益分配问题的有效数学模型.合作是指参与者从自己的利益出发,选择行动,但选择行动的结果对各方都有利.合作博弈研究的问题就是要找到一种效益分配方式,能促使所有利益主体合作.基于合作博弈理论的收益分配是希望通过联合从事某项活动,使每个人的收益比单独从事这项活动或作小范围联合时的收益多.当代世界,合作与竞争共存成为时代的主题,而企业间各种形式的合作联盟更成为当今经济界竞争的热点模式.组成合作联盟进行合作创新已经成为越来越多企业的选择.在社会活动中的若干实体,为了在日益激烈的竞争中争得一席之地,也为了获得更多的经济或社会效益,相互合作结成联盟或集团.这种合作通常是为了利益,是非对抗性的,确定合理分配这些效益的最佳方案是促成合作的前提.2 多人合作博弈概念在日常生活及社会经济活动中,一个人(或集团)为了克服自身弱点(如力量或财力有限),寻求与他人(集团)进行合作,结成一个联盟,以完成单个人或集团所不能完成的事,这就是多人合作博弈.该联盟一旦形成,就作为一个整体共同采取行动,其目标是使联盟获得最大利益.一旦博弈完毕,可以根据某种事先商定的契约以及各个局中人本身的贡献大小,分配共同所得的利益.联盟的数学定义是:设有n 个局中人{}n N ,,2,1 =进行博弈,所谓一个联盟就是N 的一个非空子集S .为方便起见,有时称空集∅也是一个联盟.n 个局中人共能形成n2个联盟.一旦联盟S 形成,组成联盟S 的局中人不再关心自己的特殊利益,而为整个联盟的最大利益去努力.因此,他们主要关心联盟S 所能获得的最大值.所有联盟S 所获得的最大值都确定以后,整个博弈就完全清楚.这样的博弈可以用特征函数加以描述:定义1[]1:给定{}n N ,,2,1 =,合作n 人博弈记为[]v N ,=Γ,N 上的特征函数v 是定义在N2上的实值函数,满足:()0=∅v ,()()()N T S T S T v S v T S v ⊂∅=+≥,,, . (1)对于一个联盟S ,()S v 的值可以通过下列方式获得:S 中局中人形成联盟为使S 获得最大利益而努力,这时最糟的情况是剩下的所有局中人S N -形成一个联盟和S 抗衡,这样可看成是两个局中人S 与S N -在进行非合作博弈,()S v 就是在上述两人非合作博弈中,S 所获得的最大收入.对于合作博弈,局中人之间可以相互协商,共同采取使全体都有利的策略,如果某些局中人对采取某些特定策略不满意,可以事先订立契约,等博弈完了以后再进行补偿,以便大家共同采取的策略使联盟总体的利益达到最大.因此,博弈完毕后,如何分配共同形成的总体联盟N 所得的收入()N v 就是合用博弈研究的主要任务.()S v 的一种分配方案由n 维向量{}n x x x X ,,,21 =表示,i x 表示局中人i 的所得.显然,对每一个局中人i 来说,它至少期望得到的i x 满足:()N i i v x i ∈≥,. (2)(2)称为个体合理性条件;还有一个必须满足的条件是:()N v xni i=∑=1. (3)(3)称为群体合理性条件.(2)、(3)合到一起就得到一种分配方案.当所有n 个局中人均参与合作时,{}n N ,,2,1 =为最大的一个联盟,记()N v 为最大的联盟成果,如何将()N v 分配给各局中人?一个很自然的方法就是依据各局中人给联盟带来的贡献来分配.设i x 为第i 个局中人从()N v 中获得的分配,n i ,,2,1 =则有:{}()11v x =,{}(){}()12,12v v x -=, {}(){}()2,13,2,13v v x -=,……,(){}()n N v N v x n --=.然而上述的分配通常与局中人编号的次序有关,如把局中人1,2,,1, -n n 的编号改为n ''',,2,1 ,则有新的分配方案:{}()n v x ='1,{}(){}()n v n n v x --='1,2,{}(){}()1,2,1,3----='n n v n n n v x ,……,(){}()1--='N v N v x n .对于局中人其它编号的次序均有对应的分配方案,由于n 个局中人编号的次序共有!n 种,所以对应的分配方案也有!n 种.为此取各局中人分配的平均值作为局中人的平均贡献.记()v i ϕ为第i 个局中人的平均贡献,则有:(){}()()[]n i S v i S v n v ii i ,,2,1,!1 =-=∑πππϕ. (4) 其中π为由n ,,2,1 组成的所有n 级排列,∑为针对所有的!n 个不同n 级排列求和,{}i j j S i <=ππ|,显然i S π为排列π中排在i 之前的那些局中人组成的联盟,将满足SS i=π排列归为一类,(4)式可以表示为:()()()(){}()[]n i i S v S v n S S n v Si i ,,2,1,!!1! =----=∑∈ϕ, (5)其中S 为N 中包含{}i 的所有子集,S 为子集S 中局中人的人数.可以证明:()()N v v ni i =∑=1ϕ. (6)(6)式表明各局中人在联盟中的平均贡献()v i ϕ之和等于联盟的总“成果”. 定义2[]3称()()()()()v v v v n ϕϕϕϕ,,,21 =为合作n 人博弈的Shapley 值.在多人合作博弈中,利用Shapley 值法解决分配问题是一种比较公正、合理且行之有效的方法.本文的目的是探讨Shapley 值法在利益分配问题,费用分摊问题,及如何确定组合预测权系数中的应用.下面就通过实例来说明Shapley 值法在这些方面的具体应用.3 利益分配问题随着科学技术进步和信息技术的迅速发展,世界市场已由过去的相对稳定变成动态多变的特征,由过去的局部竞争演变成全球范围的竞争.在此情景下,以最快的速度推出产品、以最好的质量、最低的成本和最优的服务满足不同用户的需求成为每个企业认真解决的问题.于是越来越多的企业纷纷寻找合作伙伴,结成联盟,利用各方优势以更好地适应快速变化的市场要求.各企业结成联盟后获得了更大的收益,如何利用Shapley 值把联盟的整体收益合理地分配给各个企业,下面给出一实例.设现有三家企业A 、B 、C 为了抓住某一市场机遇,决定实施联盟生产某种新产品投入市场,联盟成功后将获得一批可观的收益,现如何用Shapley 值分配这一联盟收益.让我们先看在特定场合单家企业生产或两家联盟生产以及三家联盟生产的收益情况(见表1). 表1由表中可以看出,两家联盟比单家生产合算,三家联盟比两家联盟合算,按Shapley 值法计算:()()()2003120048032402808024013120=⨯-+⨯-+-+⨯=A ϕ, ()()()1403128048032402001202401380=⨯-+⨯-+-+⨯=B ϕ,()()()1403124048032802001202801340=⨯-+⨯-+-+⨯=C ϕ.4 费用分摊问题在我国区域经济中中小型制造企业数量很大,行业型企业联盟有利于企业抵御风险、降低成本、提高市场竞争力.行业型企业联盟中企业协作的形式有多种,基于行业信息网络的行业联合采购是联盟企业协作的重要手段之一.在联合采购中,各采购企业通过合作使得在满足各自采购目标时的采购总费用()Y 小于各采购企业单独采购时的采购总费用()X ,每个采购企业都希望自身分配的收益越大越好,分摊的联合采购成本费用越少越好.下面就用Shapley 值法对联合采购费用进行合理分摊计算.先给出一些符号定义:()S C :联盟S 的总采购费用;{}m M ,,2,1 =:企业采购物资的集合;()M N n R y y y ⨯∈=,,1 :其中M N R ⨯是联盟N 购买的所有物资的集合,()M im i i R y y y ∈=,,1 ,其中ij y 是企业i 购买物资j 的数量,M j N i ∈∈,;()y p j :购买第j 种物资,数量为y 时的价格;()k f i :企业i 采购物资k 次时的交易费用,()k f S 为联盟S 联合采购k 次的交易费用. 物资采购中,采购费用包括采购的交易费用和采购物资的实际费用两部分.采购的交易费用是指一次物资采购中,采购主体(单个企业或行业采购中心)发布消息、组织招投标等进行辅助交易的费用,而采购物资的实际费用是指采购物资的实际数量和实际采购价格之积.行业联合采购中,联盟S 的采购总费用为:()()()∑=⨯+=mj j S j S j S S y y p k f S C 1.(7)对所有的联盟S 都算出()S C ,就得到行业联合采购的一个n 人合作博弈()C N ,. Shapley 值法的行业联合采购的费用分摊计算公式为:()()(){}()[]∑⊆∈----=NS S i i i S C S C n S S n U !!1!. (8)(8)式中i U 表示企业i 联合采购时的分摊采购费用,{}()i S C -表示企业i 没有加入联盟S 时的采购费用,(){}()[]i S C S C --表示企业的边际费用(也称可分离费用),即企业i 加入到联盟S 中至少应承担的费用(最小分摊费用).下面举一实例说明Shapley 值法在行业联合采购中的费用分摊计算.某行业型企业联盟中有四家企业拟联合采购两类物资,假定企业独自均能采购这两类物资并可任意结盟进行联合采购.描述如下:{}4,3,2,1=N :局中人为四家企业; {}B A M ,=:有两类采购物资;()N P 为:(){}{}{}{}{}{}{}{}{}{}{,4,3,4,2,3,2,4,1,3,1,2,1,4,3,2,1=N P{}{}{}{}}4,3,2,1,4,3,2,4,2,1,3,2,1.对每一个联盟()N P S ∈,其采购费用函数()S C 可由(7)式算出.在本实例中,不失一般性,假定企业单独采购或联盟联合采购均能一次采购完所需物资,并且四个企业单独采购的交易费用均相等,即:()()()()200011114321====f f f f 元.(9)而所有联盟的采购费用也相等,即:()30001=S f 元,()N P S ∈且1>S .(10)在本实例中,不失一般性,价格函数()y p j 假定为购买数量的线性函数,其表达式为:()⎪⎩⎪⎨⎧≥<<-≤=maxmin max min min max ,,,j j j j j j j j j y y P y y y y a b y y P y p .(11)式中,max j P 和min j P 分别是第j 种物资在最小购买量()min j y 和最大购买量()max j y 时的最高、最低价格.本实例中,设min max min max ,,,A A A A y y P P 分别为90元、60元、160单位和40单位,min max min max ,,,B B B B y y P P 分别为100元、60元、150单位和50单位.因此可分别算出物资B A 、的价格函数:()⎪⎪⎩⎪⎪⎨⎧≥<<-≤=160,6016040,410040,90y y y y y p A ,()⎪⎪⎩⎪⎪⎨⎧≥<<-≤=150,6015050,5212050,100y y y y y p B .(12)因此可算出所有联盟()N P S ∈的采购费用如表2所示.续表2 各种联盟采购物资数量(单位)及采购费用(元)表利用Shapley 值法计算公式(8)求行业联合采购的费用分摊,得:()()()+⨯-+-+-+=349700182404900161007700117604134151U ()()()()4167752220034130401897515140205751160018815-+⨯-+-+-08.8742=同理可得,08.48372=U ,75.27433=U ,09.58774=U . 由此可以看出,对联盟贡献少(采购物资少)的企业分摊的采购费用相对较少,将获得更多收益,因此是一种根据企业对联盟贡献大小来分摊费用的方法.5 组合预测权系数的确定预测是根据以往及现在的已知信息,采取一定的方法或技术,对事物的未来发展趋势和结果进行估计或推测.组合预测就是综合利用各种预测方法所提供的信息,以适当的加权平均形式得出组合预测模型.组合预测最关心的问题就是如何求出加权平均系数,使得组合预测模型更加有效地提高预测精度.设某社会经济现象的指标序列的观察值为{}M t x t ,,2,1| =,设有n 个单项预测方法对其进行预测,n 个单预测方法用{}n N ,,2,1 =表示,则N 为组合预测方法的局中人集合.N 中的任一子集N S 2∈形成组合预测方法的一个联盟,若干个局中人结成联盟后,这个联盟作为一个整体进行组合预测就是希望尽可能多的降低组合预测误差,本文采用误差平方和这个指标来反映预测精度.设it x 为第t 时刻的预测值,记it t it x x e -=为第i 种预测方法在第t 时刻的预测误差,n i ,,2,1 =,M t ,,2,1 =.设nt n t t t x l x l x l x+++= 2211ˆ为t x 的组合预测值,n l l l ,,,21 为各种预测方法的加权系数,且满足n i l li ni i,,2,1,0,11=≥=∑=.设t e 为第t 时刻组合预测误差,则有:()∑∑===-=-=ni it i ni it t i t t t e l x x l xx e 11ˆ. (13) 组合预测模型的误差平方和为:()∑∑∑∑======M t n i nj jt it j i M t t e e l l e N J 11112. (14)记mm M t jt it e e E ⨯=⎪⎭⎫ ⎝⎛=∑1,()Tn l l l L ,,,21 =,()n T I ⨯=11,,1,1 ,称矩阵E 为组合预测模型的误差信息矩阵,称L 为组合预测模型加权系数向量,则以组合预测误差平方和的非负权最优组合预测模型可写为:()⎪⎩⎪⎨⎧≥==01min L L I EL L N J TT (15) 令()()S J S v -=,()S v 为特征函数,()S J 表示联盟S 进行组合预测所得的预测误差平方和,()S v 表示()S J 相反数.因为预测误差平方和越大,预测精度越低,所以()S v 越大,表明预测精度越高.由Shapley 值即可计算第i 种单项预测方法同联盟合作的平均贡献()v i ϕ,考虑到()N v 为误差平方和的负值,需将()v i ϕ做如下归一化处理可得组合预测的加权系数n l l l ,,,21 :()()()()∑==nj j i i v N v v N v l 1ϕϕ,n i ,,2,1 =.(16)显然它们满足n i l li ni i,,2,1,0,11=≥=∑=.组合预测权系数确定的合作博弈方法计算步骤:1) 根据组合预测误差信息矩阵对角线上的元素,采用某种正权组合方法,如方差倒数加权法,均方差倒数加权法等给出初始的组合预测权系数的估计.2) 根据(14)式计算各种联盟合作的特征函数.3)根据(5)式计算各种预测方法的所获得的平均分配,即Shapley 值.4) 根据(16)式对各种单项预测方法的所获得的平均分配做归一化处理即得组合预测权系数.下面用一实例来说明.设某组合预测问题有{}3,2,1=N 三种单项预测方法组合而成.其预测误差的信息矩阵为:()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==⨯64544353833ij e E其中332211,,e e e 分别是3,2,1这三种单项预测方法的预测误差平方和.本例采用方差倒数加权法,其一般计算公式为:()()112211111121,,,,,,----=-⎪⎭⎫⎝⎛=∑nnn i ii n e e ee l l l .(17) 所以按照(17)式3,2,1这三种单项预测方法在组合预测中的加权系数为:()⎪⎭⎫⎝⎛=⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛++=-134136133614181614181,,1321l l l .再按照(15)式得()3314.4134136133645443538134136133=⎪⎭⎫ ⎝⎛⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎪⎭⎫ ⎝⎛=TN J ,即()()3314.4-=-=N J N v ,同理,采用方差倒数加权法可得{}()9172.12,1-=v ,{}()7041.13,1-=v ,{}()5562.23.2-=v , {}()81-=v ,{}()42-=v ,{}()63-=v按照(5)式计算得:()()()[]()()[]3267041.149172.11381⨯---+---+⨯-=v ϕ()()3196.2315562.23314.4-=⨯---+.同理可得()6213.02-=v ϕ,()5859.13-=v ϕ.按(16)式计算组合预测加权系数得:16139.01=l ,60255.02=l ,23606.03=l .所以()()∙⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=64544353823606.060255.016139.0N J()09734.423606.060255.016139.0=T.若3,2,1这三种单项预测方法按(15)式利用Mathlab 软件包可求得最优组合预测加权系数得:1667.01=*l ,8333.02=*l ,03=*l . 对应的最小的预测误差平方和:()8333.3=*N J .由此可见,本例用Shapley 值法确定的组合预测加权系数明显优于用方差倒数加权法确定的,且与最优组合预测方法预测精度很接近.该方法不仅适用于以误差平方和为准则的组合预测模型,而且适用于基于预测有效度的组合预测模型.6 结束语本文主要阐述了解决多人合作博弈中联盟分配问题的一种方法——Shapley 值法.举例说明此方法在利益分配问题,费用分摊问题,以及组合预测权系数的等方面中有着较好的应用,而且利用Shapley 值法解决这些方面的问题具有一定的公正性和合理性和一定的实用价值.但是,从理论上来说,在多人合作博弈中,如果局中人数量越多,在利用Shapley 值法计算时需要的信息量也就越大,也从不同程度上加大了计算量.因此,在实际应用中,是否采用Shapley 值法来分配联盟的收益也要根据具体问题而确定.致谢:感谢盛宝怀老师的悉心指导!。