Software: Difference between revisions
Content deleted Content added
added Paretoman's thing.... |
|||
(14 intermediate revisions by 5 users not shown) | |||
Line 18: | Line 18: | ||
* https://www.howtofixtheelection.com/ |
* https://www.howtofixtheelection.com/ |
||
* See also: [[:Category:Voting software]] |
* See also: [[:Category:Voting software]] |
||
== By software == |
|||
Other links for software for calculation, analysis, simulation, etc. of voting methods and elections |
|||
=== Local execution & Library === |
|||
* [[Condorcet PHP]]: Command-line application and PHP library natively including dozens of methods under a single interface. And a modular framework for implementing more. |
|||
* JavaScript library ''votes'': Includes more than 16 voting systems. [https://www.npmjs.com/package/votes NPM], [https://github.com/lzear/votes GitHub], [https://rank-votes.vercel.app demo]. |
|||
=== Online election calculators === |
|||
:''see also: [[online poll]]'' |
|||
These sites calculate the winner from a listing of ballots: |
|||
*[https://www.condorcet.vote Condorcet.Vote] |
|||
**Free online tool the supports text-based ballot entry and public polling. Calculates the following methods: |
|||
***[[Schulze method|Schulze]] |
|||
***[[Ranked Pairs]] |
|||
***[[Kemeny–Young method|Kemeny-Young]] |
|||
***[[Copeland's method|Copeland]] |
|||
***[[Minmax]] |
|||
***[[Dodgson's method|Dodgson]] |
|||
***[[Borda count|Borda]] |
|||
***[[Dowdall method|Dowdall]] |
|||
***[[Plurality|Choose One]] |
|||
***[[Instant-runoff voting|Ranked Choice]] |
|||
*[https://web.archive.org/web/20050407202015/http://www.eskimo.com:80/~robla/politics/condorcet-front.html Pairwise Methods Demonstration] by [[User:RobLa/RobLaWiki|RobLa]] |
|||
**Calculates the Condorcet, Copeland, and Smith winners, but runs slowly because it's only available archived. |
|||
*[http://www.cs.angelo.edu/~rlegrand/rbvote/calc.html Ranked-ballot voting calculator], inspired by RobLa's Pairwise Methods Demonstration |
|||
**Supports text-based ballot entry. Calculates the following methods: |
|||
***[[Baldwin's method|Baldwin]] |
|||
***[[Black's method|Black]] |
|||
***Borda |
|||
***[[Bucklin voting|Bucklin]] |
|||
***[[Carey]] |
|||
***[[Coombs' method|Coombs]] |
|||
***Copeland |
|||
***Dodgson |
|||
***Hare (Ranked Choice) |
|||
***[[Nanson's method|Nanson]] |
|||
***[[Raynaud]] |
|||
***Schulze |
|||
***Simpson (Minmax) |
|||
***Small (iterated Copeland) |
|||
***Tideman (Ranked Pairs) |
|||
*[http://www.ericgorr.net/condorcet/ Eric Gorr’s Condorcet Matrix], inspired by the Ranked-ballot voting calculator. |
|||
**Supports text-based ballot entry. Calculates the following methods: |
|||
***Condorcet (Iteratively eliminates the candidate with the weakest defeat) |
|||
***Beatpath winner |
|||
***Ranked Pairs |
|||
***Ranked Choice (with a handful of fine tuning options) |
|||
*https://rangevoting.org/VoteCalc.html |
|||
**Uses [https://rangevoting.org/IEVS/IEVS.c IEVS] to calculate winners with over 60 different methods. |
|||
**Supports text-based ballot entry, including rated ballots and ranked ballot with approval thresholds. |
|||
*[http://distributedvote.altervista.org/proResult/home.html DistributedVote] |
|||
**Archived and no longer available. |
|||
*[https://star.vote star.vote] |
|||
**Simple tool for public and private polling using [[STAR Voting]]. |
|||
*[https://www.starvoting.org/elections Assortment of STAR Voting polling tools] |
|||
**Includes star.vote, a Google Forms add-on, and a Google Sheet. |
|||
*[https://docs.google.com/spreadsheets/d/1osdum2GSywr6NWRhrLI1KMNKyD5fIquO9UOp9uondiw Sass' STAR Voting Calculator] ([https://bit.ly/STAR-Calculator bit.ly/STAR-Calculator]) |
|||
**A Google Sheet that calculates STAR Voting elections using cell formulas. |
|||
**Supports ballot entry in the form of values in cells. |
|||
**Formats ballot sets is SASS-C notation. |
|||
*[https://docs.google.com/spreadsheets/d/1eGAfKdugI2oRtL-rBx2h1PefBrowQO-6DikmGDIHGOw Sass' Ranked Robin Calculator] ([https://bit.ly/robin-calc bit.ly/robin-calc]) |
|||
**A Google Sheet that calculates [[Ranked Robin]] elections using cell formulas. |
|||
**Supports ballot entry in the form of values in cells. |
|||
**Formats ballot sets is standard notation. |
|||
*[https://civs1.civs.us Condorcet Internet Voting Service] |
|||
**Free tool for public and private polling. |
|||
**Calculates the following methods: |
|||
***Minmax |
|||
***Schulze |
|||
***Maximize Affirmed Majorities |
|||
***Ranked Pairs |
|||
***[[Condorcet-IRV hybrid methods|Condorcet//IRV]] |
|||
***[[Bottom-Two-Runoff IRV|Bottom-Two Runoff (BTR)]] |
|||
*[https://strawpoll.com StrawPoll] |
|||
**Tool for hosting public and private polls. Free and paid versions available. |
|||
**Supports the following methods: |
|||
***[[Approval Voting|Approval]] |
|||
***Choose One (FPTP) |
|||
***Borda |
|||
*[https://opavote.com OpaVote] |
|||
**Premium tool for hosting secure elections. |
|||
**Supports the following methods: |
|||
***Choose One (FPTP) |
|||
***Approval |
|||
***Ranked Choice |
|||
***[[Single transferable vote|Single Transferrable Vote (STV)]] |
|||
***Beatpath |
|||
***Condorcet//IRV |
|||
***Condorcet//Borda |
|||
***Copeland |
|||
***Coombs |
|||
***Borda |
|||
***Bucklin |
|||
*[https://voting.ml Maximal Lotteries] |
|||
**Simulates [https://en.wikipedia.org/wiki/Maximal_lotteries Maximal Lotteries] with a dedicated GUI for ballot entry. Also calculates a handful of other voting methods. |
|||
*[https://stablevoting.org Stable Voting] |
|||
**Free tool for hosting public and private polls. Uses [[Stable Voting]]. |
|||
*[https://equalshares.net/tools/compute/ Method of Equal Shares: Online Computation Tool] |
|||
**Calculates the results of an MES election using a participatory budgeting voting file. |
|||
*[https://vote.electionscience.org vote.electionscience.org] |
|||
**Free tool for hosting public and private Approval Voting polls. |
|||
*[https://abif.electorama.com/awt ABIF Web Tool] |
|||
**Supports text-based ballot entry in the form of the [[ABIF|Aggregated Ballot Information Format]]. |
|||
**Produces [[Beatpath|beatpath diagrams]], [[Pairwise preference|preference matrices]], Ranked Choice results, and STAR Voting results. |
|||
=== Simulation === |
|||
* [https://github.com/kristomu/quadelect Quadelect]: Draw Yee maps, calculate Bayesian regret, and determine election winners |
|||
* [https://rangevoting.org/IEVS/IEVS.c IEVS: Infinitely extendible voting system comparison engine] (C, non-commercial use only) |
|||
* [http://zesty.ca/voting/voteline/ Voteline]1D simulator for FPTP, Approval, Borda, Condorcet, and IRV (Flash, online) |
|||
* [https://ncase.me/ballot To Build a Better Ballot]: Nicky Case's 2D explorable explanation of six voting methods. |
|||
* [https://www.smartvotesim.com/ Smart Voting Simulator]: 2D interactive guide to voting methods. |
|||
* [https://www.howtofixtheelection.com/votekit/ Votekit]: A rough draft of a 2D and 1D interactive simulator. |
|||
* [https://hexagon.bettervoting.org/ Arrow’s Theorem]: Visualizing 3-Candidate, 3-Voter Elections with Hexagons. [https://youtu.be/Uvax1Hj8t_E Video]. [https://github.com/abjennings/socialchoice-hexagons Github]. |
|||
=== Unsorted === |
|||
*https://github.com/simberaj/votelib Open source Python library for calculating results of many election systems ranging from mixed-member proportional to Bucklin voting and many Condorcet methods |
|||
*https://github.com/brianolson/redistricter open-source impartial algorithmic redistricting |
|||
*https://metacpan.org/pod/Vote::Count Vote::Count a Perl Library supporting a large number of RCV and Range methods (IRV, Borda, Condorcet, MinMax). |
|||
* https://github.com/brianolson/voteutil Count votes with a variety of algorithms in a variety of languages (C, Python, Go, Java) Also a Histogram class with the same interface. |
|||
* https://github.com/brianolson/election_simulator Simulate elections to test election algorithms |
|||
* https://github.com/electionscience/vse-sim Methods for running simulations to calculate Voter Satisfaction Efficiency (VSE) of various voting systems in various conditions. |
|||
* https://github.com/crflynn/voting Different apportionment methods implemented in Python |
|||
* https://github.com/vvk-ehk/ivxv Source of Estonia's online voting system. |
|||
* http://bolson.org/voting/sim_one_seat/dist/ |
|||
* https://github.com/msmunter/star.vote Star.vote Website https://star.vote |
|||
== Open Standards == |
|||
* [[Condorcet Election Format]]: The `Condorcet Election Format` is a free and standardized open election description standard. The objective of this format is to be easily written and read by a human, with the rigor and precision necessary for ingestion by a program. |
|||
* [[Election Markup Language]] |
|||
[[Category:Software|*]] |
[[Category:Software|*]] |
Latest revision as of 23:52, 14 July 2024
There's a lot of software and websites that folks have made for implementing different polling solutions. Ping User:RobLa over on the C4ES Discord server if he doesn't flesh this page out before the end of July 2020.
Main category: Category:Software
By person
(alphabetical by last name)
Nicky Case
- main article: Nicky Case
Things like Nicky Case's famous "how to build a better ballot": https://ncase.me/ballot/.
Ka-Ping Yee
- main article: Ka-Ping Yee
Ka-Ping Yee's diagrams (Yee diagrams) changed many perspectives in the world of electoral reform.
Others
- User:RobLa - much random software, like Electowidget and lots of hacks to MediaWiki.
- https://www.howtofixtheelection.com/
- See also: Category:Voting software
By software
Other links for software for calculation, analysis, simulation, etc. of voting methods and elections
Local execution & Library
- Condorcet PHP: Command-line application and PHP library natively including dozens of methods under a single interface. And a modular framework for implementing more.
- JavaScript library votes: Includes more than 16 voting systems. NPM, GitHub, demo.
Online election calculators
- see also: online poll
These sites calculate the winner from a listing of ballots:
- Condorcet.Vote
- Free online tool the supports text-based ballot entry and public polling. Calculates the following methods:
- Pairwise Methods Demonstration by RobLa
- Calculates the Condorcet, Copeland, and Smith winners, but runs slowly because it's only available archived.
- Ranked-ballot voting calculator, inspired by RobLa's Pairwise Methods Demonstration
- Eric Gorr’s Condorcet Matrix, inspired by the Ranked-ballot voting calculator.
- Supports text-based ballot entry. Calculates the following methods:
- Condorcet (Iteratively eliminates the candidate with the weakest defeat)
- Beatpath winner
- Ranked Pairs
- Ranked Choice (with a handful of fine tuning options)
- Supports text-based ballot entry. Calculates the following methods:
- https://rangevoting.org/VoteCalc.html
- Uses IEVS to calculate winners with over 60 different methods.
- Supports text-based ballot entry, including rated ballots and ranked ballot with approval thresholds.
- DistributedVote
- Archived and no longer available.
- star.vote
- Simple tool for public and private polling using STAR Voting.
- Assortment of STAR Voting polling tools
- Includes star.vote, a Google Forms add-on, and a Google Sheet.
- Sass' STAR Voting Calculator (bit.ly/STAR-Calculator)
- A Google Sheet that calculates STAR Voting elections using cell formulas.
- Supports ballot entry in the form of values in cells.
- Formats ballot sets is SASS-C notation.
- Sass' Ranked Robin Calculator (bit.ly/robin-calc)
- A Google Sheet that calculates Ranked Robin elections using cell formulas.
- Supports ballot entry in the form of values in cells.
- Formats ballot sets is standard notation.
- Condorcet Internet Voting Service
- Free tool for public and private polling.
- Calculates the following methods:
- Minmax
- Schulze
- Maximize Affirmed Majorities
- Ranked Pairs
- Condorcet//IRV
- Bottom-Two Runoff (BTR)
- StrawPoll
- Tool for hosting public and private polls. Free and paid versions available.
- Supports the following methods:
- Approval
- Choose One (FPTP)
- Borda
- OpaVote
- Premium tool for hosting secure elections.
- Supports the following methods:
- Choose One (FPTP)
- Approval
- Ranked Choice
- Single Transferrable Vote (STV)
- Beatpath
- Condorcet//IRV
- Condorcet//Borda
- Copeland
- Coombs
- Borda
- Bucklin
- Maximal Lotteries
- Simulates Maximal Lotteries with a dedicated GUI for ballot entry. Also calculates a handful of other voting methods.
- Stable Voting
- Free tool for hosting public and private polls. Uses Stable Voting.
- Method of Equal Shares: Online Computation Tool
- Calculates the results of an MES election using a participatory budgeting voting file.
- vote.electionscience.org
- Free tool for hosting public and private Approval Voting polls.
- ABIF Web Tool
- Supports text-based ballot entry in the form of the Aggregated Ballot Information Format.
- Produces beatpath diagrams, preference matrices, Ranked Choice results, and STAR Voting results.
Simulation
- Quadelect: Draw Yee maps, calculate Bayesian regret, and determine election winners
- IEVS: Infinitely extendible voting system comparison engine (C, non-commercial use only)
- Voteline1D simulator for FPTP, Approval, Borda, Condorcet, and IRV (Flash, online)
- To Build a Better Ballot: Nicky Case's 2D explorable explanation of six voting methods.
- Smart Voting Simulator: 2D interactive guide to voting methods.
- Votekit: A rough draft of a 2D and 1D interactive simulator.
- Arrow’s Theorem: Visualizing 3-Candidate, 3-Voter Elections with Hexagons. Video. Github.
Unsorted
- https://github.com/simberaj/votelib Open source Python library for calculating results of many election systems ranging from mixed-member proportional to Bucklin voting and many Condorcet methods
- https://github.com/brianolson/redistricter open-source impartial algorithmic redistricting
- https://metacpan.org/pod/Vote::Count Vote::Count a Perl Library supporting a large number of RCV and Range methods (IRV, Borda, Condorcet, MinMax).
- https://github.com/brianolson/voteutil Count votes with a variety of algorithms in a variety of languages (C, Python, Go, Java) Also a Histogram class with the same interface.
- https://github.com/brianolson/election_simulator Simulate elections to test election algorithms
- https://github.com/electionscience/vse-sim Methods for running simulations to calculate Voter Satisfaction Efficiency (VSE) of various voting systems in various conditions.
- https://github.com/crflynn/voting Different apportionment methods implemented in Python
- https://github.com/vvk-ehk/ivxv Source of Estonia's online voting system.
- http://bolson.org/voting/sim_one_seat/dist/
- https://github.com/msmunter/star.vote Star.vote Website https://star.vote
Open Standards
- Condorcet Election Format: The `Condorcet Election Format` is a free and standardized open election description standard. The objective of this format is to be easily written and read by a human, with the rigor and precision necessary for ingestion by a program.
- Election Markup Language