Simulator of Various Voting Algorithms in Manipulating Populations
Project description
SVVAMP
Simulator of Various Voting Algorithms in Manipulating Populations
Free software: GNU General Public License version 3.
Documentation: https://francois-durand.github.io/svvamp/.
Features
Define profiles of voters with preferences over a set of candidates. Preferences can be generated by several probabilistic models, entered manually or imported from an external file.
Compute the result of several voting rules (ballots, winner, scores, etc).
Decide Condorcet notions.
Decide Independence of Irrelevant Alternatives.
Decide Individual Manipulation.
Decide Coalitional Manipulation and variants: Ignorant-Coalition Manipulation, Trivial Manipulation and Unison Manipulation.
Credits
This package was created with Cookiecutter and the francois-durand/package_helper_2 project template.
History
0.2.0 (2021-07-13): Smith-IRV and Similar Voting Rules
A Profile object can now compute its Smith set (also called “top cycle”): smith_set_rk, smith_set_rk_ctb, smith_set_ut_abs, smith_set_ut_abs_ctb, smith_set_ut_rel, smith_set_ut_rel_ctb.
Add Smith-IRV.
Add Tideman’s rule.
Add Woodall’s rule.
Add constant RULE_CLASSES: list of all the rule classes.
Tools that are mostly dedicated to developers:
A global option allows to throw an error when an uncovered portion of code is reached.
Add Profile.to_doctest_string.
Add Rule._set_random_options.
Add Rule._random_instruction.
0.1.2 (2021-07-12): Fix Release Number
Fix release number.
0.1.1 (2021-07-12): Fix Deployment
Fix deployment on PyPI.
0.1.0 (2021-07-12): Complete Refactoring
Refactor the code completely. New architecture, especially for Rule (formerly Election), avoiding diamond inheritance. Rename most classes, properties and methods.
Cover the code with tests. Print a message when execution reaches an uncovered part of the code.
Fix some minor bugs.
Documentation in numpy style.
Tutorials are now Jupyter notebooks.
New rules: Kim-Roush and IRV-Average.
0.0.4 (2015-03-10): Fix a Bug in Plurality
Correct a minor bug in Plurality.IM (voters_IM is now updated).
0.0.3 (2015-02-28): Miscellaneous Minor Improvements
Rename functions and attributes with suffix _vtb to _rk.
Allow to define a population by both utilities and rankings.
Add shift to Euclidean box model.
Range voting / Majority Judgment: with a discrete set of grades, send to closest authorized grades.
0.0.2 (2015-02-16): SVVAMP’s Core Features
8 population models and 23 voting systems.
0.0.1 (2015-02-14): First Release
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for svvamp-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef66345547146875d813e79c3f2d599a8f36039fd65d8007dd45e1aa1c21ddfb |
|
MD5 | 067f2b9425fb63986830e91092dd1214 |
|
BLAKE2b-256 | afde4f7cf910461a4b66c118dfc3f2ebe69cb6bd500dc918038447af64bab9e5 |