请输入您要查询的百科知识:

 

词条 Shapley值法
释义

设集合I=〔1,2,……n〕,I的任意子集合S都对应着一个是函数υ〔S〕,若满足:

υ〔∮〕=0

υ〔Si∪Sj〕≥υ〔Si〕+υ〔Sj〕,Si∩Sj=∮,Si、Sj∈I

则称[I,υ]为多人合作对策,υ为对策的特征函数。

我们用xi表示I中成员i从合作的最大效益υ〔I〕中获得的收入。在合作I的基础下,合作对策的分配用X=〔x1,x2,……xn〕表示。显然,该合作成立必须满足如下条件:

∑xi= υ〔I〕

xi ≥ υ〔i〕,i=1,2,……n

在Shapley值法中,联盟成员所得利益分配值成为Shapley值,通常记作Φ〔υ〕=(φ1〔υ〕,φ2〔υ〕,……φn〔υ〕),其中φi〔υ〕表示联盟中成员i的所得利益:

φi〔υ〕=∑[〔n-|S|〕!〕〔|S|-1〕!/n!](υ(S)-υ(S/i)) (连加范围是S∈Si)

其中Si表示包含I中成员i的所有子集,|S|表示S中成员的个数,υ(S/i)表示中除去后的联盟收益。

shapley值的推导过程

s为联合,v(s)为联合s的获利,x为利益的分配向量。

Si表示的是I的包含i的子集族。

shapley值公式的推导如下:

总联合收益v(I)可以看作是如下积累起来的:

从一个空联合s'=(此时收益为0)开始依次加入玩家1,2,3,...,n,则s'不断扩允。每加入一个玩家,它都给当前联合带来一个增益v(s'Ui)-v(s'),有:

即当所有玩家都加进来后,所有这些增益积累成v(I),因此要将v(I)分配给n个人,可以按照他们的加入所带来的增益来分配,即给i分配利益v(s'Ui)-v(s')。

但这样做是有一个缺点,那就是这种分配方法与n个玩家的加入顺序有关,例如:

最初如果先加入玩家1,再加入玩家2,则

玩家1分得利益

玩家2分得利益

而如果先加入玩家2,再加入玩家1,则

可见不同加入顺序下的利益分配是有分歧的。

为了消除这种分歧,需要对所有可能顺序进行平均以得到xi的期望

xi

某一特定加入顺序出现的概率显然是.

所以

xi

=

=...(1)

此式已经可以直接用于计算,也可继续整理如下:

排列中i的增益只取决于i之前加入的玩家集合s',即s'相同的排列具有相同的i增益。因此可将i的增益按不同的s'进行分类计算:

i前玩家集合为s'的排列有|s'|!(n-|s'|-1)!个,相应的i增益均为v(s'Ui)-v(s')。

所以所有排列的i增益和为.

于是(1)式变为:

xi

=

=

由于用s表示I中包含i的子集,则有s=s'Ui及|s|=|s'|+1,于是得

xi=

即shapley公式:

xi=

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/9 17:37:31