Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 6 5000 39399868
Comments
editCase: All but one seats filled, rest of candidates hopeful, no clear candidate for elimination.
SecurePoll and OpenSTV agree on the final result.
In SecurePoll, this takes 147 rounds to decide the outcome!
Election setup
edit- Candidates: 20
- Seats: 6
- Votes: 5000
Actual
editOutput from SecurePoll (var_dump( $this->tallier->resultsLog );
): https://phabricator.wikimedia.org/P16853
Actual tally: SP 3.0.0 (58bf4c8)
editElected
editElection for 6 seats with 20 candidates. Total 5,000 votes.
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
Eliminated/Not elected
edit- "7"
- "8"
- "9"
- "10"
- "11"
- "12"
- "13"
- "14"
- "15"
- "16"
- "17"
- "18"
- "19"
- "20"
Rounds table
editThe following table describes the calculations that happened in order to achieve the result above. In each round of calculation, the candidate(s) who achieved more votes than the quota are declared elected. Their surplus votes above the quota are redistributed to the remaining candidates. If nobody achieves the quota, the lowest ranking candidate is eliminated and their votes are redistributed to the remaining candidates. To understand this better, please refer to this link.
Round Number | Tally | Result |
---|---|---|
1 |
|
Quota: 714.285715 |
2 |
|
Quota: 714.285715
Elected: "1", "2", "3", "4", "5" |
3 |
|
Quota: 612.204083
Elected: "6" Transferring votes |
(Results from 14:27, 31 August 2021)
Expected
editOutput from OpenSTV: https://phabricator.wikimedia.org/P16854
Files
edit- blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_6_5000_39399868.blt
- php:
array ( 11 => array ( 'count' => 93, 'rank' => array ( 1 => 11, ), ), 2 => array ( 'count' => 715, 'rank' => array ( 1 => 2, ), ), 8 => array ( 'count' => 90, 'rank' => array ( 1 => 8, ), ), 12 => array ( 'count' => 94, 'rank' => array ( 1 => 12, ), ), 4 => array ( 'count' => 715, 'rank' => array ( 1 => 4, ), ), 7 => array ( 'count' => 89, 'rank' => array ( 1 => 7, ), ), 9 => array ( 'count' => 91, 'rank' => array ( 1 => 9, ), ), 18 => array ( 'count' => 100, 'rank' => array ( 1 => 18, ), ), 16 => array ( 'count' => 98, 'rank' => array ( 1 => 16, ), ), 3 => array ( 'count' => 715, 'rank' => array ( 1 => 3, ), ), 10 => array ( 'count' => 92, 'rank' => array ( 1 => 10, ), ), 13 => array ( 'count' => 95, 'rank' => array ( 1 => 13, ), ), 1 => array ( 'count' => 715, 'rank' => array ( 1 => 1, ), ), 15 => array ( 'count' => 97, 'rank' => array ( 1 => 15, ), ), 19 => array ( 'count' => 101, 'rank' => array ( 1 => 19, ), ), 17 => array ( 'count' => 99, 'rank' => array ( 1 => 17, ), ), 20 => array ( 'count' => 102, 'rank' => array ( 1 => 20, ), ), 6 => array ( 'count' => 88, 'rank' => array ( 1 => 6, ), ), 5 => array ( 'count' => 715, 'rank' => array ( 1 => 5, ), ), 14 => array ( 'count' => 96, 'rank' => array ( 1 => 14, ), ), )
Environment
edit- Where you tested: local docker using phpunit
- Version of SecurePoll: commit 271145d5f3cae3b0a1b76d0f5dfeb609615d60b7 (patch 16 from https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704454/)