CS269I:Incentives in Computer Science 学习笔记 Lecture 20: Fair Division(公平分配)(本系列完结撒花!)
作者:互联网
Lecture 20: Fair Division(公平分配)
1 Cake Cutting(分蛋糕)
1.1 Properties of the Cut and Choose Protocol(切蛋糕和选择协议的性质)
作为我们的最后一讲,我们要进行一场怀旧之旅:继续课程第一周的主题。我们将重新探访熟悉的程序并研究其激励特性。 (在第一周,我们讨论了抽签和序列独裁机制,以及大学录取和Gale-Shapley延期接受算法。)与第一周的示例不同,今天,我们主要关注公平性。 (在第一周中,我们集中于策略证明性和帕累托最优性,它们都没有说明解决方案的“公平性”。)
假设两个人需要分割一个不均匀可分割的物品。 通常的欧洲俗语称其为切蛋糕。 实际上,物品的分布很广泛,可以是遗产(例如,离婚协议),也可以计算机集群的处理时间(也许一天中的某些时间比其他时间更有价值)。
为什么不直接对半分? 当物品是均匀的时,这是有道理的,但对于不均匀的物品,我们并不清楚这意味着什么,不同玩家于哪些部分是最有价值的商品可能会有不同的看法。 不过,我们可以先考虑我们都知道的切蛋糕的一个合理方案:
切蛋糕和选择协议(下简称“选择协议”)
-
由第一个人来把蛋糕切成A,B两块
-
第二个人优先选择自己喜欢哪一块
上面的描述其实就是一个协议,下面我们来讨论他们对半分的激励。
我们假设两个人对物品的估值为两个关于物品集合的函数,蛋糕为集合[0,1],那么,做以下合理假设:
- 进行标准化,使得vi([0,1])=1
- vi在集合上具有可加性,即:vi(A)+vi(B)=vi(AUB)(若AB交为空)
第一个问题:选择协议的策略是否防策略?让我们从第二个玩家开始。由于她无法影响将蛋糕分为A和B的划分,并且应该选择自己喜欢的蛋糕,因此她没有动机偏离。但是,如果第一位玩家了解第二位玩家的估值函数,那么她可能会希望偏离协议。例如,假设商品是圣代冰淇淋,第一个玩家同样喜欢圣代冰淇淋的所有部分,而第二个玩家喜欢冰淇淋,但尤其喜欢樱桃。第一位玩家可以将圣代冰淇淋分割为“樱桃“,“冰淇淋“两块,因为知道第二位玩家会选择樱桃,第一位玩家就能从信息中获利;如果第一位玩家对第二位玩家想要的东西一无所知,并假设第二位玩家将总是留下对第一位玩家更糟的那一块,则他才不得不遵循协议(以确保自己拥有值1/2的物品)。无论如何,“选择协议“与“抽奖”是不一样的,不具有可靠性。
第二个问题:选择协议是否可以保证产生帕累托最优解决方案(假设两个参与者的行为均符合预期)? 稍加思考,答案还是“否”。 考虑下图中的蛋糕,其中第一个玩家只想要蛋糕的第一和第三块,而第二个玩家只想要蛋糕的第二和第四块。为了让每个玩家都得到价值为1/2的蛋糕,第一个玩家只能把蛋糕分割为(12,34)。 然而,如果他们经过另外的协议,将蛋糕分为(13,24)的话,每个人都可以得到效用1.
也许这些问题并非特定于“选择购买”协议,并且存在根本的不可能结果? 如果我们仅考虑防策略性和帕累托最优性,则不是这样的:例如,始终将全部蛋糕交给第一位玩家显然是防策略的,而且(在vi的弱假设下)帕累托最优。 因此,我们希望选择协议具有其他一些不错的特性,以弥补这些性质的不足之处。
那“公平”呢? 公平的一种可能定义是,两个参与者最终都同样高兴。 但是此属性也不满足选择协议:选择协议只保证第一个玩家获得其认为值为1/2的蛋糕,而第二个玩家可能最终获得她认为值大于1/2的蛋糕。
不过, “公平”的另一种定义是,至少从每个玩家的角度来看,每个参与者至少获得其公平份额。
定义1.1:蛋糕对于n个玩家的分配A1,…,An是“proportional(均衡分割)”,如果对每个玩家i,vi(Ai)≥1/n.
讨论:选择协议是“均衡分割”的——第一个人恰好得到1/2,第二个人得到的不会比1/2更少。当然了,独裁协议是不满足等比例性的。
定义1.2:一个分配A1,…,An是“envy-free(无嫉妒的)”,如果vi(Ai)≥vi(Aj),任意ij
讨论:这也就是说,每个人都不会眼馋其他人得到的份额;或者说,在每个人眼中,自己的这一份都是最好的一份。
显然,第二个定义是第一个定义的加强——对任意一个人来说,他的这份是最好的一份当然意味着vi(Ai)≥1/n。特别的,选择协议也是无嫉妒的。
关于分蛋糕问题的更多讨论,有一篇非常好的文章:https://blog.csdn.net/novostary/article/details/26492913,其中讲述了多人分蛋糕问题中的均衡分割方法和一部分我们接下来要讨论的问题。
1.2 Beyond Two Players
下一个问题是对于选择协议的推广——更多人的无嫉妒协议。事实证明,这是一个棘手的问题。**几十年来最大的突破发生在今年年初!**我们现在暂时忽略证明问题,只关心这个问题的解决历史。
首先,让我们考虑3个玩家的情况。 Selfridge和Conway(大约在1960年左右)为此案例设计了相同的无羡慕协议。 大致的主意请参考上面的链接;详细的描述请看:E. Klarreich. How to cut cake fairly and fifinally eat it too. Quanta Magazine, October 6, 2016.
提出针对四个或更多玩家的无嫉妒协议作为一个开放问题继续存在了数十年。下一个突破是在1995年,由Brams和Taylor 提出,他们给出了一个有限的协议,可以计算任意数量的玩家的无嫉妒分配。唯一的缺点是该协议是无界的:对于任何给定的评估函数v1,…, vn,它以有限的步数停止;但是对于n≥4和任意的T,可以选择一些v1,… ,vn,使得该协议在大于T个步骤后才终止。详情参考: S. J. Brams and A. D. Taylor. An envy-free cake division protocol. American Mathematical Monthly, 102(1):9–18, 1995.
那么,下一个目标是提出一个有界的无嫉妒协议,其中最大步数f(n)取决于参与者的数量n,而不取决于vi。这是几十年来的一个大的开放问题,许多专家认为不存在这样的协议。但是今年早些时候,Aziz和Mackenzie 提出了一种四人游戏协议,该协议可以保证在最多203次裁员后产生令人羡慕的分配。 你可以想象,这个协议相当复杂。
详情参考:Y. Gal, M. Mash, A. D. Procaccia, and Y. Zick. Which is the fairest (rent division) of them all? In Proceedings of the 17th ACM Conference on Economics and Computation (EC), pages 67–84, 2016.
两个月后他们发表了另一篇文章,将这个结果推广到了一般的n人的情况。不过,上界极其庞大:
f
(
n
)
=
n
n
n
n
n
n
f(n)=n^{n^{n^{n^{n^n}}}}
f(n)=nnnnnn
考虑分配的步数下界,当前已知为Ω(n^2),这其间的差距实在是太大了!下界详见:A. Procaccia. Thou shalt covet thy neighbors cake. In Proceedings of the 21st International Joint Conference on Artifificial Intelligence (IJCAI), pages 239–244, 2009.
2 Rent Division: Fair Division in Practice(房租分配:实践中的公平分配)
在实践中使用公平分配协议的地方之一是spliddit.org,已有成千上万人使用它来解决分配问题。 spliddit解决的问题之一是房租分配问题,其中有n个人,n个房间,并且总房租为R。我们的目标是给每个人分配一个房间和相应的房租,并且房租总和等于R。
我们假设每个人i对于每个房间j都有一个估值vij,并将这些值归一化,以使Σj(vij) =R。我们使用的是准线性效用函数(例如在我们的拍卖讲座中),这意味着我们要最大化每个玩家的估值减去租金的值。与我们对抽象的分蛋糕问题所做的假设相比,这是一个更具体的假设,但这使得它可以实现无嫉妒的解决方案,并且在这种背景下是合理的。
好消息是,可以确保存在一个无嫉妒的解决方案,并且可以有效地计算出解决方案。(参考二部图最大权匹配,即完美匹配问题的算法,例如:https://blog.csdn.net/qq_34681949/article/details/85197973)
坏消息是,存在很多种无嫉妒的解决方案,但并非所有解决方案都是合理的。例如,假设有两个玩家和两个房间,总租金R为1000,并且第一个玩家只想要第一个房间(v11 = 1000和v12 = 0 ),而第二个玩家只想要第二个房间(v21 = 0和v22 = 1000)。唯一合理的房间分配是给每个人他们想要的房间。凭直觉,每个人都应该支付500的租金。但是事实上房租的任意一种分法(例如,(999,1))都是防嫉妒的!即使您让第一人为自己的房间支付了近1000美元,她仍然不想与其他人交换。
结果是:我们需要一种从众多无嫉妒的解决方案中选择一种的方法。可以想象,有几种方法可以做到这一点。下面是在spliddit上运行的算法(鉴于vij和R):
-
选择房间分配 f 以最大化Σi (vif(i))(社会福利最大化)
-
设定房间的租金以保证防嫉妒性,并且在此前提下最大化:
max r ( min i = 1 n ( v i f ( i ) − r f ( i ) ) ) \max _{\mathbf{r}}\left(\min _{i=1}^{n}\left(v_{i f(i)}-r_{f(i)}\right)\right) rmax(i=1minn(vif(i)−rf(i)))
也就是说,让所有人里面获利最少的那个人获利尽可能多
从算法上讲,第一步可以通过计算二部图最大权匹配来完成,第二步可以很容易地写一个线性程序,对此,有很好的现成求解器(请参阅CS261)。
显然,最大化的目标不一定是最后这个式子,也许是其它的式子。但是,根据用户研究,上述方法在经验上是成功的。 有关更多详细信息,还是请看:Y. Gal, M. Mash, A. D. Procaccia, and Y. Zick. Which is the fairest (rent division) of them all? In Proceedings of the 17th ACM Conference on Economics and Computation (EC), pages 67–84, 2016.
/
/
/
我们这一系列20讲对于CS269I的翻译就到此结束了!我也有花了整整半寒假在做这件事呢!那么,也请期待下一个系列的学习笔记!
标签:协议,20,Fair,Division,vi,嫉妒,玩家,蛋糕,分配 来源: https://blog.csdn.net/ldc1513/article/details/114106289