日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

匹配问题

發(fā)布時(shí)間:2023/12/18 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 匹配问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

匹配問題

    • 匹配問題中的重要概念
    • GS算法
    • GS算法的幾個(gè)特性

匹配問題中的重要概念

  • 匹配,假設(shè)有男人的集合M和女人的集合W,每個(gè)男人向女人W求婚,并且兩個(gè)人成功組成一對,就叫做匹配
  • 完美匹配,假設(shè)集合M和集合W的數(shù)量相同,都是n,即n個(gè)男人,n個(gè)女人,如果使用一種算法,最后所有的男人和女人成功匹配,沒有一個(gè)單身的男人或者單身的女人,那么就叫做完美匹配
  • 不穩(wěn)定匹配,假設(shè)完美匹配形成了集合S,其中男人mim_imi?和女人wjw_jwj?匹配形成(mi,wj)(m_i, w_j)(mi?,wj?),而另外又有男人mkm_kmk?和女人wlw_lwl?匹配形成(mk,wl)(m_k, w_l)(mk?,wl?),如果S的匹配中,與wjw_jwj?比起來,mim_imi?更喜歡人妻wlw_lwl?,與mkm_kmk?比起來,wlw_lwl?更喜歡mim_imi?,那么沒有什么可以阻擋mim_imi?拋棄當(dāng)前妻子wjw_jwj?而與wlw_lwl?結(jié)合,形成新的一個(gè)匹配(mi,wl)(m_i, w_l)(mi?,wl?),這就說明形成的匹配S是一個(gè)不穩(wěn)定的匹配,因?yàn)楦鶕?jù)喜歡因素,這些匹配會(huì)被打破而形成新的匹配,包含這種不穩(wěn)定因素的匹配叫做不穩(wěn)定匹配
  • 穩(wěn)定匹配,假如最終形成的完美匹配結(jié)果是S,里面所有的女人都對當(dāng)前的男人滿意,或者男人對當(dāng)前配對的女人滿意,那么就不會(huì)出現(xiàn)打破原有組合形成新的匹配的可能性,此時(shí)匹配S叫做穩(wěn)定匹配
  • 有效伴侶,假如在男人集合M和女人集合W進(jìn)行匹配,得到集合S,S中包含(m,w),那么說明w是m的有效伴侶,同樣的,m也是w的有效伴侶。
  • 最佳伴侶,穩(wěn)定匹配可能不唯一,假如穩(wěn)定匹配集合S中包含匹配(m,w), 而其他任何穩(wěn)定匹配中包含(m,wi)(m,w_i)(m,wi?),而m對所有女人的喜好從高到低排序過程中,w始終在wiw_iwi?前面,那么說明w是m的最佳伴侶,表示為best(m)。
  • GS算法

    為了使得這種雙方都有需求的匹配,最終形成一個(gè)完美的、穩(wěn)定的匹配,Gale和Shapely兩位科學(xué)家提出了GS算法(以他們名字首字母命名)。該算法的偽代碼如下:

    while(集合M中存在一個(gè)單身男子m并且該男子沒有向所有女性求婚過)m向他沒有求婚過的最心儀的女子w求婚;if(w處于單身狀態(tài))組成匹配(m,w)else if(w處于匹配狀態(tài)){if(相比w的現(xiàn)任m1,w更加心儀m)w拋棄m1,和m組成匹配(m,w)else w拒絕了m的求婚,m仍然單身。} }

    GS算法的while循環(huán),最多執(zhí)行n2n^2n2次,即每個(gè)m都想對心儀的女性從高到低依次求婚。進(jìn)行GS算法時(shí),一個(gè)較好的數(shù)據(jù)結(jié)構(gòu)是采用兩種不同的矩陣。矩陣的第i行是一個(gè)數(shù)組,數(shù)組依次從低到高羅列了男子心儀的女生編號(hào)。如下組織形式依次列出了0、1、2三位男子最心儀的三位女生,依次心儀程度依次從高到低排列。例如:

    男子心儀女生1心儀女生2心儀女生3
    0MarryPennyMoon
    1MarryMoonPenny
    2PennyMoonPenny

    女生則是通過索引可以直接查找對男子的評(píng)分,方便比較求婚的男子是否比當(dāng)前匹配的男子更令她心儀。

    女子0號(hào)男子1號(hào)男子2號(hào)男子
    Marry10分7分5分
    Penny4分5分10分
    Moon8分7分6分

    按照這種數(shù)據(jù)結(jié)構(gòu)組織形式,GS算法的復(fù)雜度為O(n2)O(n^2)O(n2);

    GS算法的幾個(gè)特性

  • 如果算法執(zhí)行中,某個(gè)男子是單身,那么一定存在一個(gè)他還未求過婚的女子。(n對男女,某男單身,一定存在某女單身)

  • GS算法執(zhí)行結(jié)束時(shí)得到的匹配集合S一定是一個(gè)完美匹配。(GS執(zhí)行結(jié)束條件是不存在單身男子)

  • GS算法執(zhí)行結(jié)束得到的S是一個(gè)穩(wěn)定匹配。(反證法證明)

  • GS算法執(zhí)行結(jié)束后,每個(gè)男子都與其最佳伴侶匹配到一起,即形成集合S?S^*S? = {(m,best(m))∣m∈M(m,best(m)) |m \in M(m,best(m))mM }

    • 假設(shè)GS算法執(zhí)行中,首次出現(xiàn)了一個(gè)悲催男子mim_imi?,居然被自己的最佳伴侶wiw_iwi?給拒絕了。而這說明mim_imi?wiw_iwi?求婚時(shí)wiw_iwi?更加喜歡與wiw_iwi?當(dāng)前的約會(huì)對象mjm_jmj?,或者是原本wiw_iwi?mim_imi?匹配,但mjm_jmj?wiw_iwi?求婚時(shí),wiw_iwi?果斷拋棄了mim_imi?而選擇了mjm_jmj?
    • 假設(shè)存在另外一個(gè)穩(wěn)定匹配S1S_1S1?,在這里面mim_imi?wiw_iwi?匹配到一起,mjm_jmj?wjw_jwj?匹配到一起。上述GS算法運(yùn)行結(jié)束后mjm_jmj?選擇和wiw_iwi?匹配到一起,而沒有選擇wjw_jwj?,GS算法中男人每次都會(huì)選擇當(dāng)前沒有求過婚的優(yōu)先級(jí)最高的女性求婚,這說明mjm_jmj?喜歡wiw_iwi?多過喜歡wjw_jwj?
    • 上面的論述得到兩個(gè)結(jié)論.(1)wiw_iwi?喜歡mjm_jmj?多過喜歡mim_imi?。(2) mjm_jmj?喜歡wiw_iwi?多過喜歡wjw_jwj?。但是(mi,wim_i,w_imi?,wi?)和(mj,wjm_j,w_jmj?,wj?)屬于穩(wěn)定匹配。結(jié)論和假設(shè)相互矛盾。因此說明GS算法執(zhí)行結(jié)束后男子都和最佳伴侶匹配到一起。
  • GS算法執(zhí)行結(jié)束后,每個(gè)女子都與其最差的有效伴侶匹配到一起。

    • 假設(shè)GS算法結(jié)束后存在某個(gè)女子,并沒有與最差的有效伴侶匹配到一起。此時(shí)假設(shè)mim_imi?wiw_iwi?匹配到一起,并且mim_imi?不是wiw_iwi?的最差有效伴侶。那么必然存在另外一個(gè)有效匹配,其中mjm_jmj?wiw_iwi?匹配到一起,mim_imi?wjw_jwj?匹配到一起。上述假設(shè)可知(1)wiw_iwi?喜歡mim_imi?多過喜歡mjm_jmj?在GS算法結(jié)果中假設(shè)mim_imi?wiw_iwi?匹配到一起而沒有選擇wjw_jwj?,可以得到(2)mim_imi?喜歡wiw_iwi?多過喜歡wjw_jwj?。兩個(gè)結(jié)論恰好與假設(shè)存在包括(mj,wim_j,w_imj?,wi?)(mi,wjm_i,w_jmi?,wj?)的穩(wěn)定匹配矛盾。因此原命題正確。
  • GS算法中求婚的一方可以得到最佳有效伴侶,而被求婚的一方只能得到最差的有效伴侶。

  • 總結(jié)

    以上是生活随笔為你收集整理的匹配问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。