我有一组r评审员,他们对一组n个对象进行评级。每个审阅者独立地生成他或她选择排序的对象的有序列表。目标是生成一个列表,它是各种有序列表的排序规则。我们可以假设每个评论者的观点都是同等重要的。
这与大多数合并和排序列表问题的不同之处在于没有全局排序。一个审阅者可以评分a>b,而另一个审阅者可以评分b>a。如前所述,每个对象不一定由每个审阅者评分。
我目前的想法是将每个审阅者的列表分解为列表中m*(m-1)*.5个唯一条目对的一组有序元组,其中m是评级对象的数量。现在从所有评论员那里拿走所有元组。对于给定的组合(a,b),找到所有这样的元组,并以(那些投票的)多数票作为a现在我有一组有序的元组,代表了所有人的智慧。但我该如何把它们变成一个有序的列表呢?我可以从一对随机选择的对象开始,对它们进行排序,然后按正确的顺序添加另一个对象,但输出将取决于我选择从哪个对象开始。也可能有循环。
我很感激你的任何想法。

最佳答案

一个看起来很优雅但仍然需要做的解决方案是将每个排序转换为1到0的分数,其中1是给定审阅者列表中的第一个(排名靠前)项,0是最后一个(排名靠后)项,介于两者之间的所有项都得到线性缩放的分数。因此,如果评审员1只对3个项目进行排名,他们将得到1、0.5和0的列表分数。然后,您只需取每个项目的平均得分来生成一个整理过的列表。一个项目的“评审”次数可以打破这种联系(这样,一个由3名评审员一致标记为“最佳”的项目在最终列表中会比一个由2名评审员一致标记为“最佳”的项目显示得更高,等等)。
您的要求“目标是生成一个列表,它是各种有序列表的排序规则。我们可以假设每个评论者的观点都是同等重要的。”这个简单的算法肯定能满足这些要求,但通常这样的问题一旦你深入研究就会有更复杂的要求。

08-27 19:46