假设我有一个文件,每行都有一个单行(笑话)。我想按照我觉得它们有多好笑来对这些笑话进行分类。我的第一个想法是实现任何排序算法(最好是进行尽可能少的比较)并让比较算法接受我的输入;我只是坐在那里,选择它呈现给我的每一对笑话中哪一个更有趣。
这是有问题的。我的笑话偏好不是一个完整的命令。它缺乏传递性。例如,我可能认为 B 在呈现时比 A 更有趣,而 C 比 B 更有趣,但是当呈现 A 和 C 时,我发现 A 比 C 更有趣。如果“>”表示“比,更有趣, ” 这意味着 C > B 和 B > A 并不意味着C > A。所有排序算法的正确性都取决于此。
但似乎仍然应该有一种算法对笑话列表进行排序,以便顶部的笑话比其他笑话更受欢迎,而底部的笑话最不受欢迎,即使有个别例外。
我不知道如何谷歌这个。有这种偏好排序的算法吗?这里的答案不适用,因为它强制用户的偏好具有传递性。