稳定匹配问题

来源:互联网 发布:aspen8.4软件下载 编辑:程序博客网 时间:2024/06/05 02:24

读自《算法设计》

问题描述:在n个男人和n个女人之间进行匹配,使得匹配结果是稳定的,即假设存在m偏爱w而不偏爱w',存在w偏爱m,而不偏爱m',若存在[m,w']和[m',w]属于匹配结果S,由于m会挣脱w'去找w,w会挣脱m'去找m,所以该匹配结果是不稳定的。

G-S算法如下:

初始时所有的m∈M和w∈W都是自由的。

While 存在男人m是自由的且还没对每个女人都求过婚

选择满足条件的男人m

找到m的优先表中还没求过婚的最高排名的女人w

If w是自由的 Then

(m,w)变成约会状态

Else   Ifw更偏爱于m'而不爱m Then

        m保持自由

Else  w更偏爱于m而不爱m' ,

(m,w)变成约会状态

  m'变为自由

Endif

Endif

Endwhile

输出已约会对的集合S

结束

过程概况:m求婚的对象按照m的优先表变得越来越差,w的约会对象按照w的优先表变得越来越好。

0 0
原创粉丝点击