Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tiebreaking - number of winners 4 #358

Closed
masiarek opened this issue Aug 10, 2023 · 3 comments
Closed

Tiebreaking - number of winners 4 #358

masiarek opened this issue Aug 10, 2023 · 3 comments

Comments

@masiarek
Copy link
Collaborator

  1. We get different winners - compare
    tabulation program “starvote”
    tabulation program “STAR Vote 2.0”
    See details below at: https://docs.google.com/document/d/10_oqicRSItmMOkAzDKfiycANFPPSQbffmrLe9GB1raw/edit

  2. Tiebreaking
    It is hard to compare results - because “STAR Vote 2.0” does not have any control over tiebreaking protocol (the only option is random behavior).
    Can we add to “STAR Vote 2.0” some control over tiebreaking?

  • predefined sequence of winners in case of tiebreaking
  • stop random behavior (stop tabulation and let user to toss a coin - or allow user to provide the list of tiebreaking ahead of time - predefined sequence to be used - when tiebreaking reached)
@mikefranze
Copy link
Collaborator

Stopping tabulation to prompt the user would be a somewhat difficult to do and I don't know where that would be needed outside of testing. More difficult than just pausing a python program. In any election the tiebreaking protocol should be defined in advance and not up to the user.

It was also mentioned in a starpy issue discussion that we could make the outcome of the random winner deterministic by randomizing the order of the candidates before tabulation and always pick the last one in the tie. But I think I prefer the method used here to provide a random ranking of how ties should resolve along with the ballot data. That can be randomly generated when we finalize the election and specified in the sandbox for testing. We should be able to add that easily.

@masiarek
Copy link
Collaborator Author

masiarek commented Aug 11, 2023

Yes, we need a 'deterministic tie breaking' - allow comparing two election "runs" with the same ballots - and we should produce the same winners.

Probably best option - use a "predefined sequence/order of winners in case of tiebreaking (Tiebreaker candidates are selected from a predefined sequence of Candidates)

proposed solution for Election Admin:

  • Add a radio Button "Tiebreaking Protocol" with two options:

a) random (this is what we have and now!)

b) manual control

If Manual Control:
b1) ask Election Admin to enter a 'Seed' number - random program generates the sequence during Finalization and informs user what that sequence is (what candidates in what order).

or

b2) ask Election Admin to enter a sequence of Candidates for tiebreaking order (entered in election configuration)

or

b3) similar as Manual control - but "use the sequence of Candidates on the ballot" as a sequence for Tie-breaking.
Why: before election - folks chose (coin toss) the order of Candidates on the ballot (it is fixed !).
In the same way - we can say that the same sequence is used for tie breaking.

@mikefranze
Copy link
Collaborator

Deterministic tiebreaking added in #379. We decided on using a combination of the election ID + number of ballots as the seed as a compromise between being random, deterministic, and having the order not known ahead of time. If there's enough interest in having specified seeds or orders we could discuss adding that in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants