盖尔-沙普利算法告诉你,你的对象在哪里?

假设有三男(分别是 A ,B ,C )和三女(分别是 x,y ,z ),他(她)们对异性的心仪程度如对话框所示。算法

好比对于男 A 来讲,心仪对象排名为 x 排第一,y 排第二,z 排第三。设计

今天是特殊节日,你化身为丘比特,来设计一个算法分配对象。对象

当即接受算法

下面以男生主动追求对象为例来说解 当即接受算法blog

一开始男生们都去追求本身  心仪的女生,而女生们面对追求者们马上作出决定肯定对象(若是有多个追求者则选择他们以前心仪程度更高的那个,只有一个的话那就只能选他)。it

而后,被拒绝的男生们立刻再去追求第二心仪的女生,以此类推,直到配对完毕,如动图所示。im

这样作法有一个很严重的问题:当你被你的 No.1拒绝后,再去追求你的 No.2 的时候,你心中的 No.2 可能已经在第一轮中选择了其余人,好比男生 B 在第一轮去表白女生 x,表白失败后想去追求 y,但女生 y 已经和 C 在一块儿了,悲剧的是 y 眼中的真命天子正是一开始没来表白的男生 B。d3

最终的匹配状况以下图所示。img

虽然如今匹配结束出结果了,每一个男生和女生都有对象,可是会出现如下状况。时间

对于男生 B 来讲,虽然他和女生 z 在一块儿,但其实他更指望和 y 在一块儿(注意 A 与 x 都是双方的挚爱,拆不开的)。co

同时,对于女生 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 人中,你不可能找到一男一女符合如下条件:他(她)们都更愿意抛弃已有的对象而与彼此在一块儿。

使用 延迟接受算法 匹配后的结果是一种稳定的状态结果。

结尾语

最后回到标题,对于爱情问题,上面的盖尔-沙普利算法告诉咱们一点:

主动追求比被动等待更有但愿得到幸福

因此,若是你没法让表白成为你胜利的号角,那倒在进攻的冲锋号上也何尝不可。

若是你以为该文章不错,不妨

一、点赞,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)

二、关注我,让咱们成为长期关系

三、关注公号「五分钟学算法」,里面已有 100 多篇算法类原创文章,欢迎各位的关注,第一时间阅读个人文章。

相关文章
相关标签/搜索