算法课 -- 1.1 稳定匹配问题

稳定匹配 问题描述

考虑n个男人的集合M与n个女人的集合W
M = { m 1 , m 2 , . . . , m n } W = { w 1 , w 2 , . . . , w n } M = \{m_1, m_2, ..., m_n\} \\ W = \{ w_1, w_2, ..., w_n\} M={m1,m2,...,mn}W={w1,w2,...,wn}
M x W(笛卡尔积)表示所有可能的形如(m, w)的有序对的集合
匹配S:是来自M x W的有序对的集合(M x W的子集), 并且具有下述性质:每个M的成员和每个W的成员至多出现在S的一个有序对中
完美匹配S‘:每个M的成员和每个W的成员恰好出现在S’的一个对中

偏爱
优先表
不稳定因素

稳定匹配S: 1. S是完美匹配 2. S中不含有不稳定因素

稳定匹配问题

  1. 对每组优先表是否存在一个稳定匹配
  2. 给定一组优先表, 如果存在稳定匹配, 能否有效得将其构建出来

Gale-Shapley(G-S)算法

G-33333S

算法分析

命题1.1 w从接受对她的第一次求婚开始始终保持约会状态,且她约会的一系列伴侣,(按照她的优先表)变得越来越好

命题1.2 m求过婚的一系列女子(按照他的优先表)变得越来越差

定理1.3 G-S算法在至多n^2次While循环的迭代后终止

命题1.4 如果m在算法执行的某点是自由的,那么还存在一个他没有求过婚的女子w

命题1.5 终止时返回的集合S是一个完美匹配

定理1.6 考虑G-S的一次执行,他返回一个对的集合S, 集合S是一个稳定匹配
(1.5, 1.6 – G-S算法返回一个稳定匹配(也是完美匹配)

集合S*
在这里插入图片描述
集合S* 表示对的集合
{ ( m , b e s t ( m ) ) : m ∈ M } \{(m, best(m)): m\in M \} {(m,best(m)):mM}

定理1.7 G-S算法的每次执行都得到集合S*

定理1.8 在稳定匹配S*中每个女子与她最差的有效伴侣配对

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值