卷 V · 配对CH 17深度 17/24

谁先开口,谁占便宜

上一卷讲的都是用钱来配资源。可现实里有一大类东西不能用钱配:学生上哪所学校、医学生进哪家医院、谁跟谁结婚、哪个肾给哪个病人。这些市场没有价格,但照样有供需、有竞争、有均衡。这一卷讲它们怎么运作——而第一件事就是一个让人很不舒服的发现:结果的好坏,取决于一个看起来纯属技术细节的东西。

★ 招牌稳定匹配1.40 vs 2.60

▷ 轮到你

五个求职者和五个团队要两两配对,每人一个。每个人对另一侧五个人都有一个完整的偏好排序。没有工资谈判,只有「谁配谁」。

有一个经典算法能保证配出来的结果是稳定的——没有任何一对「彼此都更想要对方、但没被配到一起」的人。这个算法要求一方主动提出,另一方接受或拒绝。

问:让求职者主动申请,和让团队主动发 offer,配出来的结果会有什么差别?

A 没差别。稳定匹配的结果是唯一的,谁先开口只是过程不同 B 有差别,但很小,个别人换一下而已 C 差别很大,主动的一方系统性地占便宜 D 差别很大,但方向不确定,看具体偏好

什么叫「稳定」

先说清楚这类市场的均衡长什么样。

一个配对方案叫稳定的,如果找不到这样一对人:他们没被配到一起,但两个人都更想要对方,胜过自己当前的搭档。

这样一对人叫做阻塞对。如果存在阻塞对,这个方案就散架了——因为那两个人有强烈的动机私下走到一起,而且他们的行为完全不需要任何人配合。

请注意这个定义和这本书前面那个「没人后悔」是同一个形状:不是「最好」,是「没人能靠自己(或者靠找到一个愿意配合的人)走开」。

那个算法

Gale 和 Shapley 在 1962 年给出了一个算法,只有几行:

重复以下步骤,直到没有人空着:
  1. 每个还没配上的求职者,向他名单上还没申请过的最靠前的团队申请。
  2. 每个团队看看手上所有申请者(包括之前暂时留下的那个):
       留下自己最喜欢的那个,其余全部退回。
  3. 被退回的人回到第 1 步。

# 关键在于「暂时留下」:团队随时可以为了更好的人选,把手上的人退回去。
# 这就是它被叫做「延迟录取」的原因。

Gale 和 Shapley 证明了两件事:这个过程一定会停,并且停下来时的结果一定是稳定的

顺带一提,这个算法在现实里救过命:美国的住院医师配对系统(NRMP)从 1950 年代起就在用它的变体,每年安排数万名医学毕业生。Alvin Roth 和 Lloyd Shapley 因为这一整块工作在 2012 年获得诺贝尔经济学奖。

那个让人不舒服的数字

上面这台引擎跑的是一个具体的五对五市场。你可以切换「谁先开口」,然后看下面两行:

谁主动求职者平均拿到第几志愿团队平均拿到第几志愿
求职者主动申请1.404.00
团队主动发 offer2.602.00

同一批人。同一份偏好。同一个算法。只换了「谁先开口」这一件事。

求职者的平均志愿从 1.40 掉到 2.60,团队的从 4.00 升到 2.00

这不是这个例子特殊。Gale–Shapley 算法有一条定理:它给出的结果,是主动方在所有稳定匹配里能得到的最好结果,同时是被动方能得到的最差结果。

换句话说,主动权不是「过程上的先后」,它是整个稳定匹配集合的两个极端

中间还有别的

这个市场一共有 5 个稳定匹配。引擎是穷举全部 120 种配对方式、逐个检查有没有阻塞对找出来的。

这 5 个方案里,两个极端正好是「求职者主动」和「团队主动」的结果,中间还有三个。它们全都稳定,全都站得住,但对两侧的好坏各不相同。

这件事本身值得停一下:「稳定」这个要求,并没有把答案锁死到一个。它只是划出了一个范围,而在这个范围里选哪一个,是一个纯粹的分配决定——谁来做这个决定,就相当于在替两边分蛋糕。

而现实中的机制往往把这个决定藏在一句技术性的描述里:「本系统采用学生申请、学校录取的流程」。听起来只是在说流程,实际上是在说谁拿走了那个范围的哪一端

◆ 这一章的核心

这本书前十六章告诉你「规则决定结果」。这一章要加一句更狠的:

看起来最像纯技术细节的那一条规则,可能正是分配权力的那一条。

「谁先开口」在算法描述里只占一行,在结果上却值一个半的志愿位次。当你审视任何一套机制时,最该盯住的往往不是那些显眼的条款,而是这类「反正总得定一个」的地方。

▸ 在现实里

住院医师配对。美国的 NRMP 早期用的是「医院主动」的版本。1990 年代,医学生组织提出质疑,Roth 等人受委托重新设计,1998 年之后改成了申请人主动的版本。这次改动的核心内容,就是把上面那张表的两行调了个个儿。

高考志愿与中考派位。不同地区采用的规则差别很大,而这些差别的后果,正是这一章和下一章讨论的东西。有的地方用的是「平行志愿」(接近延迟录取),有的地方用的是「顺序志愿」(接近下一章要讲的波士顿机制),两者对考生的策略要求完全不同。

套用到真实市场时要小心一件事:谁是「主动方」并不看谁先说话。算法里的主动方,是发出具体的、可被对方拒绝的报价的那一侧。按这个判据,投简历不算提议(它不是一个可被「接受」的报价),发 offer 才算;猎头打电话来也不算,它只是渠道。

所以「招聘市场里谁占便宜」这个问题,答案取决于是谁在发可拒绝的 offer、以及谁手上同时握着多个。这比套算法难,但正是这一章想训练的那种眼力:先找出提议—接受的循环在哪,再判断自己站在哪一端。

✗ 这个直觉是错的

「只要算法是公平的、对所有人一视同仁,结果就是公平的。」

Gale–Shapley 对所有人一视同仁:没有任何一条规则区别对待某个具体的人。可它系统性地偏向主动的那一侧

这是算法公平性里非常常见的一类问题:不歧视个体,不代表不偏袒角色。规则里没有写「求职者优先」,但求职者拿到了整个可行范围的最好那一端。

检验方法:把两侧的角色对调,重跑一遍,看结果变不变。变了,说明这套规则里有一个隐含的偏向,而这个偏向需要被明确地拿出来讨论——它是一个价值判断,不是一个技术选择。

◇ 摊牌

正确答案是 C:差别很大,而且方向是确定的——主动的一方系统性地占便宜

A 「结果唯一」——稳定匹配通常不唯一。这个五对五的市场就有 5 个稳定匹配,而 Gale–Shapley 每次只会给你其中一个极端。这个误解很常见,因为算法给出的答案看起来很确定,让人以为它是唯一解。 B 「差别很小」——在这个例子里,主动方平均志愿从 1.40 变成 2.60,差了一个多志愿位次。在更大的市场里,两个极端之间的差距通常会缩小(因为稳定匹配的集合相对变小),但方向永远不变。 D 「方向不确定」——这个答案很谨慎,但被定理否掉了:主动方最优、被动方最差是可以证明的,不依赖具体偏好。这也是这条结论有力量的地方——它不需要你去看数据。
◆ 换你定规则

你在设计一个配对系统,不想让任何一侧独占好处。改什么?

固定一侧主动 ⇒ 结果永远落在稳定匹配集合的一端,另一侧永远拿最差的那个。 几种真实用过的做法:随机决定哪一侧主动(把偏袒变成运气);或者在稳定匹配集合里选中间的那个(有算法可以做到,但计算更贵);或者干脆把「谁主动」写进公开文档,让它成为一个被明确讨论的价值选择,而不是藏在实现细节里。

请注意最后一种:它没有改变任何数学,只改变了这个选择是否被看见。这也是一种机制设计。

这一章的一句话

稳定只是一个范围,不是一个点;而决定你落在这个范围的哪一端的,往往是一条看起来纯属技术细节的规则。

下一章问一个必然会被问到的问题:既然这套规则对某一侧不利,那一侧能不能撒谎来改善处境?答案分两半,而且这两半差别巨大。下一章会用穷举给你看:在延迟录取里,主动方把所有谎话试一遍,一种能占到便宜的填法都没有;而换一套只差一点点的规则(很多地方真的在用),同样的穷举会立刻翻出好几种——老实填志愿的人在那套规则下是要吃亏的