听师兄一句劝,早点去追学姐学妹!
听师兄一句劝,早点去追学姐学妹,为啥呢?
看完这篇文章你就知道了。
假设有三男(分别是 A ,B ,C )和三女(分别是 x,y ,z ),他(她)们对异性的心仪程度如对话框所示。
比如对于男 A 来说,心仪对象排名为 x 排第一,y 排第二,z 排第三。
今天是特殊节日,你化身为丘比特,来设计一个算法分配对象。
立即接受算法
下面以男生主动追求对象为例来讲解 立即接受算法。
一开始男生们都去追求自己 最 心仪的女生,而女生们面对追求者们立刻做出决定确定对象(如果有多个追求者则选择他们之前心仪程度更高的那个,只有一个的话那就只能选他)。
然后,被拒绝的男生们马上再去追求第二心仪的女生,以此类推,直到配对完毕,如动图所示。
这样做法有一个很严重的问题:当你被你的 No.1拒绝后,再去追求你的 No.2 的时候,你心中的 No.2 可能已经在第一轮中选择了其他人,比如男生 B 在第一轮去表白女生 x,表白失败后想去追求 y,但女生 y 已经和 C 在一起了,悲剧的是 y 眼中的真命天子正是一开始没来表白的男生 B。
最终的匹配情况如下图所示。
虽然现在匹配结束出结果了,每个男生和女生都有对象,但是会出现以下情况。
对于男生 B 来说,虽然他和女生 z 在一起,但其实他更期望和 y 在一起(注意 A 与 x 都是双方的挚爱,拆不开的)。
同时,对于女生 y 来说,虽然她和男生 C 在一起,但其实她更期望和 B 在一起。
即男生 B 和女生 y 都更愿意离开自己的现任对象而彼此在一起。
所以,使用立即接受算法匹配后的结果是一种不稳定的状态结果。
延迟接受算法
“盖尔-沙普利算法”(the Gale-Shapley algorithm),也被称为“延迟接受算法”(deferred-acceptance algorithm),简称“GS算法”。
目前该算法在 高中择校系统、肾脏移植 等实际应用上起到了巨大的作用,你甚至可以在 2012 年诺贝尔经济学奖中看到它的身影。
这个算法一个核心之处在于,合意的要约不会立即被接受,而只是被“抓住”(hold on to),也就是“延迟接受”。
还是以男生主动追求对象为例来讲解 延迟接受算法。
首先每个男生在第一轮中向自己最心仪的女生表白,但是各位女生不用立即做决定,而是先 hold 住。
第一轮
第一轮,男生 A 和男生 B 都跟女生 x 表白,女生 x 按捺激动的心情,矜持没有表态直接选男生 A,只是把男生 A 放入考察范围
男生 C 跟女生 y 表白,女生 y 略显失望,但把男生 C 放入了考察范围。
第二轮
第二轮,每个男生再向心中的 No.2 示爱。并且从第二轮开始,每位女生们只保留自己到现在为止所收获的最心仪的男生(但是不用答应他,只hold在心里),而拒绝其他所有人。
而被拒绝的男生(也就是现在尚没有女生 hold 你的男生)则继续在下一轮中向心中排名的下一个女生表白。
以此类推,一轮轮继续下去,直到所有想示爱的男生都示完为止。
最后,每个女生手里都有 hold 的对象。
使用 延迟接受算法 后,最终 A - x ,B - y ,C - z 在一起,并且在这 6 人中,你不可能找到一男一女符合以下条件:他(她)们都更愿意抛弃已有的对象而与彼此在一起。
使用 延迟接受算法 匹配后的结果是一种稳定的状态结果。
结尾语
对于爱情问题,上面的盖尔-沙普利算法告诉我们一点:
主动追求比被动等待更有希望获得幸福。
所以,如果你无法让表白成为你胜利的号角,那倒在进攻的冲锋号上也未尝不可。
好了,以上就是本文的全部内容了,如果觉得有收获,记得点赞、再看、留言、转发,我们下期再见。
另外,算法的学习也是必经之路,这里给大家推荐一个大佬的刷题笔记。
链接: https://pan.baidu.com/s/1-NtihTGBHLKkBiXCKWaClQ
密码: e0ff
把这份笔记突击学习一下,很多算法考察,基本都稳了,就算你现在不学算法,那么这份笔记也值得你收藏,万一有人问你 Leetcode 某道题解,或者有大神在讨论题解,咱打开这份笔记,不管三七二十一,直接把最优解扔给他,然后退出群聊。
听师兄一句劝,早点去追学姐学妹!相关推荐
- 听我一句劝,单片机不要去学STM32真的
听我一句劝,单片机不要去学STM32真的 ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦.最近 ...
- 听哥一句劝,按这套嵌入式的课程内容和课程体系去学习
听哥一句劝,按这套嵌入式的课程内容和课程体系去学习 一.嵌入式的难点 嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如Java开发,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核 ...
- 《面试技巧》孩子,听叔一句劝,面试水太深,你把握不住。
人世仙家本自殊,何须相见向中途.惊鸿瞥过游龙去,漫恼陈王一事无. 嗨,大家好,我是洛神,性别男.一个来自快乐星球的程序员. 欢迎大家专注我的公众号[程序员洛神],绝对让你有意外收获哟 前言 首先要先向 ...
- 华为mate30epro支不支持鸿蒙,听我一句劝,华为手机可以支持,但这4款不要买
原标题:听我一句劝,华为手机可以支持,但这4款不要买 如今的华为举步维艰,正在努力推进新机的发布,不断的打磨鸿蒙操作系统,华为的这份坚定意志可歌可泣,但有一说一,华为手机可以支持,只不过这四款希望大家 ...
- 听皮皮一句劝zIndex 的水太深,你把握不住!
前言 本文基于 Cocos Creator 2.4.5 撰写. ???? 普天同庆 来了来了,<源码解读>系列文章终于又来了! ???? 温馨提醒 本文包含大段引擎源码,使用大屏设备阅读体 ...
- 听我一句劝好吗?放下那些老掉牙的性能优化笔记吧!又不是没有新的,跟不上时代的学了也没法直接用呀!
性能概述 公司投入人力物力成本开发出的程序,如果出现程序瘫痪.界面停顿.抖动.响应迟缓等问题,会大大降低用户体验,损失大量用户.对于上述问题,都是需要性能调优来解决的问题. 程序性能主要表现在代码的执 ...
- 【听哥一句劝,C++水很深,你把握不住啊!】C++提高班之 符与*符
C++提高班之 &符与*符 像&和*这样的符号,既可以作为表达式中的运算符,也能作为声明的一部分出现,符号的上下文决定了符号的意义: int i = 27;int &r = i ...
- 求你了,听我一句劝吧,这几个玩意就别学了!
作者:沈世钧 链接:https://www.zhihu.com/question/305924723/answer/557800752 本文我主要谈一下那些Java知识"已经过时" ...
- 听叔一句劝,消息队列的水太深,你把握不住!
很多人在做架构设计时往往会"过度设计",简单问题复杂化,上来就引一堆中间件,我想大概原因主要有下面两点: 为了秀(学)技术而架构 我们常说技术是为业务服务的,不能为了技术而技术,为 ...
最新文章
- BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )
- 19个超赞的数据科学和机器学习工具,编程小白必看!(附资料)
- VLP16线用户手册.md
- 微服务和SOA架构的区别
- Apache Beam是什么?
- 不同于NLP,数据驱动、机器学习无法攻克NLU,原因有三
- mysql和php环境_php环境搭建wampserver、Apache、Mysql和php
- Android使用HttpURLConnection下载图片
- 网上支付失败了我该怎么办
- 从棋盘左上角到右下角共有多少种走法
- fgui的ui管理框架_DCET: Unity3D客户端和.Net Core服务器双端框架,支持代码全热更(包括FGUI和双端行为树)...
- 电信光猫改桥接还在苦苦破解超级密码吗?
- 安川焊接机器人做圆弧运动编程_安川MOTOMAN工业机器人编程与操作(6)
- 用python根据最新的汇率,假设你要出国留学要换外币,输入一定数量的人民币,比如1000元人民币, 按照中国银行的现钞卖出价,输出可换到对应的加元和澳元分别是多少。
- 截取文件名后缀和总页数计算
- 刷脸支付上线,追赶二维码支付指日可待?
- 就在昨天,我也关闭了朋友圈
- android中倒计时计算器,死亡计算器生命倒计时下载-死亡计算器生命倒计时软件下载 v8.8.0_5577安卓网...
- 在CentOS7上安装RabbitMQ
- 关于冷备份与热备份的对比理解