[Math] Deferred Acceptance Algorithm
一.立即接受算法:
对于约会的配对,大家都去追自己最心仪的女生。而这个女生面对几位追求者,要立刻做个决定。
被拒绝的男生们调整一下心情,再去追求心中的 No. 2。以此类推。
这样做法有一个严重的问题:当你被你的No.1拒绝后,再去追求你的No.2的时候,你心中的No.2可能已经在第一轮中选择了其他人。
但坑爹的是,有可能你正是你心中No.2心中的No.1,但是她并不知道。所以她在第一轮中,因为没有被你追求,而屈就他人。比及你在第一轮中表白失败,再去找你的No.2 时,已然晚矣。
假设班上三男(分别是A,B,C),三女(分别是x,y,z),见图一(左女右男):

他们心中对异性的排名见图二。在女x的心中A>B,意味着A要好于B。

第一轮中,男生们向心中的No.1女示好,即A,B两男向心中最喜欢的x女示好,而C男向y女示好。如图三所示。
(在第一轮,女y 只有一个追求者,只能屈就)
如果采用立即接受算法,此轮之后的结果是,x-A,y-C两对结成情侣。注意,y女虽然心中首选是B男,但是由于B男在此轮中正在追逐x女,无奈下y女屈就于唯一来献殷勤的C男。比及第二轮开始时,唯一还没配对的就是z女和B男了,所以B男只能接受z女。

最后的结果是x-A,y-C,z-B三对恋人。
注意:y女和B男两人都更愿意离开自己的现任伴侣而彼此在一起。
这种不稳定的状态就是很多文学影视作品的来源哈。在数学上,这也恰恰被称为是“不稳定”的组合。顾名思义,我们希望能够有种算法,给我们的结果是所有配对都是稳定的。
二.延迟接受算法
延迟接受算法的操作:每个男生在第一轮中向自己心中的No.1示爱。但是各位姑娘们不用立即决定,而是先hold住了。
在第二轮中,每个男生再向心中的No.2示爱。从第二轮开始,每位姑娘们只保留自己到现在为止所收获的最心仪的男生(但是不用答应他,只hold在心理),而拒绝其他所有人。
而被拒绝的男生(也就是现在尚没有人hold着你的男生)则继续在下一轮中向心中排名的下一个姑娘表白。
以此类推,一轮轮继续下去,直到所有想示爱的男生都示完为止。此时,每个手中有offer的姑娘,可以选择接受。
(感觉就是先让女生获得完全信息)
以上就是立即接受算法的做法。大家算一下,就会发现,在我们这个简单的例子中,最后的结果是x-A,y-B,z-C三组恋人终成眷侣。而这是一稳定的结果。
所有6人中,你不可能找到一男一女符合以下条件:他们都更愿意抛弃已有的伴侣而与彼此在一起。

延迟接受算法能够从数学上证明是一定会产生稳定配对的算法。这使它成为一个重要的工具,因为这类的配对问题在现实生活中太常见了。罗斯在《共享经济》中介绍了他将延迟接受算法分别运用于肾脏移植市场,全国住院医生配对程市场和高中择校系统,实现了稳定的配对,取得了非常好的成果。

Nice.
[Math] Deferred Acceptance Algorithm的更多相关文章
- [Algorithm] Deferred Acceptance Algorithm
约会配对问题 一.立即接受算法: 对于约会的配对,大家都去追自己最心仪的女生.而这个女生面对几位追求者,要立刻做个决定. 被拒绝的男生们调整一下心情,再去追求心中的 No. 2.以此类推. 这样做法有 ...
- [algorithm] My rookie plan to start
若干年后,经验有一些,但根基不牢靠.[algorithm] series 借助学习Standard Template Library: Algorithms的这段时期,在自己的算法和c++基础方面加些 ...
- 本人AI知识体系导航 - AI menu
Relevant Readable Links Name Interesting topic Comment Edwin Chen 非参贝叶斯 徐亦达老板 Dirichlet Process 学习 ...
- [Code] 烧脑之算法模型
把博客的算法过一遍,我的天呐多得很,爱咋咋地! 未来可考虑下博弈算法. 基本的编程陷阱:[c++] 面试题之犄角旮旯 第壹章[有必要添加Python] 基本的算法思想:[Algorithm] 面试题之 ...
- BestCoder Round #70 Jam's math problem(hdu 5615)
Problem Description Jam has a math problem. He just learned factorization. He is trying to factorize ...
- hdu 5615 Jam's math problem(判断是否能合并多项式)
方法一:由十字相乘相关理论我们能知道,如果要有p,k,q,m,那么首先要有解,所以b*b-4*a*c要>0,然而因为p,k,q,m是正整数,所以代表x1,x2都是有理数,有理数是什么鬼呢?就是解 ...
- hdu 5595 GTW likes math(暴力枚举查询)
思路:直接暴力枚举区间[l,r]的整数值,然后max和min就可以了. AC代码: #pragma comment(linker, "/STACK:1024000000,1024000000 ...
- Boost 1.61.0 Library Documentation
http://www.boost.org/doc/libs/1_61_0/ Boost 1.61.0 Library Documentation Accumulators Framework for ...
- iOS苹果官方Demo合集
Mirror of Apple’s iOS samples This repository mirrors Apple’s iOS samples. Name Topic Framework Desc ...
随机推荐
- Java开源框架推荐(全)
Build Tool Tools which handle the buildcycle of an application. Apache Maven - Declarative build and ...
- 一個小技巧讓ipad或iphone的瀏覽器也能開啟firebug
首先複製這一段代碼 javascript:(function(F,i,r,e,b,u,g,L,I,T,E){if(F.getElementById(b))return;E=F[i+'NS']& ...
- Spring 4.3.2+quartz2.2.3单机、集群+websocket集群实现文本或图片推送、接收及显示
相关环境 Nginx,Spring4.x当前(要选择4.0+),tomcat8.x,Quartz 2.x集群 测试面页:http://sms.reyo.cn/socket.html 测试面页是文本和图 ...
- 如何通过Socket TCP发送并接收一个文件?
一.小结 1.大包发小包收,只发一次. 2.发时把文件扩展名,文件长度也随同一起发送,方便接收端接收时另存为正确的文件类型,并判断是否已经接收完毕. 如果不一起发送,分为文件扩展名,文件长度,文件内容 ...
- 2013年ACM湖南省赛总结
今年的比赛最大的变化就是改用OJ判题了,相比于PC^2确实省事了不少,至少可以直接复制样例了.题目方面依旧是刘汝佳命题,这点还是相当好的,至少给人以足够的安全感. 开始比赛之后安叔瞬间就把前半部分题目 ...
- wdlinux 一键安装
Linux系统(支持CentOS 6.X/7.X.RedHat 6.X.Ubuntu 12.04): ssh登录服务器,执行如下操作即可,需root用户身份安装 wget http://dl.wdli ...
- SQLSERVER建立MYSQL连接服务器
1. 在SQL SERVER端安装MYSQL的ODBC驱动 2. 在ODBC数据源添加MYSQL(控制面板\所有控制面板项\管理工具) 在用户DSN 和系统DSN添加配置驱动程序 注:字符集一定要和M ...
- aspcms常见问题解决方案
1.产品详细页读取多张产品图片(栏目类型:产品){aspcms:cimages count=16 contentid=[content:id]}<li onmouseover="sho ...
- centos 7 中 tomcat 安装
一. 安装 jdk [root@iZm5ei4m ~]# /usr/local/tomcat/bin/startup.sh 一.安装 jdk 二.设置环境变量 #################### ...
- CISA 信息系统审计知识点 [第一章. 信息系统审计过程 ]
对有志成为审计师或者IT管理者de朋友, 第一章. 信息系统审计过程 1. IS 审计和保障标准.指南.工具.职业道德规范 信息技术保证框架(ITAF,Information Technology A ...