来源
Coalitional Game Theory for Communication Networks
前置知识
由于详细解释需要一些博弈论的知识,如TU、core等,所以这里只作初解,大致解释下什么叫做Nucleolus方法。
这里我们讨论的是TU canonical games,不理解也没关系,当成最普通的博弈情景就行了。
理解
Nucleolus,本质就是最小化合作博弈中联盟(coalition)的最大不满意程度的一种分配方法。本质是min-max。
概念
- 合作博弈:字面上理解。
- 联盟 coalition:一次博弈中组队的几个人,构成一个coalition,常用 S S S表示。
- 归因 imputation:对博弈中所有人的一种分配方式,常用 x x x表示,是一个vector,其中 x j x_j xj代表对第j个人分配的数值。
- 联盟值:评价联盟 S S S的价值(worth),也有时候被称为特征函数,常用 v ( S ) v(S) v(S)表示。在本文讨论的情况下v是一个实数值。
- 超出 excess(翻译的可能不准):一个联盟对某一个分配的不满意程度。 e ( x , S ) = v ( S ) − ∑ j ∈ S x j e(x,S)=v(S)-\sum_{j \in S} x_j e(x,S)=v(S)−∑j∈Sxj,即联盟S的价值与联盟中所有人分配的值的差值。可以看出,excess越小,不满意程度越低;若一次博弈中所有S的excess都是0或负值,则这样的x是存在于core中的。(最后一句话可以不用理解)
- O ( x ) O(x) O(x):一次博弈中所有excess所构成的vector,以非增的顺序排列。
- ≺ l e x \prec_{lex} ≺lex 顺序小于 lexographically less:定义的一种符号。若 y ≺ l e x z y\prec_{lex} z y≺lexz,其中yz都是k维向量,则存在 l ∈ { 1 , . . . , k } l \in \{1,...,k\} l∈{1,...,k},使得 y 1 = z 1 , . . . y l − 1 = z l − 1 , y l < z l y_1=z_1,...y_{l-1}=z_{l-1},y_l<z_l y1=z1,...yl−1=zl−1,yl<zl成立。
核仁是什么
一个公式解决:
O
(
x
)
≺
l
e
x
O
(
δ
)
O(x)\prec_{lex}O(\delta)
O(x)≺lexO(δ)
其中x就是Nucleolus了, δ \delta δ是其余任意的imputation。满足这个式子,说明x能使最大的excess最小化,即让最不满意的S不要太过不满意……
举个例子
一个男人有三个老婆,然后他死了。遗产要分给这三个人。1号老婆说要分100元,2号老婆说要分200元,3号老婆说要分300元。如果遗产大于600当然好说,但如果小于600,该怎么分配呢?
我们用Nucleolus来解答这个问题。
记遗产为
α
\alpha
α,3个人有7种可能存在的联盟,我们假设每一个联盟的v(S)就是总遗产数减去S之外其他人需要的遗产数,即:
v
(
S
)
=
m
a
x
(
0
,
α
−
∑
i
∈
N
\
S
c
i
)
v(S)=max(0,\alpha -\sum_{i \in N\backslash S}c_i)
v(S)=max(0,α−i∈N\S∑ci)
其中N是全体人员的集合,
c
i
c_i
ci是第i个人声称要求的遗产数目。
我们不妨假定
α
=
100
\alpha=100
α=100,计算这7种联盟下对不同分配方式x的excess,从而得到
O
(
x
)
O(x)
O(x)。
- 第一种分配方式 x 1 x_1 x1,1号给20元,2号给30元,3号给50元。
我们记联盟为{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3}。则: O ( x 1 ) = [ − 20 , − 30 , − 50 , − 50 , − 70 , − 80 , − 100 ] T O(x_1)=[-20,-30,-50,-50,-70,-80,-100]^T O(x1)=[−20,−30,−50,−50,−70,−80,−100]T
每一项就是对每一个v(S)减去实际分配给S的钱,不懂的可以去看看上面的定义。最后结果按照非增方式排序。
- 第二种分配方式
x
2
x_2
x2,1号给
100
3
\frac{100}3
3100元,2号给
100
3
\frac{100}3
3100元,3号给
100
3
\frac{100}3
3100元。
同样可以得到:
O ( x 2 ) = [ − 100 3 , − 100 3 , − 100 3 , − 200 3 , − 200 3 , − 200 3 , − 100 ] T O(x_2)=[-\frac{100}3,-\frac{100}3,-\frac{100}3,-\frac{200}3,-\frac{200}3,-\frac{200}3,-100]^T O(x2)=[−3100,−3100,−3100,−3200,−3200,−3200,−100]T
可以看到,
O
(
x
2
)
≺
l
e
x
O
(
x
1
)
O(x_2)\prec_{lex}O(x_1)
O(x2)≺lexO(x1),至少说明
x
2
x_2
x2的分配方式更优。实际上,平均分配是
α
=
100
\alpha=100
α=100情况下的最优分配方式,这里就不做证明了。
这里可能存在一个疑惑的点:为什么v(S)是这么定义的?关于这点我也没想清楚,如果有谁知道的话麻烦在评论区谈谈。
总结
博弈论真烦。