Archipelago

Lec 12匹配与稳定匹配

讲义完成更新于 2026-09-16

Lec 12 匹配与稳定匹配

资料依据:课程视频与 transcript · Lecture notes

TL;DR

  • 匹配是一组不共享端点的边;完美匹配覆盖所有顶点,而最大匹配和最大权匹配分别优化边数与总权重。
  • 稳定匹配排除阻塞对:不存在一对对象都比起当前搭档更偏好彼此。
  • Gale–Shapley 让提议方反复向尚未拒绝自己的最偏好对象提议,被提议方暂留当前最优选项;算法总会终止并输出稳定匹配。

1. 匹配的基本定义

定义: 图 GG 中的一个匹配 MM 是 GG 的一个子图,其中每个顶点的度数均为 1——即一组两两不共享端点的边的集合。

定义: 极大匹配是不能再加入任何边的匹配(加入任何未选边都会产生冲突)。

定义: 最大匹配是边数最多的匹配。

极大匹配 ≠ 最大匹配。极大匹配不一定是边数最多的。

定义: 若匹配包含 ∣V∣/2|V|/2 条边(每个顶点都被匹配),则称为完美匹配。

应用场景: 婚恋配对、任务分配到服务器、航班机组排班等。


2. 加权匹配

定义: 加权图是 (G,w)(G, w),其中 w:E→Rw: E \to \mathbb{R}。权重越小代表越理想;非边通常视为权重 ∞\infty。

定义: 匹配 MM 的权重:w(M)=∑e∈Mw(e)w(M) = \sum_{e \in M} w(e)。

最小权重匹配问题: 在加权图中找一个权重最小的完美匹配。

最大匹配和最小权重匹配都有高效的多项式时间算法(超出本课程范围)。


3. 稳定匹配问题

设置: 二部图,左侧 NN 个申请方(Applicants),右侧 NN 个评估方(Evaluators)。每一方对另一方有完整的严格偏好排序。偏好无需对称。

定义: 匹配 MM 中的一对私奔情侣(Rogue Couple) (a,e)(a, e):他们在 MM 中未被配对,但双方都更偏好彼此胜过各自当前的配对对象。

定义: 若匹配中不存在私奔情侣,则称该匹配为稳定匹配。

目标: 找到一个完美稳定匹配。

非二部图情形: 若图不是二部图(任意两人可配对),稳定匹配可能不存在(三元环的例子可证明)。


4. Gale-Shapley 算法

由 David Gale 和 Lloyd Shapley 于 1962 年提出,Alvin Roth 于 1980 年代推广应用。2012 年获诺贝尔经济学奖。

又称:稳定匹配算法、延迟接受算法、求婚-拒绝算法。

算法流程(按"天"迭代执行):

  1. 每个申请方 aa 向其偏好列表中尚未拒绝过自己的评估方中排名最高的那位求婚。
  2. 每个收到多份求婚的评估方,保留其中最偏好的那位(暂时持有),拒绝其余所有人。
  3. 被拒绝的申请方将该评估方从偏好列表中划掉。
  4. 若没有任何偏好列表发生变化(即无人被拒绝),则将每位评估方与其当前持有的申请方正式配对,算法终止。

正确性证明

定理: G-S 算法在第 N2+1N^2 + 1 天之前必然终止。

证明: 令 f(s)f(s) = 所有申请方偏好列表中剩余评估方的总数。ff 从 N2N^2 开始,是正整数,且每天严格递减。故至多经过 N2N^2 次转移。

引理 1: 每位评估方持有的申请方随时间只会变好,不会变差。

证明: 若今天 aa 是 ee 最偏好的,则 aa 明天仍在 ee 的候选中(或已被正式配对),故 ee 明天持有的申请方至少和 aa 一样好。

引理 2: 每位申请方当前对应的评估方随时间只会变差,不会变好。

证明: 每次被拒绝,申请方转向偏好列表中排名更低的评估方。

定理: G-S 算法将每个人都配对。

反证法: 若某申请方 aa 未被配对,则 aa 被所有评估方拒绝过。由引理 1,每位评估方最终都有配对对象,则 NN 位评估方全部配对,从而 NN 位申请方也全部配对——矛盾。

定理: G-S 算法不产生私奔情侣。

反证法: 设 (a,e)(a, e) 是私奔情侣,即双方更偏好彼此但未被配对在一起。

  • 若 ee 曾拒绝过 aa:由引理 1,ee 最终的配对对象比 aa 更好,故 ee 并不更偏好 aa,矛盾。
  • 若 ee 从未拒绝过 aa:则 aa 从未向 ee 求婚(否则就被拒绝了),说明 aa 最终配对的评估方排名比 ee 更高,故 aa 并不更偏好 ee,矛盾。

5. 公平性:申请方最优

定义: 若存在某个稳定匹配将 xx 与 yy 配对,则称 yy 是 xx 的一个可行配对。

定义: xx 的最优配对是所有可行配对中 xx 最偏好的那个。

定义: xx 的最劣配对是所有可行配对中 xx 最不偏好的那个。

定理: G-S 算法将每位申请方配对到其最优可行对象。

定理: G-S 算法将每位评估方配对到其最劣可行对象。

在申请方主动求婚的 G-S 算法中,申请方掌握所有主动权。评估方只能被动接受,结果是所有稳定匹配中对其最不利的那个。若改为评估方主动求婚,则结果互换。

我的理解

我的理解

“稳定”不等于“对所有人公平”。Gale–Shapley 的结果对提议方是所有稳定匹配中最优,对另一方则是最差;算法流程中谁拥有提议权,是一个真实的制度设计选择。