rounding considered harmful - e-vote-id€¦ · dbms_random.normal random_nr from table...

24
Rounding Considered Harmful Carsten Sch¨ urmann presented by Peter Rønne IT University of Copenhagen DemTech September 27, 2018 Carsten Sch¨ urmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 1 / 22

Upload: others

Post on 07-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Rounding Considered Harmful

Carsten Schurmann presented byPeter Rønne

IT University of CopenhagenDemTech

September 27, 2018

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 1 / 22

Page 2: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Article 76, Danish Election Law

(2) Each number of votes appearing as a result ofthe summation, shall be divided by 1 - 2 - 3 and soon until such number of divisions equivalent to themaximum number of seats expected to beallocated to the party or to the independentcandidate has been performed. The party or theindependent candidate having the highest resultingquotients shall be given the first seat in themulti-member constituency. The second highestquotient entails the second seat and so on and soforth, until all constituency seats in themulti-member constituency have been distributedamong the parties and the independent candidates.If two or more quotients are of equal size, lots shallbe drawn.

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 2 / 22

Page 3: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Inspecting the Implementation (in use)

select Obj_tillaegsmandater_landsdele

(Landsdel_id, Parti_id, Antal_stemmer,

Antal_kredsmandater, Kvotient_nr, Kvotient, Random_nr)

bulk collect into Temptab

from (select Landsdel_id,

Parti_id,

Antal_stemmer,

Antal_kredsmandater,

V_divisor Kvotient_nr,

round (Antal_stemmer / V_divisor) Kvotient,

dbms_random.Normal Random_nr

from table (P_col_tillaegsman_landsdele));

[Courtesy of Denmark Statistics]

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 3 / 22

Page 4: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Compensatory Seat Allocation, Parliament Election 2007

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 4 / 22

Page 5: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Observations

I The implementation of the Danish Seat Allocation algorithm rounds

I It looks like the error incurred by rounding is “neglibile”

But

I The quotients can get rather small (divisors > 30)

I The algorithm may erroneously draw lots

I Consequence: A wrong election result?

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 5 / 22

Page 6: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Summary of the talk

Do not round!

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 6 / 22

Page 7: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Overview of this Talk

1 Electoral Systems based on D’Hondt

2 Two Errors Due to Rounding

3 A Close Call

4 A Monte-Carlo Simulation

5 Conclusion

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 7 / 22

Page 8: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Electoral Systems based on D’Hondt

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 8 / 22

Page 9: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

History

I Voting rule for Party-List Proportional Representation

I Seat Allocation Algorithm used in more than 50 countries

I Introduced by Thomas Jefferson for United States House of Representatives1791

I Introduced in Europe by Victor D’Hondt 1878

I Table computation using divisors 1, 2, 3, 4 . . .

I Estimates how many votes are necessary to win a seat

I Related Voting Rule: Sainte-Lague (different divisors 1,3,5,7 . . . )

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 9 / 22

Page 10: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

D’Hondt and Drawing Lots

Without Rounding

A B C

Tallies 999 500 1501

Divisor 1 999 500 1501Divisor 2 499.5 250 750.5Divisor 3 333 166.6 500.3

Seat allocation (in order)

1. C,A,C,C

With Rounding

A B C

Tallies 999 500 1501

Divisor 1 999 500 1501Divisor 2 500 250 750Divisor 3 333 167 500

Seat allocation (in order)

1. C,A,C,A

2. C,A,C,B

3. C,A,C,C

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 10 / 22

Page 11: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

D’Hondt and Drawing Lots

Without Rounding

A B C

Tallies 999 500 1501

Divisor 1 999 500 1501Divisor 2 499.5 250 750.5Divisor 3 333 166.6 500.3

Seat allocation (in order)

1. C,A,C,C

With Rounding

A B C

Tallies 999 500 1501

Divisor 1 999 500 1501Divisor 2 500 250 750Divisor 3 333 167 500

Seat allocation (in order)

1. C,A,C,A

2. C,A,C,B

3. C,A,C,C

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 10 / 22

Page 12: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Genuine and False Ties

Genuine Tie

A tie between two quotients is genuine if it is not caused by numeric effects, such asrounding.

False Tie

A tie between two quotients is false if it is caused by numeric effects, such asrounding.

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 11 / 22

Page 13: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Two Errors Due to Rounding

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 12 / 22

Page 14: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Error 1: Incorrect Allocation Order

Situation: More than k seats are to be allocated.For a k-way false tie the probability of allocating seats in the wrong order is

p =1

k!

Error 2: Incorrect Seat Allocation

Situation: Fewer than k seats are to be allocated.For a k-way false tie the probability of allocating seats correctly is

p =1(nk

)

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 13 / 22

Page 15: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Error 1: Incorrect Allocation Order

Situation: More than k seats are to be allocated.For a k-way false tie the probability of allocating seats in the wrong order is

p =1

k!

Error 2: Incorrect Seat Allocation

Situation: Fewer than k seats are to be allocated.For a k-way false tie the probability of allocating seats correctly is

p =1(nk

)

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 13 / 22

Page 16: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

A Close Call

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 14 / 22

Page 17: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Error 1 Situation Observed, Parliament Election 2007

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 15 / 22

Page 18: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Hypothetical Error 2 Situation for Seats and 41, 42 (not in table)

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 16 / 22

Page 19: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

A Monte-Carlo Simulation

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 17 / 22

Page 20: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Research Question

How likely is it that a Rounding Seat Allocation System commits to Error 1 and 2?

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 18 / 22

Page 21: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

A Monto-Carlo Simulation for Error 1

Simulation parameters

I 8 parties

I Vote totals uniformly drawn from 20, 000− 400, 000

I 1, 000, 000 runs

Error 1: 9 out of 10 election results have 2-way false tie

n = 1 2 3 4

E (false n-way tie) 173.17545 0.904989 0.0048 0.000022

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 19 / 22

Page 22: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

A Monto-Carlo Simulation for Error 2

Simulation parameters

I 8 parties

I Vote totals uniformly drawn from 20, 000− 400, 000

I 1, 000, 000 runs

Error 2: The probability of a false 2-way tie is roughly 1.5

n = 1 2 3 4

# observations 984, 089 15, 766 144 1

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 20 / 22

Page 23: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Conclusion

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 21 / 22

Page 24: Rounding Considered Harmful - E-Vote-ID€¦ · dbms_random.Normal Random_nr from table (P_col_tillaegsman_landsdele)); ... Rounding Considered Harmful September 27, 2018 10 / 22

Conclusion

I Do not round!

I Recall that if b, d 6= 0 the following holds

a

b<

c

dif and only if a · d < c · b

Homework

Check if your country has implemented seat allocation correctly! Fix it, if not.Note: This homework only applies to delegates from d’Hondt and Sainte-Laguecountries

Carsten Schurmann (ITU, DemTech) Rounding Considered Harmful September 27, 2018 22 / 22