基于概率分布的合作博弈值的高效计算方法技术

技术编号:13346735 阅读:62 留言:0更新日期:2016-07-14 21:45
本发明专利技术公开了一种基于概率分布的合作博弈值的高效计算方法,包括:获取合作博弈在各个联盟组合情况下的局中人个数及相应的联盟支付数据;根据各个联盟组合情况下的局中人个数区分联盟种类,并结合相应的联盟支付数据使用概率分布以条件概率的角度分步计算合作博弈的值,从而实现合作博弈值的高效计算。本发明专利技术提供的方案,将合作博弈值的计算量大幅缩减,使得合作博弈值无论是Shapley值还是Banzhaf值都能被更加高效的计算出来,从而推动合作博弈应用于实践领域。

【技术实现步骤摘要】

本专利技术涉及数据处理
,尤其涉及一种基于概率分布的合作博弈值的高效计算方法
技术介绍
目前,对合作博弈的使用越来越多,在应急物资储备、上市公司股权权力分析、环境保护的成本分摊等各实践方面都有多样应用。这些应用领域在求解过程中都面临随着局中人数加大,运算效率大幅下降,严重限制了合作博弈的应用范围。另一方面,目前合作博弈的研究过程中也过于重视公理性刻画,对于实践的指导性存在不足。
技术实现思路
本专利技术的目的是提供一种基于概率分布的合作博弈值的高效计算方法,将合作博弈值的计算量大幅缩减,使得合作博弈值无论是Shapley值还是Banzhaf值都能被更加高效的计算出来,从而推动合作博弈应用于实践领域。本专利技术的目的是通过以下技术方案实现的:一种基于概率分布的合作博弈值的高效计算方法,包括:获取合作博弈在各个联盟组合情况下的局中人个数及相应的联盟支付数据;根据各个联盟组合情况下的局中人个数区分联盟种类,并结合相应的联盟支付数据使用概率分布以条件概率的角度分步计算合作博弈的值,从而实现合作博弈值的高效计算。所述根据各个联盟组合情况下的局中人个数区分联盟种类,并结合相应的联盟支付数据使用概率分布以条件概率的角度分步计算合作博弈的值包括:步骤S1、根据各个联盟中局中人个数s区分联盟种类;其中,设定s=0时的联盟唯一存在,其支付数据为0;s=n时,联盟为唯一的大联盟,所述n表示合作博弈局中人的总数;步骤S2、确定需要计算支付情况的局中人i;步骤S3、依据联盟中局中人个数s=0至s=n-1的顺序,分别计算不包含局中人i的支付数据与包含局中人i的支付数据之差的绝对值,并按照不包含局中人i的联盟中局中人数s的顺序进行分类保存,类别记为:T0、T1、......T(n-1);步骤S4、按照类别T0至T(n-1)的顺序,逐一计算每一类别内数值的算术平均值,得到结果A0、A1、......A(n-1),该结果为支付数据增加值的均值;步骤S5、判断需要计算Shapley值或是Banzhaf值;若需计算Shapley值,则转入步骤S6;若需计算Banzhaf值,则转入步骤S7;步骤S6、Shapley值为的形式,分解后变为:其中,N表示所有联盟构成的集合;v表示相应的支付数据;S为N中的子集,表示一个联盟;将步骤S4获得的支付数据增加值的均值A0、A1、......A(n-1)求和,再除以n得到局中人i在Shapley值分配下获得的支付;重复上述步骤S2~S6,直至计算完所有局中人在Shapley值分配下获得的支付,从而获得相应的Shapley值结果;步骤S7、Banzhaf值为的形式,分解后变为:将步骤S4获得的支付数据增加值的均值A0、A1、......A(n-1)乘以s相对应的的二项分布系数,再求加权和,得到局中人i在Banzhaf值分配下获得的支付;重复上述步骤S2~S7,直至计算完所有局中人在Banzhaf值分配下获得的支付,从而获得相应的Banzhaf值结果。由上述本专利技术提供的技术方案可以看出,避免了在计算Shapley值和Banzhaf值的过程中的系数计算问题,其中Shapley值完全规避了系数计算问题,全部使用算术平均值进行计算;而Banzhaf值不再使用指数计算,以二项分布的系数作为替代,达到了与计算Shapley值的统一,从可以很好的提高合作博弈的解的计算效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种基于概率分布的合作博弈值的高效计算方法的流程图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。图1为本专利技术实施例提供的一种基于概率分布的合作博弈值的高效计算方法的流程图。如图1所示,其主要包括如下步骤:步骤11、获取合作博弈在各个联盟组合情况下的局中人个数及相应的联盟支付数据。步骤12、根据各个联盟组合情况下的局中人个数区分联盟种类,并结合相应的联盟支付数据使用概率分布以条件概率的角度分步计算合作博弈的值,从而实现合作博弈值的高效计算。其具体的计算步骤如下:步骤S1、根据各个联盟中局中人个数s区分联盟种类;其中,设定s=0时的联盟唯一存在,其支付数据为0;s=n时,联盟为唯一的大联盟,所述n表示合作博弈局中人的总数;步骤S2、确定需要计算支付情况的局中人i;步骤S3、依据联盟中局中人个数s=0至s=n-1的顺序,分别计算不包含局中人i的支付数据与包含局中人i的支付数据之差的绝对值,并按照不包含局中人i的联盟中局中人数s的顺序进行分类保存,类别记为:T0、T1、......T(n-1);步骤S4、按照类别T0至T(n-1)的顺序,逐一计算每一类别内数值的算术平均值,得到结果A0、A1、......A(n-1),该结果为支付数据增加值的均值;步骤S5、判断需要计算Shapley值或是Banzhaf值;若需计算Shapley值,则转入步骤S6;若需计算Banzhaf值,则转入步骤S7;步骤S6、Shapley值为的形式,分解后变为:其中,N表示所有联盟构成的集合;v表示相应的支付数据;S为N中的子集,表示一个联盟;将步骤S4获得的支付数据增加值的均值A0、A1、......A(n-1)求和,再除以n得到局中人i在Shapley值分配下获得的支付;重复上述步骤S2~S6,直至计算完所有局中人在Shapley值分配下获得的支付,从而获得相应的Shapley值结果;步骤S7、Banzhaf值为的形式,分解后变为:将步骤S4获得的支付数据增加值的均值A0、A1、......A(n-1)乘以s相对应的的二项分布系数(即),再求加权和,得到局中人i在Banzhaf值分配下获得的支付;重复上述步骤S2~S7,直至计算完所有局中人在Banzhaf值分配下获得的支付,从而获得相应的Banzhaf值结果。本专利技术实施例中,如果不需要计算所有局中人获得的支付,可以在步骤S2中仅确定需要的局中人,同时在步骤6本文档来自技高网...

【技术保护点】
一种基于概率分布的合作博弈值的高效计算方法,其特征在于,包括:获取合作博弈在各个联盟组合情况下的局中人个数及相应的联盟支付数据;根据各个联盟组合情况下的局中人个数区分联盟种类,并结合相应的联盟支付数据使用概率分布以条件概率的角度分步计算合作博弈的值,从而实现合作博弈值的高效计算。

【技术特征摘要】
1.一种基于概率分布的合作博弈值的高效计算方法,其特征在于,包括:
获取合作博弈在各个联盟组合情况下的局中人个数及相应的联盟支付数据;
根据各个联盟组合情况下的局中人个数区分联盟种类,并结合相应的联盟支付数据使
用概率分布以条件概率的角度分步计算合作博弈的值,从而实现合作博弈值的高效计算。
2.根据权利要求1所述的方法,其特征在于,所述根据各个联盟组合情况下的局中人个
数区分联盟种类,并结合相应的联盟支付数据使用概率分布以条件概率的角度分步计算合
作博弈的值包括:
步骤S1、根据各个联盟中局中人个数s区分联盟种类;其中,设定s=0时的联盟唯一存
在,其支付数据为0;s=n时,联盟为唯一的大联盟,所述n表示合作博弈局中人的总数;
步骤S2、确定需要计算支付情况的局中人i;
步骤S3、依据联盟中局中人个数s=0至s=n-1的顺序,分别计算不包含局中人i的支付
数据与包含局中人i的支付数据之差的绝对值,并按照不包含局中人i的联盟中局中人数s
的顺序进行分类保存,类别记为:T0、T1、......T(n-1);
步骤S4、按照类别T0至T(n-1)的顺序,逐一计算每一类别内数值...

【专利技术属性】
技术研发人员:张泽宇董雨
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1