我来讲恋爱中的博弈,不,我来讲恋爱中的算法,不,我来讲算法!!
有个著名的问题,叫做 stable matching。早年是一个可爱的俄罗斯老头在图论课上教我的,印象非常深刻,拿出来娱乐下大家。因为这个算法应用太广泛了,这个算法的两位发明人 david gale 和 lloyd shapley,在 2012 年因为这个算法获得诺贝尔经济学奖。
先说结论:女生遇到心动的男人一定要追!我马上就要来证明。
前方高能预警!!!含大量数学图论及计算机编程算法知识,萌妹子请直接退散。
假设,有一个平行世界,我们姑且叫这个世界,平行世界 999 号,这个世界有 n 个男人,还有 n 个女人,然后每一个男人,都有一个对喜欢的女人的排序,比如男 a,有一个排序(女 a,女 b,一直到女 n),每一个女人都有一个喜欢的男人的排序,比如女 a,有一个排序(男 a,男 b,一直到男 n)。每个男的都会试图去追求自己的排序里头排的最高的女性,每个女的都会接受自己排序里头最高的男性的追求。
再假设这个平行世界 999 号,有以下追求方法(算法):
1. 这个世界上只有男人能够追求女人,女人收到一个男人的追求,可以选择说“你做我男友吧”,或者“你滚犊子”。当女人说“你做我男友吧”的时候,这个男人和女人进入了男女朋友模式,当女人说,“你滚犊子”的时候,这个男人回复单身。
2. 每个男人只能在单身的时候追求女人,而每个女人最多只能有一个男朋友
3. 每个男人都会追求自己名单上排位最高的女人,当被拒之后,会追求排位次高的女人,被拒之后再追第三高的女人,以此类推。每个女人,如果没有男朋友,收到追求,会立刻说,“你做我男友吧”,如果有男朋友,会将现有男朋友与追求者比较,选择其中排位更高的,甩掉排位更低的。
4. 每个男人都会锲而不舍的一直把整个排序追求完,直到脱离单身状态为止。
5. 当每个男的和女的都有一个女、男朋友的时候,会所有人一起结婚。
怎样,是不是和现实很像?让我喝口水继续写!
我的结论是,这个世界里头,一定会有这么一个组合,使得,这 n 个男的,和 n 个女的,会形成一个稳定的一一对应的婚姻关系。也就是说,这 n 个男人和女人,都合理的选择了自己名单上最高的排位的那个对象。
我说的有点乱,因为我学的是用英语学的,而我的翻译实在是不咋地,我先来简化问题:
一、假设这个世界上只有 1 个男人,1 个女人:
那不用想了,排什么排,去滚床单,裸奔,过没羞没躁的生活去吧。
二、假设这个世界上有 2 个男人(男 a,男 b),2 个女人(女 a,女 b):
这就开始复杂了,
如果,男 a 和男 b 的排序都是(女 a,女 b),女 a 和女 b 的排序都是(男 a,男 b)。
那么很简单,男 a 和男 b 一起去追女 a,男 b 迅速杯具,男 a 和女 a 在一起,男 b 和女 b 在一起,故事完结。
如果,男 a 和男 b 的排序都是(女 a,女 b),女 a 和女 b 的排序都是(男 b,男 a)。
那么也很简单,男 a 和男 b 一起去追女 a,男 a 迅速杯具,男 b 和女 a 在一起,男 a 和女 b 在一起,股市完结。
如果,男 a 的排序是 (女 a,女 b),男 b 的排序是(女 b,女 a),女 a 的排序是(男 b,男 a),女 b 的排序是(男 a,男 b)呢,那怎么办?
那么现在,男 a 会去追求女 a,女 a 会说,“你做我男友吧”,男 b 会去追求女 b,女 b 会说“你做我男友吧”。
于是大家结婚了。
所以现在的组合是,男 a 和女 a,男 b 和女 b。
但是!!!但是!!!
你们发现了问题没有???
每个男的都追求到了自己最喜欢的女士,每个女士却只赢得了自己最不喜欢的男士!!!!
这就是这个算法的一个弊端,就是追求者,有占优的可能性。
如果反过来,平行世界 999 里,只允许女人追求男人,会出现下面情况:
女 a 去追求男 b,男 b 会说,“你做我女友吧”,女 b 去追求男 a,男 a 会说“你做我女友吧”。
于是大家都结婚了。
现在的组合是男 a 和女 b,男 b 和女 a。这同样是一个稳定的匹配。
但是!!!但是!!!现在每个女士都追求到了自己最喜欢的男士,每个男士却只赢得了自己最不喜欢的女士!!!
三、推广到 n 男 n 女,也是一样的推论。
简单的说,就是因为这是一个单向筛选,每个男的都会确保会向自己的排序中最高的女性表白。然而男性被“滚犊子”的唯二可能性,是因为这个女性有一个她心目中排序更高的男朋友,或者当了一段时间男朋友,但一个排序更高的男人向她表白。(当然现实中大家也懂,你就是没戏的了,而且是你本来就没戏)
因此,确保了男性一定能追求到自己喜欢的名单里头,排位最高的女性。
也就是说,在这个追求关系里头,主动的那一方更能够找到自己更喜欢的异性,而被动那一方,却没有这样的优势。
所以结论就是,妹子们,遇到喜欢的男人,一定要主动!
原文发布时间为:2015-01-02
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“bigdatadigest”微信公众号