算法用于排名结果的元排名

3
假设你要求队友进行一次投票来选出下一个烧烤的组织者。你们团队有大约120人,你需要从6个人中选择3个人来担任此职责。 每个人可以最多为3个人投票,并将他们排名:第一位是X,第二位是Y,第三位是Z。 最后,所有投票结果应该被合并成一个排名结果列表。
| Candidate | Voter 1 | Voter 2 | Voter 3 |
-------------------------------------------
| A         | 1. Pos  |         | 2. Pos  |
| B         | 3. Pos  | 1. Pos  | 3. Pos  | 
| C         | 2. Pos  | 2. Pos  |         |
| D         |         | 3. Pos  |         |
| E         |         |         |         |
| F         |         |         | 1. Pos  |
-------------------------------------------

如果选民没有排名,每张选票的价值相等,那么聚合结果会很好。B得到3票,A和C各得2票。其它人得到的票数较少。获胜者是:A、B和C。
我不知道有哪些算法可以聚合排名数据,也不知道结果应该是什么样子的。F得到了一个1号位置的票,这很好,但是A和B也得到了这样的一张票。从我的角度来看,A和B更好,因为他们得到了更多的选票。但是A比B更好吗?A得到了一个2号位置,但是B得到了两次3号位置,应该怎样排名更高呢?两次2号位置比一次1号位置和两次3号位置更好吗?
听起来像是要实现一个元搜索引擎排名算法。有哪些算法存在?我应该使用什么算法?

2
这个问题可能不太适合在这里讨论,但你可以看看 康多塞法(http://en.wikipedia.org/wiki/Condorcets_Method),它会在候选人之间进行两两比较,并找出赢得大部分比较的那个人。 - Terje D.
@Terje D. 您的链接 href 无效,请添加一个“:”。 - DanielaWaranie
@DanielaWaranie。谢谢。正确的链接是http://en.wikipedia.org/wiki/Condorcets_Method。 - Terje D.
@Terje D.:感谢您提供康多塞方法的提示。我选择了DanielaWaranies的答案,因为无法将您的评论选为问题的答案。而且DanielaWaranie提供了很好的建议。目前似乎没有其他替代康多塞方法的选择。 - user1182585
这个问题与http://stackoverflow.com/questions/26924660/ranking-algorithm-with-missing-values-and-bias/37132140#37132140有关。 - stefan.schroedl
2个回答

4
当您询问“我应该使用什么?”时,我可以推荐Terje D.提到的那些方法组,称为“Condorcet方法”。如果您不想了解选举方法的复杂理论,我可以推荐其中一种Condorcet方法:“Schulze方法”(也称为:路径获胜者或打败路径获胜者)。例如,Debian、KDE和德国海盗党使用此方法。
您可以使用此在线投票表格来获得临时解决方案:https://modernballots.com/elections/qm65cnts/vote/ 如果您想将其实施到公司网站(内部网或其他),我建议您为现有项目做出贡献。如果您是PHP开发人员,请查看此链接:https://bitbucket.org/robla/electowidget/src/14581ac7a5f2/lib/methods/SchulzeMethod.php。Electowidget最初是MediaWiki的插件。也许这是一个好的起点,也许您想做出一些更改,使它成为一个库。

0
也许可以这样做:给每个第一名分配3个点,给每个第二名分配2个点,给每个第三名分配1个点。然后检查哪些候选人得分最高。

候选人,总分: A = 5 分, B = 5 分, C = 4 分, D = 1 分, E = 0 分, F = 3 分。这公平吗?1、2、3 是专制的。那么2、4、8或其他数字呢?Condorcet方法对我来说看起来不错。 - DanielaWaranie
1
@DanielaWaranie 将N-1、N-2和N-3(这里是5、4和3分)分配给候选人将更好,因为这是候选人受欢迎程度的人数(这使其成为Condorcet方法)。结果:A:9,B:11,C:8,D:3,E:0,F:5。 - Terje D.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接