hemaspaandralane.pptx
Download
Report
Transcript hemaspaandralane.pptx
The Complexity of Llull’s
Thirteenth-Century Election
System
Piotr Faliszewski
Edith Hemaspaandra
Lane A. Hemaspaandra
Jörg Rothe
University of Rochester
University of Rochester
Henning Schnoor
Rochester Institute of
Technology
Institute für Informatik
Heinrich-Heine-Univ.
Düsseldorf
Rochester Institute of
Technology
The Hebrew University of Jerusalem, June 17, 2009
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
Computational agents
can systematically
analyze an election to
find optimal behavior
Applications in political science
Computational barrier to cheating in elections
Manipulation
Bribery
Control
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
Bribery
Coalition of agents changes their vote
to obtain their desired effect
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
Okay… I can take
the money, but I
will vote as I like
anyway!
Self-interested voters
Bribed voters might choose
to not follow what the
briber said (unless the
voting is public, or maybe
not even then)
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
Hi, my
name is v7.
Hi v7, I hope you
are not one of
those awful
people who
support c3!
Strengthens negative results
Can be justified as well
Voting rule aggregates these
preferences and outputs the set of
winners.
How will they
aggregate
those votes?!
Representing Preferences
C={
,
,
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
Example
>
>
}
Representing Preferences
C={
,
,
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
Example
>
>
}
Not all voters are rational
though!
People often have
cyclical preferences!
Irrational voters are
represented via
preference tables.
Representing Preferences
Irrational preferences
C={
,
,
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
Example
>
>
}
Representing Preferences
Irrational preferences
C={
,
,
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
Example
>
>
}
Representing Preferences
Irrational preferences
C={
,
,
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
Example
>
>
}
Representing Preferences
Irrational preferences
C={
,
,
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
Example
>
>
}
Representing Preferences
Irrational preferences
C={
,
,
}
Rational voters
Preferences are strict total
orders
No cycles in single voter’s
preference list
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
Llull:
Copeland0:
Copeland0.5:
if the head-to-head contest ends with a tie?
Both get 1 point
Both get 0 points
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, Eweighted-$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, Eweighted-$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:
p
capacity/cost
s(ci) – ci score before bribery
B – the point bound
K – large number
c1
s
c2
cn
t
Proof Technique: Flow Networks
Notation:
p
capacity/cost
s(ci) – ci score before bribery
B – the point bound
K – large number
c1
s
c2
t
source – models prebribery scores
mesh
sink
– models bribery
cost
– models bribery
success
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
p
capacity/cost
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
s
source – models prebribery scores
mesh
sink
s(c1)/0
B/K
s(c2)/0
B/K
c2
s(cn)/0
– models bribery
cost
– models bribery
success
c1
B/0
t
B/K
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
capacity/cost
p
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
1/p20
c1
1/p10
s(c1)/0
s
source – models prebribery scores
mesh
sink
s(cn)/0
– models bribery
cost
– models bribery
success
s(c2)/0
B/0
B/K
1/p21
c2
1/p2n
B/K
t
B/K
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
capacity/cost
p
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
1/p20
c1
1/p10
s(c1)/0
s
source – models prebribery scores
mesh
sink
s(cn)/0
– models bribery
cost
– models bribery
success
s(c2)/0
B/0
B/K
1/p21
c2
1/p2n
B/K
t
B/K
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
capacity/cost
p
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
1/p20
c1
1/p10
s(c1)/0
s
source – models prebribery scores
mesh
sink
s(cn)/0
– models bribery
cost
– models bribery
success
s(c2)/0
B/0
B/K
1/p21
c2
1/p2n
B/K
t
B/K
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
capacity/cost
p
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
1/p20
c1
1/p10
s(c1)/0
s
source – models prebribery scores
mesh
sink
s(cn)/0
– models bribery
cost
– models bribery
success
s(c2)/0
B/0
B/K
1/p21
c2
1/p2n
B/K
t
B/K
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
capacity/cost
p
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
1/p20
c1
1/p10
s(c1)/0
s
source – models prebribery scores
mesh
sink
s(cn)/0
– models bribery
cost
– models bribery
success
s(c2)/0
B/0
B/K
1/p21
c2
1/p2n
B/K
t
B/K
cn
source
mesh
sink
Proof Technique: Flow Networks
Notation:
capacity/cost
p
s(ci) – ci score before bribery
B – the point bound
s(p)/0
K – large number
1/p20
c1
1/p10
s(c1)/0
s
source – models prebribery scores
mesh
sink
s(cn)/0
– models bribery
cost
– models bribery
success
s(c2)/0
B/0
B/K
1/p21
c2
1/p2n
t
B/K
B/K
cn
source
mesh
sink
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
Round-robin tournament
example
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
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)
My system is
resistant to all types
of constructive
control!!
Okay, almost all.
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)
R – NP-complete
Results: Control
V – P membership
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
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
CC – constructive control
DC – destructive control
TP – ties promote
TE – ties eliminate
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 GibbardSatterthwaite 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
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
0, 0.5, 1
Even for two manipulators!
Haha Mr. Agent! GibbardSatterthwaite 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
What is magic about the
values we miss?
0, 0.5, 1
Even for two manipulators!
Aren’t we missing exactly
the interesting values?
So… maybe
there is hope
for me…
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
Results: Manipulation
Weighted manipulation
Work in
progress
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
unique
winner
NPC
P
P
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!
Thank you!
I will happily
answer your
questions!