I've been puzzling over this problem for a while now, and can't seem to come up with a good solution. I'd love to hear peoples thoughts (or if someone knows of an existing solution) Let me describe the problem.
The end goal is to find the overall 'favorite color' in the data set after running our algorithm and sorting the results.
Say we allow users to vote on their favorite color. For the example we have blue, red, green, and yellow. We let users vote not on their overall favorite, but on their favorite out of two colors. (eg. red over blue)
Over time our data might look like this: (numbers in braces being the amount of votes that color has)
- Red (7) vs Blue (2)
- Red (6) vs Green (3)
- Red (3) vs Yellow (4)
- Blue (3) vs Green (5)
- Blue (4) vs Yellow (4)
- Green (1) vs Yellow (5)
I assume that we would need to assign a 'confidence' score to each pairing describing how sure we are that the result is correct. (maybe a 0 in a tie, and a 1 if we are 100% sure) I imagine we would have to take into account the overall number of votes for each pairing. For example, a pairing with only 1 vote and thus a 100% confidence score needs to be 'dampened'.
Anyways, if anyone has any ideas I'd love to hear them.
Cheers and thanks for reading.