Svvamp

Latest version: v0.10.0

Safety actively analyzes 629004 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.8.0

----------------------------------------

* Introduce the notion of *IRV-immune candidate*. A candidate `w` is IRV-immune iff in any subset of candidates
containing `w`, the plurality score of `w` is more than `n_v / card(subset)`. This implies that in IRV (and most
related rules), `w` is the winner and CM is impossible.
* Add ``Profile.exists_irv_immune_candidate``: whether there exists an IRV-immune candidate.
* Add ``Profile.c_might_be_there_when_cw_is_eliminated_irv_style``: whether a candidate `c` might be present in a
round where the Condorcet winner is eliminated, IRV-style. In IRV (and most related rules), this condition is
necessary to be able to cast CM in favor of `c`.
* Use the above mentioned notions to improve the CM algorithm of ``RuleCondorcetAbsIRV``, ``RuleCondorcetVtbIRV``,
``RuleExhaustiveBallot``, ``RuleICRV``, ``RuleIRV``, ``RuleIRVAverage``, ``RuleSmithIRV``, ``RuleTideman`` and
``RuleWoodall``.
* Add a UM precheck before CM in ``RuleSmithIRV``, ``RuleTideman`` and ``RuleWoodall``.

----------------------------------------

0.7.0

----------------------------------------

* Introduce a heuristic method to improve the bounds ``necessary_coalition_size_cm_`` and
``sufficient_coalition_size_cm_`` in the case of rules based on rankings.
* Bug fix: in previous version (0.6.12), the IRV-CM precheck for UM was not activated for ``RuleCondorcetVtbIRV``.

----------------------------------------------------------

0.6.12

----------------------------------------------------------

* Fix bug in ``PluralityEliminationEngine``: the previous version used to modify the original profile, which was
not desired.
* ``PluralityEliminationEngineProfileUM`` relies only on ``preferences_borda_rk`` and not on ``preferences_rk``.
This accelerates ``RuleSmithIRV``.
* ``RuleCondorcetAbsIRV`` and ``RuleCondorcetVtbIRV``: before computing UM, we test whether IRV is CM. If not,
then we can conclude that Condorcet-IRV is not CM, and in particular not UM.
* Minor acceleration for ``RuleWoodall`` when the IRV winner is in the Smith set.

-----------------------------------------

0.6.11

-----------------------------------------

* ``ProfileUM``: implement a dedicated implementation for ``plurality_scores_rk`` and ``plurality_scores_ut``.

-----------------------------------------------

0.6.10

-----------------------------------------------

* Add ``PluralityEliminationEngine`` and its subclasses, ``PluralityEliminationEngineProfile`` and
``PluralityEliminationEngineProfileUM``. This is used to speed up the computation of the winner for
``RuleExhaustiveBallot``, ``RuleICRV``, ``RuleIRVAverage``, ``IRVDuels`` and ``RuleTideman``.

-----------------------------------------------------------------------

0.6.9

-----------------------------------------------------------------------

* Accelerate the computation of the winner for ``RuleCondorcetAbsIRV``, ``RuleCondorcetVtbIRV``,
``RuleExhaustiveBallot``, ``RuleICRV``, ``RuleIRVAverage`` and ``RuleTideman``. This is especially useful
to accelerate some manipulation methods, such as TM, UM, IM or IIA.

-----------------------------------------------------------------------

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.