

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
In this document, students are asked to help six agents (a-f) choose one of the alternatives (coke, sunkist, root beer, cherry coke, dr. Pepper) for the title ‘cs department favorite drink’ using various social choice functions: majority rule, condorcet method, plurality with runoff, sequential runoff, and borda protocol. The goal is to determine the winner for each function and analyze the results. Students are encouraged to experiment with different preference data and submit a report summarizing their findings.
Typology: Lab Reports
1 / 3
This page cannot be seen from the preview
Don't miss anything!


The reasons I'm asking you to do this lab are: I want you to play with social welfare functions so that you get familiar with the concept. I want you to see that the various voting mechanisms choose very different candidates (so that you do not mistakenly believe that all of them will select the same "most preferred" candidate). I want you to try to develop a social choice mechanism yourself.
You can use any programming language you like to solve this problem. Arrow's impossibility theorem says that there is no social choice mechanism that takes individual preference patterns and generates a fair societal preference pattern. Arrow defined fairness according to axioms, and showed that all the axioms could not be simultaneously satisfied. Voting methods are attempts to take individual preference patterns and create a "fair" societal preference pattern. This means that Arrow's theorem applies which, in turn, means that we should be able to identify situations where the voting mechanism breaks down. Since there is no way for voting to be fair, the task of somebody who is designing a voting mechanism is to minimize the unfairness. Consider a society of six voters (A-F) who are trying to reach a consensus on which of the alternatives they want (say, Coke, Sunkist, Root Beer, Cherry Coke, Dr. Pepper) for the title “CS Department Favorite Drink”. 1 represents the first choice and 5 the last choice. Each agent ranks them as 1 (meaning the best) and 5 (meaning the worst). Each individual has a varying confidence in his/her vote. We will use confidence as follows: Since voter B has confidence 4 (conf 4) in its ranking, we will treat voter B’s first place vote for coke as if 4 different voters all ranked coke first. (This same concept exists when different parties have a different number of votes, like in the electoral college.) The ranking for each of the agents (in home4A.dat) are: Choice/Agent
(conf 5)
(conf 4)
(conf 3)
(conf 3)
(conf 4)
(conf 2) Coke 5 1 2 4 2 4 Sunkist
Root Beer 2 3 4 3 3 3 Cherry Coke 4 4 1 2 4 2 Dr. Pepper 3 5 5 1 1 1 Your job is to help these agents (as a group) choose one of the alternatives from the set of candidates.
I want you to determine what choice is made when the following social choice functions are applied for each of three data files home4a.dat and home4b.dat, and one of your own: o Majority Rule (Plurality Protocol – each person votes for first choice only). Print out the name of the winner and how many first choice votes it got. o Condorcet method. The Condorcet winner is the candidate who would beat each of the other candidates in a run-off election. First, for each pair of candidates determine which candidate is preferred considering all voter preferences. If there is a candidate who 'wins' EVERY comparison with all other candidates, then this candidate is the winner. This comparison is done by considering how many times is candidate A preferred to candidate B when those are the only two contenders. If there is no such candidate, then there is no Condorcet winner. Note: you can define a winning candidate as that candidate having a number of preferential votes which is greater than or equal to the number of preferential votes of all other candidates when the candidates are compared pairwise. Print out the name of the winner. o Plurality with runoff: First, restrict the set to two candidate drinks having the most first choice votes. Call them candidate A and B. Then, change the scores for candidate A to be 1 if the voter prefers A to B and 2 otherwise. Who gets the most first place votes now? Print out the final two candidates and print out the name of the winner. Note: if two (or more) candidates have the same number of first place votes, look to their second- place (or if necessary, their third-place, etc.) votes to decide how to rank them. o Sequential Runoff: The sequential run-off scheme eliminates candidates one by one. First, we eliminate the candidate with the fewest first-place votes. Then we make up a preference schedule in which only the remaining candidates are listed; we renumber the ranking in every column so that the 4 remaining candidates have now ranks labeled by 1, 2, 3 and 4. o We then repeat the procedure: we eliminate again the candidate with the fewest 1st place rankings, and renumber for the remaining 3 contenders, and so on. Print out which choice is eliminated each time. Then print out the name of the winner. Note: if at some step, two (or more) candidates have the same number of first place votes, look to their second-place (or if necessary, their third-place, etc.) votes to decide how to rank them. o Borda Protocol: In the Borda protocol, each agent reveals his or her preferences and the social welfare function assigns 1 point to the top choice of the individual, 2 to the next choice, and so on, where N is the number of candidates. (Often the points are assigned in the opposite order, which is better if someone doesn’t rate all candidates. This method is easier, given our data .) The points for each candidate are totaled, the candidates are sorted by point total, and the resulting ordering is the societal preference pattern. Try it two ways: