我们从2000年前古巴比伦犹太法典《塔木德》(Talmud) 中描述的一个案例为出发点, 介绍一种资源分配的策略. 从合作博弈论的角度来理解, 这种分配策略是Nucleolus分配. 值得一提的是, 我们已经在供应链相关的多个业务场景中使用该资源分配方案.
注意: 本文绝大部分内容参考了Robert J. Aumann和Michael Maschler 1.

1. 争大衣问题

《塔木德》2源于公元前2世纪至公元5世纪间,记录了犹太教的律法, 条例和传统. 其内容分三部分, 分别是密西拿(Mishnah) – 口传律法, 革马拉(Gemara) – 口传律法注释, 米德拉什(Midrash) – 圣经注释.

破产问题 (The Bankruptcy Problem)

密西拿中描述了如下的案例:

争大衣(The Contested Garment)
两个人共同拥有一件大衣. 第一个人说大衣完全属于他; 第二个人说大衣的一半属于自己.
那么应该给第一个人3/4, 另一个人1/4.

如果按比例分配, 应该给第一个人2/3, 另一个人1/3. 那么争大衣问题背后的分配逻辑是什么? 为方面描述, 我们引入如下的记号:

  • EE – 总资产
  • did_i – 第ii个人声明的资产, i=1,2i=1, 2
  • xix_i – 给第ii个人实际分配的资产, i=1,2i=1, 2

它的分配思想是: 没有争议的给对方, 有争议的部分平均分.

θ+=max(θ,0)\theta_+ = \max(\theta, 0). 注意到(Ed1)+(E-d_1)_+是第一个人对第二个人无争议的部分; (Ed2)+(E-d_2)_+是第二个人对第一个人无争议的部分. 因此, 双方有争议的部分为
E(Ed1)+(Ed2)+.E - (E-d_1)_+ - (E-d_2)_+.

我们有

CG原则(Contested Garment Principle)
x1=E(Ed1)+(Ed2)+2+(Ed2)+x2=E(Ed1)+(Ed2)+2+(Ed1)+\begin{aligned} & x_1 = \frac{E-(E-d_1)_+ - (E-d_2)_+}{2} + (E-d_2)_+\\ & x_2 = \frac{E-(E-d_1)_+ - (E-d_2)_+}{2} + (E-d_1)_+\\ \end{aligned}

2. 破产问题

如何把争大衣的分配策略扩展到任意多个人的情形?

破产问题(The Bankruptcy Problem)
我们用二元组E,d\langle E, d\rangle来描述一个破产问题的实例. EE代表某个破产银行的总资产, d=(d1,d2,,dn)d=(d_1, d_2,\ldots, d_n)代表银行对nn个机构(或个人)的欠款. 设d1d2dnd_1\leq d_2\leq \ldots \leq d_n0Ei=1ndi0\leq E\leq \sum_{i=1}^n d_i. 应该如何把资产EE"公平地"分配给nn个机构?

我们注意到, 在该问题中:

  1. 总资产一定不能满足所有人的需求. 换句话说, 总资产可能不够分.
  2. 分配时应该尽量保证"公平性", 不同应用场景下公平性的定义应该是不同的.
  3. 按比例分配背后的逻辑是权重越大的人分到的资产越多, 反之则越少. 在某些应用场景下, 按比例分配也许是公平的, 但它绝对不是唯一的分配方式.
  4. CG原则从另外的角度给出了一种公平性分配, 它的公平性在损失和收益两个方面同时得到了体现(参考下文).

考虑3个人d1=100d_1=100, d2=200d_2=200, d3=300d_3=300. EE分别为100, 200, 300时, "密西拿“”规定的分配如下表所示:

E x1x_1 (d1=100d_1=100) x2x_2 (d2=200d_2=200) x3x_3 (d3=300d_3=300)
100 33 + 1/3 33 + 1/3 33 + 1/3
200 50 75 75
300 50 100 150

通过观察, 我们发现:

  1. E=100E=100时是平均分配.
  2. E=200E=200时看起来挺神秘的 …
  3. E=300E=300时是按比例分配.

问题 如何把CG原则扩展到nn人情形(如何解释上面的分配策略)?

3. 一致性分配(Consistency Allocation)

给定分配x=(x1,x2,,xn)x=(x_1, x_2, \ldots, x_n). 对任意两个机构ii, jj (iji\neq j), 如果按照CG原则对iijj分配总资产(xi+xj)(x_i+x_j), 它们得到的资产仍然为xix_ixjx_j, 那么我们称xx一致的(Consistent).

容易验证上面例子的分配符合一致性.

下面我们介绍一致性分配的性质(证明忽略).

  1. 破产问题的一致性分配是唯一的.
  2. 破产问题的一致性分配是自洽的(self-consistent). 即, 考虑破产问题的任意子问题, 它的机构集合为S{1,2,,n}S\subseteq \{1,2,\ldots,n\}, 总资产为iSxi\sum_{i\in S}x_i. 那么重新按照一致性分配, SS中的机构分配到的资产仍然为xix_i, 其中iSi\in S.
  3. 破产问题存在唯一的**自对偶的(self-dual)**一致性分配. 为描述简单起见, 我们忽略自对偶的定义(详细定义请参考1), 仅解释其意义. 令D=i=1ndiD=\sum_{i=1}^n d_i为破产银行对所有机构的总欠款. 所以我们可以把这个问题从两个方面理解:
    i. 如何把总资产EE公平地分配给nn个机构?
    ii. 如何把总损失DED-E公平地分配给nn个机构?
    如果分配策略是自对偶, 那么按照上述两种情况分配最终得到的资产是相同的.
  4. 对任意的集合SN={1,2,,n}S\subseteq N = \{1, 2, \ldots, n\}, 定义效用函数
    v(S)=(EiN\Sdi)+.v(S) = \left(E-\sum_{i\in N\backslash S}d_i\right)_+.
    该问题可以被描述成合作博弈(Cooperative Game). 那么自对偶的一致性分配是Nucleolus3 (或参考《博弈论在零售业务中的应用》).

如何计算自对偶的一致性分配?

4. 计算

我们先介绍一个简单的分配策略.

CEA(Constraint Equal Award): 考虑破产问题E,d\langle E, d\rangle. 设d1d2dnd_1\leq d_2\leq \ldots\leq d_n. 首先给第一个机构分配, 原则是在不超过d1d_1的前提下对当前的总资产平均分, 即x1=min(E/n,d1)x_1= \min(E/n, d_1). 之后机构1离开, 剩下总资产Ex1E-x_1, 总机构数为n1n-1. 依此类推, 我们可以完成对所有机构的分配, 最终得到x1,x2,,xnx_1,x_2,\ldots, x_n作为nn个机构分配到的资产. 为方便描述, 我们用CEA(E,d)=(x1,x2,,xn)\text{CEA}(E,d) = (x_1, x_2, \ldots, x_n)表示分配结果.

D=i=1ndiD=\sum_{i=1}^n d_i. 用xx表示计算结果.下面我们描述其计算方式:

  1. 如果ED/2E\leq D/2, 那么x=CEA(E,d/2)x=\text{CEA}(E, d/2).
  2. 如果E>D/2E>D/2, 先计算y=CEA(DE,d/2)y=\text{CEA}(D-E, d/2)(先分配损失), 然后令x=dyx=d-y.

容易验证上一节例子中的分配结果就是按照本节中的计算方式得到的. 算法实现可以参考 Bankrupt on Github.

5. 总结

破产问题本质上是一个资源分配问题, 而CG分配原则考虑了某种意义上的公平性. 可以证明, 按照上一节描述的方式计算的结果不仅是唯一的一致性分配, 而且是自对偶的. 即, 它分配资产和分配损失的策略是相同的. 此外, 与按比例分配相比, CG分配更多地照顾到了低权重的个体. 在实际中, 我们应该根据具体的业务场景选择合适的分配策略.

写在最后: 古人的智慧不可小觑~

参考文献


  1. R.J. Aumann and M. Maschler. Game Theoretic Analysis of a Bankruptcy Problem form the Talmud. Journal of Economic Theory. 36, 195-213, 1985. ↩︎ ↩︎

  2. Wikipedia/塔木德. ↩︎

  3. Wikipedia/Cooperative game theory/The nucleolus ↩︎

相关文章:

  • 2021-09-14
  • 2022-12-23
  • 2021-07-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-05-21
  • 2021-05-16
猜你喜欢
  • 2021-08-25
  • 2022-12-23
  • 2021-12-13
  • 2022-12-23
  • 2021-12-13
  • 2021-10-30
相关资源
相似解决方案