Suppose I have a file with a single line (joke) in each line. I want to sort the jokes by how funny I find them. My first thought is to implement any sorting algorithm (preferably one that makes as few comparisons as possible) and have a comparison algorithm. I just sit and choose which of each pair of jokes she presented to me was funnier.
There is a problem with this. My joke is not a complete order. It does not have transitivity. For example, I might think that B is funnier than A when they are presented, and that C is funnier than B, but when I introduced A and C, I find A funnier than C. If ">" means "funnier," this means that C> B and B> A does not mean C> A. The correctness of the sorting algorithms depends on this.
But still it seems that there should be an algorithm that sorts the list of jokes, so that the one on top is most preferable to other jokes, and the one on the bottom is less preferable to other jokes, even if there are separate exceptions.
I do not know how to do this Google. Is there an algorithm for sorting preferences? The answer is not applicable here , as it makes users' preferences be transitive.
source share