brainbuz / Vote-Count

A toolkit for alternative voting methods. Initially to support Rankled and Range Ballots for IRV, Boorda, and Pairwise/Condorcet. Future support planned Multi-member methods.
2 stars 2 forks source link

Implement SSD and Kemmeny Young #7

Closed brainbuz closed 3 years ago

brainbuz commented 4 years ago

There are other libraries implementing these methods. They could be used as a working example of the logic or they could be wrapped up using FFI or XS. The downside is creating a dependency on an external language for non-C libraries. There are also a few libraries on CPAN that could be used as dependencies. VoteFair popularity ranking claims to be mathematically equivalent to Kemmeny Young, Voting::Condorcet::RankedPairs implements the Tiedemann Ranked Pairs Method, but this is less important as it hasn't been a popular method.

The volunteer working on this task will need to review the existing libraries, and either wrap/adapt them to work with Vote::Count or rewrite them as Methods in Vote::Count.

brainbuz commented 3 years ago

Both of these methods fail critically on Complexity and will take a lot of work. So even though they are used by some organizations and it would be great for that reason to have them, it doesn't look like it will ever happen. I'm closing this as a won't implement.