Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the "make everyone happy" voting algorithm? [closed]

I'm looking for a voting algorithm that picks the winners based on combination of majority of votes and number of votes.

Real life example:

Our company has a cereal bar. We have room for 3 different cereals. We want to allow our employees to vote on which cereals they want.

We don't want to strictly pick the top 3 winners based on popularity because there may be a minority of employees who can only eat 1 particular cereal (for whatever reason) and we'd like to give them special allowance as possible.

Given the following vote outcome, here is the results we'd like the algorithm to give us.

Vote scenario and desired outcome

I'm looking for an algorithm that does this kind of ranking. If you can at least provide the name of what I'm looking for that would be a big help as I could search for it better. :)

Thanks!

like image 598
joshuapoehls Avatar asked Dec 14 '11 20:12

joshuapoehls


1 Answers

There is no one perfect voting system - see http://en.wikipedia.org/wiki/Arrow%27s_impossibility_theorem. There have been various attempts to get past this by bending the rules, including http://en.wikipedia.org/wiki/Range_voting.

One idea close to range voting is to give everybody 12 votes and allow them to distribute them as they wish. Looking at your example, if you assume that people who have multiple choices distribute their 12 votes equally - 12x1 or 6x2 or 4x3 or 3x4 - then I think that you get your desired outcome, with Lucky Charms getting a total of 10 votes and everything else getting more than this.

like image 139
mcdowella Avatar answered Oct 12 '22 08:10

mcdowella