Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >七夕,诺奖得主用算法教你如何脱单

七夕,诺奖得主用算法教你如何脱单

作者头像
小莹莹
发布于 2018-04-20 07:42:04
发布于 2018-04-20 07:42:04
5690
举报

七夕来袭,又到了情侣们大秀恩爱,单身狗们咬牙切齿的季节。本着人道主义关怀,先给大家唱一曲单身狗之歌——

雌雄双兔傍地走,你还是条单身狗;

两个黄鹂鸣翠柳,你还是条单身狗;

路见不平一声吼,你还是条单身狗;

问君能有几多愁,你还是条单身狗。

听完是不是很想组个复仇者联盟,早上去卖花,晚上去卖套,凌晨去卖药?

还是你认为社会资源就这么多,拆散一对是一对,于是整晚都在大街上溜达,看哪一对不顺眼就冲上去扇姑娘一巴掌然后问她“不是说你爱我吗?”

还是你打算宅在家里重播非诚勿扰,幻想自己站在台上和24位姑娘演皇上选后妃的戏码?

如果你还在琢磨这些事情,恭喜你,弱爆了。

因为获得稳定的感情不仅仅是单身狗的个人问题,更是一个数学问题和经济问题——稳定匹配问题 (stable matching problem)。针对这个问题,早在1962年的时候,两位美国数学家和经济学家 David Gale 和 Lloyd Shapley(2012年诺贝尔经济学奖得主)给出了著名的 Gale-Shapley 算法。

什么是稳定匹配?

1962年,Gale 和 Shapley 发表了一篇名为大学招生与婚姻的稳定性 (College Admissions and the Stability of Marriage) 的论文,首次提出了稳定婚姻问题,研究在一夫一妻制度下并且每个男士最终都要和一个女士结婚时,男士和女士的配对关系。这个问题后来成为研究稳定匹配的典型例子。

他们所研究的问题是要促成 n 个男士和 n 个女士之间的 n 对婚姻(所有人都是异性恋)。为了使这些婚姻稳定,我们要求所有人都把n 个异性按照自己喜欢的程度排列出来,然后根据对异性的偏好顺序来安排婚姻,最终希望找到一个稳定的匹配方案。所谓稳定匹配,满足两个条件:首先,它是一个完美匹配(所有男士都娶到了唯一的老婆,所有女士都找到了唯一的老公);其次,它不含有任何不稳定因素(没人会离婚,没人会私奔)。

举个例子。如果我们要撮合许仙、法海、白素贞和小青四位组成两对夫妻,并且他们各自的偏好列表如下

因为只有两男两女,所以只可能有两种方案。

1.(许仙,小青),(法海,白素贞)

2.(许仙,白素贞),(法海,小青)

不管从任何角度出发,把许仙和白素贞分开都是一件残忍的事,法海他老人家因为当年干了这事,还被后人指责为不懂爱,数学当然也不会为拆散有情人提供理论依据。根据定义,第一个方案是不稳定的,原因是许仙和白素贞把彼此视为第一选择,如果强加给他们不同的配偶,在他们心里,依然把对方放在第一位,从而大大增加了出轨的可能性,所以第一个方案是不稳定的。

第二个方案是稳定的。稳定方案并不意味着每一个人都会和自己最爱的心上人在一起,在这个例子里,白素贞和小青都更加青睐许仙,但是许仙只有一个,这个时候起决定性因素的是她们各自在许仙心目中的地位。两对婚姻关系确定后,就算小青对许仙念念不忘,也只能是单相思,最多也就是在家拿法海出出气,逼他还俗、逼他吃肉、逼他减肥等等,如果小青不想单身就只能接受这段姻缘。这是婚姻关系在现实社会里的一个真实写照,并不是每个人都能和最爱的人在一起,这时候,人们的选择是自己所能追求到的最佳伴侣。

Gale-Shapley算法

根据Gale和Shapley,任何一个稳定婚姻问题都有解的,也就说至少一个方案是稳定的。具体算法如下:

(1) 确定每一位男士和每一位女士都是单身。

(2) 让每一位单身男士 m 向他名单里排位最靠前并且还没有发出过交往请求的女士 w 发出交往请求:

  • 如果这位女士 w 单身,就接受交往请求,并把他们的状态都改为交往中;
  • 如果这位女士已经是在交往中了,那么比较 m 和正在与 w 交往的男士m',如果 m 比 m' 在 w 的名单里更靠前,那么 w 就会和 m 开始交往,m' 恢复单身;
  • 如果 m' 比 m 更靠前,那么 w 就继续和 m' 交往,而 m 继续向他名单里的下一位女士发出交往请求。

(3) 当所有人都在交往中的时候,就让他们结婚吧!

如果算法读起来有点绕,那就看代码。假设 n 个未婚男士的集合 M 和 n 个未婚女士的集合 W。

再举个例子

这次出场的是唐僧师徒四人加上龙王三太子(白龙马)和中国古代四大美女西施、貂蝉、王昭君、杨玉环再加上才女蔡文姬。他们对各位异性的心仪顺序如下:

欢迎读者自行应用 G-S 算法,最后的结果是方案1:

(唐僧,西施),(悟空,昭君),(八戒,文姬),(沙僧,玉环),(三太子,貂蝉)

在这个例子中,无论是从那一个男士开始配对,或是在算法进行中改变配对顺序,得到的结果将是一样的。也就是说男士们的行动顺序对最终结果没有丝毫影响。能够影响结果的只有每个人心中的那一份排序。因此对每个男士而言,除了祈祷自己的竞争对手不要太强以外,最重要的就是提升自己在心仪姑娘心目中的地位。与其抢着出手,不如多花点时间提高自身的实力,以博得心仪姑娘更多的好感。

此外,如果有一男一女,都将对方视作第一人选,那么有情人必成眷属,比如例子中的文姬与八戒。在这种情况下,只要不把他们放在一起,就会引起方案的不稳定。所以只要我最爱的人最爱我,足矣。

在放心使用 G-S 算法之前我们还需要证明它给出的方案是稳定的。第一,这个算法是有限的,不会出现死循环或是没有结果的状况,原因是每个男士最多向 n 个女士求交往,所以最多 n*n 次请求后,算法结束。1997年,这个上界被美国数学家 Knuth 降低到 n*n - n +1。第二,证明稳定性。假设在 Gale-Shapley 算法产生的方案中有一位男士 m 向一位女士 w 求交往被拒绝,那么 w 必定正在和一位她更喜欢的男士 m' 交往,因此不可能出现 m 与 w 对彼此好感度都大于自己伴侣的可能性。

男士优先还是女士优先?

俗语有云,“男追女,隔层山;女追男,隔层纱。” 如果我们让女士们采取主动,而让男士们静候佳音,Gale-Shapley算法会不会更容易一点呢?会不会带给我们不同的结果呢?用上面的例子,这次让女士们选择男士交往,得到结果方案2:

(唐僧,昭君),(悟空,玉环),(八戒,文姬),(沙僧,貂蝉),(三太子,西施)

和男生先选的方案1进行比较 (括号里是心仪顺序)

虽然这两个方案都是稳定的,但是是不同的。除了八戒,其他男生在两种方案中的配偶都不相同。那么哪一种方案更好呢?

  • 对唐僧而言,方案1更好,因为西施是4号人选而昭君是最差选择。
  • 对悟空来说,方案1更好,因为昭君是3号人选而玉环是4号人选。
  • 对沙僧来说,方案1更好,因为玉环是2号人选而貂蝉是3号人选。
  • 对三太子来说,方案1要好的多,因为貂蝉是最佳人选,而西施只排在第3位。

总体来说,男士们都倾向于第一方案。再来看看女士们的意见。为了方便,我们将两个方案的组合重新排列。

  • 对西施而言,方案2更好,三太子是2号人选,而唐僧是3号人选。
  • 对貂蝉来说,方案2是最佳方案,沙僧是第1人选,而三太子只排在第3位。
  • 对昭君来说,方案2更好,唐僧是2号人选,而悟空是4号人选。
  • 对玉环来说,方案2要好的多,悟空是最佳人选,而沙僧是3号人选。

所以全体女士都应该强烈倾向于第二方案。

于是我们得到了一个重要的推理:Gale-Shapley 算法产生的稳定方案对于主动一方是最优方案,而对被动一方是最差方案。

小结

在这个喜大普奔的节日,看过了数学家和诺贝尔经济学奖得主的经典算法,诸位单身狗是不是已经找到过节的正确姿势了?

  1. 合理前提下,所有人都能找到伴侣;
  2. 只有主动出击才能最大化幸福,被动等来的往往是最差结果;
  3. 竞争激烈时,与其抢着出手,不如多花点时间提高自身的实力,以博得心上人更多的好感;
  4. 最爱的人爱我,此生足矣;
  5. 并不是每个人都能和最爱的人在一起,如果不能,选择你所能追求到的最佳伴侣。

素材来源:新浪博客 @能说好动爱生活的刺客

编辑:Emma 摘自:知象科技(微信ID: briphant)

PPV课其他精彩文章:


1、回复“干货”查看干货 数据分析师完整知识结构

2、回复“答案”查看大数据Hadoop面试笔试题及答案

3、回复“设计”查看这是我见过最逆天的设计,令人惊叹叫绝

4、回复“可视化”查看数据可视化专题-数据可视化案例与工具

5、回复“禅师”查看当禅师遇到一位理科生,后来禅师疯了!!知识无极限

6、回复“啤酒”查看数据挖掘关联注明案例-啤酒喝尿布

7、回复“栋察”查看大数据栋察——大数据时代的历史机遇连载

8、回复“数据咖”查看数据咖——PPV课数据爱好者俱乐部省分会会长招募

9、回复“每日一课”查看【每日一课】手机在线视频集锦

PPV课大数据ID: ppvke123 (长按可复制)

大数据人才的摇篮!专注大数据行业人才的培养。每日一课,大数据(EXCEL、SAS、SPSS、Hadoop、CDA)视频课程。大数据资讯,每日分享!数据咖—PPV课数据爱好者俱乐部!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
七夕,诺奖得主用算法教你如何脱单!单身数据分析师们速来!
七夕来袭,又到了情侣们大秀恩爱,单身狗们咬牙切齿的季节。本着人道主义关怀,先给大家唱一曲单身狗之歌—— 雌雄双兔傍地走,你还是条单身狗; 两个黄鹂鸣翠柳,你还是条单身狗; 路见不平一声吼,你还是条单身狗; 问君能有几多愁,你还是条单身狗。 听完是不是很想组个复仇者联盟,早上去卖花,晚上去卖套,凌晨去卖药? 还是你认为社会资源就这么多,拆散一对是一对,于是整晚都在大街上溜达,看哪一对不顺眼就冲上去扇姑娘一巴掌然后问她“不是说你爱我吗?” 还是你打算宅在家里重播非诚勿扰,幻想自己站在台上和24位姑娘演皇上选后妃
CDA数据分析师
2018/02/11
5670
七夕,诺奖得主用算法教你如何脱单!单身数据分析师们速来!
图论算法:如何找到最适合自己的另一半 ?
假如你是一个媒人,有若干名单身男子登门求助,还有同样多的单身 女子也来征婚。如果你已经知道这些女孩儿在每个男孩儿心目中的排名,以及男孩儿们在每个女孩儿心目中的排名,那么你该怎样为他们牵线配对呢?
程序员小猿
2021/12/06
5020
图论算法:如何找到最适合自己的另一半 ?
图论算法:稳定婚姻问题,如何找到最适合自己的另一半
假如你是一个媒人,有若干名单身男子登门求助,还有同样多的单身 女子也来征婚。如果你已经知道这些女孩儿在每个男孩儿心目中的排名,以及男孩儿们在每个女孩儿心目中的排名,那么你该怎样为他们牵线配对呢?
博文视点Broadview
2021/11/25
9410
算法证明:女生遇到心动的男人一定要追!
本文来自知乎网友尼克余 链接:http://www.zhihu.com/question/27355234 我来讲恋爱中的博弈,不,我来讲恋爱中的算法,不,我来讲算法!! 有个著名的问题,叫做 stable matching。早年是一个可爱的俄罗斯老头在图论课上教我的,印象非常深刻,拿出来娱乐下大家。因为这个算法应用太广泛了,这个算法的两位发明人 David Gale 和 Lloyd Shapley,在 2012 年因为这个算法获得诺贝尔经济学奖。 先说结论:女生遇到心动的男人一定要追!我马上就要来证明。
大数据文摘
2018/05/23
5070
Akamai在内容分发网络中的算法研究(翻译总结)
本文介绍了分布式系统中一致性hash算法的相关研究,包括一致性hash算法的背景、原理和应用。同时,文章还探讨了分布式系统中leader election和数据一致性等相关问题,并举例说明了Paxos和Raft算法在分布式系统中的应用。
钱坤
2017/03/23
2.9K0
Akamai在内容分发网络中的算法研究(翻译总结)
七夕,乐享帮你的同事脱单!
----------------手动分割线-----------------      
腾讯乐享
2019/03/12
5310
七夕,乐享帮你的同事脱单!
学算法还能指导找对象?是的,这就是大名鼎鼎的稳定婚姻算法
这个问题是我学到的比较有趣的算法问题前几名了,也是当年我们ACM校队面向新生宣讲的时候选择的例题。我们觉得用找对象这种新生会比较感兴趣的问题来忽悠他们,他们上钩的可能性比较大XD。
TechFlow-承志
2020/07/24
7190
学算法还能指导找对象?是的,这就是大名鼎鼎的稳定婚姻算法
【七夕脱单攻略】教你利用数据分析找到女朋友!
最近新闻报道中国进入了第四次单身潮,单身人数达两亿,相当于俄罗斯和英国全部人口的总和,作为两亿分之一的你,是否压力山大?从前的日色变得慢,车,马,邮件都慢,一生只够爱一个人,但那是以前,如果你还习惯用
钱塘数据
2018/03/06
9630
【七夕脱单攻略】教你利用数据分析找到女朋友!
昨天七夕一个人过?Python帮你脱单
我之前写了一个抓取妹子资料的文章,主要是使用selenium来模拟网页操作,然后使用动态加载,再用xpath来提取网页的资料,但这种方式效率不高。用Python来找合适的妹子(一)
龙哥
2019/08/08
3170
昨天七夕一个人过?Python帮你脱单
婚恋交友网站比相亲更靠谱!幸福婚姻算法了解一下
导读:算法真的能帮助你找到灵魂伴侣吗?当你访问OKCupid时,会看到一条带着些许骄傲情绪的标题——“我们用数学为你找到约会对象”。
IT阅读排行榜
2020/05/01
1.2K0
七夕节脱单“神助攻”!AI教你写情话
这些只是刚刚及格,要想赢得女神芳心,文(甜)艺(言)情(蜜)话(语)也是不能少的!
用户1386409
2020/08/28
8590
七夕节脱单“神助攻”!AI教你写情话
七夕将近,建个小程序当媒人——自建表白墙
前言 七夕是一个浪漫的日子,但是快乐是属于那些有对象的,没对象的在这种节日只能看着满大街的情侣吃狗粮了。 有时候遇上一个心仪的女孩子,因为自己一时的踌躇错失开启交往的第一步,事后想想又觉得当初就该直接去要个联系方式也比在这茫茫人海之中期待彼此之间的再次相遇也来的靠谱。 所以何不做一个表白墙呢,如果双方都在用同一个表白墙,那么当你的留言出现在表白墙上后,对方看见了说不定就成就一段良缘呢。哪怕只是双方熟悉的人看到留言都有可能会产生意想不到的效果。在此为大家献上一个表白墙自建教程,希望能帮助更多的单身贵族。 可行
腾讯云计算产品团队
2022/08/25
4.8K0
七夕将近,建个小程序当媒人——自建表白墙
七夕情人节,看 ---大数据时代里的爱情!
从前,在西雅图的一家Pony Expresso咖啡店里,一个男人与一个女人开始了对这个绵长而又神秘的事物的体验,这个事物已得到了愈来愈多科学研究,而我们称其为爱情。最初的阶段被称为“盲目的热恋”。这是种让人兴奋纠结,眼神一刻亦不能离开的感觉,这个时候在你的渴望势力面前,仿佛世界停止了转动,时间俯首停顿。这个男性,当时44岁的华盛顿大学心理研究学家约翰·戈特曼(John Gottman),被这个女人异常浓密的黑色卷发和她的创造力所吸引:她是一个业余的音乐家和画家,且和他一样,她也是个心理学家。这个女性,当
小莹莹
2018/04/23
9520
七夕情人节,看 ---大数据时代里的爱情!
60天,4位诺奖得主,他们将这样改造区块链
早在区块链受到广泛关注前,Oliver Hart就已开始钻研合约的奥秘。1976年,还是普林斯顿大学经济学博士的他,就已开始探索企业如何利用合约进行交互,以及出现问题时会发生哪些情况。
区块链大本营
2018/11/07
4700
这个诺奖得主曾经登上了《花花公子》,但登的不是他的艳照,而是……
点击图片进入历年诺贝尔奖解读合集 刚刚公布的2022年诺贝尔生理学或医学奖得主,是斯万特·帕博(Svante Pääbo)博士。 在诺奖的官方新闻稿中,他的研究催生了全新的学科领域:古基因组学,并揭示了现代人类与已灭绝的基因差异。 这位一人独享诺奖的古人类遗传学大佬,到底是什么来头? 随母姓,父亲也是诺奖得主 斯万特·帕博的姓氏来自于母亲,卡琳·帕博(Karin Pääbo),因为他是父亲苏恩·伯格斯特龙(Sune Bergström)的私生子。 他曾回忆说,“我从小和我母亲一起长大,父亲和母亲没有结婚。我
大数据文摘
2022/10/08
4410
这个诺奖得主曾经登上了《花花公子》,但登的不是他的艳照,而是……
如何做职业规划并进行求职准备(持续更新)「建议收藏」
总结:就现在情况,大学我不考研,安心求职 考研=我要“它”+我现在就要 我不要“它”:测试是个实践性很强的工作,测试招聘学士学位占比低,研究型的测试研究生学历比起小本并不能带来太大优势 我现在不要:不可否认,学历可以突破职业瓶颈,所以我要考研,但是是在很多年以后,而不是现在。(等以后进入管理阶层,有了丰富的经验,考取工商管理MBA,得到的相关的文凭技能人脉会更加有价值)
全栈程序员站长
2022/11/01
3.2K0
如何做职业规划并进行求职准备(持续更新)「建议收藏」
经典 40 篇完整版
Hiding behind the loose dusty curtain, a teenager packed up his overcoat into the suitcase. He planned to leave home at dusk though there was thunder and lightning outdoors. He had got to do this because he was tired of his parents’ nagging (唠叨的) about his English study and did not want to go through it any longer. He couldn’t get along well with English and disliked joining in English classes because he thought his teacher ignored him on purpose. As a result, his score in each exam never added up to over 60.
独元殇
2023/03/14
1.7K0
相关推荐
七夕,诺奖得主用算法教你如何脱单!单身数据分析师们速来!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档