2.11 What’s Wrong with Copeland’s Method?
As already noted, Copeland’s Method does satisfy the Condorcet Criterion. It also satisfies the Majority Criterion and the Monotonicity Criterion. So is this the perfect method? Well, in a word, no.
Example 1
A committee is trying to award a scholarship to one of four students, Anna (A), Brian (B), Carlos (C), and Dimitry (D). The votes are shown below:
Show solution
Making the comparisons:
A vs B:
10
votes to
10
votes
A gets
1
2
point, B gets
1
2
point
A vs C:
14
votes to
6
votes:
A gets
1
point
A vs D:
5
votes to
15
votes:
D gets
1
point
B vs C:
4
votes to
16
votes:
C gets
1
point
B vs D:
15
votes to
5
votes:
B gets
1
point
C vs D:
11
votes to
9
votes:
C gets
1
point
\begin{array} {ll} {\text{A vs B: }10\text{ votes to }10\text{ votes}} & {\text{A gets }\frac{1}{2}\text{ point, B gets }\frac{1}{2}\text{ point}} \\ {\text{A vs C: }14\text{ votes to }6\text{ votes:}} & {\text{A gets }1\text{ point}} \\ {\text{A vs D: }5\text{ votes to }15\text{ votes:}} & {\text{D gets }1\text{ point}} \\ {\text{B vs C: }4\text{ votes to }16\text{ votes:}} & {\text{C gets }1\text{ point}} \\ {\text{B vs D: }15\text{ votes to }5\text{ votes:}} & {\text{B gets }1\text{ point}} \\ {\text{C vs D: }11\text{ votes to }9\text{ votes:}} & {\text{C gets }1\text{ point}} \end{array}
Totaling:
A has
1
1
2
points
B has
1
1
2
points
C has
2
points
D has
1
point
\begin{array} {ll} {\text{A has }1\frac{1}{2}\text{ points}} & {\text{B has }1 \frac{1}{2}\text{ points}} \\ {\text{C has }2\text{ points}} & {\text{D has }1\text{ point}} \end{array}
So Carlos is awarded the scholarship. However, the committee then discovers that Dimitry was not eligible for the scholarship (he failed his last math class). Even though this seems like it shouldn’t affect the outcome, the committee decides to recount the vote, removing Dimitry from consideration. This reduces the preference schedule to:
# Math in Society 2.11 -- Independence of Irrelevant Alternatives
# A committee awards one scholarship to Anna, Brian, Carlos or Dimitry.
from itertools import combinations
schedule = [(5, "DACB"), (5, "ACBD"), (6, "CBDA"), (4, "BDAC")] # EDIT any column
who = {"A": "Anna", "B": "Brian", "C": "Carlos", "D": "Dimitry"}
def copeland(s, show=False):
cs = sorted({c for _, r in s for c in r})
total = sum(n for n, _ in s)
pts = {c: 0.0 for c in cs}
for x, y in combinations(cs, 2):
a = sum(n for n, r in s if r.index(x) < r.index(y))
b = total - a
if a > b: pts[x] += 1
elif b > a: pts[y] += 1
else: pts[x] += .5; pts[y] += .5
if show:
verdict = f"{x} +1" if a > b else (f"{y} +1" if b > a else "tie, +1/2 each")
print(f" {x} vs {y}: {a:>3} to {b:<3} {verdict}")
best = max(pts.values())
winners = sorted(c for c in cs if pts[c] == best)
return winners, pts
def drop(s, gone):
return [(n, r.replace(gone, "")) for n, r in s]
print("All four candidates on the ballot:")
winners, pts = copeland(schedule, show=True)
print(" totals: " + ", ".join(f"{who[c]} {pts[c]:g}" for c in sorted(pts)))
print(f" -> the scholarship goes to {' and '.join(who[c] for c in winners)}\n")
print("Now remove one LOSING candidate at a time and recount the same ballots:")
for gone in sorted(who):
if gone in winners:
continue
w2, p2 = copeland(drop(schedule, gone))
flag = "" if w2 == winners else " <-- IIA VIOLATION: the winner changed"
totals = ", ".join(f"{who[c]} {p2[c]:g}" for c in sorted(p2))
print(f" without {who[gone]:<8} totals {totals}"
f" -> {' and '.join(who[c] for c in w2)}{flag}")
print("\nDimitry never had a chance of winning, so withdrawing him should not matter.")
print("It does. Removing an irrelevant alternative rearranges who beats whom in the")
print("remaining head-to-head comparisons, and a different student gets the money.")
print("\nTry it: change the 5-voter column from 'DACB' to 'DCAB' and re-run. Five")
print("voters swapping their 2nd and 3rd choices is enough to make Carlos beat Anna")
print("head to head, and then no withdrawal can change the outcome at all.")
A vs B:
10
votes to
10
votes
A gets
1
2
point, B gets
1
2
point
A vs C:
14
votes to
6
votes
A gets
1
point
B vs C:
4
votes to
16
votes
C gets
1
point
\begin{array} {ll} {\text{A vs B: }10\text{ votes to }10\text{ votes}} & {\text{A gets }\frac{1}{2}\text{ point, B gets }\frac{1}{2}\text{ point}} \\ {\text{A vs C: }14\text{ votes to }6\text{ votes}} & {\text{A gets }1\text{ point}} \\ {\text{B vs C: }4\text{ votes to }16\text{ votes}} & {\text{C gets }1\text{ point}} \end{array}
Totaling:
A has
1
1
2
points
B has
1
2
point
C has
1
point
\begin{array} {ll} {\text{A has }1 \frac{1}{2}\text{ points}} & {\text{B has }\frac{1}{2}\text{ point}} \\ {\text{C has }1\text{ point}} & { } \end{array}
Suddenly Anna is the winner! This leads us to another fairness criterion.
Note
The Independence of Irrelevant Alternatives (IIA) Criterion
If a non-winning choice is removed from the ballot, it should not change the winner of the election.
Equivalently, if choice A is preferred over choice B, introducing or removing a choice C should not cause B to be preferred over A.
In the election from Example 11, the IIA Criterion was violated.
This anecdote illustrating the IIA issue is attributed to Sidney Morgenbesser:
After finishing dinner, Sidney Morgenbesser decides to order dessert. The waitress tells him he has two choices: apple pie and blueberry pie. Sidney orders the apple pie. After a few minutes the waitress returns and says that they also have cherry pie at which point Morgenbesser says "In that case I'll have the blueberry pie."
Another disadvantage of Copeland’s Method is that it is fairly easy for the election to end in a tie. For this reason, Copeland’s method is usually the first part of a more advanced method that uses more sophisticated methods for breaking ties and determining the winner when there is not a Condorcet Candidate.
Adapted from Math in Society by David Lippman, hosted on LibreTexts (math.libretexts.org) and licensed under CC BY-SA 3.0. Changes were made. License: CC-BY-SA-3.0 .