Schulze method: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>MarkusSchulze
fixed link
 
imported>MarkusSchulze
fixed link
 
(2 intermediate revisions by 2 users not shown)
Line 8: Line 8:
The '''Schulze method''' ({{IPAc-en|ˈ|ʃ|ʊ|l|t|s|ə}}), also known as the '''beatpath method''', is a [[single winner]] [[Ranked voting|ranked-choice voting rule]] developed by Markus Schulze. The Schulze method is a [[Condorcet method|Condorcet completion method]], which means it will elect a [[majority-preferred 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 breaks [[Cyclic tie|cyclic ties]] by using indirect victories. The idea is that if [[Alice and Bob|Alice]] beats Bob, and Bob beats Charlie, then Alice (indirectly) beats Charlie; this kind of indirect win is called a "beatpath".
The '''Schulze method''' ({{IPAc-en|ˈ|ʃ|ʊ|l|t|s|ə}}), also known as the '''beatpath method''', is a [[single winner]] [[Ranked voting|ranked-choice voting rule]] developed by Markus Schulze. The Schulze method is a [[Condorcet method|Condorcet completion method]], which means it will elect a [[majority-preferred 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 breaks [[Cyclic tie|cyclic ties]] by using indirect victories. The idea is that if [[Alice and Bob|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 (operating system)|Ubuntu]], [[Gentoo Linux|Gentoo]], [[Pirate Party]] political parties and [[Schulze method#Usage|many others]]. It was also used by [[Wikimedia]] prior to their adoption of [[score voting]].
The Schulze method is used by several organizations including [[Debian]], [[Ubuntu (operating system)|Ubuntu]], [[Gentoo Linux|Gentoo]], [[Pirate Party]] political parties and [[Schulze method#Usage|many others]]. It was also used by [[Wikimedia]] prior to their adoption of [[score voting]].


== Description of the method ==
== Description of the method ==
Line 19: Line 19:
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, a beatpath is as strong as its weakest link (i.e. the beat with the smallest number of winning votes).
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, 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 strongest beatpaths to Alice. The winner is the candidate who has a beatpath-win over every other candidate.
We say Alice has a "beatpath-win" over Bob if her strongest beatpath to Bob is stronger than Bob's strongest beatpath to Alice (or if Bob has no beatpath to Alice). The winner is any candidate who is not beaten by any other candidate via a beatpath-win.


Markus Schulze proved that this definition of a beatpath-win is [[Transitive relation|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.<ref name="schulze201122">Markus Schulze, "[[doi:10.1007/s00355-010-0475-4|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.</ref>{{rp|§4.1}} As a result, the Schulze method is a [[Condorcet method]], providing a full extension of the [[majority rule]] to any set of ballots.
This definition of a beatpath-win is [[Transitive relation|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.<ref name="schulze201122">Markus Schulze, "[[doi:10.1007/s00355-010-0475-4|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.</ref>{{rp|§4.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 ===
=== Iterative description ===
Line 148: Line 148:


== Implementation ==
== 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.<syntaxhighlight line="" lang="text">
Computation of the strongest path strengths is the [[widest path problem]]. It is a variation of the [[all-pairs shortest path problem]] and it can be solved via a variant of the [[Floyd–Warshall algorithm]]. The following [[pseudocode]] illustrates the algorithm.<syntaxhighlight line="" lang="text">
# Input: d[i,j], the number of voters who prefer candidate i to candidate j.
# 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.
# Output: p[i,j], the strength of the strongest path from candidate i to candidate j.
Line 155: Line 155:
     for j from 1 to C
     for j from 1 to C
         if i ≠ j then
         if i ≠ j then
             if d[i,j] > d[j,i] then
             p[i,j] := d[i,j] - d[j,i]
                p[i,j] := d[i,j]
            else
                p[i,j] := 0


for i from 1 to C
for k from 1 to C
     for j from 1 to C
     for i from 1 to C
         if i ≠ j then
         if i ≠ k then
             for k from 1 to C
             for j from 1 to C
                 if i ≠ k and j ≠ k then
                 if j ≠ k and j ≠ i then
                     p[j,k] := max (p[j,k], min (p[j,i], p[i,k]))
                     p[i,j] := max (p[i,j], min (p[i,k], p[k,j]))
</syntaxhighlight>This algorithm is [[P (complexity)|efficient]] and has [[Time complexity|running time]] [[Big O notation|O(''C''<sup>3</sup>)]] where ''C'' is the number of candidates.
</syntaxhighlight>This algorithm is [[P (complexity)|efficient]] and has [[Time complexity|running time]] [[Big O notation|O(''C''<sup>3</sup>)]] where ''C'' is the number of candidates.


Line 314: Line 311:
* {{cite web |date=8 October 2009 |title=Inför primärvalen |trans-title=Before the primary elections |url=https://forum.piratpartiet.se/showthread.php?p=172218 |archive-url=https://archive.today/20121224194036/https://forum.piratpartiet.se/showthread.php?p=172218 |archive-date=24 December 2012 |language=sv}}
* {{cite web |date=8 October 2009 |title=Inför primärvalen |trans-title=Before the primary elections |url=https://forum.piratpartiet.se/showthread.php?p=172218 |archive-url=https://archive.today/20121224194036/https://forum.piratpartiet.se/showthread.php?p=172218 |archive-date=24 December 2012 |language=sv}}
* {{cite web |date=17 October 2009 |title=Dags att kandidera till riksdagen |trans-title=Time to run for the Riksdag |url=https://forum.piratpartiet.se/showthread.php?p=173792 |archive-url=https://archive.today/20140723081035/https://forum.piratpartiet.se/showthread.php?p=173792 |archive-date=23 July 2014 |language=sv}}
* {{cite web |date=17 October 2009 |title=Dags att kandidera till riksdagen |trans-title=Time to run for the Riksdag |url=https://forum.piratpartiet.se/showthread.php?p=173792 |archive-url=https://archive.today/20140723081035/https://forum.piratpartiet.se/showthread.php?p=173792 |archive-date=23 July 2014 |language=sv}}
* {{cite web |date=19 January 2010 |title=Råresultat primärvalet |trans-title=The raw result of the primary election |url=https://forum.piratpartiet.se/showthread.php?p=190840 |archive-url=https://archive.today/20121224195649/https://forum.piratpartiet.se/showthread.php?p=190840 |archive-date=24 December 2012 |language=sv}}</ref> and the [[Pirate Party Germany|Pirate Party of Germany]] (2010).<ref name="PiratePartyGermany2">11 of the 16 regional sections and the federal section of the [[Pirate Party Germany|Pirate Party of Germany]] are using [https://liquidfeedback.org/ LiquidFeedback] for unbinding internal opinion polls. In 2010/2011, the Pirate Parties of [[Neukölln]] ([http://wiki.piratenpartei.de/BE:Neuk%C3%B6lln/Gebietsversammlungen/2010.3/Protokoll link]), [[Mitte]] ([https://berlin.piratenpartei.de/innerparteiliches/kandidaten-der-piraten-in-mitte-aufgestellt/ link]), [[Steglitz-Zehlendorf]] ([http://wiki.piratenpartei.de/wiki/images/d/da/BE_Gebietsversammlung_Steglitz_Zehlendorf_2011_01_20_Protokoll.pdf link]), [[Lichtenberg, Berlin|Lichtenberg]] ([http://piraten-lichtenberg.de/2011/02/02/groser-schritt-in-richtung-wahl/ link]), and [[Tempelhof-Schöneberg]] ([http://wiki.piratenpartei.de/BE:Gebietsversammlungen/Tempelhof-Schoeneberg/Protokoll_2011.1 link]) adopted the Schulze method for its primaries. Furthermore, the Pirate Party of [[Berlin]] (in 2011) ([http://wiki.piratenpartei.de/BE:Parteitag/2011.1/Protokoll link]) and the Pirate Party of [[Regensburg]] (in 2012) ([http://wiki.piratenpartei.de/BY:Regensburg/Gr%C3%BCndung/Gesch%C3%A4ftsordnung#Anlage_A link]) adopted this method for their primaries.</ref> The [[Boise, Idaho]] chapter of the [[Democratic Socialists of America]] in February chose this method for their first special election held in March 2018.<ref name="Boise DSA2">{{Cite web |last=Chumich |first=Andrew |title=DSA Special Election |url=https://www.boisedsa.org/statements/yjmtibx8okazm7i7042c10tuld0gm5 |access-date=2018-02-25}}</ref>
* {{cite web |date=19 January 2010 |title=Råresultat primärvalet |trans-title=The raw result of the primary election |url=https://forum.piratpartiet.se/showthread.php?p=190840 |archive-url=https://archive.today/20121224195649/https://forum.piratpartiet.se/showthread.php?p=190840 |archive-date=24 December 2012 |language=sv}}</ref> and the [[Pirate Party Germany|Pirate Party of Germany]] (2010).<ref name="PiratePartyGermany2">11 of the 16 regional sections and the federal section of the [[Pirate Party Germany|Pirate Party of Germany]] are using [https://liquidfeedback.org/ LiquidFeedback] for unbinding internal opinion polls. In 2010/2011, the Pirate Parties of [[Neukölln]] ([http://wiki.piratenpartei.de/BE:Neuk%C3%B6lln/Gebietsversammlungen/2010.3/Protokoll link]), [[Mitte]] ([https://berlin.piratenpartei.de/innerparteiliches/kandidaten-der-piraten-in-mitte-aufgestellt/ link]), [[Steglitz-Zehlendorf]] ([http://wiki.piratenpartei.de/wiki/images/d/da/BE_Gebietsversammlung_Steglitz_Zehlendorf_2011_01_20_Protokoll.pdf link]), [[Lichtenberg, Berlin|Lichtenberg]] ([http://piraten-lichtenberg.de/2011/02/02/groser-schritt-in-richtung-wahl/ link]), and [[Tempelhof-Schöneberg]] ([http://wiki.piratenpartei.de/BE:Gebietsversammlungen/Tempelhof-Schoeneberg/Protokoll_2011.1 link]) adopted the Schulze method for its primaries. Furthermore, the Pirate Party of [[Berlin]] (in 2011) ([http://wiki.piratenpartei.de/BE:Parteitag/2011.1/Protokoll link]) and the Pirate Party of [[Regensburg]] (in 2012) ([http://wiki.piratenpartei.de/BY:Regensburg/Gr%C3%BCndung/Gesch%C3%A4ftsordnung#Anlage_A link]) adopted this method for their primaries.</ref> The [[Boise, Idaho]] chapter of the [[Democratic Socialists of America]] in February chose this method for their first special election held in March 2018.<ref name="Boise DSA2">article IV section 3 of the [https://docs.google.com/document/d/1FwzWJpL8kOr1wWvdA3XLD5NxxDlm1uWGFlPSxqAftZo/view bylaws]</ref>


* [[Five Star Movement]] of [[Campobasso]],<ref>[https://campobasso5stelle.it/candidato-sindaco-movimento-5-stelle-campobasso/ Noi, nel MoVimento, facciamo così], February 2014</ref> [[Fondi]],<ref>{{Cite web |last=Macaro |first=Mirko |date=2015-03-03 |title=Fondi, il punto sui candidati a sindaco. Certezze, novità e colpi di scena |url=https://www.h24notizie.com/2015/03/03/fondi-punto-sui-candidati-sindaco-certezze-novita-colpi-scena/ |access-date=2022-09-24 |website=h24 notizie - portale indipendente di news dalla provincia |language=it-IT}}</ref> [[Monte Compatri]],<ref>article 25(5) of the [http://www.5stellemontecompatri.it/wp-content/uploads/2013/11/REGOLAMENTO-M5S-Montecompatri1.doc bylaws], October 2013</ref> [[Montemurlo]],<ref>{{Cite web |date=November 2013 |title=MoVimento 5 Stelle - Montemurlo: 2° Step Comunarie di Montemurlo |url=http://www.montemurlo5stelle.net/2013/11/2-step-comunarie-di-montemurlo.html |archive-url=https://web.archive.org/web/20150402230827/http://www.montemurlo5stelle.net/2013/11/2-step-comunarie-di-montemurlo.html |archive-date=2015-04-02 |access-date=2022-09-24}}</ref> [[Pescara]],<ref>article 12 of the [http://movimento5stellepescara.it/wp-content/uploads/2015/02/Regolamento-m5S-pescara_rev.03_del_30_01_-2015.pdf bylaws], January 2015</ref> and [[San Cesareo]]<ref>[https://www.meetup.com/MoVimento-5-Stelle-San-Cesareo/events/166108572/ Ridefinizione della lista di San Cesareo con Metodo Schulze], February 2014</ref>
* [[Five Star Movement]] of [[Campobasso]],<ref>[https://campobasso5stelle.it/candidato-sindaco-movimento-5-stelle-campobasso/ Noi, nel MoVimento, facciamo così], February 2014</ref> [[Fondi]],<ref>{{Cite web |last=Macaro |first=Mirko |date=2015-03-03 |title=Fondi, il punto sui candidati a sindaco. Certezze, novità e colpi di scena |url=https://www.h24notizie.com/2015/03/03/fondi-punto-sui-candidati-sindaco-certezze-novita-colpi-scena/ |access-date=2022-09-24 |website=h24 notizie - portale indipendente di news dalla provincia |language=it-IT}}</ref> [[Monte Compatri]],<ref>article 25(5) of the [https://web.archive.org/web/20140221225515/http://www.5stellemontecompatri.it/wp-content/uploads/2013/11/REGOLAMENTO-M5S-Montecompatri1.doc bylaws], October 2013</ref> [[Montemurlo]],<ref>{{Cite web |date=November 2013 |title=MoVimento 5 Stelle - Montemurlo: 2° Step Comunarie di Montemurlo |url=http://www.montemurlo5stelle.net/2013/11/2-step-comunarie-di-montemurlo.html |archive-url=https://web.archive.org/web/20150402230827/http://www.montemurlo5stelle.net/2013/11/2-step-comunarie-di-montemurlo.html |archive-date=2015-04-02 |access-date=2022-09-24}}</ref> [[Pescara]],<ref>article 12 of the [https://web.archive.org/web/20150408072712/http://movimento5stellepescara.it/wp-content/uploads/2015/02/Regolamento-m5S-pescara_rev.03_del_30_01_-2015.pdf bylaws], January 2015</ref> and [[San Cesareo]]<ref>[https://web.archive.org/web/20150701030529/https://www.meetup.com/MoVimento-5-Stelle-San-Cesareo/events/166108572/ Ridefinizione della lista di San Cesareo con Metodo Schulze], February 2014</ref>
* [[Pirate Party|Pirate Parties]] of [[Pirate Party Australia|Australia]],<ref>{{Cite web |date=18 November 2011 |title=National Congress 2011 Results – Pirate Party Australia |url=https://pirateparty.org.au/2011/11/18/national-congress-2011-results/ |access-date=2022-09-24 |website=pirateparty.org.au |language=en-US}}</ref> [[Pirate Party of Austria|Austria]],<ref>§6(10) of the [http://wiki.piratenpartei.at/wiki/Satzung bylaws]</ref> [[Pirate Party (Belgium)|Belgium]],<ref>Article III.3.4 of the Statutory Rules ([https://wiki.pirateparty.be/images/9/9f/Ppbe-statutes-fr_be.pdf french], [https://wiki.pirateparty.be/images/e/e7/Ppbe-statutes-nl_be.pdf dutch])</ref> [[Pirate Party of Brazil|Brazil]], [[Pirate Party Germany|Germany]],<ref name="PiratePartyGermany2" /> [[Pirate Party (Iceland)|Iceland]],<ref>article 14.5 of the [https://log.piratar.is/modurfelag/log-pirata.html bylaws]</ref> [[Pirate Party (Italy)|Italy]],<ref>[https://www.partito-pirata.it/statute/ Rules adopted on 18 December 2011]</ref> [[Pirate Party of the Netherlands|the Netherlands]],<ref>{{Cite web |last=Pontier |first=Matthijs |date=2015-01-11 |title=Verslag ledenraadpleging 4 januari |url=https://noord-holland.piratenpartij.nl/711/ |access-date=2022-09-24 |website=Piratenpartij Noord Holland |language=nl}}</ref> [[Pirate Party of Sweden|Sweden]],<ref name="PiratePartySweden2" /> [[Pirate Party Switzerland|Switzerland]],<ref>{{Cite web |last=Pankerl |first=Florian |date=2010-09-18 |title=Piratenversammlung der Piratenpartei Schweiz 2010 – Samstag |url=https://blog.florian-pankerl.de/2010/piratenversammlung-der-piratenpartei-schweiz-2010-samstag/ |access-date=2022-09-24 |language=de}}</ref> and [[United States Pirate Party|the United States]]<ref>article IV section 3 of the [https://wiki.uspirates.org/w/index.php?title=Pirate_National_Committee_(PNC)/Bylaws bylaws], July 2012</ref>
* [[Pirate Party|Pirate Parties]] of [[Pirate Party Australia|Australia]],<ref>{{Cite web |date=18 November 2011 |title=National Congress 2011 Results – Pirate Party Australia |url=https://web.archive.org/web/20120227033121/https://pirateparty.org.au/2011/11/18/national-congress-2011-results/ |access-date=2022-09-24 |website=pirateparty.org.au |language=en-US}}</ref> [[Pirate Party of Austria|Austria]],<ref>§6(10) of the [http://wiki.piratenpartei.at/wiki/Satzung bylaws]</ref> [[Pirate Party (Belgium)|Belgium]],<ref>Article III.3.4 of the Statutory Rules ([https://wiki.pirateparty.be/images/9/9f/Ppbe-statutes-fr_be.pdf french], [https://wiki.pirateparty.be/images/e/e7/Ppbe-statutes-nl_be.pdf dutch])</ref> [[Pirate Party of Brazil|Brazil]], [[Pirate Party Germany|Germany]],<ref name="PiratePartyGermany2" /> [[Pirate Party (Iceland)|Iceland]],<ref>article 14.5 of the [https://log.piratar.is/modurfelag/log-pirata.html bylaws]</ref> [[Pirate Party (Italy)|Italy]],<ref>[https://www.partito-pirata.it/statute/ Rules adopted on 18 December 2011]</ref> [[Pirate Party of the Netherlands|the Netherlands]],<ref>{{Cite web |last=Pontier |first=Matthijs |date=2015-01-11 |title=Verslag ledenraadpleging 4 januari |url=https://noord-holland.piratenpartij.nl/711/ |access-date=2022-09-24 |website=Piratenpartij Noord Holland |language=nl}}</ref> [[Pirate Party of Sweden|Sweden]],<ref name="PiratePartySweden2" /> [[Pirate Party Switzerland|Switzerland]],<ref>{{Cite web |last=Pankerl |first=Florian |date=2010-09-18 |title=Piratenversammlung der Piratenpartei Schweiz 2010 – Samstag |url=https://blog.florian-pankerl.de/2010/piratenversammlung-der-piratenpartei-schweiz-2010-samstag/ |access-date=2022-09-24 |language=de}}</ref> and [[United States Pirate Party|the United States]]<ref>article IV section 3 of the [https://wiki.uspirates.org/w/index.php?title=Pirate_National_Committee_(PNC)/Bylaws bylaws], July 2012</ref>
* SustainableUnion<ref>§10 III of its [http://sustainableunion.yolasite.com/resources/130614_Satzung_sud_fBayern.pdf bylaws], June 2013</ref>
* SustainableUnion<ref>§10 III of its [http://sustainableunion.yolasite.com/resources/130614_Satzung_sud_fBayern.pdf bylaws], June 2013</ref>
* [[Volt Europe]]<ref>{{cite web |author=The Board of Directors of Volt Europe in Spain |title=Algunas consideraciones sobre en qué grupo estará Volt Europa en el Parlamento Europeo |trans-title=Some considerations on which group Volt Europe will join in the European Parliament |url=https://medium.com/volt-espa%C3%B1a/algunas-consideraciones-sobre-en-qu%C3%A9-grupo-estar%C3%A1-volt-europa-en-el-parlamento-europeo-b10b7431d947 |archive-url=https://archive.today/20240820145337/https://web.archive.org/web/20211113112113/https://medium.com/volt-espa%C3%B1a/algunas-consideraciones-sobre-en-qu%C3%A9-grupo-estar%C3%A1-volt-europa-en-el-parlamento-europeo-b10b7431d947 |archive-date=20 August 2024 |website=[[Medium (website)|Medium]] |language=es}}</ref>
* [[Volt Europe]]<ref>{{cite web |author=The Board of Directors of Volt Europe in Spain |title=Algunas consideraciones sobre en qué grupo estará Volt Europa en el Parlamento Europeo |trans-title=Some considerations on which group Volt Europe will join in the European Parliament |url=https://medium.com/volt-espa%C3%B1a/algunas-consideraciones-sobre-en-qu%C3%A9-grupo-estar%C3%A1-volt-europa-en-el-parlamento-europeo-b10b7431d947 |archive-url=https://archive.today/20240820145337/https://web.archive.org/web/20211113112113/https://medium.com/volt-espa%C3%B1a/algunas-consideraciones-sobre-en-qu%C3%A9-grupo-estar%C3%A1-volt-europa-en-el-parlamento-europeo-b10b7431d947 |archive-date=20 August 2024 |website=[[Medium (website)|Medium]] |language=es}}</ref>
Line 334: Line 331:
* Ka-Ping Yee, [https://zestyping.livejournal.com/102718.html Condorcet elections], March 2005
* Ka-Ping Yee, [https://zestyping.livejournal.com/102718.html Condorcet elections], March 2005
* Ka-Ping Yee, [https://zestyping.livejournal.com/111588.html Kingman adopts Condorcet voting], April 2005</ref>
* Ka-Ping Yee, [https://zestyping.livejournal.com/111588.html Kingman adopts Condorcet voting], April 2005</ref>
* Associated Students of [[Minerva University|Minerva Schools at KGI]]<ref>article 9.4.5.h of the [https://associatedstudents.minerva.community/wp-content/uploads/2017/11/ASM-Charter-November-2017.pdf charter], November 2017</ref>
* Associated Students of [[Minerva University|Minerva Schools at KGI]]<ref>article 9.4.5.h of the [https://associatedstudents.minerva.community/wp-content/uploads/2017/11/ASM-Charter-November-2017.pdf charter] {{Webarchive|url=https://web.archive.org/web/20220419114023/https://associatedstudents.minerva.community/wp-content/uploads/2017/11/ASM-Charter-November-2017.pdf |date=2022-04-19 }}, November 2017</ref>
* Associated Student Government at [[Northwestern University]]<ref>[http://www.northbynorthwestern.com/story/ajith-van-atta-win-asg-election/ Ajith, Van Atta win ASG election], April 2013</ref>
* Associated Student Government at [[Northwestern University]]<ref>[https://web.archive.org/web/20160601183414/http://www.northbynorthwestern.com/story/ajith-van-atta-win-asg-election/ Ajith, Van Atta win ASG election], April 2013</ref>
* Associated Student Government at [[University of Freiburg]]<ref>§6 and §7 of its [https://www.stura.uni-freiburg.de/gremien/studierendenrat/go/at_download/file/Stura-GO_Stand_06_06_2019.pdf bylaws], June 2019</ref>
* Associated Student Government at [[University of Freiburg]]<ref>§6 and §7 of its [https://web.archive.org/web/20250608044834/https:/www.stura.uni-freiburg.de/gremien/studierendenrat/go/at_download/file/Stura-GO_Stand_06_06_2019.pdf bylaws], June 2019</ref>
* Associated Student Government at the Computer Sciences Department of the [[University of Kaiserslautern-Landau]]<ref>§6(6) of the [https://www.fachschaft.informatik.uni-kl.de/assets/documents/go.pdf bylaws]</ref>
* Associated Student Government at the Computer Sciences Department of the [[University of Kaiserslautern-Landau]]<ref>§6(6) of the [https://web.archive.org/web/20250901081357/https:/www.fachschaft.informatik.uni-kl.de/assets/documents/go.pdf bylaws]</ref>


=== Organizations ===
=== Organizations ===
Line 345: Line 342:
{{div col|colwidth=30em}}
{{div col|colwidth=30em}}
* [[Annodex|Annodex Association]]<ref>[https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_50cfc592ae8f13d9 Election of the Annodex Association committee for 2007], February 2007</ref>
* [[Annodex|Annodex Association]]<ref>[https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_50cfc592ae8f13d9 Election of the Annodex Association committee for 2007], February 2007</ref>
* {{ill|Berufsverband der Kinder- und Jugendärzte|de}} (BVKJ)<ref>§9a of the [https://www.bvkj.de/mitgliedschaft/satzung bylaws], October 2013</ref>
* {{ill|Berufsverband der Kinder- und Jugendärzte|de}} (BVKJ)<ref>§9a of the [https://web.archive.org/web/20211109123246/https://www.bvkj.de/mitgliedschaft/satzung bylaws], October 2013</ref>
* [[BoardGameGeek]]<ref>See:
* [[BoardGameGeek]]<ref>See:
* 2013 Golden Geek Awards - Nominations Open, January 2014
* 2013 Golden Geek Awards - Nominations Open, January 2014
Line 371: Line 368:
* [[Homebrew (package manager)|Homebrew]]<ref>[https://github.com/Homebrew/brew/blob/30c80dec155df6cc8603e2b70966943723911d27/docs/Homebrew-Governance.md#6-project-leader Article 6 Section 2 of the Constitution], February 2021</ref>
* [[Homebrew (package manager)|Homebrew]]<ref>[https://github.com/Homebrew/brew/blob/30c80dec155df6cc8603e2b70966943723911d27/docs/Homebrew-Governance.md#6-project-leader Article 6 Section 2 of the Constitution], February 2021</ref>
* [[ICANN|Internet Corporation for Assigned Names and Numbers]] (ICANN) (until 2023)<ref>section 9.4.7.3 of the [https://web.archive.org/web/20230606191239/https://aso.icann.org/documents/operational-documents/operating-procedures-of-the-address-council-of-the-address-supporting-organization/ Operating Procedures of the Address Council of the Address Supporting Organization] (archived from [https://aso.icann.org/documents/operational-documents/operating-procedures-of-the-address-council-of-the-address-supporting-organization/#A_7.2.3._Ranked_Choice_Instant_Runoff source] 2023-06-06)</ref>
* [[ICANN|Internet Corporation for Assigned Names and Numbers]] (ICANN) (until 2023)<ref>section 9.4.7.3 of the [https://web.archive.org/web/20230606191239/https://aso.icann.org/documents/operational-documents/operating-procedures-of-the-address-council-of-the-address-supporting-organization/ Operating Procedures of the Address Council of the Address Supporting Organization] (archived from [https://aso.icann.org/documents/operational-documents/operating-procedures-of-the-address-council-of-the-address-supporting-organization/#A_7.2.3._Ranked_Choice_Instant_Runoff source] 2023-06-06)</ref>
*  Kanawha Valley Scrabble Club<ref>{{Cite web |date=2009-04-02 |title=A club by any other name... |url=http://wvscrabble.blogspot.com/2009/04/club-by-any-other-name.html |access-date=2022-09-24 |website=Kanawha Valley Scrabble Club}}</ref>
*  Kanawha Valley Scrabble Club<ref>{{Cite web |date=2009-04-02 |title=A club by any other name... |url=https://wvscrabble.blogspot.com/2009/04/club-by-any-other-name.html |access-date=2022-09-24 |website=Kanawha Valley Scrabble Club}}</ref>
* [[KDE e.V.]]<ref name="KDE">section 3.4.1 of the [https://ev.kde.org/rules/online_voting.php Rules of Procedures for Online Voting]</ref>
* [[KDE e.V.]]<ref name="KDE">section 3.4.1 of the [https://ev.kde.org/rules/online_voting.php Rules of Procedures for Online Voting]</ref>
* [[John S. and James L. Knight Foundation|Knight Foundation]]<ref>[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], June 2009</ref>
* [[John S. and James L. Knight Foundation|Knight Foundation]]<ref>[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] {{Webarchive|url=https://web.archive.org/web/20220420055655/https://civic.mit.edu/2009/6/23/knight-foundation-awards-5000-to-best-created-on-the-spot-projects/ |date=2022-04-20 }}, June 2009</ref>
* [[Kubernetes]]<ref>{{Citation |title=Kubernetes Community |date=2022-09-24 |url=https://github.com/kubernetes/community/blob/dd18326394391b67662e9e062d8f3321a776f4dd/committee-code-of-conduct/election.md |publisher=Kubernetes |access-date=2022-09-24}}</ref>
* [[Kubernetes]]<ref>{{Citation |title=Kubernetes Community |date=2022-09-24 |url=https://github.com/kubernetes/community/blob/dd18326394391b67662e9e062d8f3321a776f4dd/committee-code-of-conduct/election.md |publisher=Kubernetes |access-date=2022-09-24}}</ref>
* [[Kumoricon]]<ref>{{Cite web |title=Kumoricon – Mascot Contest |url=https://www.kumoricon.org/ |access-date=2022-09-24 |website=Kumoricon}}</ref>
* [[Kumoricon]]<ref>{{Cite web |title=Kumoricon – Mascot Contest |url=https://www.kumoricon.org/ |access-date=2022-09-24 |website=Kumoricon}}</ref>
Line 392: Line 389:
* Hinweise zur Stimmabgabe, March 2010
* Hinweise zur Stimmabgabe, March 2010
* Ergebnisse, March 2010</ref>
* Ergebnisse, March 2010</ref>
* [[Noisebridge]]<ref>{{cite web|url=https://www.noisebridge.net/index.php?title=2009_Director_Elections&oldid=8951|title=2009 Director Elections|work=noisebridge.net}}</ref>
* [[Noisebridge]]<ref>{{cite web|url=https://web.archive.org/web/20110723230522/https://www.noisebridge.net/index.php?title=2009_Director_Elections&oldid=8951|title=2009 Director Elections|work=noisebridge.net}}</ref>
* [[OpenEmbedded]]<ref>{{cite web|url=http://www.openembedded.org/wiki/Online_Voting_Policy|title=Online Voting Policy|work=openembedded.org}}</ref>
* [[OpenEmbedded]]<ref>{{cite web|url=http://www.openembedded.org/wiki/Online_Voting_Policy|title=Online Voting Policy|work=openembedded.org}}</ref>
* [[Open Neural Network Exchange]]<ref>[https://github.com/onnx/onnx/blob/master/community/sc-election-guidelines.md ONNX Steering Committee election guideline]</ref>
* [[Open Neural Network Exchange]]<ref>[https://github.com/onnx/onnx/blob/master/community/sc-election-guidelines.md ONNX Steering Committee election guideline]</ref>
* [[OpenStack]]<ref>{{Cite web |title=OpenStack Election — OpenStack Governance |url=https://governance.openstack.org/election/#election-system |access-date=2022-09-24 |website=governance.openstack.org}}</ref>
* [[OpenStack]]<ref>{{Cite web |title=OpenStack Election — OpenStack Governance |url=https://governance.openstack.org/election/#election-system |access-date=2022-09-24 |website=governance.openstack.org}}</ref>
* OpenSwitch<ref>{{Cite web |last=Mark |first=Atwood |date=May 25, 2016 |title=[Partners] text of OpenSwitch Project Charter 2016-05-03 |url=https://lists.linuxfoundation.org/pipermail/ops-partners/2016-May/000030.html |access-date=2022-09-24}}</ref>
* OpenSwitch<ref>{{Cite web |last=Mark |first=Atwood |date=May 25, 2016 |title=[Partners] text of OpenSwitch Project Charter 2016-05-03 |url=https://web.archive.org/web/20211111192934/https:/lists.linuxfoundation.org/pipermail/ops-partners/2016-May/000030.html |access-date=2022-09-24}}</ref>
* [[RLLMUK]]<ref>{{Cite web |title=Committee Elections 2012 |url=https://www.rllmukforum.com/index.php?/topic/260622-committee-elections-2012/ |access-date=2022-09-24 |website=rllmuk |date=10 April 2012 |language=en-GB}}</ref>
* [[RLLMUK]]<ref>{{Cite web |title=Committee Elections 2012 |url=https://www.rllmukforum.com/index.php?/topic/260622-committee-elections-2012/ |access-date=2022-09-24 |website=rllmuk |date=10 April 2012 |language=en-GB}}</ref>
* [[Squeak]]<ref>[https://civs.cs.cornell.edu/cgi-bin/results.pl?num_winners=7&id=E_716d8c257e6cf36b&algorithm=beatpath Squeak Oversight Board Election 2010], March 2010</ref>
* [[Squeak]]<ref>[https://civs.cs.cornell.edu/cgi-bin/results.pl?num_winners=7&id=E_716d8c257e6cf36b&algorithm=beatpath Squeak Oversight Board Election 2010], March 2010</ref>
Line 403: Line 400:
* [https://blog.selectricity.org/2008/02/15/free-culture-student-board-elected-using-selectricity/ Free Culture Student Board Elected Using Selectricity], February 2008</ref>
* [https://blog.selectricity.org/2008/02/15/free-culture-student-board-elected-using-selectricity/ Free Culture Student Board Elected Using Selectricity], February 2008</ref>
* [[Sugar Labs]]<ref>{{Cite web |title=[IAEP] Election status update |url=http://lists.sugarlabs.org/archive/iaep/2009-September/008620.html |access-date=2022-09-24 |website=lists.sugarlabs.org}}</ref>
* [[Sugar Labs]]<ref>{{Cite web |title=[IAEP] Election status update |url=http://lists.sugarlabs.org/archive/iaep/2009-September/008620.html |access-date=2022-09-24 |website=lists.sugarlabs.org}}</ref>
* [[Sverok]]<ref>[https://medlem.sverok.se/2019/01/18/vad-hande-pa-riksmotet-2018/ Minutes of the 2018 Annual Sverok Meeting], November 2018</ref>
* [[Sverok]]<ref>[https://medlem.sverok.se/2019/01/18/vad-hande-pa-riksmotet-2018/ Minutes of the 2018 Annual Sverok Meeting] {{Webarchive|url=https://web.archive.org/web/20220709083911/https://medlem.sverok.se/2019/01/18/vad-hande-pa-riksmotet-2018/ |date=2022-07-09 }}, November 2018</ref>
* [[TopCoder]]<ref name="TopCoder">
* [[TopCoder]]<ref name="TopCoder">
{{Cite web |title=2007 TopCoder Collegiate Challenge |url=https://community.topcoder.com/tc?module=Static&d1=tournaments&d2=tccc07&d3=blog&d4=description |access-date=2022-09-24 |website=community.topcoder.com}}</ref>
{{Cite web |title=2007 TopCoder Collegiate Challenge |url=https://web.archive.org/web/20140410132914/https://community.topcoder.com/tc?module=Static&d1=tournaments&d2=tccc07&d3=blog&d4=description |access-date=2022-09-24 |website=community.topcoder.com}}</ref>
* [[Ubuntu (operating system)|Ubuntu]]<ref>{{Cite web |last=Bell |first=Alan |date=May 17, 2012 |title=Ubuntu IRC Council Position |url=https://lists.ubuntu.com/archives/ubuntu-irc/2012-May/001538.html |access-date=2022-09-24}}</ref>
* [[Ubuntu (operating system)|Ubuntu]]<ref>{{Cite web |last=Bell |first=Alan |date=May 17, 2012 |title=Ubuntu IRC Council Position |url=https://lists.ubuntu.com/archives/ubuntu-irc/2012-May/001538.html |access-date=2022-09-24}}</ref>
* [[Vidya Gaem Awards]]<ref>{{cite web|url=https://2012.vidyagaemawards.com/voting/results/pairwise|title=/v/GAs - Pairwise voting results|work=vidyagaemawards.com}}</ref>
* [[Vidya Gaem Awards]]<ref>{{cite web|url=https://2012.vidyagaemawards.com/voting/results/pairwise|title=/v/GAs - Pairwise voting results|work=vidyagaemawards.com}}</ref>

Latest revision as of 15:44, 13 November 2025

Template:Short description Script error: No such module "Sidebar". The Schulze method (Template:IPAc-en), also known as the beatpath method, is a single winner ranked-choice voting rule developed by Markus Schulze. The Schulze method is a Condorcet completion method, which means it will elect a majority-preferred 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 breaks 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".

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

File:Preferential ballot.svg
A sample ballot asking voters to order candidates by preference

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. These chained sequences of "beats" are called 'beatpaths'.

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, 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 Bob's strongest beatpath to Alice (or if Bob has no beatpath to Alice). The winner is any candidate who is not beaten by any other candidate via a beatpath-win.

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]Template:Rp 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:

  1. Draw a directed graph with 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 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 Template:Mvar and Template:Mvar pairwise, there are 5+5+3+7=20Script error: No such module "Check for unknown parameters". voters who prefer Template:Mvar to Template:Mvar, and 8+2+7+8=25Script error: No such module "Check for unknown parameters". voters who prefer Template:Mvar to Template:Mvar. So d[A,B]=20 and d[B,A]=25. The full set of pairwise preferences is:

File:Schulze method example1.svg
Directed graph labeled with pairwise preferences d[*, *]
Matrix of pairwise preferences
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 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
Template:Diagonal split header A B C D E
A
File:Schulze method example1 AB.svg
A-(30)-D-(28)-C-(29)-B
File:Schulze method example1 AC.svg
A-(30)-D-(28)-C
File:Schulze method example1 AD.svg
A-(30)-D
File:Schulze method example1 AE.svg
A-(30)-D-(28)-C-(24)-E
A
B
File:Schulze method example1 BA.svg
B-(25)-A
File:Schulze method example1 BC.svg
B-(33)-D-(28)-C
File:Schulze method example1 BD.svg
B-(33)-D
File:Schulze method example1 BE.svg
B-(33)-D-(28)-C-(24)-E
B
C
File:Schulze method example1 CA.svg
C-(29)-B-(25)-A
File:Schulze method example1 CB.svg
C-(29)-B
File:Schulze method example1 CD.svg
C-(29)-B-(33)-D
File:Schulze method example1 CE.svg
C-(24)-E
C
D
File:Schulze method example1 DA.svg
D-(28)-C-(29)-B-(25)-A
File:Schulze method example1 DB.svg
D-(28)-C-(29)-B
File:Schulze method example1 DC.svg
D-(28)-C
File:Schulze method example1 DE.svg
D-(28)-C-(24)-E
D
E
File:Schulze method example1 EA.svg
E-(31)-D-(28)-C-(29)-B-(25)-A
File:Schulze method example1 EB.svg
E-(31)-D-(28)-C-(29)-B
File:Schulze method example1 EC.svg
E-(31)-D-(28)-C
File:Schulze method example1 ED.svg
E-(31)-D
E
A B C D E Template:Diagonal split header
Strengths of the strongest paths
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

Now the output of the Schulze method can be determined. For example, when comparing Template:Mvar and Template:Mvar, since (28=)p[A,B]>p[B,A](=25), for the Schulze method candidate Template:Mvar is better than candidate Template:Mvar. Another example is that (31=)p[E,D]>p[D,E](=24), so candidate E is better than candidate D. Continuing in this way, the result is that the Schulze ranking is E>A>C>B>D, and Template:Mvar wins. In other words, Template:Mvar wins since p[E,X]p[X,E] for every other candidate X.

Implementation

Computation of the strongest path strengths is the widest path problem. It is a variation of the all-pairs shortest path problem and it can be solved via 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
            p[i,j] := d[i,j] - d[j,i]

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

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.[2]

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

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.

  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

Satisfied criteria

The Schulze method satisfies the following criteria:

<templatestyles src="Div col/styles.css"/>

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 independence of irrelevant alternatives, meaning it can be vulnerable to the spoiler effect in some rare circumstances. 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: Template:Comparison of Schulze to preferential voting systems

Difference from ranked pairs

Ranked pairs is another Condorcet method which is very similar to Schulze's rule, and typically produces the same outcome. There are slight differences, however. The main difference between the beatpath method and ranked pairs is that Schulze retains behavior closer to minimax. Say that the minimax 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 the winner is always a candidate of the set with minimum minimax score.[2]Template:Rp This is the sense in which 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.[5] 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[6] and in 2000.[7] In 2011, Schulze published the method in the academic journal Social Choice and Welfare.[2]

Usage

File:Voting2.png
Sample ballot for Wikimedia's Board of Trustees elections

Government

The Schulze method is used by the city of Silla, Spain for all referendums.[8][9][10][11] It is also used by the cities of Turin and San Donà di Piave in Italy and by the London Borough of Southwark through their use of the WeGovNow platform, which in turn uses the LiquidFeedback decision tool.[12][13]

Political parties

Schulze was adopted by the Pirate Party of Sweden (2009),[14] and the Pirate Party of Germany (2010).[15] The Boise, Idaho chapter of the Democratic Socialists of America in February chose this method for their first special election held in March 2018.[16]

Student government and associations

Organizations

It is used by the Institute of Electrical and Electronics Engineers, by the Association for Computing Machinery, and by USENIXScript error: No such module "Unsubst". through their use of the HotCRP decision tool.Template:Technical inline

Organizations which currently use the Schulze method include:

<templatestyles src="Div col/styles.css"/>

Generalizations

In 2008, Camps et. al devised a method that, while ranking candidates in the same order of finish as Schulze, also provides ratings indicating the candidates' relative strength of victory.[90]

Notes

  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 in Voting Matters, 17:9-19, 2003.
  2. a b c d e 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.
  3. a b c d e f g h i 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.
  4. a b c Douglas R. Woodall, Properties of Preferential Election Rules, Voting Matters, issue 3, pages 8–15, December 1994
  5. Tideman, T. Nicolaus, "Independence of clones as a criterion for voting rules", Social Choice and Welfare vol 4 #3 (1987), pp. 185–206.
  6. See:
  7. See:
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "citation/CS1".
  12. Script error: No such module "citation/CS1".
  13. Script error: No such module "citation/CS1".
  14. a b See:
    • Script error: No such module "citation/CS1".
    • Script error: No such module "citation/CS1".
    • Script error: No such module "citation/CS1".
  15. 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.
  16. article IV section 3 of the bylaws
  17. Noi, nel MoVimento, facciamo così, February 2014
  18. Script error: No such module "citation/CS1".
  19. article 25(5) of the bylaws, October 2013
  20. Script error: No such module "citation/CS1".
  21. article 12 of the bylaws, January 2015
  22. Ridefinizione della lista di San Cesareo con Metodo Schulze, February 2014
  23. Script error: No such module "citation/CS1".
  24. §6(10) of the bylaws
  25. Article III.3.4 of the Statutory Rules (french, dutch)
  26. article 14.5 of the bylaws
  27. Rules adopted on 18 December 2011
  28. Script error: No such module "citation/CS1".
  29. Script error: No such module "citation/CS1".
  30. article IV section 3 of the bylaws, July 2012
  31. §10 III of its bylaws, June 2013
  32. Script error: No such module "citation/CS1".
  33. Script error: No such module "citation/CS1".
  34. Voting Details, January 2021
  35. Référendum sur la réforme du thurnage, June 2021
  36. article 57 of the statutory rules
  37. Script error: No such module "citation/CS1".
  38. Script error: No such module "citation/CS1".
  39. See:
    • Konglig Datasektionen KTH
  40. article 9.4.5.h of the charter Template:Webarchive, November 2017
  41. Ajith, Van Atta win ASG election, April 2013
  42. §6 and §7 of its bylaws, June 2019
  43. §6(6) of the bylaws
  44. Election of the Annodex Association committee for 2007, February 2007
  45. §9a of the bylaws, October 2013
  46. 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
  47. article 7(e)(iii)(2) of the charter, September 2023
  48. Adam Helman, Family Affair Voting Scheme - Schulze Method
  49. Steering and Technical committee, November 2021
  50. See:
  51. Script error: No such module "citation/CS1".
  52. Democratic election of the server admins Template:Webarchive, July 2010
  53. Voters Guide, September 2011
  54. Project:Elections
  55. Script error: No such module "citation/CS1".
  56. Haskell Logo Competition, March 2009
  57. Article 6 Section 2 of the Constitution, February 2021
  58. section 9.4.7.3 of the Operating Procedures of the Address Council of the Address Supporting Organization (archived from source 2023-06-06)
  59. Script error: No such module "citation/CS1".
  60. section 3.4.1 of the Rules of Procedures for Online Voting
  61. Knight Foundation awards $5000 to best created-on-the-spot projects Template:Webarchive, June 2009
  62. Script error: No such module "citation/CS1".
  63. Script error: No such module "citation/CS1".
  64. article 8.3 of the bylaws
  65. Script error: No such module "citation/CS1".
  66. Script error: No such module "citation/CS1".
  67. Script error: No such module "citation/CS1".
  68. David Chandler, Voting for more than just either-or, MIT Tech Talk, volume 52, number 19, page 2, 12 March 2008
  69. See:
  70. Script error: No such module "citation/CS1".
  71. Script error: No such module "citation/CS1".
  72. ONNX Steering Committee election guideline
  73. Script error: No such module "citation/CS1".
  74. Script error: No such module "citation/CS1".
  75. Script error: No such module "citation/CS1".
  76. Squeak Oversight Board Election 2010, March 2010
  77. See:
  78. Script error: No such module "citation/CS1".
  79. Minutes of the 2018 Annual Sverok Meeting Template:Webarchive, November 2018
  80. Script error: No such module "citation/CS1".
  81. Script error: No such module "citation/CS1".
  82. Script error: No such module "citation/CS1".
  83. See:
  84. Script error: No such module "citation/CS1".
  85. Script error: No such module "citation/CS1".
  86. See e.g. here [1] (May 2009), here [2] (August 2009), and here [3] (December 2009).
  87. See here and here.
  88. Script error: No such module "citation/CS1".
  89. See here
  90. Script error: No such module "citation/CS1".

External links

Template:Sister project

Template:Voting systems