合作博弈(coalitional game)——核仁(Nucleolus)初解

来源

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)jSxj,即联盟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 ylexz,其中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,...yl1=zl1,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,αiN\Sci)

其中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)是这么定义的?关于这点我也没想清楚,如果有谁知道的话麻烦在评论区谈谈。

总结

博弈论真烦。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值