Schulze method

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Electoral methods
This series is part of the
Politics and the Election series.
Politics Portal  view  talk  edit 

The Schulze method is a voting system developed in 1997 by Markus Schulze that selects a single winner using votes that express preferences. The method can also be used to create a sorted list of winners. The Schulze method is also known as Schwartz Sequential Dropping (SSD), Cloneproof Schwartz Sequential Dropping (CSSD), Beatpath Method, Beatpath Winner, Path Voting, and Path Winner.

If there is a candidate who is preferred pairwise over the other candidates, when compared in turn with each of the others, the Schulze method guarantees that candidate will win. Because of this property, the Schulze method is (by definition) a Condorcet method.

Currently, the Schulze method is the most wide-spread Condorcet method. The Schulze method is used by several organizations including Wikimedia, Debian, Gentoo, and Software in the Public Interest.

Many different heuristics for computing the Schulze method have been proposed. The most important heuristics are the path heuristic and the Schwartz set heuristic that are described below. All heuristics find the same winner and only differ in the details of the computational procedure to determine this winner.

Contents

[edit] The path heuristic

Example Schulze method ballot
Example Schulze method ballot

Under the Schulze method (as well as under other preferential single-winner election methods), each ballot contains a complete list of all candidates and the individual voter ranks this list in order of preference. Under a common ballot layout (as shown in the image to the right), ascending numbers are used, whereby the voter places a '1' beside the most preferred candidate, a '2' beside the second-most preferred, and so forth. Voters may give the same preference to more than one candidate and may keep candidates unranked. When a given voter does not rank all candidates, then it is presumed that this voter strictly prefers all ranked candidates to all not ranked candidates and that this voter is indifferent between all not ranked candidates.

[edit] Procedure

Suppose d[V,W] is the number of voters who strictly prefer candidate V to candidate W.

A path from candidate X to candidate Y of strength p is a sequence of candidates C(1),...,C(n) with the following properties:

  1. C(1) = X and C(n) = Y.
  2. For all i = 1,...,(n-1): d[C(i),C(i+1)] > d[C(i+1),C(i)].
  3. For all i = 1,...,(n-1): d[C(i),C(i+1)] ≥ p.

p[A,B], the strength of the strongest path from candidate A to candidate B, is the maximum value such that there is a path from candidate A to candidate B of that strength. If there is no path from candidate A to candidate B at all, then p[A,B] : = 0.

Candidate D is better than candidate E if and only if p[D,E] > p[E,D].

Candidate D is a potential winner if and only if p[D,E] ≥ p[E,D] for every other candidate E.

[edit] Implementation

Suppose C is the number of candidates. Then the strengths of the strongest paths can be calculated with the Floyd–Warshall algorithm. The following Pascal-like pseudocode illustrates the determination of such a path.

Input: d[i,j] is the number of voters who strictly prefer candidate i to candidate j.
Output: Candidate i is a potential winner if and only if "winner[i] = true".
 1 for i : = 1 to C
 2 begin
 3    for j : = 1 to C
 4    begin
 5       if ( i ≠ j ) then
 6       begin
 7          if ( d[i,j] > d[j,i] ) then
 8          begin
 9             p[i,j] : = d[i,j]
10          end
11          else
12          begin
13             p[i,j] : = 0
14          end
15       end
16    end
17 end
18
19 for i : = 1 to C
20 begin
21    for j : = 1 to C
22    begin
23       if ( i ≠ j ) then
24       begin
25          for k : = 1 to C
26          begin
27             if ( i ≠ k ) then
28             begin   
29                if ( j ≠ k ) then
30                begin
31                   p[j,k] : = max { p[j,k]; min { p[j,i]; p[i,k] } }
32                end
33             end
34          end
35       end
36    end
37 end
38
39 for i : = 1 to C
40 begin
41    winner[i] : = true
42 end
43
44 for i : = 1 to C
45 begin
46    for j : = 1 to C
47    begin
48       if ( i ≠ j ) then
49       begin
50          if ( p[j,i] > p[i,j] ) then
51          begin
52             winner[i] : = false
53          end
54       end
55    end
56 end

[edit] Examples

[edit] Example 1

Example (45 voters; 5 candidates):

5 ACBED (that is, 5 voters have order of preference: A > C > B > E > D)
5 ADECB
8 BEDAC
3 CABED
7 CAEBD
2 CBADE
7 DCEBA
8 EBADC
d[*,A] d[*,B] d[*,C] d[*,D] d[*,E]
d[A,*] 20 26 30 22
d[B,*] 25 16 33 18
d[C,*] 19 29 17 24
d[D,*] 15 12 28 14
d[E,*] 23 27 21 31
The matrix of pairwise defeats looks as follows:

The critical defeats of the strongest paths are underlined.

... to A ... to B ... to C ... to D ... to E
from A ... A-(30)-D-(28)-C-(29)-B A-(30)-D-(28)-C A-(30)-D A-(30)-D-(28)-C-(24)-E
from B ... B-(25)-A B-(33)-D-(28)-C B-(33)-D B-(33)-D-(28)-C-(24)-E
from C ... C-(29)-B-(25)-A C-(29)-B C-(29)-B-(33)-D C-(24)-E
from D ... D-(28)-C-(29)-B-(25)-A D-(28)-C-(29)-B D-(28)-C D-(28)-C-(24)-E
from E ... E-(31)-D-(28)-C-(29)-B-(25)-A E-(31)-D-(28)-C-(29)-B E-(31)-D-(28)-C E-(31)-D
The strongest paths are:
p[*,A] p[*,B] p[*,C] p[*,D] p[*,E]
p[A,*] 28 28 30 24
p[B,*] 25 28 33 24
p[C,*] 25 29 29 24
p[D,*] 25 28 28 24
p[E,*] 25 28 28 31
The strengths of the strongest paths are:

Candidate E is a potential winner, because p[E,X] ≥ p[X,E] for every other candidate X.

[edit] Example 2

Example (30 voters; 4 candidates):

5 ACBD
2 ACDB
3 ADCB
4 BACD
3 CBDA
3 CDBA
1 DACB
5 DBAC
4 DCBA
d[*,A] d[*,B] d[*,C] d[*,D]
d[A,*] 11 20 14
d[B,*] 19 9 12
d[C,*] 10 21 17
d[D,*] 16 18 13
The matrix of pairwise defeats looks as follows:

The critical defeats of the strongest paths are underlined.

... to A ... to B ... to C ... to D
from A ... A-(20)-C-(21)-B A-(20)-C A-(20)-C-(17)-D
from B ... B-(19)-A B-(19)-A-(20)-C B-(19)-A-(20)-C-(17)-D
from C ... C-(21)-B-(19)-A C-(21)-B C-(17)-D
from D ... D-(18)-B-(19)-A D-(18)-B D-(18)-B-(19)-A-(20)-C
The strongest paths are:
p[*,A] p[*,B] p[*,C] p[*,D]
p[A,*] 20 20 17
p[B,*] 19 19 17
p[C,*] 19 21 17
p[D,*] 18 18 18
The strengths of the strongest paths are:

Candidate D is a potential winner, because p[D,X] ≥ p[X,D] for every other candidate X.

[edit] Example 3

Example (30 voters; 5 candidates):

3 ABDEC
5 ADEBC
1 ADECB
2 BADEC
2 BDECA
4 CABDE
6 CBADE
2 DBECA
5 DECAB
d[*,A] d[*,B] d[*,C] d[*,D] d[*,E]
d[A,*] 18 11 21 21
d[B,*] 12 14 17 19
d[C,*] 19 16 10 10
d[D,*] 9 13 20 30
d[E,*] 9 11 20 0
The matrix of pairwise defeats looks as follows:

The critical defeats of the strongest paths are underlined.

... to A ... to B ... to C ... to D ... to E
from A ... A-(18)-B A-(21)-D-(20)-C A-(21)-D A-(21)-E
from B ... B-(19)-E-(20)-C-(19)-A B-(19)-E-(20)-C B-(19)-E-(20)-C-(19)-A-(21)-D B-(19)-E
from C ... C-(19)-A C-(19)-A-(18)-B C-(19)-A-(21)-D C-(19)-A-(21)-E
from D ... D-(20)-C-(19)-A D-(20)-C-(19)-A-(18)-B D-(20)-C D-(30)-E
from E ... E-(20)-C-(19)-A E-(20)-C-(19)-A-(18)-B E-(20)-C E-(20)-C-(19)-A-(21)-D
The strongest paths are:
p[*,A] p[*,B] p[*,C] p[*,D] p[*,E]
p[A,*] 18 20 21 21
p[B,*] 19 19 19 19
p[C,*] 19 18 19 19
p[D,*] 19 18 20 30
p[E,*] 19 18 20 19
The strengths of the strongest paths are:

Candidate B is a potential winner, because p[B,X] ≥ p[X,B] for every other candidate X.

[edit] Example 4

Example (9 voters; 4 candidates):

3 ABCD
2 DABC
2 DBCA
2 CBDA
d[*,A] d[*,B] d[*,C] d[*,D]
d[A,*] 5 5 3
d[B,*] 4 7 5
d[C,*] 4 2 5
d[D,*] 6 4 4
The matrix of pairwise defeats looks as follows:

The critical defeats of the strongest paths are underlined.

... to A ... to B ... to C ... to D
from A ... A-(5)-B A-(5)-C A-(5)-C-(5)-D
from B ... B-(5)-D-(6)-A B-(7)-C B-(5)-D
from C ... C-(5)-D-(6)-A C-(5)-D-(6)-A-(5)-B C-(5)-D
from D ... D-(6)-A D-(6)-A-(5)-B D-(6)-A-(5)-C
The strongest paths are:
p[*,A] p[*,B] p[*,C] p[*,D]
p[A,*] 5 5 5
p[B,*] 5 7 5
p[C,*] 5 5 5
p[D,*] 6 5 5
The strengths of the strongest paths are:

Candidate B and candidate D are potential winners, because p[B,X] ≥ p[X,B] for every other candidate X and p[D,Y] ≥ p[Y,D] for every other candidate Y.

[edit] The Schwartz set heuristic

[edit] The Schwartz set

The definition of a Schwartz set, as used in the Schulze method, is as follows:

  1. An unbeaten set is a set of candidates of whom none is beaten by anyone outside that set.
  2. An innermost unbeaten set is an unbeaten set that doesn't contain a smaller unbeaten set.
  3. The Schwartz set is the set of candidates who are in innermost unbeaten sets.

[edit] Procedure

The voters cast their ballots by ranking the candidates according to their preferences, just like for any other Condorcet election.

The Schulze method uses Condorcet pairwise matchups between the candidates and a winner is chosen in each of the matchups.

From there, the Schulze method operates as follows to select a winner (or create a ranked list):

  1. Calculate the Schwartz set based only on undropped defeats.
  2. If there are no defeats among the members of that set then they (plural in the case of a tie) win and the count ends.
  3. Otherwise, drop the weakest defeat(s) (plural in the case of ex æquo[clarify] defeats) among the candidates of that set. Go to 1.

[edit] An example

[edit] The situation

Tennessee's four cities are spread throughout the state

Imagine that Tennessee is having an election on the location of its capital. The population of Tennessee is concentrated around its four major cities, which are spread throughout the state. For this example, suppose that the entire electorate lives in these four cities, and that everyone wants to live as near the capital as possible.

The candidates for the capital are:

  • Memphis, the state's largest city, with 42% of the voters, but located far from the other cities
  • Nashville, with 26% of the voters
  • Knoxville, with 17% of the voters
  • Chattanooga, with 15% of the voters

The preferences of the voters would be divided like this:

42% of voters
(close to Memphis)
26% of voters
(close to Nashville)
15% of voters
(close to Chattanooga)
17% of voters
(close to Knoxville)
  1. Memphis
  2. Nashville
  3. Chattanooga
  4. Knoxville
  1. Nashville
  2. Chattanooga
  3. Knoxville
  4. Memphis
  1. Chattanooga
  2. Knoxville
  3. Nashville
  4. Memphis
  1. Knoxville
  2. Chattanooga
  3. Nashville
  4. Memphis

The results would be tabulated as follows:

Pairwise election results
A
Memphis Nashville Chattanooga Knoxville
B Memphis [A] 58%
[B] 42%
[A] 58%
[B] 42%
[A] 58%
[B] 42%
Nashville [A] 42%
[B] 58%
[A] 32%
[B] 68%
[A] 32%
[B] 68%
Chattanooga [A] 42%
[B] 58%
[A] 68%
[B] 32%
[A] 17%
[B] 83%
Knoxville [A] 42%
[B] 58%
[A] 68%
[B] 32%
[A] 83%
[B] 17%
Pairwise election results (won-lost-tied): 0-3-0 3-0-0 2-1-0 1-2-0
Votes against in worst pairwise defeat: 58% N/A 68% 83%
  • [A] indicates voters who preferred the candidate listed in the column caption to the candidate listed in the row caption
  • [B] indicates voters who preferred the candidate listed in the row caption to the candidate listed in the column caption

[edit] Pairwise winners

First, list every pair, and determine the winner:

Pair Winner
Memphis (42%) vs. Nashville (58%) Nashville 58%
Memphis (42%) vs. Chattanooga (58%) Chattanooga 58%
Memphis (42%) vs. Knoxville (58%) Knoxville 58%
Nashville (68%) vs. Chattanooga (32%) Nashville 68%
Nashville (68%) vs. Knoxville (32%) Nashville 68%
Chattanooga (83%) vs. Knoxville (17%) Chattanooga: 83%

Note that absolute counts of votes can be used, or percentages of the total number of votes; it makes no difference.

[edit] Dropping

Next we start with our list of cities and their matchup wins/defeats

  • Nashville 3-0
  • Chattanooga 2-1
  • Knoxville 1-2
  • Memphis 0-3

Technically, the Schwartz set is simply Nashville as it beat all others 3 to 0.

Therefore, Nashville is the winner.

[edit] Ambiguity resolution example

Let's say there was an ambiguity. For a simple situation involving candidates A, B, C, and D.

  • A > B 68%
  • C > A 52%
  • A > D 62%
  • B > C 72%
  • B > D 84%
  • C > D 91%

In this situation the Schwartz set is A, B, and C as they all beat D.

  • A > B 68%
  • B > C 72%
  • C > A 52%

Schulze then says to drop the weakest margin, so we drop C > A and are left with

  • A > B 68%
  • B > C 72%

The new Schwartz set is now A, as it is unbeaten by anyone outside its set. With A in a Schwartz set by itself, it is now the winner.

[edit] Summary

In the (first) example election, the winner is Nashville. This would be true for any Condorcet method. Using the first-past-the-post system and some other systems, Memphis would have won the election by having the most people, even though Nashville won every simulated pairwise election outright. Nashville would also have been the winner in a Borda count. Instant-runoff voting in this example would select Knoxville, even though more people preferred Nashville than Knoxville.

[edit] Satisfied and failed criteria

[edit] Satisfied criteria

The Schulze method satisfies the following criteria:

If winning votes is used as the definition of defeat strength, it also satisfies:

If margins as defeat strength is used, it also satisfies:

[edit] Failed criteria

The Schulze method violates the following criteria:

[edit] Independence of irrelevant alternatives

The Schulze method fails independence of irrelevant alternatives. However, the method adheres to a less strict property that is sometimes called Local independence of irrelevant alternatives. It says that if one candidate (X) wins an election, and a new alternative (Y) is added, X will win the election if Y is not in the Smith set. Local IIA implies the Condorcet criterion.

[edit] Comparison with other preferential single-winner election methods

The following table compares the Schulze method with other preferential single-winner election methods:

Monotonic Condorcet winner Condorcet loser Majority Mutual majority Clone independence Reversal symmetry Polynomial time Participation, Consistency
Schulze Yes Yes Yes Yes Yes Yes Yes Yes No
Ranked Pairs Yes Yes Yes Yes Yes Yes Yes Yes No
Kemeny-Young Yes Yes Yes Yes Yes No Yes No No
MiniMax Yes Yes No Yes No No No Yes No
Nanson No Yes Yes Yes Yes No Yes Yes No
Baldwin No Yes Yes Yes Yes No No Yes No
Instant-runoff voting No No Yes Yes Yes Yes No Yes No
Coombs No No Yes Yes Yes No No Yes No
Contingent voting No No Yes Yes No No No Yes No
Sri Lankan contingent voting No No No Yes No No No Yes No
Supplementary voting No No No Yes No No No Yes No
Borda Yes No Yes No No No Yes Yes Yes
Bucklin Yes No No Yes Yes No No Yes No
Plurality Yes No No Yes No No No Yes Yes
Anti-plurality Yes No No No No No No Yes Yes

The difference between the Schulze method and the Ranked Pairs method is discussed in section 9 of this paper.

[edit] History of the Schulze method

The Schulze method was developed by Markus Schulze in 1997. The first times that the Schulze method was discussed in a public mailing list were in 1998 [9] and in 2000 [10]. In the following years, the Schulze method has been adopted e.g. by Software in the Public Interest (2003) [11], Debian (2003) [12], UserLinux (2003), Gentoo (2005), TopCoder (2005), and Sender Policy Framework (2005). The first books on the Schulze method were written by Tideman (2006) and by Stahl and Johnson (2007).

[edit] Use of the Schulze method

sample ballot for Wikimedia's Board of Trustees elections
sample ballot for Wikimedia's Board of Trustees elections

The Schulze method is not currently used in government elections. However, it is starting to receive support in some public organizations. Organizations which currently use the Schulze method are:

[edit] Wikimedia Foundation

As of July 2008, the largest Schulze poll was the election to Wikimedia's Board of Trustees in June 2008 [37]: One vacant seat had to be filled. There were 15 candidates, about 26,000 eligible voters, and 3,019 valid ballots.

As Chen was a clear Condorcet winner, he won the vacant seat. However, there was a tie for sixth to ninth position between Heiskanen, Postlethwaite, Smith, and Saintonge. Heiskanen beat Postlethwaite; Postlethwaite beat Smith; Smith beat Saintonge; Saintonge beat Heiskanen.

TC AB SK HC AH JH RP SS RS DR CS MB KW PW GK
Ting Chen 1086 1044 1108 1135 1151 1245 1190 1182 1248 1263 1306 1344 1354 1421
Alex Bakharev 844 932 984 950 983 1052 1028 990 1054 1073 1109 1134 1173 1236
Samuel Klein 836 910 911 924 983 980 971 941 967 1019 1069 1099 1126 1183
Harel Cain 731 836 799 896 892 964 904 917 959 1007 1047 1075 1080 1160
Ad Huikeshoven 674 781 764 806 832 901 868 848 920 934 987 1022 1030 1115
Jussi-Ville Heiskanen 621 720 712 755 714 841 798 737 827 850 912 970 943 1057
Ryan Postlethwaite 674 702 726 756 772 770 755 797 741 804 837 880 921 1027
Steve Smith 650 694 654 712 729 750 744 778 734 796 840 876 884 1007
Ray Saintonge 629 703 641 727 714 745 769 738 789 812 848 879 899 987
Dan Rosenthal 595 654 609 660 691 724 707 699 711 721 780 844 858 960
Craig Spurrier 473 537 498 530 571 583 587 577 578 600 646 721 695 845
Matthew Bisanz 472 498 465 509 508 534 473 507 531 513 552 653 677 785
Kurt M. Weber 505 535 528 547 588 581 553 573 588 566 595 634 679 787
Paul Williams 380 420 410 435 439 464 426 466 470 471 429 521 566 754
Gregory Kohs 411 412 434 471 461 471 468 461 467 472 491 523 513 541
elections to Wikimedia's Board of Trustees in 2008:

Each figure represents the number of voters who ranked the candidate at the left better than the candidate at the top. A figure in green represents a victory in that pairwise comparison by the candidate at the left. A figure in red represents a defeat in that pairwise comparison by the candidate at the left.

[edit] References

  1. ^ Schulze1, section 4.2
  2. ^ Schulze1, section 4.4
  3. ^ Schulze1, section 4.5
  4. ^ Schulze1, section 4.3
  5. ^ Schulze1, section 4.1
  6. ^ Schulze1, section 2.4
  7. ^ a b Schulze1, section 6
  8. ^ Schulze1, section 3.7
  9. ^ See:
  10. ^ See:
  11. ^ a b Process for adding new board members, January 2003
  12. ^ a b Constitutional Amendment: Condorcet/Clone Proof SSD Voting Method, June 2003
  13. ^ May-June 2008 Voter-Funded Media Contest at University of British Columbia
  14. ^ Langara Students Union 2008 Voter-Funded Media Contest
  15. ^ Election of the Annodex Association committee for 2007, February 2007
  16. ^ Condorcet method for admin voting, January 2005
  17. ^ Important notice for Golden Geek voters, September 2007
  18. ^ Codex Alpe Adria Competitions
  19. ^ Adam Helman, Family Affair Voting Scheme - Schulze Method
  20. ^ See:
  21. ^ See:
  22. ^ FSFLA Voting Instructions (Spanish); FSFLA Voting Instructions (Portuguese)
  23. ^ See:
  24. ^ GnuPG Logo Vote, November 2006
  25. ^ See:
  26. ^ See:
  27. ^ See:
  28. ^ Generalversammlung 2007/Wahlmodus (German), March 2007
  29. ^ Benjamin Mako Hill, Voting Machinery for the Masses, July 2008
  30. ^ NSC Jersey election, NSC Jersey vote, September 2007
  31. ^ Thomas Goorden, CS community city ambassador elections on January 19th 2008 in Antwerp and ..., November 2007
  32. ^ 2006 Community for Pittsburgh Ultimate Board Election, September 2006
  33. ^ LogoVoting, December 2007
  34. ^ See:
  35. ^ See:
  36. ^ See:
  37. ^ a b See:

[edit] External links

Wikimedia Commons has media related to:

Note that these sources may refer to the Schulze method as CSSD, SSD, beatpath, path winner, etc.

[edit] General

[edit] Tutorials

[edit] Advocacy

[edit] Research papers

[edit] Books

[edit] Software

[edit] Legislative projects

Personal tools