Voting system simulator
This is a voting system simulator intended to simulate various methods used in proportional voting systems, in particular those that use a biproportional apportionment method for allocation of adjustment seats based on national outcomes. Such systems are common, such as in Iceland, Sweden, and Norway.
Usage
Example using the 2013 elections in Iceland and d'Hondt method:
python cli.py apportion \
--constituencies=../data/constituencies/constituencies_iceland_2013.csv \
--votes=../data/elections/island_2013.csv \
--divider=dhondt
--adjustment-method=alternating-scaling --adjustment-method=relative-superiority
--show-entropy
--output=simple
For help, try:
python cli.py --help
Features
- d'Hondt method
- Sainte-Lague method
- Nordic Sainte-Lague method
- One dimensional greedy apportionment
- Constituency seat allocation
- Read constituency data files
- Read vote data files
- Threshold elimination (on matrices and vectors)
- Alternating-Scaling Algorithm (AS)
- Relative Superiority Algorithm (RS)
- Relative Inferiority Algorithm (RI)
- Icelandic voting law algorithm
- Swedish voting law algorithm
- Norwegian voting law algorithm
- Entropy measurement
- Comparative error estimation
- Election fuzzing
- Monotonicty violation detection
- Basic click UI
- Per ruleset click UI options
- Compare multiple rulesets
Authors
Smári McCarthy, Þorkell Helgason and Kurt Jörnsten
Licence
Released under the terms of the Affero GNU General Public License version 3.