Interesting article.
Mason Hale
1
Hey Mason, I’ve read about the stable marriage problem and the solutions to it, however the algorithm I used was probably simpler than you imagine.
For each user I look at their ratings, and from these I make a variety of inferences about that user’s relative preferences for designs, d > e, f < g, etc. You can think of each of these as a “constraint”.
Then, for each ordering of designs I simply count how many of these constraints would be violated by that design ordering, and pick the permutation with the smallest number of violation.
Effectively I’ve turned it into a simple constraint satisfaction problem.