Schulze method explained
The Schulze method is a single winner ranked-choice voting rule developed by Markus Schulze. It is also known as the beatpath method. The Schulze method is a Condorcet 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 breaking cyclic ties by using indirect victories. The idea is that if Alice beats Bob, and Bob beats Charlie, then Alice (indirectly) beats Charlie; this kind of indirect win is called a beatpath.
For proportional representation, a single transferable vote (STV) variant known as Schulze STV also exists. The Schulze method is used by several organizations including Debian, Ubuntu, Gentoo, Pirate Party political parties and many others. It was also used by Wikimedia prior to their adoption of score voting.
Description of the method
Schulze's method uses ranked ballots with equal ratings allowed. There are two common (equivalent) descriptions of Schulze's method.
Beatpath explanation
The idea behind Schulze's method is that if Alice defeats Bob, and Bob beats Charlie, then Alice "indirectly" defeats Charlie; this kind of indirect win is called a 'beatpath'.
Every beatpath is assigned a particular strength. 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 is transitive; 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] As a result, the Schulze method is a Condorcet method, providing a full extension of the majority rule to any set of ballots.
Iterative description
The Schulze winner can also be constructed iteratively, using a defeat-dropping method:
- Draw a directed graph with all the candidates as nodes; label the edges with the number of votes supporting the winner.
- If there is more than one candidate left:
- Check if any candidates are tied (and if so, break the ties by random ballot).
- Eliminate all candidates outside the majority-preferred set.
- Delete the edge closest to being tied.
The winner is the only candidate left at the end of the procedure.
Example
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 comparing and pairwise, there are voters who prefer to, and voters who prefer to . So
and
. The full set of pairwise preferences is:
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.
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 and, since
, for the Schulze method candidate is
better than candidate . 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 wins. In other words, 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.
Although ties in the Schulze ranking are unlikely, they are possible. Schulze's original paper recommended breaking ties by random ballot.
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 a human goes through it, not for computation.
- 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.
- If there is a candidate with no red on their line, they win.
- 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.
- Cut away every part of the table outside the box.
- 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
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 is a ranked voting system (not rated), Arrow's Theorem implies it fails:
The Schulze method also fails
- Peyton Young's criterion of Local Independence of Irrelevant Alternatives.
Comparison table
The following table compares the Schulze method with other single-winner election methods:
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. 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.[3] 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[4] and in 2000.[5]
In 2011, Schulze published the method in the academic journal Social Choice and Welfare.[6]
Usage
Government
The Schulze method is used by the city of Silla for all referendums.[7] [8] It is also 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.
Political parties
Schulze was adopted by the Pirate Party of Sweden (2009),[9] and the Pirate Party of Germany (2010).[10] The newly formed Boise, Idaho, chapter of the Democratic Socialists of America in February chose this method for their first special election held in March 2018.[11]
- Five Star Movement of Campobasso,[12] Fondi,[13] Monte Compatri,[14] Montemurlo,[15] Pescara,[16] and San Cesareo[17]
- Pirate Parties of Australia,[18] Austria,[19] Belgium,[20] Brazil, Germany, Iceland,[21] Italy,[22] the Netherlands,[23] Sweden, Switzerland,[24] and the United States[25]
- SustainableUnion[26]
- Volt Europe[27]
Student government and associations
Organizations
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.
Organizations which currently use the Schulze method include:
External links
- The Schulze Method of Voting by Markus Schulze
- The Schulze Method by Hubert Bray
- Spieltheorie by Bernhard Nebel
- Accurate Democracy by Rob Loring
- Christoph Börgers (2009), Mathematics of Social Choice: Voting, Compensation, and Division, SIAM,
- Nicolaus Tideman (2006), Collective Decisions and Voting: The Potential for Public Choice, Burlington: Ashgate,
- preftools by the Public Software Group
- Arizonans for Condorcet Ranked Voting
- Condorcet PHP Command line application and PHP library, supporting multiple Condorcet methods, including Schulze.
- Implementation in Java
- Implementation in Ruby
- Implementation in Python 2
- Implementation in Python 3
Notes and References
- 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.
- Douglas R. Woodall, Properties of Preferential Election Rules, Voting Matters, issue 3, pages 8–15, December 1994
- Tideman, T. Nicolaus, "Independence of clones as a criterion for voting rules", Social Choice and Welfare vol 4 #3 (1987), pp. 185–206.
- See:
- Markus Schulze, Condorect sub-cycle rule, October 1997
- Mike Ossipoff, Party List P.S., July 1998
- Markus Schulze, Tiebreakers, Subcycle Rules, August 1998
- Markus Schulze, Maybe Schulze is decisive, August 1998
- Norman Petry, Schulze Method - Simpler Definition, September 1998
- Markus Schulze, Schulze Method, November 1998
- See:
- 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.
- Web site: 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 . 2022-09-24 . Hortanoticias.com . es.
- Web site: Silla . ~ El Cresol de . 2016-05-26 . Un any d'aprofundiment democràtic a Silla . 2022-09-24 . El Cresol de Silla . ca.
- See:
- Web site: Inför primärvalen . 8 October 2009 . sv . Before the primary elections . https://archive.ph/9mwG . 24 Dec 2012.
- Web site: Dags att kandidera till riksdagen . 17 October 2009 . sv . Time to run for the Riksdag . https://archive.ph/zAXP2 . 23 Jul 2014.
- Web site: Råresultat primärvalet . 19 January 2010 . sv . The raw result of the primary election . https://archive.ph/sVzh . 24 Dec 2012.
- 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.
- Web site: Chumich . Andrew . DSA Special Election . 2018-02-25.
- http://www.quotidianomolise.com/campobasso-comunali-scattano-le-primarie-a-5-stelle/ Campobasso. Comunali, scattano le primarie a 5 Stelle
- Web site: Macaro . Mirko . 2015-03-03 . Fondi, il punto sui candidati a sindaco. Certezze, novità e colpi di scena . 2022-09-24 . h24 notizie - portale indipendente di news dalla provincia . it-IT.
- article 25(5) of the bylaws, October 2013
- Web site: November 2013 . MoVimento 5 Stelle - Montemurlo: 2° Step Comunarie di Montemurlo . https://web.archive.org/web/20150402230827/http://www.montemurlo5stelle.net/2013/11/2-step-comunarie-di-montemurlo.html . 2015-04-02 . 2022-09-24 .
- article 12 of the bylaws, January 2015
- https://www.meetup.com/MoVimento-5-Stelle-San-Cesareo/events/166108572/ Ridefinizione della lista di San Cesareo con Metodo Schulze
- Web site: National Congress 2011 Results – Pirate Party Australia . 2022-09-24 . pirateparty.org.au . 18 November 2011 . en-US.
- §6(10) of the bylaws
- Article III.3.4 of the Statutory Rules (french, dutch)
- Web site: Píratar . 2013-10-23 . Schulze aðferðin . 2022-09-24 . Píratar . is.
- https://www.partito-pirata.it/statute/ Rules adopted on 18 December 2011
- Web site: Pontier . Matthijs . 2015-01-11 . Verslag ledenraadpleging 4 januari . 2022-09-24 . Piratenpartij Noord Holland . nl.
- Web site: Pankerl . Florian . 2010-09-18 . Piratenversammlung der Piratenpartei Schweiz 2010 – Samstag . 2022-09-24 . de.
- article IV section 3 of the bylaws, July 2012
- §10 III of its bylaws, June 2013
- Web site: Algunas consideraciones sobre en qué grupo estará Volt Europa en el Parlamento Europeo . Some considerations on which group Volt Europe will join in the European Parliament . https://archive.ph/vWFA4 . 13 Nov 2021 . . The Board of Directors of Volt Europe in Spain . es.
- Web site: Hajdu . Tekla . 2017-09-24 . The Schulze Method – Agora 101 . 2022-09-24 . The AEGEEan - AEGEE's online magazine - AEGEE-Europe . en-GB.
- https://db.cde-ev.de/doc/Realm_Assembly_Voting-Details.html Voting Details
- https://www.dg.ens.fr/documents/148/note_explicative.pdf Référendum sur la réforme du thurnage
- article 57 of the statutory rules
- Web site: User Voting Instructions . dead . https://web.archive.org/web/20130909055056/http://gso.cs.binghamton.edu/index.php/Voting . 2013-09-09 . 2010-05-08 . Gso.cs.binghamton.edu.
- Web site: Hillegass-Parker House Bylaws § 5. Elections . 4 October 2015 . Hillegass-Parker House website.
- See:
- article 9.4.5.h of the charter, November 2017
- http://www.northbynorthwestern.com/story/ajith-van-atta-win-asg-election/ Ajith, Van Atta win ASG election
- §6 and §7 of its bylaws, May 2014
- §6(6) of the bylaws
- https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_50cfc592ae8f13d9 Election of the Annodex Association committee for 2007
- §9a of the bylaws, October 2013
- 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
- article 7(e)(iii)(2) of the charter, May 2021
- Adam Helman, Family Affair Voting Scheme - Schulze Method
- https://github.com/dapr/community/blob/master/steering-and-technical-committee-charter.md Steering and Technical committee
- See:
- Web site: Guidance Document . Eudec.org . 2009-11-15 . 2010-05-08.
- http://article.gmane.org/gmane.comp.video.ffmpeg.devel/113026/match=%22schulze%20method%22+%22Cloneproof%20schwartz%20sequential%20droping%22+Condorcet Democratic election of the server admins
- http://wiki.freegeek.org/images/7/7a/Voters_guide.pdf Voters Guide
- [gentoo:Project:Elections#Condorcet_method_of_voting|Project:Elections]
- Web site: 2013-10-03 . CIVS Election Results: GnuPG Logo Vote . https://web.archive.org/web/20131003164018/http://logo-contest.gnupg.org/results.html . 2013-10-03 . 2022-09-24 .
- https://civs.cs.cornell.edu/cgi-bin/results.pl?num_winners=1&id=E_d21b0256a4fd5ed7&algorithm=beatpath Haskell Logo Competition
- https://github.com/Homebrew/brew/blob/30c80dec155df6cc8603e2b70966943723911d27/docs/Homebrew-Governance.md#6-project-leader Article 6 Section 2 of the Constitution
- section 9.4.7.3 of the Operating Procedures of the Address Council of the Address Supporting Organization (archived from source 2023-06-06)
- Web site: 2009-04-02 . A club by any other name... . 2022-09-24 . Kanawha Valley Scrabble Club.
- section 3.4.1 of the Rules of Procedures for Online Voting
- https://civic.mit.edu/2009/6/23/knight-foundation-awards-5000-to-best-created-on-the-spot-projects/ Knight Foundation awards $5000 to best created-on-the-spot projects
- Web site: Kumoricon – Mascot Contest . 2022-09-24 . Kumoricon.
- article 8.3 of the bylaws
- Book: The Principles of LiquidFeedback. Interaktive Demokratie e. V.. 978-3-00-044795-2. Berlin. 2014.
- Web site: Madisonium Bylaws - Adopted. Google Docs.
- Web site: Wahlmodus . de . Metalab.at . 2010-05-08.
- David Chandler, Voting for more than just either-or, MIT Tech Talk, volume 52, number 19, page 2, 12 March 2008
- See:
- Web site: 2009 Director Elections. noisebridge.net.
- Web site: Online Voting Policy. openembedded.org.
- https://github.com/onnx/onnx/blob/master/community/sc-election-guidelines.md ONNX Steering Committee election guideline
- Web site: OpenStack Election — OpenStack Governance . 2022-09-24 . governance.openstack.org.
- Web site: Mark . Atwood . May 25, 2016 . [Partners] text of OpenSwitch Project Charter 2016-05-03 ]. 2022-09-24.
- Web site: Committee Elections 2012 . 2022-09-24 . rllmuk . 10 April 2012 . en-GB.
- https://civs.cs.cornell.edu/cgi-bin/results.pl?num_winners=7&id=E_716d8c257e6cf36b&algorithm=beatpath Squeak Oversight Board Election 2010
- See:
- Web site: [IAEP] Election status update ]. 2022-09-24 . lists.sugarlabs.org.
- https://medlem.sverok.se/2019/01/18/vad-hande-pa-riksmotet-2018/ Minutes of the 2018 Annual Sverok Meeting
- Web site: 2007 TopCoder Collegiate Challenge . 2022-09-24 . community.topcoder.com.
- Web site: Bell . Alan . May 17, 2012 . Ubuntu IRC Council Position . 2022-09-24.
- Web site: /v/GAs - Pairwise voting results. vidyagaemawards.com.
- See:
- Web site: Pages liées à Méthode Schulze . 2022-09-24 . fr.wikipedia.org . fr.
- Web site: ויקיפדיה:פרלמנט/הכרעה. Wikipedia:Parliament/Decisionmaking. he.wikipedia.org. he.
- See e.g. here https://he.wikipedia.org/w/index.php?title=ויקיפדיה:פרלמנט&oldid=7014412 (May 2009), here https://he.wikipedia.org/w/index.php?title=ויקיפדיה:סדנה_לגרפיקה/סמליל&oldid=7388447 (August 2009), and here https://he.wikipedia.org/w/index.php?title=ויקיפדיה:סדנה_לגרפיקה/100,000/הצבעה&oldid=8057743 (December 2009).
- See here and here.
- Web site: http://y.kalan.cc/schulze. Result of Arbitration Committee Elections. ru:Девятнадцатые выборы арбитров, второй тур. kalan.cc. dead. https://web.archive.org/web/20150222225428/http://y.kalan.cc/schulze. 2015-02-22. ru.
- See [//fa.wikipedia.org/w/index.php?oldid=18462330 here]