Jump to content

Schulze method

From Wikipedia, the free encyclopedia

TheSchulze method(/ˈʃʊltsə/) is asingle winnerranked-choice voting ruledeveloped by Markus Schulze. It is also known as thebeatpath method.The Schulze method is aCondorcet method,which means it will elect a majority-choice candidate if one exists; in other words, if most people rank A above B, A will defeat B (whenever this is possible).

Schulze's method is based on the idea of breakingcyclic tiesby using indirect victories. The idea is that ifAlicebeats Bob, and Bob beats Charlie, then Alice (indirectly) beats Charlie; this kind of indirect win is called abeatpath.

Forproportional representation,asingle transferable vote(STV) variant known asSchulze STValso exists. The Schulze method is used by several organizations includingDebian,Ubuntu,Gentoo,Pirate Partypolitical parties andmany others.It was also used byWikimediaprior to their adoption ofscore voting.

Description of the method

[edit]
A sample ballot asking voters to order candidates by preference

Schulze's method usesranked ballotswith equal ratings allowed. There are two common (equivalent) descriptions of Schulze's method.

Beatpath explanation

[edit]

The idea behind Schulze's method is that ifAlicedefeats Bob, and Bob beats Charlie, then Alice "indirectly" defeats Charlie; this kind of indirect win is called a 'beatpath'.

Every beatpath is assigned a particularstrength.The strength of a single-step beatpath from Alice to Bob is just the number of voters who rank Alice over Bob. For a longer beatpath, consisting of multiple "beats", the strength of a beatpath is as strong as its weakest link (i.e. the beat with the smallest number of winning votes).

We say Alice has a "beatpath-win" over Bob if her strongest beatpath to Bob is stronger than all of Bob's beatpaths to Alice. The winner is the candidate who has a beatpath-win over every other candidate.

Markus Schulze proved that this definition of a beatpath-win istransitive;in other words, if Alice has a beatpath-win over Bob, and Bob has a beatpath-win over Charlie, Alice has a beatpath-win over Charlie.[1]: §4.1 As a result, the Schulze method is aCondorcet method,providing a full extension of themajority ruleto any set of ballots.

Iterative description

[edit]

The Schulze winner can also be constructed iteratively, using a defeat-dropping method:

  1. Draw adirected graphwith all the candidates as nodes; label the edges with the number of votes supporting the winner.
  2. If there is more than one candidate left:
    • Check if any candidates are tied (and if so, break the ties byrandom ballot).
    • Eliminate all candidates outside themajority-preferred set.
    • Delete the edge closest to being tied.

The winner is the only candidate left at the end of the procedure.

Example

[edit]

In the following example 45 voters rank 5 candidates.

Number of voters Order of preference
5 ACBED
5 ADECB
8 BEDAC
3 CABED
7 CAEBD
2 CBADE
7 DCEBA
8 EBADC

The pairwise preferences have to be computed first. For example, when comparingAandBpairwise, there are5+5+3+7=20voters who preferAtoB,and8+2+7+8=25voters who preferBtoA.Soand.The full set of pairwise preferences is:

Directed graphlabeled 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 adirected 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. Thestrengthof 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 comparingAandB, since,for the Schulze method candidateAisbetterthan candidateB.Another example is that,so candidate E isbetterthan candidate D. Continuing in this way, the result is that the Schulze ranking is,andEwins. In other words,Ewins sincefor every other candidate X.

Implementation

[edit]

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 thewidest path problem.One simple way to compute the strengths, therefore, is a variant of theFloyd–Warshall algorithm.The followingpseudocodeillustrates 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 isefficientand hasrunning timeO(C3)whereCis the number of candidates.

Ties and alternative implementations

[edit]

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 themarginof (voters with A>B) minus (voters with B>A). But no matter how theds are defined, the Schulze ranking has no cycles, and assuming theds are unique it has no ties.[2]

Although ties in the Schulze ranking are unlikely, they are possible. Schulze's original paper recommended breaking ties byrandom ballot.[2]

There is another alternative way todemonstratethe winner of the Schulze method. This method is equivalent to the others described here, but the presentation is optimized for the significance of steps beingvisually apparentas a human goes through it, not for computation.

  1. Make the results table, called the "matrix of pairwise preferences", such as used above in the example. 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 is 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. It can be described 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 is 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 outside 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) does not 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 the table is remade in such a way that one can conveniently and reliably rearrange the order of the candidates on both the row and the column, with the same order used on both at all times.

Satisfied and failed criteria

[edit]

Satisfied criteria

[edit]

The Schulze method satisfies the following criteria:

Failed criteria

[edit]

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

Likewise, since the Schulze method is not a dictatorship and is aranked votingsystem (notrated),Arrow's Theoremimplies it fails:

The Schulze method also fails

Comparison table

[edit]

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


The main difference between the Schulze method and theranked pairsmethod can be seen in this example:

Suppose the MinMax score of a setXof candidates is the strength of the strongest pairwise win of a candidate A ∉Xagainst 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.[2]: §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.[citation needed][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

[edit]

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]

In 2011, Schulze published the method in the academic journalSocial Choice and Welfare.[2]

Usage

[edit]
Sample ballot forWikimedia's Board of Trusteeselections

Government

[edit]

The Schulze method is used by the city ofSillafor all referendums.[7][8]It is also used by the cities ofTurinandSan Donà di Piaveand by theLondon Borough of Southwarkthrough their use of the WeGovNow platform, which in turn uses theLiquidFeedbackdecision tool.[citation needed]

Political parties

[edit]

Schulze was adopted by thePirate Party of Sweden(2009),[9]and thePirate Party of Germany(2010).[10]The newly formedBoise, Idaho,chapter of theDemocratic Socialists of Americain February chose this method for their first special election held in March 2018.[11]

Student government and associations

[edit]

Organizations

[edit]

It is used by theInstitute of Electrical and Electronics Engineers,by theAssociation for Computing Machinery,and byUSENIXthrough their use of the HotCRP decision tool.

Organizations which currently use the Schulze method include:

Notes

[edit]
  1. ^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 inVoting Matters,17:9-19, 2003.
  2. ^abcdefghijklmnMarkus 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 inVoting Matters,17:9-19, 2003.
  3. ^abcDouglas 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. ^Hortanoticias, Redacción (2016-02-23)."Al voltant de 2.000 participants en dos dies en la primera enquesta popular de Silla que decidirà sobre espectacles taurins".Hortanoticias.com(in Spanish).Retrieved2022-09-24.
  8. ^Silla, ~ El Cresol de (2016-05-26)."Un any d'aprofundiment democràtic a Silla".El Cresol de Silla(in Catalan).Retrieved2022-09-24.
  9. ^abSee:
  10. ^ab11 of the 16 regional sections and the federal section of thePirate Party of Germanyare usingLiquidFeedbackfor unbinding internal opinion polls. In 2010/2011, the Pirate Parties ofNeukölln(link),Mitte(link),Steglitz-Zehlendorf(link),Lichtenberg(link), andTempelhof-Schöneberg(link) adopted the Schulze method for its primaries. Furthermore, the Pirate Party ofBerlin(in 2011) (link) and the Pirate Party ofRegensburg(in 2012) (link) adopted this method for their primaries.
  11. ^Chumich, Andrew."DSA Special Election".Retrieved2018-02-25.
  12. ^Campobasso. Comunali, scattano le primarie a 5 Stelle,February 2014
  13. ^Macaro, Mirko (2015-03-03)."Fondi, il punto sui candidati a sindaco. Certezze, novità e colpi di scena".h24 notizie - portale indipendente di news dalla provincia(in Italian).Retrieved2022-09-24.
  14. ^article 25(5) of thebylaws,October 2013
  15. ^"MoVimento 5 Stelle - Montemurlo: 2° Step Comunarie di Montemurlo".November 2013. Archived fromthe originalon 2015-04-02.Retrieved2022-09-24.
  16. ^article 12 of thebylaws,January 2015
  17. ^Ridefinizione della lista di San Cesareo con Metodo Schulze,February 2014
  18. ^"National Congress 2011 Results – Pirate Party Australia".pirateparty.org.au.18 November 2011.Retrieved2022-09-24.
  19. ^§6(10) of thebylaws
  20. ^Article III.3.4 of the Statutory Rules (french,dutch)
  21. ^Píratar (2013-10-23)."Schulze aðferðin".Píratar(in Icelandic).Retrieved2022-09-24.
  22. ^Rules adopted on 18 December 2011
  23. ^Pontier, Matthijs (2015-01-11)."Verslag ledenraadpleging 4 januari".Piratenpartij Noord Holland(in Dutch).Retrieved2022-09-24.
  24. ^Pankerl, Florian (2010-09-18)."Piratenversammlung der Piratenpartei Schweiz 2010 – Samstag"(in German).Retrieved2022-09-24.
  25. ^article IV section 3 of thebylaws,July 2012
  26. ^§10 III of itsbylaws,June 2013
  27. ^"Some considerations on which group Volt Europe will join in the European Parliament".
  28. ^Hajdu, Tekla (2017-09-24)."The Schulze Method – Agora 101".The AEGEEan - AEGEE's online magazine - AEGEE-Europe.Retrieved2022-09-24.
  29. ^Voting Details,January 2021
  30. ^Référendum sur la réforme du thurnage,June 2021
  31. ^article 57 of thestatutory rules
  32. ^"User Voting Instructions".Gso.cs.binghamton.edu. Archived fromthe originalon 2013-09-09.Retrieved2010-05-08.
  33. ^"Hillegass-Parker House Bylaws § 5. Elections".Hillegass-Parker House website.Retrieved4 October2015.
  34. ^See:
  35. ^article 9.4.5.h of thecharter,November 2017
  36. ^Ajith, Van Atta win ASG election,April 2013
  37. ^§6 and §7 of itsbylaws,May 2014
  38. ^§6(6) of thebylaws
  39. ^Election of the Annodex Association committee for 2007,February 2007
  40. ^§9a of thebylaws,October 2013
  41. ^See:
    • 2013 Golden Geek Awards - Nominations Open, January 2014
    • 2014 Golden Geek Awards - Nominations Open, January 2015
    • 2015 Golden Geek Awards - Nominations Open, March 2016
    • 2016 Golden Geek Awards - Nominations Open, January 2017
    • 2017 Golden Geek Awards - Nominations Open, February 2018
    • 2018 Golden Geek Awards - Nominations Open, March 2019
  42. ^article 7(e)(iii)(2) of thecharter,May 2021
  43. ^Adam Helman,Family Affair Voting Scheme - Schulze Method
  44. ^Steering and Technical committee,November 2021
  45. ^See:
  46. ^"Guidance Document".Eudec.org. 2009-11-15.Retrieved2010-05-08.
  47. ^Democratic election of the server adminsArchived2015-10-02 at theWayback Machine,July 2010
  48. ^Voters Guide,September 2011
  49. ^Project:Elections
  50. ^"CIVS Election Results: GnuPG Logo Vote".2013-10-03. Archived fromthe originalon 2013-10-03.Retrieved2022-09-24.
  51. ^Haskell Logo Competition,March 2009
  52. ^Article 6 Section 2 of the Constitution,February 2021
  53. ^section 9.4.7.3 of theOperating Procedures of the Address Council of the Address Supporting Organization(archived fromsource2023-06-06)
  54. ^"A club by any other name..."Kanawha Valley Scrabble Club.2009-04-02.Retrieved2022-09-24.
  55. ^section 3.4.1 of theRules of Procedures for Online Voting
  56. ^Knight Foundation awards $5000 to best created-on-the-spot projects,June 2009
  57. ^Kubernetes Community,Kubernetes, 2022-09-24,retrieved2022-09-24
  58. ^"Kumoricon – Mascot Contest".Kumoricon.Retrieved2022-09-24.
  59. ^article 8.3 of thebylaws
  60. ^The Principles of LiquidFeedback.Berlin: Interaktive Demokratie e. V. 2014.ISBN978-3-00-044795-2.
  61. ^"Madisonium Bylaws - Adopted".Google Docs.
  62. ^"Wahlmodus"(in German). Metalab.at.Retrieved2010-05-08.
  63. ^David Chandler,Voting for more than just either-or,MIT Tech Talk, volume 52, number 19, page 2, 12 March 2008
  64. ^See:
  65. ^"2009 Director Elections".noisebridge.net.
  66. ^"Online Voting Policy".openembedded.org.
  67. ^ONNX Steering Committee election guideline
  68. ^"OpenStack Election — OpenStack Governance".governance.openstack.org.Retrieved2022-09-24.
  69. ^Mark, Atwood (May 25, 2016)."[Partners] text of OpenSwitch Project Charter 2016-05-03".Retrieved2022-09-24.
  70. ^"Committee Elections 2012".rllmuk.10 April 2012.Retrieved2022-09-24.
  71. ^Squeak Oversight Board Election 2010,March 2010
  72. ^See:
  73. ^"[IAEP] Election status update".lists.sugarlabs.org.Retrieved2022-09-24.
  74. ^Minutes of the 2018 Annual Sverok Meeting,November 2018
  75. ^ "2007 TopCoder Collegiate Challenge".community.topcoder.com.Retrieved2022-09-24.
  76. ^Bell, Alan (May 17, 2012)."Ubuntu IRC Council Position".Retrieved2022-09-24.
  77. ^"/v/GAs - Pairwise voting results".vidyagaemawards.com.
  78. ^See:
  79. ^"Wikipédia:Prise de décision/Choix dans les votes",Wikipédia(in French), 2019-08-22,retrieved2022-09-24
  80. ^"Pages liées à Méthode Schulze".fr.wikipedia.org(in French).Retrieved2022-09-24.
  81. ^"ויקיפדיה:פרלמנט/הכרעה"[Wikipedia:Parliament/Decisionmaking].he.wikipedia.org(in Hebrew).
  82. ^See e.g. here[1](May 2009), here[2](August 2009), and here[3](December 2009).
  83. ^Seehereandhere.
  84. ^Девятнадцатые выборы арбитров, второй тур[Result of Arbitration Committee Elections].kalan.cc(in Russian). Archived fromthe originalon 2015-02-22.
  85. ^Seehere
[edit]