Social Choice Experiment: Analyzing Different Voting Mechanisms - Prof. Vicki H. Allan, Lab Reports of Computer Science

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

Pre 2010

Uploaded on 07/30/2009

koofers-user-4zd
koofers-user-4zd 🇺🇸

10 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Program 4: Social Choice (30 points)
Purpose
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.
The Problem
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 A
(conf 5)
B
(conf 4)
C
(conf 3)
D
(conf 3)
E
(conf 4)
F
(conf 2)
Coke 5 1 2 4 2 4
Sunkist 123555
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.
The Experiment
pf3

Partial preview of the text

Download Social Choice Experiment: Analyzing Different Voting Mechanisms - Prof. Vicki H. Allan and more Lab Reports Computer Science in PDF only on Docsity!

Program 4: Social Choice (30 points)

Purpose

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.

The Problem

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

A

(conf 5)

B

(conf 4)

C

(conf 3)

D

(conf 3)

E

(conf 4)

F

(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.

The Experiment

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:

  1. Single step (tally all the scores, and pick the winner) Print out the borda points for each candidate. Print out the name of the winner.
  2. Iterated Borda (tally all the scores, eliminate the agent with the worst score, and repeat until a winner is chosen). Print out the name of the candidate which is eliminated each time and the borda points of every candidate who is still in the running. Print out the name of the winner.