如何定义特征函数?基于核与沙普利值的团队奖励分配建模问询
首先,我们得先理清**特征函数(Characteristic Function)**的核心作用:它用来定义任意选手联盟(子集)能独立获取的「价值」,这是计算沙普利值和核的基础。针对你的问题,我整理了两种合理的特征函数定义,分别对应不同的分配逻辑:
一、基于胜场贡献的特征函数(最贴合问题场景)
这个定义的核心是把18份餐食看作S队获胜的总价值,每个联盟的价值等于该联盟选手胜场数占S队总胜场的比例乘以总奖励。
已知S队总胜场为5+3+2=10场,总奖励18份,我们可以这样定义:
- 空联盟:
v(∅) = 0(没有选手,自然拿不到任何奖励) - 单点联盟:
v({A}) = (5/10)*18 = 9(A的5场胜利占总胜场一半,对应9份餐食)v({B}) = (3/10)*18 = 5.4(B的3场胜利对应5.4份)v({C}) = (2/10)*18 = 3.6(C的2场胜利对应3.6份)
- 双人联盟:
v({A,B}) = ((5+3)/10)*18 = 14.4(A+B共赢8场,对应14.4份)v({A,C}) = ((5+2)/10)*18 = 12.6(A+C共赢7场,对应12.6份)v({B,C}) = ((3+2)/10)*18 = 9(B+C共赢5场,对应9份)
- 完整联盟:
v({A,B,C}) = 18(全队获胜,拿到全部奖励)
1. 计算沙普利值
沙普利值的公式是:φ(i) = Σ_{T⊆S\{i}} [v(T∪{i}) - v(T)] * (|T|! * (n - |T| - 1)! ) / n!
其中n=3(选手总数)。
选手A的沙普利值:
- T=∅:
(9-0)*(0!*2!)/6 = 9*2/6 = 3 - T={B}:
(14.4-5.4)*(1!*1!)/6 = 9*1/6 = 1.5 - T={C}:
(12.6-3.6)*(1!*1!)/6 = 9*1/6 = 1.5 - T={B,C}:
(18-9)*(2!*0!)/6 = 9*2/6 = 3
总和:3+1.5+1.5+3 = 9
选手B的沙普利值:
- T=∅:
(5.4-0)*(0!*2!)/6 = 5.4*2/6 = 1.8 - T={A}:
(14.4-9)*(1!*1!)/6 = 5.4*1/6 = 0.9 - T={C}:
(9-3.6)*(1!*1!)/6 = 5.4*1/6 = 0.9 - T={A,C}:
(18-12.6)*(2!*0!)/6 = 5.4*2/6 = 1.8
总和:1.8+0.9+0.9+1.8 = 5.4
选手C的沙普利值:
- T=∅:
(3.6-0)*(0!*2!)/6 = 3.6*2/6 = 1.2 - T={A}:
(12.6-9)*(1!*1!)/6 = 3.6*1/6 = 0.6 - T={B}:
(9-5.4)*(1!*1!)/6 = 3.6*1/6 = 0.6 - T={A,B}:
(18-14.4)*(2!*0!)/6 = 3.6*2/6 = 1.2
总和:1.2+0.6+0.6+1.2 = 3.6
这个结果很直观:因为我们的特征函数是可加函数(联盟价值等于各成员单点价值之和),所以沙普利值刚好等于每个选手胜场比例对应的餐食份额,完美体现了个体贡献差异。
2. 计算核(Core)
核是满足两个条件的分配方案集合:
- 总分配等于总价值:
x_A + x_B + x_C = 18 - 任意联盟T的成员分配之和不小于联盟的特征函数值:
Σ_{i∈T}x_i ≥ v(T)
对于这个可加特征函数,核是唯一的分配方案:(x_A, x_B, x_C) = (9, 5.4, 3.6)。任何其他分配都会违反约束,比如给A少于9份的话,联盟{A}的分配和就会小于v({A})=9,不符合核的要求。
二、基于「联盟能否独立获胜」的特征函数(极端场景)
另一种思路是:只有当联盟T的选手能单独赢得足够比赛让S队获胜(即胜场≥9场,因为18场比赛赢9场才算平局,赢10场获胜),联盟T的价值才是18,否则为0。
定义如下:
v(∅)=0v({A})=0(仅赢5场,不足以让S队获胜)v({B})=0(仅赢3场,不足)v({C})=0(仅赢2场,不足)v({A,B})=0(共赢8场,未达9场)v({A,C})=0(共赢7场,不足)v({B,C})=0(共赢5场,不足)v({A,B,C})=18(全队赢10场,成功获胜)
1. 沙普利值计算
此时每个选手的沙普利值是平均分配:φ(A)=φ(B)=φ(C)=6。因为只有完整联盟能拿到价值,每个选手的边际贡献只有在加入最后一个缺失的联盟时才为18,而所有排列的概率均等,所以每人分得18/3=6份。
2. 核的计算
核包含所有满足x_A+x_B+x_C=18且x_A≥0, x_B≥0, x_C≥0的分配方案——因为所有非完整联盟的特征函数都是0,只要分配非负且总和为18即可。但这个定义明显不合理,它完全忽略了选手个体的胜场差异,没有体现不同选手的实际贡献。
总结
优先推荐基于胜场贡献的特征函数,它能精准反映每个选手的实际贡献,对应的理论分配方案是:A得9份,B得5.4份,C得3.6份。如果需要整数分配,可以适当调整(比如A9份、B5份、C4份,总和刚好18),但理论上的精确分配就是上述小数结果。
内容的提问来源于stack exchange,提问作者Θοδωρής Φλώκος

