Jump to content

Anti-Harassment Tools/SecurePoll Improvements/Test Results/5 3 100

From mediawiki.org

Comments

[edit]

SecurePoll eliminates all candidates. I assume this is because all the candidates have equal votes. In this case, I think we plan to defer to the election admins how to proceed.

This is possibly the same/similar to 20_6_5100_319413701 and 20_6_5000_2048397232.

Election setup

[edit]
  • Candidates: 5
  • Seats: 3
  • Votes: 100

Actual results latest

[edit]

Output from SecurePoll tally.php: /actual

SecurePoll tally page: https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/2170

Actual results archive

[edit]

Archive

Expected

[edit]

Output from OpenSTV:

Loading ballots from file 5_3_100.blt.
Ballot file contains 5 candidates and 100 ballots.
No candidates have withdrawn.
Ballot file contains 100 non-empty ballots.

Counting votes for ElectionTitle using Meek STV.
5 candidates running for 3 seats.

 R|1                 |2                 |3                 |4                 
  |------------------+------------------+------------------+------------------
  |5                 |Exhausted         |Surplus           |Threshold         
==============================================================================
 1|         20.000000|         20.000000|         20.000000|         20.000000
  |         20.000000|          0.000000|          0.000000|         25.000001
  |---------------------------------------------------------------------------
  | Count of first choices.
==============================================================================
 2|         21.000000|                  |         20.000000|         20.000000
  |         20.000000|         19.000000|          0.749999|         20.250001
  |---------------------------------------------------------------------------
  | Count after eliminating 2 and transferring votes. All losing candidates
  | are eliminated. Candidates 1, 2, 3, 4, and 5 were tied when choosing
  | candidates to eliminate. Candidate 2 was chosen by breaking the tie
  | randomly. Candidate 1 has reached the threshold and is elected.
==============================================================================
 3|         20.250006|                  |         20.000000|         20.000000
  |         20.000000|         19.749994|          0.187504|         20.062502
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.964286.
==============================================================================
 4|         20.062518|                  |         20.000000|         20.000000
  |         20.000000|         19.937482|          0.046888|         20.015630
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.955358.
==============================================================================
 5|         20.015646|                  |         20.000000|         20.000000
  |         20.000000|         19.984354|          0.011734|         20.003912
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.953126.
==============================================================================
 6|         20.003928|                  |         20.000000|         20.000000
  |         20.000000|         19.996072|          0.002945|         20.000983
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.952568.
==============================================================================
 7|         20.000988|                  |         20.000000|         20.000000
  |         20.000000|         19.999012|          0.000740|         20.000248
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.952428.
==============================================================================
 8|         20.000253|                  |         20.000000|         20.000000
  |         20.000000|         19.999747|          0.000189|         20.000064
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.952393.
==============================================================================
 9|         20.000064|                  |         20.000000|         20.000000
  |         20.000000|         19.999936|          0.000047|         20.000017
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.952384.
==============================================================================
10|         20.000022|                  |         20.000000|         20.000000
  |         20.000000|         19.999978|          0.000016|         20.000006
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.952382.
==============================================================================
11|         20.000022|                  |         20.000000|         20.000000
  |         20.000000|         19.999978|          0.000016|         20.000006
  |---------------------------------------------------------------------------
  | Count after transferring surplus votes. Keep factors of candidates who
  | have exceeded the threshold: 1, 0.952382.
==============================================================================
12|         22.857168|                  |         20.000000|                  
  |         20.000000|         37.142832|         15.714289|         15.714293
  |---------------------------------------------------------------------------
  | Count after eliminating 4 and transferring votes. Candidates tied within
  | precision of computations. Candidates 3, 4, and 5 were tied when choosing
  | candidates to eliminate. Candidate 4 was chosen by breaking the tie
  | randomly. Candidates 3 and 5 have reached the threshold and are elected.

Winners are 1, 3, and 5.

Files

[edit]
array (
  '5_2_1' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '5',
      2 => '2',
      3 => '1',
    ),
  ),
  '3_2' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '3',
      2 => '2',
    ),
  ),
  '2_1' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '2',
      2 => '1',
    ),
  ),
  '5_2' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '5',
      2 => '2',
    ),
  ),
  '4_1_2' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '4',
      2 => '1',
      3 => '2',
    ),
  ),
  '4_2' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '4',
      2 => '2',
    ),
  ),
  '5_1' => 
  array (
    'count' => 1,
    'rank' => 
    array (
      1 => '5',
      2 => '1',
    ),
  ),
  '4_1' => 
  array (
    'count' => 2,
    'rank' => 
    array (
      1 => '4',
      2 => '1',
    ),
  ),
  3 => 
  array (
    'count' => 19,
    'rank' => 
    array (
      1 => '3',
    ),
  ),
  1 => 
  array (
    'count' => 20,
    'rank' => 
    array (
      1 => '1',
    ),
  ),
  5 => 
  array (
    'count' => 17,
    'rank' => 
    array (
      1 => '5',
    ),
  ),
  2 => 
  array (
    'count' => 19,
    'rank' => 
    array (
      1 => '2',
    ),
  ),
  4 => 
  array (
    'count' => 16,
    'rank' => 
    array (
      1 => '4',
    ),
  ),
)

Environment

[edit]
  • Where you tested: local docker using PHPUnit
  • Latest version of SecurePoll tested: 3.0.0 (dcbad8c) 06:35, 27 September 2021.