Anti-Harassment Tools/SecurePoll Improvements/Test Results/12 9 5000 1830523430
Comments
[edit]SecurePoll and OpenSTV disagree on elected candidates, due to differences in how we eliminate candidates and precision.
SecurePoll elects candidates 1, 2, 3, 4, 5, 6, 7, 8.
OpenSTV elects candidates 1, 2, 3, 4, 5, 6, 7, 8 and 9. Candidate 9 is partially elected at random. In round 43 candidates 9, 10, 11 and 12 are tied on equal votes, and 12 is eliminated at random. Only in round 49 does candidate 9 have more votes than the remaining candidates and so goes on to win a seat. If candidate 9 were eliminated in round 43, this wouldn't be the case.
Based on my own calculations using bc, in round 139 candidate 9 should have ~9.8609955E-17 votes transferred to them. This seems to be too small for PHP to handle in this case, and so candidate 9 is eliminated along with 10, 11 and 12 by SecurePoll.
Election setup
[edit]- Candidates: 12
- Seats: 9
- Votes: 5000
Actual results latest
[edit]Output from SecurePoll tally.php
: /actual
Output from SecurePoll var_export( ->tallier->resultsLog );
: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/12_9_5000_1830523430.blt.php
SecurePoll tally page: https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1649
Actual results archive
[edit]Expected
[edit]Output from OpenSTV: /expected
Files
[edit]- blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/12_9_5000_1830523430.blt
Environment
[edit]- Where you tested: local docker and beta
- Latest version of SecurePoll tested: 3.0.0 (624ef32) 00:10, 28 September 2021.