Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matmoore/singletransferablevote
Scala package to count Single Transferable Vote elections
https://github.com/matmoore/singletransferablevote
scala single-tranferable-vote voting
Last synced: 12 days ago
JSON representation
Scala package to count Single Transferable Vote elections
- Host: GitHub
- URL: https://github.com/matmoore/singletransferablevote
- Owner: MatMoore
- Created: 2015-02-15T22:25:18.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-12-24T22:36:37.000Z (almost 6 years ago)
- Last Synced: 2024-04-17T03:51:58.837Z (7 months ago)
- Topics: scala, single-tranferable-vote, voting
- Language: Scala
- Homepage:
- Size: 28.3 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Single Transferable Vote
Scala package to count [Single Transferable Vote](https://en.wikipedia.org/wiki/Single_transferable_vote) elections.
This is still a work in progress. I'm using this project to practice Scala.
To actually run elections, try http://www.openstv.org
## What is STV?
Single transferable vote (STV) is a set of voting systems for choosing a number of candidates based on people's preferences.* Voters fill out a ballot by ranking candidates in order of preference
* A quota of votes is required to elect a candidate to a seat
* To start with, only the first choice votes of each ballot are considered
* The least popular candidates are eliminated one by one
* If a ballot is wasted on the first choice, the vote is transferred to the second choice; if it's wasted on the second, then the third choice and so on.## Similarities to other voting systems
* If you ignore all preferences except the first choice, you get the first past the post system.
* If you only need to select one winner, you get Instant Runoff Voting (IRV), where votes are only transferred when candidates are eliminated, and the counting stops as soon as any one candidate has enough votes. STV methods continue until all seats are filled, and can also transfer votes when there are extra votes for an already elected candidate.