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

Add STAR Voting method #37

Open
masiarek opened this issue Sep 23, 2020 · 6 comments
Open

Add STAR Voting method #37

masiarek opened this issue Sep 23, 2020 · 6 comments

Comments

@masiarek
Copy link

https://civs.cs.cornell.edu/rp.html
CIVS currently supports five rules for Condorcet completion: Minimax-PM (the default rule), Schulze (also known as Beatpath Winner or Cloneproof Schwartz Sequential Dropping), Maximize Affirmed Majorities (MAM), a deterministic variant of MAM called CIVS Ranked Pairs, and a runoff-based Condorcet algorithm called Condorcet-IRV.

I can help with this...
programming, or at least - I can help with testing, expected results, load files, etc.
or, whatever you may need for me to help with this, prepare documentation (technical, end user).

@andrewcmyers
Copy link
Owner

Sure, this seems like a fine idea. Tabulation algorithms are pretty modular; minimax.pm is a good model to follow. We would also want a description of it on the web pages.

@jaycincotta
Copy link

jaycincotta commented Feb 25, 2021

Hi Andrew! In addition to adding another tabulation algorithm, the vote input UI would also need to be expanded to allow cardinal voting systems. STAR uses a 0 to 5 scale.

I note that CIVS allows ties, so you could kinda submit a STAR ballot with the current UI by ranking candidates 1st through 5th with ties. But, that would be tedious and confusing from the pov of voters accustomed to rating candidates versus ranking them.

Would you consider a more general enhancement to CIVS enabling support for cardinal voting systems such as STAR?

@andrewcmyers
Copy link
Owner

I would start by implementing the algorithm on top of the current UI and then think about UI support. Everything above rank 6 can be treated as a score of 5. Proportional mode with weights already has a "cardinal" interface, so it should be easy to support the UI changes.

@jaycincotta
Copy link

jaycincotta commented Feb 25, 2021

fyi, STAR tabulation would be a little different than you describe, but I get the idea. A score of 5 translates to a ranking of 1st and any ranking above 5 would be treated as a score of zero.

As to a starting point for the STAR tabulator, I believe your suggestion above is to use minimax.pm as a model? Is rank_candidates the only public method to implement?

@andrewcmyers
Copy link
Owner

You also need to implement print_details

@masiarek
Copy link
Author

masiarek commented Nov 2, 2021

We are working on Functional Specification document for STAR Voting: https://docs.google.com/document/d/1x9lwhHUYAGa1JVrKuqQ1WKHYoXUEtvySH8KC3YY1ARY/edit

One of the open questions is what kind of Ballot Upload file format should we use: https://docs.google.com/document/d/1dK8sWezZxy-Ax7UXJStNy2gFk0ONVwVvi3VzqHmNbc4/edit#heading=h.qz3rx1wlrgik

Please feel free to leave some comments, questions, suggestions.

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

3 participants