假设我有一个文件,每行都有一个幽默笑话。我想根据我发现的有趣程度对这些笑话进行排序。我的第一个想法是实现任何排序算法(最好是尽可能少地进行比较),并使比较算法使用我的输入;我只需坐在那里选择它呈现给我的每个笑话对中更有趣的那个。
但是存在一个问题。我的笑话喜好不是一个全序。它缺乏传递性。例如,当提出它们时,我可能认为B比A更有趣,C比B更有趣,但当提出A和C时,我不知怎么会发现A比C更有趣。如果“>”表示“比…更有趣”,则这意味着C>B和B>A并不意味着C>A。所有排序算法的正确性都取决于此。
但似乎仍然应该有一种算法,可以对笑话列表进行排序,以便顶部的笑话比其他笑话更受欢迎,底部的笑话比其他笑话不太受欢迎,即使有个别例外也是如此。
我不知道如何在Google上搜索这个。是否有这种偏好排序的算法? 这里的答案不适用,因为它强制用户的偏好是传递性的。
但是存在一个问题。我的笑话喜好不是一个全序。它缺乏传递性。例如,当提出它们时,我可能认为B比A更有趣,C比B更有趣,但当提出A和C时,我不知怎么会发现A比C更有趣。如果“>”表示“比…更有趣”,则这意味着C>B和B>A并不意味着C>A。所有排序算法的正确性都取决于此。
但似乎仍然应该有一种算法,可以对笑话列表进行排序,以便顶部的笑话比其他笑话更受欢迎,底部的笑话比其他笑话不太受欢迎,即使有个别例外也是如此。
我不知道如何在Google上搜索这个。是否有这种偏好排序的算法? 这里的答案不适用,因为它强制用户的偏好是传递性的。