petertheone / irv Goto Github PK
View Code? Open in Web Editor NEWInstant-runoff voting tool
Home Page: http://petertheone.github.io/IRV/
License: MIT License
Instant-runoff voting tool
Home Page: http://petertheone.github.io/IRV/
License: MIT License
Use case: a book club using this to decide what the next book will be.
We thought that the most intuitive ballot format should be a list of indices, ordered from highest to lowest priority.
When trying to decide, we don't know the rank of every option ahead of time. Instead, we manually sort our choices by swapping numbers around. We can't do that in the current list of ranks format without changing all of the ranks in-between the swaps, and we have to remember the position in the list that corresponds to each option, sometimes having to count commas.
This also would allow us to keep the same list of options between voting sessions, just adding options to the end. This would keep each book's index constant and allow us just to update the old ballots when considering a new book.
The program wants each ballot to rank the candidates 1-n, with each position left-to-right corresponding to a candidate top-to-bottom, but this is not clear. When I first used the program, I thought it wanted most-desired to least-desired, left to right, with the number corresponding to the candidate, rather than the position. In this way a partial ballot would simply leave off candidates from the end of their list.
Without a GUI, the instructions need to be very clear.
Candidates:
Ubers
Monotype
Random Battle
AAA
MnM
OU
Gen 3 OU
1v1
NU
RU
LC
UU
DOU
DUU
VGC 2017
Ballots (these are wrong but had to put them in like this to test past #4):
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
6, 7, 8, 9, 10, 2, 11, 12, 1, 3, 4, 5, 13, 14, 15
13, 14, 3, 6, 15, 12, 1, 2, 4, 5, 7, 8, 9, 10, 11
Should give:
Ubers: 1
Monotype: 0
Random Battle: 0
AAA: 0
MnM: 0
OU: 1
Gen 3 OU: 0
1v1: 0
NU: 0
RU: 0
LC: 0
UU: 0
DOU: 1
DUU: 0
VGC 2017: 0
But it actually gives:
Ubers: 1
Monotype: 0
Random Battle: 0
AAA: 0
MnM: 0
OU: 0
Gen 3 OU: 1
1v1: 0
NU: 1
RU: 0
LC: 0
UU: 0
DOU: 0
DUU: 0
VGC 2017: 0
You may need to resubmit the results to reproduce this bug.
Would be supper cool if I could use comments. I think I can probably put in a PR for instructions and code changes, we'd just need Peter to pick a syntax, ideally --
or //
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
package.json
grunt 1.3.0
grunt-contrib-qunit 4.0.0
grunt-coveralls 2.0.0
grunt-qunit-istanbul 1.1.0
I've ticked the box for allowing incomplete ballots, I've put the ballots in as follows (there are 15 candidates)
1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
6, 7, 8, 9, 10, 2, 11, 12, 0, 0, 0, 0, 0, 0, 0
13, 14, 3, 6, 15, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0
But get the error In Ballot #2 one or more numbers are left out.
Why?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.