Anti-Harassment Tools/SecurePoll Improvements/Test Results/12 9 5000 1830523430
Comments
editSecurePoll 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
editOutput 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
editExpected
editOutput from OpenSTV: /expected
Files
editEnvironment
edit- Where you tested: local docker and beta
- Latest version of SecurePoll tested: 3.0.0 (624ef32) 00:10, 28 September 2021.