面对喜欢的人,是该表白还是等TA来撩?这个算法给你答案

//

导读:本文活泼地议论了不变婚配成绩盖尔沙普利算法的Python实施。该算法是一种著名的不变婚配起形成功能的人的求解方式。。

关键词:不变婚配 盖尔-沙普利算法 提议 Python

p.s. 有生气的信号共享

作者:城市档案树

根源:档案社会(ID):metrodata_xuexi)

瀑布到了,这是吃螃蟹的季。。大概包括第一天和惟一剩下的一天前,我学会了我最相同的的螃蟹。,当她玩得很使人喜悦的的时分,她不断地很使人喜悦的。。

你肿了吗?我小心肠把螃蟹壳打碎了。,问道。

十一节假日很多冤家都做支持。,但我不知情我究竟想提议。,据我看来考虑一下备用鞋。。”

亲自跟他说。!我放下金毛螃蟹。。

讲姐妹般的。,这是多可惜。。姐姐叹了使更健壮。。

看着姐妹的弄坏,我知情她需求使振作。,计上心来:

校姐,我来给你讲个普通的~

01

有一座城市。,局部的风气是,一体想联合的船舶管理人必要的先向他钟爱的女儿提议。,成年女子需求推迟结婚的状态。。

天父将所请求的事物同一号码的合格男男女女插上一手就中。。可能会有很多轮相亲。,船舶管理人率先会向他们最相同的的成年女子提议。,一体成年女子在全部求婚者中选择她最相同的的。;条件一体人被回绝了,下整数的将向他的居第二位的个= favourite的成年女子提议。;在惟一剩下的整数的中,一体定婚的成年女子被索取娶她更爱的人。,丢弃小姐无憾事。,爱更多的人。被摈弃的人需求重行定婚。。

这样地的事物屡次地,每人都定婚了。,集体支持。。

防备:

1)陪伴该提案的男成年女子数依然是SA。

2)每个船舶管理人基础本人的爱好对成年女子举行次序。,譬如,爱是最好的。,居第二位的,爱B,再次爱上C

3)每个船舶管理人的成年女子都是同样的的。

这种方式高的Gal-Shapley算法。。优点如次:

1. 有朝一日定婚。,不定期地传递是不可能的事的。

2. 与离婚后,全部的结婚的状态都是不变的结婚的状态。

不不变结婚的状态:譬如,有两对两口子M1和F1和M2和F2。, M1的夫人是F1。,但他更相同的F2。;F2的爱人是M2。,但她更相同的M1。。这样地的结婚的状态是一种不不变的结婚的状态。

感兴趣的朗读者可以独力搜索宣布一道菜。。

02

我姐妹的眼睛开端发冷光。:

坐在一家所有的提议。,下辈子,请让我住在城市。!

我难以理解的地浅笑。:

这是未婚女子的极乐吗?,让笔者着手。Python对结局的满足平均数的的吧。!

(显示命运注定信号)。,结合的的源文档在本文的末了。

1. 范本制造

为了履行幻影一道菜,笔者先要若干战利品。,换句话说,随机地发生相当号码的男子和女性。,同时为每个异性恋者制造他们最相同的的次序。

男孩未婚女子范本

print( ”==============================制造范本档案==============================”)

man = ( [[ ”w”STR(Ⅰ) fori inrandom.sample(range( 1,women_num+ 1),women_num)]

fori inrange(人)_num)],

index = [ ”m”STR(Ⅰ) fori inrange( 1,man_num+ 1)],

columns = [ 程度STR(Ⅰ) fori inrange( 1,women_num+ 1)]

)

women = ( [[ ”m”STR(Ⅰ) fori inrandom.sample(range( 1,man_num+ 1),man_num)]

fori inrange(women_num)],

index = [ ”w”STR(Ⅰ) fori inrange( 1,women_num+ 1)],

columns = [ 程度STR(Ⅰ) fori inrange( 1,man_num+ 1)]

)

return(人),妻)

2. 男子求婚一道菜的模仿

每天午前,无定婚的人。,给还无回绝他的成年女子。,他= favourite的人要他嫁给他。。

print( ”==============================棘手的集{}模仿开端==============================”体式(一)

print( ”==============================开端模仿提议一道菜==============================”)

level_num = 0

whileman_ismapping[ ”love_level”].min() == 0:

level_num += 1

print( ”==============================开端第{}天结婚的状态联想==============================”.format(level_num))

u_mapping_man = man_ismapping[man_ismapping.target == ”n”].()

iflevel_num < 2:

level_col = 程度+ str(level_num)

man_choose = man[(u_mapping_man)][level_col].to_frame().reset_index()

man_choose.columns = [ ”man_id”, ”women_id”]

man_choose[ 类别] = 1

else:

m_id = u_mapping_man

l = []

forman_id inm_id:

col_n = int(人)_ismapping[man_ismapping.index == man_id].range[ 0])

level_col = 程度+ str(col_n + 1)

women_id = man[man.index == man_id][level_col][ 0]

rg = col_n + 1

l.append([man_id, women_id, RG]

man_choose = (l, columns=[ ”man_id”, ”women_id”, 类别])

3. 模仿女性婚约的一道菜

每天午后,每个成年女子大都市收到她的欠条。,选择她最相同的的船舶管理人获得提议。;条件我无增强一体提议。,持续推迟。。

forr inrange( 0, len(人)_choose)):

relationship = man_choose[man_choose.index == r]

m = [i fori inrelationship[ ”man_id”]][ 0]

w = [i fori inrelationship[ ”women_id”]][ 0]

find = women[women.index == W.unSTACK().ReSeTyx涉及

find.columns = [ 程度, ”women_id”, ”man_id”]

find = int(i) fori in查找[查找] ”man_id”] == m][ 程度]][ 0].split( 程度)[ 1])

o_love_level = [i fori inwomen_ismapping[women_ismapping.index == w][ ”love_level”]][ 0]

rg = [i fori inrelationship[ 类别]][ 0]

ifo_love_level == 0:

[w, ”love_level”] = find

[w, 瞄准] = m

[w, 类别] = level_num

[m, ”love_level”] = rg

[m, 瞄准] = w

[m, 类别] = rg

elifo_love_level > find:

m_o = [w, 瞄准]

[m_o, ”love_level”] = 0

[m_o, 瞄准] = ”n”

[m, ”love_level”] = rg

[m, 瞄准] = w

[m, 类别] = rg

[w, ”love_level”] = find

[w, 瞄准] = m

[w, 类别] = level_num

else:

[m, 类别] = rg

pass

4. 运转信号,和输出后果

03

女生焦急的她在景象模仿一道菜。,我选取了就切中要害一体后果,并率先向她窗侧。:

垂直轴表现幻影后果。,男/女伴侣相同的次序。,即:婚配的伴侣是他/她最相同的的异性恋者。

显然,船舶管理人比成年女子更方法他们最相同的的伴侣。!这怎么不与姐妹般的极乐的怀胎争吵甚远。!

学姐堕入了困惑:有区别的地女性才原版的着定婚的决定权,船舶管理人使平坦权时定婚同样成的。,也有被丢弃的可能性。!你看,跟随竞赛次数的增强,男子伴侣不断地选择本人相同的的。渐渐译成一体打折的的靶子。女性同伴正逐渐零钱。好。你会间或吗?!

我:是间或的吗?,让笔者着手。100幻影,船舶管理人/成年女子婚配他们的伴侣最相同的的次序。

垂直轴代表模仿经过。,男子/女性平均数的伴侣偏爱的事物次序,即:婚配的同伴是他们的X的异性。

可以有区别的地指出。,船舶管理人最相同的的同伴终极婚配他们的伴侣普通次序。

神学院的姐妹惟一剩下的赠送反驳。:基本的的创议真的起了这么地大的功能。!为什么呀~

我分析道:看一眼你姐姐。,未婚女子但是坐在一家所有的提议。,她相同的的人甚至无机遇领悟她。。而船舶管理人有生气的做出选择。,你可以每回选择你相同的的东西。。使平坦被回绝,他的下一体提议。,你也可以给他获得他的可能性。、他最相同的的未婚女子。这么地游戏以确保一体男孩的同伴是最好的一体可以与他跟在后面。,但归咎于未婚女子。

学姐:你说得对。。面临本人相同的的人,我被期望去争得,而何止仅是推迟。。

我:这是得体的的。!在这么地世上你需求做什么?你有你相同的的人。,笔者需求竭力任务。,增长本人,招引TA,情爱TA

大档案公共地址切中要害背景对话框表达那就够了获取文中源信号和G-S算法使担忧材料!

Q:你要有生气的进击了吗

转载 / 投稿请门路:baiyu@

发表评论

电子邮件地址不会被公开。 必填项已用*标注