日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python科學(xué)戀愛(ài)大法

秋天到了,又是吃螃蟹的季節(jié)。白富美學(xué)姐前兩天約我吃***的大閘蟹,席間向來(lái)開(kāi)心的她卻顯得心事重重。

北海街道網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司

“你腫么啦?”我仔細(xì)地掰開(kāi)蟹殼,問(wèn)道。

“十一假期好多朋友辦婚禮,可我男票一點(diǎn)要求婚的意思都沒(méi)有,我都想考慮備胎了?!?/p>

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

“我可是個(gè)妹子,這樣多不好。”學(xué)姐嘆了口氣。

看著學(xué)姐猶猶豫豫的樣子就知道她需要鼓勵(lì)了~我眉頭一皺,計(jì)上心來(lái):

學(xué)姐呀,我來(lái)給你講個(gè)故事~

有一座城市,當(dāng)?shù)仫L(fēng)俗是,想結(jié)婚的男子必須先向心儀的女子求婚,而女子則需要等待求婚。

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

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

假設(shè):

  • 1)參加求婚的男女?dāng)?shù)量保持一致
  • 2)每個(gè)男子都按喜愛(ài)程度對(duì)女子進(jìn)行排序,比如***a,其次愛(ài)b,再次愛(ài)c
  • 3)每個(gè)女子也同樣給每個(gè)男子排序

*此方法名為Gale-Shapley算法。優(yōu)點(diǎn)如下:

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

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

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

學(xué)姐的眼睛開(kāi)始放光了:

坐在家里等求婚,下輩子請(qǐng)讓我生在這個(gè)城市吧!

我神秘一笑:

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

(此處展示部分代碼)

一、樣本生成

為了完成模擬過(guò)程,我們首先需要一些樣本,即隨機(jī)生成數(shù)量相等(可設(shè)置數(shù)量)的男性和女性,同時(shí)生成他們對(duì)每個(gè)異性個(gè)體的喜愛(ài)排名。

 
 
 
 
  1. #設(shè)置男女生喜好樣本
  2. print('==============================生成樣本數(shù)據(jù)==============================')
  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. women = pd.DataFrame( [['m'+str(i) for i in random.sample(range(1,man_num+1),man_num)] \
  9.                       for i in range(women_num)],
  10.                     index = ['w'+str(i) for i in range(1,women_num+1)],
  11.                     columns = ['level'+str(i) for i in range(1,man_num+1)]
  12.                     )
  13. return (man,women)

二、模擬男性求婚過(guò)程

每天上午,每位還沒(méi)訂婚的男子,會(huì)向還沒(méi)拒絕過(guò)他的女子中,他***的那一個(gè)求婚。

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

三、模擬女性接受訂婚的過(guò)程

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

 
 
 
 
  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

四、運(yùn)行代碼,并導(dǎo)出結(jié)果

學(xué)姐看著正在運(yùn)行模擬過(guò)程有點(diǎn)著急了,我抽取其中一輪的結(jié)果先展示給她看:

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

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

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

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

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

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

學(xué)姐終于收起了質(zhì)疑:原來(lái)主動(dòng)出擊真有這么大的作用!為什么呀~

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

學(xué)姐:你說(shuō)得對(duì)。面對(duì)自己喜歡的人,我應(yīng)該去爭(zhēng)取,而不只是等待。

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


網(wǎng)站題目:Python科學(xué)戀愛(ài)大法
當(dāng)前路徑:http://www.5511xx.com/article/dpdehdg.html