5.3 特征函数与超模性


文档摘要

5.3 特征函数与超模性 本节摘要:前两节把分法当作答案,本节追问更深的一层:收益结构的形状如何决定分法的性质。超模(凸)博弈——互补性强的联盟——有一个漂亮的定理:核必非空,且夏普利值必落在核里,公平与稳定自动兼容。机场跑道成本分摊是超模思想的百年经典,数据联盟估值案例则演示夏普利值的现代算法化应用。本节还附一段枚举代码,让你亲手感受夏普利值的计算代价。 一、超模博弈:互补性的正式名字 特征函数 v 满足超模性(也叫凸博弈条件),直观定义是:加入的伙伴越多,再拉一人时的边际贡献越大。形式化写法是对任意成员 i 与任意联盟 S 包含于 T:v(T 加 i) 减 v(T) 不小于 v(S 加 i) 减 v(S)。换句话说,边际贡献随联盟扩大而单调不减——成员之间互相放大价值,正互补占主导。

5.3 特征函数与超模性

本节摘要:前两节把分法当作答案,本节追问更深的一层:收益结构的形状如何决定分法的性质。超模(凸)博弈——互补性强的联盟——有一个漂亮的定理:核必非空,且夏普利值必落在核里,公平与稳定自动兼容。机场跑道成本分摊是超模思想的百年经典,数据联盟估值案例则演示夏普利值的现代算法化应用。本节还附一段枚举代码,让你亲手感受夏普利值的计算代价。

一、超模博弈:互补性的正式名字

特征函数 v 满足超模性(也叫凸博弈条件),直观定义是:加入的伙伴越多,再拉一人时的边际贡献越大。形式化写法是对任意成员 i 与任意联盟 S 包含于 T:v(T 加 i) 减 v(T) 不小于 v(S 加 i) 减 v(S)。换句话说,边际贡献随联盟扩大而单调不减——成员之间互相放大价值,正互补占主导。反向的情形称次模,边际贡献递减,规模不经济或冗余占主导。

超模性带来三个层层递进的结论。其一,超模博弈的核必定非空——拆不动的分法一定存在,合作在结构上可锁定。其二,夏普利值必落在核内,公平账单自动通过稳定性检验,谈判者不必在"公道"与"安全"之间取舍。其三,核的边界可以用边际贡献的上下包络显式写出,可行域不需要解不等式组就能画出来。对次模博弈,情况反过来:夏普利值仍唯一,但可能落到核外(若核还在),分摊问题里公平与稳定的张力重新出现。

二、机场案例:一条跑道按谁的长短收费

机场费用分摊是超模博弈最古老的应用(1973 年利特尔柴尔德与欧文的论文)。三家航空公司使用同一条跑道:小机型需要 1000 米,中机型 1500 米,大机型 2000 米,跑道造价与长度成正比。特征函数取成本版:v(S) 是满足联盟 S 中最大机型所需的跑道成本。分摊问题:总成本 2000(按最大需求 2000 米建一条共用跑道)怎么摊。

操作。算夏普利值:枚举六种接入次序,每家按"我到来时迫使跑道延长了多少"付费。以大机型为例:首位到来贡献 2000;中首位后到来补 500;小首位后到来补 1000;其余次序类似,六序平均得大机型 1200。同法小机型 150,中机型 650,合计 2000。

结果。分摊方案 1200、650、150,恰好是"增量成本法"的结果:小家先铺 1000,中家加长 500,大家再加长 500,各自按自己造成的那段付费,再按次序平均掉先后运气。核约束也顺带满足:任何两家的分摊之和不超过两家合建的成本(例如大小两家合建需 2000,分摊和 1350 低于 2000,无人有另建动机)。

解读。超模性在这里的形态是"成本次模":一起建比分开建便宜,边际成本随联盟扩大而递减——与收益超模互为镜像,定理照样保证核非空与夏普利值的稳定性。这套机制已写进多个机场的实际收费规则,也是 7.1 节机制设计里"预算平衡加激励"双目标能同时达成的少数场景之一。

变式。把跑道换成云计算的集群预留、冷链的干线共享、开源基础设施的联合资助,特征函数照写,夏普利值照算;参与者多到六家以上,枚举会爆炸,下面的代码演示这个代价,也演示蒙特卡洛近似的出路。

import itertools, random def shapley_exact(v, n): """v: 字典,键为成员元组,值为联盟产出;n: 人数。精确枚举 n! 种次序""" total = {i: 0.0 for i in range(n)} for order in itertools.permutations(range(n)): s = () for i in order: total[i] += v.get((s + (i,)), 0) - v.get(s, 0) s = s + (i,) return {i: total[i] / __import__("math").factorial(n) for i in range(n)} def shapley_monte(v, n, samples=200000): """大 n 时的随机次序近似:误差以样本数平方根速度收缩""" est = {i: 0.0 for i in range(n)} for _ in range(samples): order = list(range(n)); random.shuffle(order) s = () for i in order: est[i] += v.get((s + (i,)), 0) - v.get(s, 0) s = s + (i,) return {i: est[i] / samples for i in range(n)} # 机场案例:成本按最大需求计,取负号转成收益分摊 cost = {(): 0, (0,): 1000, (1,): 1500, (2,): 2000, (0,1): 1500, (0,2): 2000, (1,2): 2000, (0,1,2): 2000} v = {k: -c for k, c in cost.items()} # 分摊负成本 print(shapley_exact(v, 3)) # 约 -1200 -650 -150

三、案例推演:数据联盟的估值与分成

背景。三家医疗科研机构商谈组建联合数据集:甲持有影像数据,单独训练的模型价值 30;乙持有文本病历,单独价值 20;丙持有随访标注,单独价值 5。两两合并:甲乙 70,甲丙 45,乙丙 30;三家合并的模型价值 120。多模态互补极强,疑似超模。

操作。先验超模性:抽验边际贡献的单调性——丙加入甲的边际贡献是 45 − 30 = 15,丙加入甲乙的边际贡献是 120 − 70 = 50,15 小于 50,单调增,超模成立。再算夏普利值,以丙为例枚举六种次序:首位加入两序各贡献 5;第二位加入两序分别补 15 与 10;末位加入两序各补 50,合计 135,均值 22.5。同法甲为 30、30、50、40、90、90,均值 55;乙为 20、20、40、25、75、75,均值 42.5。三家合计 120,对上总账。

结果。按夏普利值分成 55、42.5、22.5。互补结构下,单独资产价值高的两家并不吃掉全部溢价——最终模型的价值主要由"合在一起"创造,末位加入的边际贡献主导了分成。

解读。夏普利值在数据要素场景流行起来的原因正在于它对互补性的公允:它不给"原始资产大"的一方全部溢价,而是按每个加入次序的增量计酬。它的现实障碍也在这段演算里暴露:联盟价值评估本身需要跑模型,且 n 家以上枚举不可行——蒙特卡洛近似加抽样验证是工程标配。监管与合规要点:特征函数里的"价值"必须由事先约定的评估协议冻结,否则 v 的数字本身会成为新的博弈对象——这是所有合作博弈落地时最常见的暗礁。

变式。若三家数据强相关(同源人群),合并价值不再超加,博弈滑向次模,公平分成与稳定分成开始打架,需要引入外部治理(第三方托管)来补核的空缺——互补结构决定治理结构,这是本节最重要的迁移结论。

本节要点回顾

  • 要点一:超模是互补性的正式定义——边际贡献随联盟扩大而递增;次模是其镜像。
  • 要点二:超模博弈核必非空且夏普利值必在核内,公平与稳定自动兼容;次模博弈两者可能冲突。
  • 要点三:机场分摊演示成本次模的增量计费逻辑,已进入真实收费规则。
  • 要点四:夏普利值的精确计算随阶乘爆炸,蒙特卡洛近似加冻结评估协议是数据联盟落地的工程底线。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U