会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 搜索引擎 > 浅谈网页搜索排序中的投票模型

浅谈网页搜索排序中的投票模型

时间:2012-05-28 18:38:41   作者:   来源:   点击:

前些天读了一本《选举的窘境》,其中有一章,从美国的选举制度说起,介绍美国选举制度的不足,然后针对其不足,提出种种改良,然而每种改良都有其各自的问题,其中的转变很有趣。

先说美国选举制度,美国的总统选举是一种"赢者通吃"的体例,每个州按照其人口多少,有几十或几百的"州票",州里的人对总统候选人进行选举,在某个州取得票最多的那个候选人,取得这个州所有的"州票",然后统计所有候选人的"州票"多少,取得最多"州票"的候选人获胜。

这样制度的问题是显然的,比如如果只有两个州,A州5小我,而B州4小我,州票也别离是5和4,如果某候选人X在A州以3:2获胜,另外一个候选人Y在B州以4:0获胜,这样显然候选人Y在全国范围内取得了6张票,而候选人X只有在A州的3张票,可是由于"赢者通吃",X取得了A周的全部5张"州票",Y只取得了B周的4张"州票",在全国只有1/3民众支持的X竟然取得了选举的胜利。

这样的情况在2000年美国总统选举中就呈现过,小布什的州票领先于戈尔,然而在全国民众中统计支持戈尔的人数却是年夜于小布什的,当然戈尔输给小布什还有另外一个原因,这里按下不表。

如果放在算法范畴,可以看出这里的问题在于,为了统计成果R(最适合的总统人选),找到了一个特征A(每个民众的投票),而决定成果R的,却不是特征A,而是由特征A推导出来的特征B(州票),在特征A向特征B的推导过程中,信息丢失了(每个洲的支持百分比不一样)。

"赢者通吃"这种制度的具体汗青原因先不说,有兴趣的朋友可以去看原著。解决这种问题的最直接方案就是从"赢者通吃"酿成直选,也就是一人一票,直接统计票数,然而这样也会遇到一系列问题。

在谈那一系列问题之前,先把要解决的问题抽象一下:

有n个候选人,每个选民对这n个候选人投票,最终在n个候选人中选出最适合、最适合民意、也适合逻辑的那小我。

方案1一票制,每人一票,选出自己最喜欢的候选人,对成果进行统计,得票最多的那小我被选。

这样做的问题是会致使作者定义的一种"鹬蚌困局",举例说,如果有ABC三个候选人,其中BC政见比较近似,支持B的人也比较支持C,反之亦然,在全民中,喜欢BC的人占大都,A的政见和BC相反,支持A的人在全民中占少数。这样致使的后果就是,BC取得的票会比较分离,而A取得的票比较集中从而获告捷利,如果BC中有1人不插手选举,票就会合中到B或C一小我的手中,从而使大都选民的支持者被选。前面按下不表的戈尔失败的另外一个原因,就是有人认为有跟戈尔政见近似的耐德的参与,他分离了部分戈尔的选票。

可以对此问题有所改良的方案叫做"二选制"。

方案2:二选制,每人一票,如果无人取得年夜于50%的支持,则将得票最高的两个候选人拿出来,再进行一轮选举,得票多的人获胜。

法国总统选举就是这样的二选制,可是这样的体例只能改良"鹬蚌困局",而不克不及完全解决,2002年的法国总统年夜选就呈现了近似的情况,那时支持左派政见的民众较多,然而在二选制下,最终的前两名却是一个右派和一个极右派。呈现这种情况的原因是昔时有16个总统候选人,且大都是持左派政见者,这样就致使左派的票极端分离。

方案3:n选制,每人一票,如果无人取得年夜于50%的支持,则去失落支持最少的候选人,再进行一轮投票,若依旧无人取得年夜于50%的支持,再去失落得票最少的候选人,直到有人年夜于50%支持为止。

2001年奥委会决定北京为2008年奥运会主办城市的时候,就是用的这样的制度,在第一轮投票里年夜阪被淘汰,北京在第二轮就取得了半数以上的支持,从而被选。

n选制的问题在于不实用,如果是奥委会这种只有几百小我投票的情况还可使用,如果近似前面法国总统选举,有16个候选人,举国上下最多可能进行15次投票,本钱太高。

方案4:即刻复选制,每个民众对候选人进行排序,如果某个候选人取得了50%以上的首选,则直接获告捷利,不然淘汰票数最低的候选人,并且把票数最低候选人的得票中的第二候选人拿出来,分给对应的候选人,如果有人取得50%以上,则被选,不然再淘汰一位最低的,并且把他票分给里面排序最高的且未被淘汰的候选人,如此往复。

分享到:

网友评论