小编典典

基于1对1选择的协同排序算法

algorithm

我不知道这是否是一个更数学的对象,但是我潜伏在mathexchange中,并且看起来不是面向算法的,所以我更喜欢在这里问。

我想知道以下问题是否已经解决:

假设我们有10个对象,并且我们希望根据偏好对它们进行排序。如果排序只涉及一个人,没问题,我们要求他回答我们的问题(使用Bubblesort或类似方法),并回答一堆问题后,他将获得最终排名。

现在,假设有10个人。我们希望成为全球排名。这变得很困难,任何人都可以用自己的方式解决问题(例如,向每个人要求“最喜欢的三个人”并分配分数,然后进行排名);

我想更科学,因此算法更多,换句话说,为十个人使用冒泡排序(其实现就像一系列问题1vs1对象并询问您最喜欢的是什么,然后进行排名),要问的问题。

因此,我们应该有一种对对象进行全局排名的方法,同时分配要进行排序的人员,重要的对象,如果可能的话,不要等待任何人对他进行排名,而要基于百分比和统计数据。

希望能很好地解释我的问题,如果您不适合该小组,请告诉我并转移其他服务。谢谢!


阅读 339

收藏
2020-07-28

共1个答案

小编典典

您的问题是阿罗定理的主题。简而言之,您通常无法做到。

如果您仍然想尝试,我建议在有向图中使用有向边来表示偏好。像大多数人这样的人更喜欢A到B,包括边A->
B,并且在平局时没有边。如果结果是有向无环图,那么恭喜您,您可以按拓扑排序订购商品。否则,请使用Tarjan的算法来识别强连接的组件,这些组件是问题点。

总的来说,我认为解决这个难题的最好方法是获得分数而不是对项目进行排名。然后,您只需将分数平均即可。

2020-07-28