稳定匹配算法python实现

来源:互联网 发布:java word svg 编辑:程序博客网 时间:2024/06/05 20:48

    所谓稳定匹配算法,就是如果男人想出轨,美女女对他没有一点点性趣,并且爱他的女人比老婆丑十万八千里
反之女人亦然。
    用数学语言来讲就是,博弈的各方达到纳什均衡点。
    ’吕布’,’刘备’,’孔明’,’周瑜’,’曹操’分别在三国佳缘网,注册了vip 账号,想泡某网的5个美女;

import numpy as npimport pandas as pdman=np.array([['貂蝉','大乔','小乔','阿丑','尚香'],                            ['貂蝉','小乔','大乔','尚香','阿丑'],              ['阿丑','貂蝉','小乔','大乔','尚香'],              ['小乔','大乔','尚香','貂蝉','阿丑'],              ['小乔','貂蝉','大乔','尚香','阿丑'],                                                                                              ])a=['吕布','刘备','孔明','周瑜','曹操'] pdman=pd.DataFrame(man,index=a)   

    美女在帅哥心中的位置是这个样子滴!

pdman Out[95]:      0   1   2   3   4吕布  貂蝉  大乔  小乔  阿丑  尚香刘备  貂蝉  小乔  大乔  尚香  阿丑孔明  阿丑  貂蝉  小乔  大乔  尚香周瑜  小乔  大乔  尚香  貂蝉  阿丑曹操  小乔  貂蝉  大乔  尚香  阿丑
woman=np.array([['曹操','吕布','刘备','周瑜','孔明'],               ['周瑜','刘备','孔明','吕布','曹操'],               ['周瑜','孔明','刘备','曹操','吕布'],               ['吕布','刘备','周瑜','孔明','曹操'],               ['孔明','周瑜','曹操','刘备','吕布'],                                                                                            ])    b=['貂蝉','大乔','小乔','尚香','阿丑']   pdwoman=pd.DataFrame(woman,index=b)  

    帅哥在美女心中的位置是这个样子滴!

pdwomanOut[96]:      0   1   2   3   4貂蝉  曹操  吕布  刘备  周瑜  孔明大乔  周瑜  刘备  孔明  吕布  曹操小乔  周瑜  孔明  刘备  曹操  吕布尚香  吕布  刘备  周瑜  孔明  曹操阿丑  孔明  周瑜  曹操  刘备  吕布
def perfect_match(a,pdman,pdwoman):    sd=pd.Series()    while len(a)>0:        sset=sd.index        pp=pdman.loc[a[0]]         for i in list(pp):            if i in sset:                mmm=sd[i]                po=pdwoman.loc[i]                kl= list(po)                p=kl.index(mmm)                q=kl.index(a[0])                if p<q:                    continue                else:                    sd[i]=a[0]                    #sd.drop(k)                    a.remove(a[0])                    a.append(mmm)                    break            else:                sd[i]=a[0]                a.remove(a[0])                break    return sd

    稳定匹配如下:

match=perfect_match(a,pdman,pdwoman)matchOut[98]: 貂蝉    曹操小乔    周瑜阿丑    孔明大乔    刘备尚香    吕布dtype: object

    然世界处于不断的变动之中,偏好矩阵是一个变量,世界在动态中寻找其纳什均衡。所以这个世界不停的有人劈腿,离婚,再婚………..

原创粉丝点击