成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python科學戀愛大法

開發 后端
有一座城市,當地風俗是,想結婚的男子必須先向心儀的女子求婚,而女子則需要等待求婚。牧師每年會邀請人數相同的適婚男女參與一次集體相親。本文讓我們用Python來看一看最后的匹配滿意度!

[[246306]]

秋天到了,又是吃螃蟹的季節。白富美學姐前兩天約我吃***的大閘蟹,席間向來開心的她卻顯得心事重重。

“你腫么啦?”我仔細地掰開蟹殼,問道。

“十一假期好多朋友辦婚禮,可我男票一點要求婚的意思都沒有,我都想考慮備胎了。”

“你自己和他說嘛!”我放下了金黃的大閘蟹。

“我可是個妹子,這樣多不好。”學姐嘆了口氣。

看著學姐猶猶豫豫的樣子就知道她需要鼓勵了~我眉頭一皺,計上心來:

學姐呀,我來給你講個故事~

有一座城市,當地風俗是,想結婚的男子必須先向心儀的女子求婚,而女子則需要等待求婚。

牧師每年會邀請人數相同的適婚男女參與一次集體相親。一次相親活動可能有很多輪,男子會首先向自己***的女子求婚,女子則會在所有的追求者中選擇她的***;如果男子被拒絕,下一輪會向他第二喜歡的女子求婚;上一輪已經訂婚的女子如果得到她更愛的人的求婚,則會毫不留情地拋棄未婚夫,和更愛的人在一起。被拋棄的男子需要重新參與求婚。

如此反復,等大家都訂婚,就舉辦集體婚禮。

假設:

  • 1)參加求婚的男女數量保持一致
  • 2)每個男子都按喜愛程度對女子進行排序,比如***a,其次愛b,再次愛c
  • 3)每個女子也同樣給每個男子排序

*此方法名為Gale-Shapley算法。優點如下:

  • 1. 總有大家都訂了婚的一天,不可能***循環
  • 2. 中止后所有的婚姻是穩定婚姻

(不穩定婚姻:比如有兩對夫婦M1&F1和M2&F2, M1的老婆是F1,但他更愛F2;而F2的老公雖說是M2,但她更愛M1。這樣的婚姻就是不穩定婚姻)

有興趣的讀者可以自行搜索證明過程。

學姐的眼睛開始放光了:

坐在家里等求婚,下輩子請讓我生在這個城市吧!

我神秘一笑:

是不是女孩子的天堂,讓我們用Python來看一看***的匹配滿意度吧!

(此處展示部分代碼)

一、樣本生成

為了完成模擬過程,我們首先需要一些樣本,即隨機生成數量相等(可設置數量)的男性和女性,同時生成他們對每個異性個體的喜愛排名。

  1. #設置男女生喜好樣本 
  2. print('==============================生成樣本數據=============================='
  3. man = pd.DataFrame( [['w'+str(i) for i in random.sample(range(1,women_num+1),women_num)] \ 
  4.                       for i in range(man_num)], 
  5.                     index = ['m'+str(i) for i in range(1,man_num+1)], 
  6.                     columns = ['level'+str(i) for i in range(1,women_num+1)] 
  7.                     ) 
  8.  
  9. women = pd.DataFrame( [['m'+str(i) for i in random.sample(range(1,man_num+1),man_num)] \ 
  10.                       for i in range(women_num)], 
  11.                     index = ['w'+str(i) for i in range(1,women_num+1)], 
  12.                     columns = ['level'+str(i) for i in range(1,man_num+1)] 
  13.                     ) 
  14. return (man,women) 

二、模擬男性求婚過程

每天上午,每位還沒訂婚的男子,會向還沒拒絕過他的女子中,他***的那一個求婚。

  1. print('==============================測試集{}模擬開始=============================='.format(i)) 
  2. print('==============================開始模擬求婚過程=============================='
  3. level_num = 0 
  4. while man_ismapping['love_level'].min() == 0: 
  5.     level_num += 1 
  6.     print('==============================開始第{}天婚姻配對=============================='.format(level_num)) 
  7.     u_mapping_man = man_ismapping[man_ismapping.target == 'n'].index.tolist() 
  8.  
  9.     if level_num < 2: 
  10.         level_col = 'level' + str(level_num) 
  11.         man_choose = man[man.index.isin(u_mapping_man)][level_col].to_frame().reset_index() 
  12.         man_choose.columns = ['man_id''women_id'
  13.         man_choose['range'] = 1 
  14.     else
  15.         m_id = u_mapping_man 
  16.         l = [] 
  17.         for man_id in m_id: 
  18.             col_n = int(man_ismapping[man_ismapping.index == man_id].range[0]) 
  19.             level_col = 'level' + str(col_n + 1) 
  20.             women_id = man[man.index == man_id][level_col][0] 
  21.             rg = col_n + 1 
  22.             l.append([man_id, women_id, rg]) 
  23.         man_choose = pd.DataFrame(l, columns=['man_id''women_id''range']) 

三、模擬女性接受訂婚的過程

每天下午,每位女性會在自己接到的求婚信中,選擇她最中意的男子接受求婚;如果沒接到求婚,就繼續等待。

  1. for r in range(0, len(man_choose)): 
  2.     relationship = man_choose[man_choose.index == r] 
  3.     m = [i for i in relationship['man_id']][0] 
  4.     w = [i for i in relationship['women_id']][0] 
  5.     find = women[women.index == w].unstack().reset_index() 
  6.     find.columns = ['level''women_id''man_id'
  7.     find = int([i for i in find[find['man_id'] == m]['level']][0].split('level')[1]) 
  8.     o_love_level = [i for i in women_ismapping[women_ismapping.index == w]['love_level']][0] 
  9.     rg = [i for i in relationship['range']][0] 
  10.     if o_love_level == 0: 
  11.         women_ismapping.loc[w, 'love_level'] = find 
  12.         women_ismapping.loc[w, 'target'] = m 
  13.         women_ismapping.loc[w, 'range'] = level_num 
  14.         man_ismapping.loc[m, 'love_level'] = rg 
  15.         man_ismapping.loc[m, 'target'] = w 
  16.         man_ismapping.loc[m, 'range'] = rg 
  17.     elif o_love_level > find: 
  18.         m_o = women_ismapping.loc[w, 'target'
  19.         man_ismapping.loc[m_o, 'love_level'] = 0 
  20.         man_ismapping.loc[m_o, 'target'] = 'n' 
  21.         man_ismapping.loc[m, 'love_level'] = rg 
  22.         man_ismapping.loc[m, 'target'] = w 
  23.         man_ismapping.loc[m, 'range'] = rg 
  24.         women_ismapping.loc[w, 'love_level'] = find 
  25.         women_ismapping.loc[w, 'target'] = m 
  26.         women_ismapping.loc[w, 'range'] = level_num 
  27.     else
  28.         man_ismapping.loc[m, 'range'] = rg 
  29.         pass 

四、運行代碼,并導出結果

Python科學戀愛大法

學姐看著正在運行模擬過程有點著急了,我抽取其中一輪的結果先展示給她看:

Python科學戀愛大法

縱軸代表該次模擬結果中,某位男性/女性的伴侶喜愛排名,即:匹配到的伴侶是他/她第X喜歡的異性。

顯然,男性匹配到的伴侶離自己的***比女性更近——不止一點點!這可和“妹子天堂”的預期有點遠啊!

學姐陷入了困惑:明明女性才掌握著訂婚的決定權,而且男性即使暫時訂婚成功,也有被拋棄的可能啊!你看,隨著匹配輪次增加,男性的伴侶總是從自己最喜歡的對象慢慢變成不那么喜歡的對象;而女性伴侶卻在一步步變好。你這個會不會是偶然啊!

我:是不是偶然,讓我們來看看100次模擬中,男性/女性匹配到的伴侶喜愛排名均值分布吧~

Python科學戀愛大法

*縱軸代表其中一次模擬中,男性/女性的平均伴侶喜愛排名均值,即:匹配到的伴侶是他們/她們第X喜歡的異性。

可以明顯看到,男性最終匹配到的伴侶的喜愛排名普遍高于女性。

學姐終于收起了質疑:原來主動出擊真有這么大的作用!為什么呀~

我分析道:學姐你看,女孩只能坐在家里等求婚,她喜歡的人可能連看到她的機會都沒有。而男性在主動做出選擇之時,每次都能選擇自己最喜歡的對象。即使被拒絕,他的下一次求婚,也能送給可能接受他的、他***的女孩兒。這個游戲保證男孩的伴侶是可能和他在一起的***的那一個,但對女孩就不是。

學姐:你說得對。面對自己喜歡的人,我應該去爭取,而不只是等待。

我:這就對啦!世界上有什么事不需要努力呢?你有喜歡的人,就要好好努力,提升自己,去吸引ta,愛ta~

責任編輯:未麗燕 來源: Python中文社區
相關推薦

2012-12-21 09:48:06

JavaJavaSE異常

2012-12-21 10:15:35

2015-09-01 10:58:37

戀愛運營騰訊

2010-09-26 14:46:51

DHCP端口設置

2010-09-28 13:53:52

2019-09-30 09:10:11

Python編程語言數據科學

2024-07-10 18:55:09

Python定時

2015-04-29 06:34:00

2016-02-15 10:57:39

SaaSSaaS運營SaaS服務

2009-08-05 16:02:48

Visual Stud

2025-05-22 10:21:57

網絡ITBGP

2018-11-14 14:14:23

程序員戀愛報告

2019-05-07 19:12:28

機器學習神經網絡Python

2018-12-18 13:32:37

方差分析數據分析教育

2018-11-06 20:30:23

Python開源工具機器學習

2019-01-17 11:37:40

數據科學正則化LASSO回歸

2011-01-18 13:41:40

運維法則

2018-05-05 09:00:40

生產效率

2022-11-02 14:45:24

Python數據分析工具

2019-08-12 15:10:02

Python哪吒編程語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美99久久精品乱码影视 | 精品欧美一区免费观看α√ | 国产精品伦一区二区三级视频 | a级免费黄色片 | 久草免费在线 | 在线播放国产视频 | 亚洲综合首页 | 一区二区三区四区五区在线视频 | 欧美日批| 国产精品视频一区二区三区 | 国产精品日产欧美久久久久 | 天天色av | 欧美日韩国产中文 | 夜夜夜夜草 | 国产高清精品在线 | 国产日韩视频在线 | www.一区二区三区 | 国产精品免费一区二区三区 | 五月婷婷婷| 日韩成人av在线 | 欧美三级三级三级爽爽爽 | 成人午夜精品 | 国产免费一区二区 | 欧美日韩一本 | 91精品国产综合久久久久久首页 | 亚洲高清视频一区二区 | 国产欧美一区二区三区日本久久久 | 精品国产欧美一区二区 | 久久免费资源 | 日韩在线一区二区三区 | 国产福利资源在线 | av在线免费观看不卡 | 国产91丝袜在线播放 | 久久久成人网 | 日韩一区二区在线观看视频 | 国产在线1区 | 日韩精品免费 | 日本精品视频 | 色噜噜亚洲男人的天堂 | 天天操天天操 | 国产精品中文字幕在线播放 |