The Complexity of Llull’s Thirteenth-Century Election System
Piotr FaliszewskiUniversity of Rochester
Jörg RotheInstitute für InformatikHeinrich-Heine-Univ.
Düsseldorf
Lane A. HemaspaandraUniversity of Rochester
Edith HemaspaandraRochester Institute of
Technology
The Hebrew University of Jerusalem, June 17, 2009
Henning Schnoor Rochester Institute of
Technology
Outline Introduction
Computational study of elections Bribery and control
Llull/Copeland Elections Model of elections Representation of votes Llull/Copeland rule
Results Bribery and microbribery Control of elections Manipulation
Hi, I am Ramon Llull. I have come
up with the election that these guys now study!
Introduction Computational study of elections
Applications in AI Multiagent systems Multicriterion decision making Meta search-engines Planning
Applications in political science Computational barrier to cheating in elections
Manipulation Bribery Control
Computational agents can systematically
analyze an election to find optimal behavior
Introduction Many ways to affect the result of election
Evildoer wants to make someone a winner or prevent someone from winning
Evildoer knows everybody else’s votes
Manipulation Coalition of agents changes their vote
to obtain their desired effect
Bribery External agent, the briber, chooses a group
of voters and tells them what votes to cast The briber is limited by budget
Control Organizers of the election modify their
structure to obtain the desired result
In my times it was enough that we all
promised we would not cheat...
Introduction Manipulation versus
bribery and control Control attempted by the
chair Bribery attempted by
some outside agent Manipulation attempted
by the voters themselves
Self-interested voters Bribed voters might choose
to not follow what the briber said (unless the voting is public, or maybe not even then)
Okay… I can take the money, but I will vote as I like
anyway!
Outline Introduction
Computational study of elections Bribery and control
Llull/Copeland Elections Model of elections Representation of votes Llull/Copeland rule
Results Bribery and microbribery Control of elections Manipulation
Let me tell you a bit about my system....
Voting and Elections Candidates and voters
C = {c1, ..., cn}
V = {v1, ..., vm}
Each voter vi is represented via his or her preferences over C. Assumption: We know all the
preferences Strengthens negative results Can be justified as well
Voting rule aggregates these preferences and outputs the set of winners.
Hi v7, I hope you are not one of those awful people who support c3!
Hi, my name is v7.
How will they aggregate
those votes?!
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Example
> >
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Not all voters are rational though! People often have
cyclical preferences! Irrational voters are
represented via preference tables. Example
> >
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Irrational preferences
Example
> >
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Irrational preferences
Example
> >
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Irrational preferences
Example
> >
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Irrational preferences
Example
> >
C = { , , }
Representing Preferences
Rational voters Preferences are strict total
orders No cycles in single voter’s
preference list
Irrational preferences
> > >
Example
> >
Llull/Copeland Rule The general rule
For every pair of candidates, ci and cj, perform a head-to-head plurality contest.
The winner of the contest gets 1 point The loser gets zero points.
At the end of the day, candidates with most points are the winners
Difference between various flavors of the Llull/Copeland rule? What happens if the head-to-head contest ends with a tie? Llull: Both get 1 point
Copeland0: Both get 0 pointsCopeland0.5: Both get half a point
Outline Introduction
Computational study of elections Bribery and control
Llull/Copeland Elections Model of elections Representation of votes Llull/Copeland rule
Results Bribery and microbribery Control of elections Manipulation
Mr. Llull. Let us see just how
resistant your system is
Bribery E-bribery (E – an election
system) Given: A set of candidates
C, a set of voters V specified via their preference lists, p in C, and budget k
Question: Can we make p win via bribing at most k voters?
E-$bribery As above, but voters have
prices and k is the spending limit.
E-weighted-bribery, E-weighted-$bribery As the two above, but the
voters have weights.
Hmm... I seem to have trouble with finding the
right guys to bribe...
Bribery E-bribery (E – an election
system) Given: A set of candidates
C, a set of voters V specified via their preference lists, p in C, and budget k
Question: Can we make p win via bribing at most k voters?
E-$bribery As above, but voters have
prices and k is the spending limit.
E-weighted-bribery, E-weighted-$bribery As the two above, but the
voters have weights.
Result Llull/Copeland rule is
resistant (NP-hard; warning: a worst-case formalism) to all forms of bribery, both for irrational and rational voters
Mr. Agent. My system is resistant to
bribery!
Microbribery Microbribery
We pay for each small change we make
If we want to make two flips on the preference table of the same voter then we pay 2 instead of 1
Comes in the same flavors as bribery
Limitations Could be studied for
rational voters... ... But we limit ourselves to
the irrational case.
We do not really need to change
each vote completely...
Yeah... It’s easier to work with the
preference Matrix™ ...
Preference table, I mean…
Microbribery Microbribery
We pay for each small change we make
If we want to make two flips on the preference table of the same voter then we pay 2 instead of 1
Comes in the same flavors as bribery
Limitations Could be studied for
rational voters... ... But we limit ourselves to
the irrational case.
Results Both Llull and Copeland0 are
vulnerable to microbribery
Uh oh... How did they do that?!?!?
Microbribery in Copeland Elections Setting
C = {p=c0, c1,..., cn}
V = {v1, ..., vm}
Voters vi are irrational
For each two candidates ci, cj: pij – number of flips that
switch the head-on-head contest between them
Approach If possible, find a bribery that
gives p at least B points, ... ... and everyone else at most
B points
Try all reasonable B’s
Validate B via min-cost flow problem
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
source sinkmesh
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
1/p10
1/p21
1/p20
1/p2n
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
1/p10
1/p21
1/p20
1/p2n
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
1/p10
1/p21
1/p20
1/p2n
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
1/p10
1/p21
1/p20
1/p2n
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
1/p10
1/p21
1/p20
1/p2n
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Proof Technique: Flow Networks
Notation:
s(ci) – ci score before bribery
B – the point bound
K – large number
capacity/cost
c1
cn
c2
p
s t
s(c1)/0
s(c2)/0
s(cn)/0
s(p)/0B/0
B/K
B/K
B/K
source sinkmesh
1/p10
1/p21
1/p20
1/p2n
source – models pre-bribery scores
mesh – models bribery cost
sink – models bribery success
Cost = K(n(n+1)/2 - p-score) + cost-of-bribery
Microbribery: Application Round-robin tournament
Everyone plays with everyone else
Bribery in round-robin tournaments For every game there we
know Expected (default) result The price for changing it
We want a minimal price for our guy having most points
Round-robin tournament example FIFA World Cup, group
stage 3 points for win 1 point for tie 0 points for loss
Microbribery?
Microbribery: Application Round-robin tournament
Everyone plays with everyone else
Bribery in round-robin tournaments For every game there we
know Expected (default) result The price for changing it
We want a minimal price for our guy having most points
Round-robin tournament example FIFA World Cup, group
stage 3 points for win 1 point for tie 0 points for loss
Microbribery? Applies directly!! Given the table of expected
results and prices … … simply run the
Microbribery algorithm
For FIFA: Simply use 1/3 as the tie value.
Outline Introduction
Computational study of elections Bribery and control
Llull/Copeland Elections Model of elections Representation of votes Llull/Copeland rule
Results Bribery and microbribery Control of elections Manipulation
How will your system deal with my attempts to
control, Mr. Llull...?
Control Control of elections
The chair of the election attempts to influence the result via modifying the structure of the election
Constructive control (CC) or destructive control (DC)
Candidate control Adding candidates (AC) Deleting candidates (DC) Partition of candidates (PC/RPC)
with or without the runoff
Voter control Adding voters (AV) Deleting voters (DV) Partition of voters (PV)
My system is resistant to all types
of constructive control!!
Okay, almost all.
Flavors of control AC – adding candidates DC – deleting candidates (R)PC – (runoff) partition of
candidates AV – adding voters DV – deleting voters PV – partition of voters
Results: Control
Llull / Copeland0 Plurality
Control CC DC CC DC
AC R V R R
DC R V R R
(R)PC-TP R V R R
(R)PC-TE R V R R
PV-TP R R V V
PV-TE R R R R
AV R R V V
DV R R V V
CC – constructive control TP – ties promoteDC – destructive control TE – ties eliminate
R – NP-complete
V – P membership
Outline Introduction
Computational study of elections Bribery and control
Llull/Copeland Elections Model of elections Representation of votes Llull/Copeland rule
Results Bribery and microbribery Control of elections Manipulation
My coalition of agents must be
able to somehow manipulate the
system!!
Manipulation Manipulation problem
Given: Set of candidates Set of honest voters
(with their preferences) Set of manipulators Preferred candidate p
Question: Can the manipulators
set their votes so as to guarantee p’s victory?
Can’t avoid manipulation! Gibbard-Satterthwaite Dugan-Schwarz
There Llull! By Gibbard-Satterthwaite result I know I can sometimes
manipulate your system. Finally math gets useful!
Results: Manipulation Unweighted manipulation
NP-complete for all rational tie-handling values except
0, 0.5, 1
Even for two manipulators!
Proof ideas
Almost a microbribery instance
The two manipulators can only switch head-to-head results from tie to a victory
Reduce from X3C,1-in-3-SAT
Can’t use microbribery to solve the problem because the two voters might not be able to implement the solution we would get
Haha Mr. Agent! Gibbard-Satterthwaite say that you may be able to influence my system, but you won’t
know when or how!
Results: Manipulation Unweighted manipulation
NP-complete for all rational tie-handling values except
0, 0.5, 1
Even for two manipulators!
Aren’t we missing exactly the interesting values?
What is magic about the values we miss?
1 no point in causing ties 0.5 switching the result of a head-to-head contest from tie to win
affect both candidates in a symmetric way 0 makes “transferring points” difficult
So… maybe there is hope
for me…
Results: Manipulation Weighted manipulation
Completely resolved for three candidates
Issues with for and more candidates
Unique vs. non-unique winner
Tie-value 1 is hard to account for.
Strange things happen for four candidates.
Weighted, three candidates
= 0 0<<1 = 1
winner NPC NPC P
uniquewinner
NPC P P
Work in progress
Summary Copeland/Llull elections
Broad resistance to bribery Constructive/Destructive Rational/Irrational
Broad resistance to control Constructive candidate control Constructive/Destructive voter control Rational/Irrational
Vulnerability Microbribery (irrational case)
Arrgh! Llull, my agents are practically helpless against your
system!