You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

稳定匹配证明疑问解析:为何男孩无法均将女孩A列为最末?

我来帮你把这部分证明的逻辑拆解清楚——你困惑的核心是「为什么不能所有男孩都把同一个女孩A评为最差」,以及证明里从这个假设推导出的「每个女孩都被至少n-1个男孩评为最差」的矛盾点,对吧?

先理清楚证明的核心思路:反证法

这个证明是用反证法推进的:我们先假设一个和结论相反的情况——「所有男孩都把女孩A排在自己偏好列表的最后一位」,然后推导一个不可能成立的矛盾结论,从而推翻这个假设,证明原结论正确。

第一步:为什么假设“所有男孩都把A评为最差”会推出“每个女孩都被至少n-1个男孩评为最差”?

假设所有男孩都把A当作最差选择,现在我们随便挑一个其他女孩B(B≠A)来分析:

  • 首先,稳定匹配的定义要求:每个女孩都必须和某个男孩配对。假设B最终和男孩m配对。
  • 对于剩下的n-1个男孩来说,他们的最差选择都是A,所以他们肯定都觉得B比A好(毕竟A是垫底的)。那这n-1个男孩会不会都想和B配对?
  • 如果其中有两个男孩(比如m1和m2)都觉得B比自己当前的配对对象好,那麻烦就来了:假设B觉得m1比自己的现任m好,那m1和B就构成了不稳定对——m1想离开自己的配对对象,B也想离开m,这直接违反了稳定匹配的定义(稳定匹配里不能有这样的不稳定对)。
  • 要避免这种不稳定对的出现,对于女孩B来说,最多只能有1个男孩不把她当作最差选择(也就是这个男孩是B的最终配对对象)。剩下的n-1个男孩必须都把B当作最差选择——不然就会出现多个男孩想和B配对,进而产生不稳定对。
  • 把这个逻辑推广到所有女孩身上,就得出了「每个女孩都被至少n-1个男孩评为最差」的结论。

第二步:为什么这个推导出来的结论是矛盾的?

现在我们算一笔简单的“名额账”:

  • 每个男孩只能选1个“最差女孩”,所以n个男孩总共只有n个最差名额。
  • 如果每个女孩都被至少n-1个男孩评为最差,那n个女孩总共需要的最差名额至少是 n*(n-1)。

你看,当n≥2时,n*(n-1) 肯定大于n(比如n=3时,32=6>3;n=2时,21=2=n,但这时候另一个女孩B会被0个男孩评为最差,和推导的结论矛盾)。这就出现了一个不可能的情况:需要的名额远超实际存在的名额,或者像n=2时,推导的结论和实际情况直接冲突。

总结一下

假设“所有男孩都把A评为最差”会推导出一个在数量上不可能成立的结论,所以这个假设必然是错的——也就是说,不可能所有男孩都把同一个女孩评为最差。

内容的提问来源于stack exchange,提问作者shiva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:12:21