the complexity of llull’s thirteenth-century election system piotr faliszewski university of...

42
The Complexity of Llull’s Thirteenth-Century Election System Piotr Faliszewski University of Rochester Jörg Rothe Institute für Informatik Heinrich-Heine-Univ. Düsseldorf Lane A. Hemaspaandra University of Rochester Edith Hemaspaandra Rochester Institute of Technology The Hebrew University of Jerusalem, June 17, 2009 Henning Schnoor Rochester Institute of Technology

Post on 19-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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!

Thank you!

I will happily answer your questions!