合并不同项目的排名列表

时间:2016-10-24 14:25:36

标签: algorithm merge

首先我要说的是,我不认为对这个问题有一个可以解析的答案,但我很容易感到惊讶。

情况是我有11个排序的有序项目列表,并且我被要求将它们组合成单个排序列表。问题是这些不是同一组项目的11个排名(在这种情况下我可以使用像Schulze或Condorcet这样的方法),但它们是完全不同的项目列表。所以列表一可以是(A,C,D,B,F,E),而列表二是(L,Q,M,G)等。

由于没有共同的基线,我认为没有任何方法可以说这只是因为某个列表中的第一个,它不会比另一个列表中的数字N重要。

那里有一些我不知道的巫术,或者这是否像我认为的那样棘手?

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要更多信息才能获得明确的答案。例如,它可以帮助知道任何列表是否比其他列表更重要,或者列表中是否有任何共同元素。

一种想法可能是给每个项目赢/输记录,然后根据胜率进行排名。对于您的示例,结果将是:

A 5-0 1.000
L 3-0 1.000
C 4-1 .800
Q 2-1 .667
D 3-2 .600
B 2-3 .400
M 1-2 .333
F 1-4 .200
G 0-3 .000
E 0-5 .000

你最终可能会有很多关系而无法打破它们。这种方法与数据并不矛盾,它确实导致了项目的整体排名,但也有其他方法来满足该标准。没有更多的信息,没有任何方法可以选择其中一个。

答案 1 :(得分:0)

只需给他们他们一个共同的基线。你可以对待它们,好像11个选民中的每一个都可以对所有候选人进行排名(但事实并非如此)。给所有未出现在一个排名中的人提供一个共同的,最不喜欢的排名。 The Schulze method can deal with that