【学习记录】稳定婚姻问题

定义

题意:有 n n n n n n 女,每一个人都对其他 n n n 个异性有不同程度的喜爱,用一个长为 n n n 的列表表示,列表中的异性按喜爱程度从高到低排列。问能否找出一个结婚方案,使得不存在两对夫妻 ( m , w ′ ) , ( m ′ , w ) (m, w'), (m', w) (m,w),(m,w),使得 m m m 比起 w ′ w' w 更喜爱 w w w w w w 比起 m ′ m' m 更喜爱 m m m

如果两对夫妻 ( m , w ′ ) , ( m ′ , w ) (m, w'), (m', w) (m,w),(m,w) 没有上述情况就称这两对夫妻是稳定的,否则就是不稳定的

用图论的语言描述,我们要找的结婚方案就是二分图中的一个完美匹配,且要是一个稳定匹配

Gale-Shapley 算法

这是一个符合直觉的算法,直接写成伪代码就能表述意思。

初始化:所有男女都没有对象

WHILE 还有某个男性没有对象,且其尚未追求过所有女性
    选择这样一个男性 m
    设 w 为 m 尚未追求过的,且 m 喜爱程度最高的女性

    IF w 没有对象
        让 (m, w) 暂时结对
    ELSE
        设当前 w 与 m' 是一对
        IF w 比起 m' 更喜欢 m
            让 (m, w) 暂时结对,m' 变为没有对象
        ELSE
            m 被拒绝,仍然没有对象
END

最后所有结对的男女即成夫妻。

算法正确性

  1. 算法是否会终止?

    会,在 n 2 n^2 n2 轮内终止。原因显然。

  2. 算法是否找到完美匹配?

    是,否则必然有一对男女都没有对象,而该男性由于没有对象一定会追求该女性,使得两者结对。

  3. 算法是否找到稳定匹配?

    是,考虑最终结果中任意两对夫妻 ( m , w ′ ) , ( m ′ , w ) (m, w'), (m', w) (m,w),(m,

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值