CS269I:Incentives in Computer Science 学习笔记: Lecture2 Stable Matching(稳定匹配)

Lecture2 Stable Matching(稳定匹配)

1 Stable Matching and the Deferred Acceptance Algorithm(稳定匹配与延迟接受算法)
1.1 Model

问题:在NRMP(全国实习医师匹配计划)中,每个实习医师在结束他的实习之后需要找到一个医院工作,现在要为这个匹配问题寻找一个好用的算法

首先我们来对问题建立一个模型:

模型:假设S为所有学生的集合,H为所有医院的集合,每个医院的容量为c_h(可以接受最多c_h个学生)。每个学生都提交一个对医院的偏好列表;每个医院也提交一个对学生的偏好列表。

​ 不妨设|S|=Σc_h,否则我们可以通过添加一些“虚拟”的医院或学生的方式来满足这个条件。

概念:Matching(匹配),给每个医院安排c_h个学生,每个学生一个医院。

讨论:上一章的末尾我们曾经讨论过,这个问题和之前的抽签问题的最大区别在于,这个模型是一个“双边市场”,双方都有一个偏好。

定义Stable Matching(稳定匹配)

​ 一个匹配A称为稳定的,若不存在一个学生s和医院h,使得其满足以下三个条件:

​ (1)s没有分配给h

​ (2)s对h的偏好高于ta被匹配到的医院h_s

​ (3)h对s的偏好也高于某个它本来选择的学生s*

​ 我们称满足以上条件的对(s,h)为Blocking Pairs(阻塞对),也就是说,一个匹配A是稳定的当且仅当其中不存在任何一个阻塞对

讨论:我们很好理解不存在阻塞对的意义——因为阻塞对意味着麻烦。很显然,如果我们的匹配中出现了这样的阻塞对,那么这个学生和医院都有动力去绕过我们的匹配自行组合。这样我们给出的匹配就失去了公信

举例:在下面的例子中给出了学生对和医院对及其各自的偏好。三个学生的偏好是一样的,都是D>E>F,而医院的偏好则是轮换的;同时,医院的容量均为1.
在这里插入图片描述

我们来考虑一下,如何寻找他们的一个稳定匹配。显然,A必须给D,从直觉上来看确实如此——ABC都对D一厢情愿,但是D只偏爱A,那么有什么理由让D抛弃A去选择其他人呢?不过比起舞文弄墨,我们需要严格的证明。

事实上,如果A和D没有匹配的话,那么(A,D)就是一个阻塞对。为什么呢?因为它满足了所有阻塞对的条件:(1)A和D没有被匹配 (2)A比起自己匹配到的医院来说更偏好D (3)D比起自己匹配到的学生来说更偏好A

所以,我们可以推导出,如果我们想要构造一个稳定的匹配,那么在这个匹配中(A,D)是必须的。而同理我们得出(C,E),(B,F)这两个匹配也是必须的。因此,对这个例子来说,稳定匹配是唯一的,那就是(A,D),(B,F),(C,E)

1.2 延迟接受算法

讨论:那么,稳定匹配是不是一定存在呢?如果存在,如何找到一个稳定匹配呢?让我们通过下面这个精妙的算法来回答这个问题。

算法:(Deferred Acceptance Algorithm)

循环(若有未与医院匹配的学生){

​ 每个未分配的学生向其认为最好且还没有拒绝他的医院发出propose(邀约,这里意译为简历)

​ 每个学校保留接收的自己最喜欢的前c_h个简历,拒绝其他的简历;

最后得到的邀约匹配状况即为最终的匹配结果

名词解释:延迟:只有在学生全部匹配完之后学校才会一下通过所有的简历,在这之前这一轮的简历被接受并不意味着之后就不会被拒绝了——你可能仍然会被这个医院更加偏爱的学生挤出来。

1.3 稳定匹配的计算与存在性

让我们来分析一下这个算法的性质:

性质:(1)每个学生都会按照自己的偏好顺序依次向医院投递简历,直到算法结束为止

​ (2)医院在这个过程中得到的学生质量是单调递增的

​ (3)算法必定结束,不会一直循环下去

​ 证明:如果算法还没结束,那么每一轮投票中必定有一个人被拒绝,相当于在可接受他的 医院列表中又减少了一个医院。而所有人的可接受医院列表最开始有|S|·|H|个,是有限 的,所以循环在至多|S|·|H|次后必然结束

​ (4)最终得到的是一个匹配,不会有人被所有医院拒绝以至于得不到匹配。

​ 证明:我们注意到每个医院持有的简历数量是单调增加的,然而医院h开始拒绝简历的前 提是这个医院的简历数量已经达到了c_h,因此如果所有医院都拒绝了他,那么所有医院的简 历数量都将是饱和的,所以所有医院持有的简历总数为Σc_h=|S|,但他的简历没能投出去, 所以医院收到的简历总数应该至多为|S|-1,矛盾!

​ (5)定理:这个算法得到的匹配结果是稳定的

证明:若否,存在一个阻塞对(s,h),使得h不接受s,但是接受了比s更不喜欢的学生 s’,并且s比起现在匹配到的学校更喜欢h,那么,由于投简历顺序是按照学生的偏好顺序来 的,因此s在匹配到现在这个学校之前一定被h拒绝过了。然而s’比s差,因此s‘一定会先于s被 h拒绝,这与h最终接受了s‘但么有接受s产生了矛盾,命题得证!

讨论:这个算法的巧妙之处在于,它通过构造性的方法,在给出了一个稳定结果的同时,也顺便证明了稳定匹配在任意一种条件下都是必定存在的。

1.4 为什么是稳定性?

讨论:稳定性确实很重要,但是,我们要怎样说明它的重要性?

​ 一方面,稳定性蕴含着帕累托最优——没有人能够提出一个完全不损害任何人利益的新方案

​ 另一方面,在英国,不同地区使用的匹配算法是不同的,然而,最终,使用延迟接受算法的系统全部保留了下来,而其它算法则渐渐失去公信,最终大部分转变为延迟接受算法。

2 Student-Optimality and Strategy-proofness
2.1 Multiple Stable Matchings(多种稳定匹配)

讨论:我们用上面的延迟稳定算法证明了,一个给定的初始局面至少存在一种稳定匹配。然而,是否有可能一个局面存在多种稳定匹配?如果是,我们应该选择哪一种呢?(这里的讨论和多重纳什均衡的讨论很像,不知道有没有关联

例子:如下图所示,在如此简单的局面中,存在着奇特的矛盾——医院的偏好与学生的偏好是相反的。因此,容易看出存在两种完全不同的稳定匹配,一种是(A,C)(B,D),一种是(A,D)(B,C);而且,第一种匹配是侧重满足学生的偏好,而第二种匹配是侧重满足医院的偏好。我们也容易发现,使用延迟接受算法的话,得到的是第一种匹配。这启发我们,也许延迟接受算法的侧重点在于尽可能满足学生的偏好。

在这里插入图片描述

2.2 Selecting a Stable Matching(选择一个稳定匹配)

定理延迟接受算法会将每个学生s都匹配到在任意稳定匹配中可能匹配到的最好的学校(记为h(s))

证明:如果学校h拒绝了学生s,则记(s,h)为一个拒绝对。假设R_i为在算法中第i个出现的被拒绝的对,下面我们用归纳法,对i归纳,证明R_i在任意一个稳定匹配中都不可能出现。

​ 归纳:i=0显然,只需证明(i-1)=>(i). 假设R_i =(s,h),则不妨设h把s拒绝后接受了s‘的简历,那么,既然s‘把简历投递给了h,就说明s‘被ta更喜欢的所有医院全都拒绝了。根据归纳假设,则不存在任何方法将s‘匹配与h之前的医院,而对医院h来说s‘又比s要好,所以匹配(s,h)会造成不稳定匹配(s‘,h)的出现,因此(s,h)不能出现在任何一个稳定匹配之中,由归纳假设,命题得证。

推论:延迟接受算法对于学生具有最优性(student-optimal),而同理对医院具有最劣性(hospital-worst);但是,如果将算法中的医院和学生对调位置,就会形成一个学生最差而医院最优的算法了。

2.3 Strategyproof Considerations(是否防策略?)

问题:每个人是否有动机去隐瞒他们的偏好?(即欺骗算法?)

讨论:这个简单的问题其实是相当困难的,不过最终我们可以证明,学生有动力去保持诚实,而学校则可能试图隐瞒它们的偏好。

如有兴趣,请参考这本书上的定理10.6.18:Y. Shoham and K. Leyton-Brown. Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge University Press, 2009.

2.4 Key Take-away(小结)

在这个双边市场中,你只能使得均衡的一方受利而另一方受害。不过,一旦你决定了算法要倾向于那一侧,那么就无需再做额外的平衡了。

3 Epilogue :College Admission Revisited(后记:择校)

讨论:这个算法能否应用在大学择校上?

解答:在不同的国家可能不同。在美国,因为人才的标准划分实在太多,而且在不同的专业选择中偏好也可能不同,因此很难准确地给每个人一个标准的偏好排序,所以做不到。但是,在那些几乎仅使用高考(college-entrance-exam)作为人才划分标准的国家,这个算法是可行的,例如,匈牙利就是采用这个算法来为高考生分配大学的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值