Jump to content

Schulze method

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 71.225.135.229 (talk) at 18:16, 4 June 2020. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Schulze method (/ˈʃʊltsə/) is an electoral 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), the beatpath method, beatpath winner, path voting, and path winner.

The Schulze method is a Condorcet method, which means that if there is a candidate who is preferred by a majority over every other candidate in pairwise comparisons, then this candidate will be the winner when the Schulze method is applied.

The output of the Schulze method (defined below) gives an ordering of candidates. Therefore, if several positions are available, the method can be used for this purpose without modification, by letting the k top-ranked candidates win the k available seats. Furthermore, for proportional representation elections, a single transferable vote variant has been proposed.

The Schulze method is used by several organizations including Debian, Ubuntu, Gentoo, Pirate Party political parties and many others.

Description of the method

Ballot

The input for the Schulze method is the same as for other ranked single-winner electoral systems: each voter must furnish an ordered preference list on candidates where ties are allowed (a strict weak order).[1]

One typical way for voters to specify their preferences on a ballot is as follows. Each ballot lists all the candidates, and each voter ranks this list in order of preference using numbers: the voter places a '1' beside the most preferred candidate(s), a '2' beside the second-most preferred, and so forth. Each voter may optionally:

  • give the same preference to more than one candidate. This indicates that this voter is indifferent between these candidates.
  • use non-consecutive numbers to express preferences. This has no impact on the result of the elections, since only the order in which the candidates are ranked by the voter matters, and not the absolute numbers of the preferences.
  • keep candidates unranked. When a voter doesn't rank all candidates, then this is interpreted as if this voter (i) strictly prefers all ranked to all unranked candidates, and (ii) is indifferent among all unranked candidates.

Computation

Let be the number of voters who prefer candidate to candidate .

A path from candidate to candidate is a sequence of candidates with the following properties:

  1. and .
  2. For all .

In other words, in a pairwise comparison each candidate in the path will beat the following candidate.

The strength of a path from candidate to candidate is the smallest number of voters in the sequence of comparisons:

For all .

For a pair of candidates and that are connected by at least one path, the strength of the strongest path is the maximum strength of the path(s) connecting them. If there is no path from candidate to candidate at all, then .

Candidate is better than candidate if and only if .

Candidate is a potential winner if and only if for every other candidate .

It can be proven that and together imply .[1]: §4.1  Therefore, it is guaranteed (1) that the above definition of "better" really defines a transitive relation and (2) that there is always at least one candidate with for every other candidate .

Example

In the following example 45 voters rank 5 candidates.

The pairwise preferences have to be computed first. For example, when comparing A and B pairwise, there are 5+5+3+7=20 voters who prefer A to B, and 8+2+7+8=25 voters who prefer B to A. So and . The full set of pairwise preferences is:

Directed graph labeled with pairwise preferences d[*, *]
Matrix of pairwise preferences
20 26 30 22
25 16 33 18
19 29 17 24
15 12 28 14
23 27 21 31

The cells for d[X, Y] have a light green background if d[X, Y] > d[Y, X], otherwise the background is light red. There is no undisputed winner by only looking at the pairwise differences here.

Now the strongest paths have to be identified. To help visualize the strongest paths, the set of pairwise preferences is depicted in the diagram on the right in the form of a directed graph. An arrow from the node representing a candidate X to the one representing a candidate Y is labelled with d[X, Y]. To avoid cluttering the diagram, an arrow has only been drawn from X to Y when d[X, Y] > d[Y, X] (i.e. the table cells with light green background), omitting the one in the opposite direction (the table cells with light red background).

One example of computing the strongest path strength is p[B, D] = 33: the strongest path from B to D is the direct path (B, D) which has strength 33. But when computing p[A, C], the strongest path from A to C is not the direct path (A, C) of strength 26, rather the strongest path is the indirect path (A, D, C) which has strength min(30, 28) = 28. The strength of a path is the strength of its weakest link.

For each pair of candidates X and Y, the following table shows the strongest path from candidate X to candidate Y in red, with the weakest link underlined.

Strongest paths
To
From
A B C D E
A
A-(30)-D-(28)-C-(29)-B
A-(30)-D-(28)-C
A-(30)-D
A-(30)-D-(28)-C-(24)-E
A
B
B-(25)-A
B-(33)-D-(28)-C
B-(33)-D
B-(33)-D-(28)-C-(24)-E
B
C
C-(29)-B-(25)-A
C-(29)-B
C-(29)-B-(33)-D
C-(24)-E
C
D
D-(28)-C-(29)-B-(25)-A
D-(28)-C-(29)-B
D-(28)-C
D-(28)-C-(24)-E
D
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
E
A B C D E
From
To
Strengths of the strongest paths
28 28 30 24
25 28 33 24
25 29 29 24
25 28 28 24
25 28 28 31

Now the output of the Schulze method can be determined. For example, when comparing A and B, since , for the Schulze method candidate A is better than candidate B. Another example is that , so candidate E is better than candidate D. Continuing in this way, the result is that the Schulze ranking is , and E wins. In other words, E wins since for every other candidate X.

Implementation

The only difficult step in implementing the Schulze method is computing the strongest path strengths. However, this is a well-known problem in graph theory sometimes called the widest path problem. One simple way to compute the strengths, therefore, is a variant of the Floyd–Warshall algorithm. The following pseudocode illustrates the algorithm.

# Input: d[i,j], the number of voters who prefer candidate i to candidate j.
# Output: p[i,j], the strength of the strongest path from candidate i to candidate j.

for i from 1 to C
    for j from 1 to C
        if (i ≠ j) then
            if (d[i,j] > d[j,i]) then
                p[i,j] := d[i,j]
            else
                p[i,j] := 0

for i from 1 to C
    for j from 1 to C
        if (i ≠ j) then
            for k from 1 to C
                if (i ≠ k and j ≠ k) then
                    p[j,k] := max (p[j,k], min (p[j,i], p[i,k]))

This algorithm is efficient and has running time O(C3) where C is the number of candidates.

Ties and alternative implementations

When allowing users to have ties in their preferences, the outcome of the Schulze method naturally depends on how these ties are interpreted in defining d[*,*]. Two natural choices are that d[A, B] represents either the number of voters who strictly prefer A to B (A>B), or the margin of (voters with A>B) minus (voters with B>A). But no matter how the ds are defined, the Schulze ranking has no cycles, and assuming the ds are unique it has no ties.[1]

Although ties in the Schulze ranking are unlikely,[2][citation needed] they are possible. Schulze's original paper[1] proposed breaking ties in accordance with a voter selected at random, and iterating as needed.

An alternative way to describe the winner of the Schulze method is the following procedure:[citation needed]

  1. draw a complete directed graph with all candidates, and all possible edges between candidates
  2. iteratively [a] delete all candidates not in the Schwartz set (i.e. any candidate x which cannot reach all others who reach x) and [b] delete the graph edge with the smallest value (if by margins, smallest margin; if by votes, fewest votes).
  3. the winner is the last non-deleted candidate.

There is another alternative way to demonstrate the winner of the Schulze method. This method is equivalent to the others described here, but the presentation is optimized for the significance of steps being visually apparent as you go through it, not for computation.

  1. Make the results table, called the "matrix of pairwise preferences," such as used above in the example. If using margins rather than raw vote totals, subtract it from its transpose. Then every positive number is a pairwise win for the candidate on that row (and marked green), ties are zeroes, and losses are negative (marked red). Order the candidates by how long they last in elimination.
  2. If there's a candidate with no red on their line, they win.
  3. Otherwise, draw a square box around the Schwartz set in the upper left corner. You can describe it as the minimal "winner's circle" of candidates who do not lose to anyone outside the circle. Note that to the right of the box there is no red, which means it's a winner's circle, and note that within the box there is no reordering possible that would produce a smaller winner's circle.
  4. Cut away every part of the table that isn't in the box.
  5. If there is still no candidate with no red on their line, something needs to be compromised on; every candidate lost some race, and the loss we tolerate the best is the one where the loser obtained the most votes. So, take the red cell with the highest number (if going by margins, the least negative), make it green—or any color other than red—and go back step 2.

Here is a margins table made from the above example. Note the change of order used for demonstration purposes.

Initial Results Table
E A C B D
E 1 -3 9 17
A -1 7 -5 15
C 3 -7 13 -11
B -9 5 -13 21
D -17 -15 11 -21

The first drop (A's loss to E by 1 vote) doesn't help shrink the Schwartz set.

First Drop
E A C B D
E 1 -3 9 17
A -1 7 -5 15
C 3 -7 13 -11
B -9 5 -13 21
D -17 -15 11 -21

So we get straight to the second drop (E's loss to C by 3 votes), and that shows us the winner, E, with its clear row.

Second Drop, final
E A C B D
E 1 -3 9 17
A -1 7 -5 15
C 3 -7 13 -11
B -9 5 -13 21
D -17 -15 11 -21

This method can also be used to calculate a result, if you make the table in such a way that you can conveniently and reliably rearrange the order of the candidates on both row and column (use the same order on both at all times).

Satisfied and failed criteria

Satisfied criteria

The Schulze method satisfies the following criteria:

Failed criteria

Since the Schulze method satisfies the Condorcet criterion, it automatically fails the following criteria:

Likewise, since the Schulze method is not a dictatorship and agrees with unanimous votes, Arrow's Theorem implies it fails the criterion

The Schulze method also fails

Comparison table

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

Comparison of single-winner voting systems
Criterion


Method
Majority Majority loser Mutual majority Condorcet winner[Tn 1] Condorcet loser Smith[Tn 1] Smith-IIA[Tn 1] IIA/LIIA[Tn 1] Clone­proof Mono­tone Participation Later-no-harm[Tn 1] Later-no-help[Tn 1] No favorite betrayal[Tn 1] Ballot
type
Anti-plurality No Yes No No No No No No No Yes Yes No No Yes Single mark
Approval Yes No No No No No No Yes[Tn 2] Yes Yes Yes No Yes Yes Appr­ovals
Baldwin Yes Yes Yes Yes Yes Yes No No No No No No No No Ran­king
Black Yes Yes No Yes Yes No No No No Yes No No No No Ran­king
Borda No Yes No No Yes No No No No Yes Yes No Yes No Ran­king
Bucklin Yes Yes Yes No No No No No No Yes No No Yes No Ran­king
Coombs Yes Yes Yes No Yes No No No No No No No No Yes Ran­king
Copeland Yes Yes Yes Yes Yes Yes Yes No No Yes No No No No Ran­king
Dodgson Yes No No Yes No No No No No No No No No No Ran­king
Highest median Yes Yes[Tn 3] No[Tn 4] No No No No Yes[Tn 2] Yes Yes No[Tn 5] No Yes Yes Scores
Instant-runoff Yes Yes Yes No Yes No No No Yes No No Yes Yes No Ran­king
Kemeny–Young Yes Yes Yes Yes Yes Yes Yes LIIA Only No Yes No No No No Ran­king
Minimax Yes No No Yes[Tn 6] No No No No No Yes No No[Tn 6] No No Ran­king
Nanson Yes Yes Yes Yes Yes Yes No No No No No No No No Ran­king
Plurality Yes No No No No No No No No Yes Yes Yes Yes No Single mark
Random ballot[Tn 7] No No No No No No No Yes Yes Yes Yes Yes Yes Yes Single mark
Ranked pairs Yes Yes Yes Yes Yes Yes Yes LIIA Only Yes Yes No[Tn 5] No No No Ran­king
Runoff Yes Yes No No Yes No No No No No No Yes Yes No Single mark
Schulze Yes Yes Yes Yes Yes Yes Yes No Yes Yes No[Tn 5] No No No Ran­king
Score No No No No No No No Yes[Tn 2] Yes Yes Yes No Yes Yes Scores
Sortition[Tn 8] No No No No No No No Yes No Yes Yes Yes Yes Yes None
STAR No Yes No No Yes No No No No Yes No No No No Scores
Tideman alternative Yes Yes Yes Yes Yes Yes Yes No Yes No No No No No Ran­king
Table Notes
  1. ^ a b c d e f g Condorcet's criterion is incompatible with the consistency, participation, later-no-harm, later-no-help, and sincere favorite criteria.
  2. ^ a b c Approval voting, score voting, and majority judgment satisfy IIA if it is assumed that voters rate candidates independently using their own absolute scale. For this to hold, in some elections, some voters must use less than their full voting power despite having meaningful preferences among viable candidates.
  3. ^ Majority Judgment may elect a candidate uniquely least-preferred by over half of voters, but it never elects the candidate uniquely bottom-rated by over half of voters.
  4. ^ Majority Judgment fails the mutual majority criterion, but satisfies the criterion if the majority ranks the mutually favored set above a given absolute grade and all others below that grade.
  5. ^ a b c In Highest median, Ranked Pairs, and Schulze voting, there is always a regret-free, semi-honest ballot for any voter, holding all other ballots constant and assuming they know enough about how others will vote. Under such circumstances, there is always at least one way for a voter to participate without grading any less-preferred candidate above any more-preferred one.
  6. ^ a b A variant of Minimax that counts only pairwise opposition, not opposition minus support, fails the Condorcet criterion and meets later-no-harm.
  7. ^ A randomly chosen ballot determines winner. This and closely related methods are of mathematical interest and included here to demonstrate that even unreasonable methods can pass voting method criteria.
  8. ^ Where a winner is randomly chosen from the candidates, sortition is included to demonstrate that even non-voting methods can pass some criteria.


The main difference between the Schulze method and the ranked pairs method can be seen in this example:

Suppose the MinMax score of a set X of candidates is the strength of the strongest pairwise win of a candidate A ∉ X against a candidate B ∈ X. Then the Schulze method, but not Ranked Pairs, guarantees that the winner is always a candidate of the set with minimum MinMax score.[1]: §4.8  So, in some sense, the Schulze method minimizes the largest majority that has to be reversed when determining the winner.

On the other hand, Ranked Pairs minimizes the largest majority that has to be reversed to determine the order of finish, in the minlexmax sense. [4] In other words, when Ranked Pairs and the Schulze method produce different orders of finish, for the majorities on which the two orders of finish disagree, the Schulze order reverses a larger majority than the Ranked Pairs order.

History

The Schulze method was developed by Markus Schulze in 1997. It was first discussed in public mailing lists in 1997–1998[5] and in 2000.[6] Subsequently, Schulze method users included Debian (2003),[7] Gentoo (2005),[8] Topcoder (2005),[9] Wikimedia (2008),[10] KDE (2008),[11] the Pirate Party of Sweden (2009),[12] and the Pirate Party of Germany (2010).[13] In the French Wikipedia, the Schulze method was one of two multi-candidate methods approved by a majority in 2005,[14] and it has been used several times.[15] The newly formed Boise, Idaho chapter of the Democratic Socialists of America in February chose this method for their first special election held on March 2018. [16]

In 2011, Schulze published the method in the academic journal Social Choice and Welfare.[1]

Users

sample ballot for Wikimedia's Board of Trustees elections

The Schulze method is used by the city of Silla for all referendums. It is used by the Institute of Electrical and Electronics Engineers, by the Association for Computing Machinery, and by USENIX through their use of the HotCRP decision tool. The Schulze method is used by the cities of Turin and San Donà di Piave and by the London Borough of Southwark through their use of the WeGovNow platform, which in turn uses the LiquidFeedback decision tool. Organizations which currently use the Schulze method include:

Notes

  1. ^ a b c d e f g h i j k l m n o p q Markus Schulze, A new monotonic, clone-independent, reversal symmetric, and condorcet-consistent single-winner election method, Social Choice and Welfare, volume 36, number 2, page 267–303, 2011. Preliminary version in Voting Matters, 17:9-19, 2003.
  2. ^ Under reasonable probabilistic assumptions when the number of voters is much larger than the number of candidates
  3. ^ a b c Douglas R. Woodall, Properties of Preferential Election Rules, Voting Matters, issue 3, pages 8-15, December 1994
  4. ^ Tideman, T. Nicolaus, "Independence of clones as a criterion for voting rules," Social Choice and Welfare vol 4 #3 (1987), pp 185-206.
  5. ^ See:
  6. ^ See:
  7. ^ a b See:
  8. ^ a b See:
  9. ^ a b 2007 TopCoder Collegiate Challenge, September 2007
  10. ^ See:
  11. ^ a b section 3.4.1 of the Rules of Procedures for Online Voting
  12. ^ a b See:
  13. ^ a b 11 of the 16 regional sections and the federal section of the Pirate Party of Germany are using LiquidFeedback for unbinding internal opinion polls. In 2010/2011, the Pirate Parties of Neukölln (link), Mitte (link), Steglitz-Zehlendorf (link), Lichtenberg (link), and Tempelhof-Schöneberg (link) adopted the Schulze method for its primaries. Furthermore, the Pirate Party of Berlin (in 2011) (link) and the Pirate Party of Regensburg (in 2012) (link) adopted this method for their primaries.
  14. ^ a b Choix dans les votes
  15. ^ fr:Spécial:Pages liées/Méthode Schulze
  16. ^ Chumich, Andrew. "DSA Special Election". Retrieved 2018-02-25.
  17. ^ Article 7.1.3 of its Working Format of the Agora, p. 54, July 2016
  18. ^ Election of the Annodex Association committee for 2007, February 2007
  19. ^ Ajith, Van Atta win ASG election, April 2013
  20. ^ §6 and §7 of its bylaws, May 2014
  21. ^ §6(6) of the bylaws
  22. ^ §9a of the bylaws, October 2013
  23. ^ See:
  24. ^ resolution, December 2013
  25. ^ Civics Meeting Minutes, March 2012
  26. ^ Adam Helman, Family Affair Voting Scheme - Schulze Method
  27. ^ See:
  28. ^ "Guidance Document". Eudec.org. 2009-11-15. Retrieved 2010-05-08.
  29. ^ Democratic election of the server admins Archived 2015-10-02 at the Wayback Machine, July 2010
  30. ^ Campobasso. Comunali, scattano le primarie a 5 Stelle, February 2014
  31. ^ Fondi, il punto sui candidati a sindaco. Certezze, novità e colpi di scena, March 2015
  32. ^ article 25(5) of the bylaws, October 2013
  33. ^ 2° Step Comunarie di Montemurlo, November 2013
  34. ^ article 12 of the bylaws, January 2015
  35. ^ Ridefinizione della lista di San Cesareo con Metodo Schulze, February 2014
  36. ^ article 57 of the statutory rules
  37. ^ Voters Guide, September 2011
  38. ^ See:
  39. ^ §7(3) of the voting rules, November 2015
  40. ^ GnuPG Logo Vote, November 2006
  41. ^ "User Voting Instructions". Gso.cs.binghamton.edu. Archived from the original on 2013-02-02. Retrieved 2010-05-08.
  42. ^ Haskell Logo Competition, March 2009
  43. ^ "Hillegass-Parker House Bylaws § 5. Elections". Hillegass-Parker House website. Retrieved 4 October 2015.
  44. ^ section 9.4.7.3 of the Operating Procedures of the Address Council of the Address Supporting Organization
  45. ^ article VI section 10 of the bylaws, November 2012
  46. ^ A club by any other name ..., April 2009
  47. ^ See:
  48. ^ Knight Foundation awards $5000 to best created-on-the-spot projects, June 2009
  49. ^ Kubuntu Council 2013, May 2013
  50. ^ See:
  51. ^ article 8.3 of the bylaws
  52. ^ The Principles of LiquidFeedback. Berlin: Interaktive Demokratie e. V. 2014. ISBN 978-3-00-044795-2.
  53. ^ "Madisonium Bylaws - Adopted". Google Docs.
  54. ^ "Wahlmodus" (in German). Metalab.at. Retrieved 2010-05-08.
  55. ^ Benjamin Mako Hill, Voting Machinery for the Masses, July 2008
  56. ^ See:
  57. ^ bylaws, September 2014
  58. ^ "2009 Director Elections". noisebridge.net.
  59. ^ "Online Voting Policy". openembedded.org.
  60. ^ See:
  61. ^ Election Process, June 2016
  62. ^ National Congress 2011 Results, November 2011
  63. ^ §6(10) of the bylaws
  64. ^ The Belgian Pirate Party Announces Top Candidates for the European Elections, January 2014
  65. ^ bylaws
  66. ^ Rules adopted on 18 December 2011
  67. ^ Verslag ledenraadpleging 4 januari, January 2015
  68. ^ "23 January 2011 meeting minutes". pirateparty.org.nz.
  69. ^ Piratenversammlung der Piratenpartei Schweiz, September 2010
  70. ^ article IV section 3 of the bylaws, July 2012
  71. ^ Committee Elections, April 2012
  72. ^ Squeak Oversight Board Election 2010, March 2010
  73. ^ See:
  74. ^ Election status update, September 2009
  75. ^ §10 III of its bylaws, June 2013
  76. ^ Minutes of the 2010 Annual Sverok Meeting, November 2010
  77. ^ article VI section 6 of the bylaws
  78. ^ Ubuntu IRC Council Position, May 2012
  79. ^ "/v/GAs - Pairwise voting results". vidyagaemawards.com.
  80. ^ "Paneuropean Party of Volt".
  81. ^ See e.g. here [1] (May 2009), here [2] (August 2009), and here [3] (December 2009).
  82. ^ See here and here.
  83. ^ "Девятнадцатые выборы арбитров, второй тур" [Result of Arbitration Committee Elections]. kalan.cc. Archived from the original on 2015-02-22.
  84. ^ See here