笔者并没有深入了解过Game theory,只是因为有人咨询笔者是否可以使用Shapley Value做预测,才对其做了一些研究,记录在此。笔者的结论是Shapley Value并不适合做预测。
参考资料:
A Course in Game Theory
UBC的Game Theory课程
(UBC课程浅显易懂,《A Course in Game Theory》里面有详细的Shapley Value的来龙去脉,建议结合着看)
1. 期望解决的问题
n个人合作,创造了v(N)的价值,如何对所创造的价值进行分配。
notation: 全集
2. 分配原则
- 有效性:所有价值均被分配
∑i∈Nψi(N,v)=v(N) - 对称性:如果
xi 和xj 地位等价(可以互相替代),则两者的收益应该是一样的。 - 未做贡献者收益为0
- Additivity(可加性):如果同一批人完成两项任务,那么两项任务的收益一起分配应该和分开分配的结果一致。
3. Shapley Value
公式如下所示,论文中证明了shapley value是满足上诉四个条件的唯一解。(详情参考A Course in Game Theory)
4. 对Shapley Value的理解
Shapley Value其实是求累加贡献(marginal contribution)的均值。例如A单独工作产生价值
4.1. 先来一个例子:
题面如下图,求取三个元素的Shapley Value:
基本解法就是枚举每个可以产生全集的序列(
观察第一行,首先加入元素1,则有元素1的累加贡献为
4.2. Shapley Value公式解释
如上所述,Shapley Value是累加贡献(marginal contribution)的均值。但枚举所有序列可能性的方式效率不高,注意到累加贡献的计算实际为集合相减,对于同样的集合计算次数过多是效率低下的原因。公式中
5. 关于Shapley Value是否可以做预测
笔者的个人观点是不可以,因为Shapley Value本质上是对最终全集产生的收益做分配的问题。所以首先预测问题求解过程中就需要满足有效性的限制(