PeterTheOne / IRV

Instant-runoff voting tool
http://petertheone.github.io/IRV/
MIT License
20 stars 12 forks source link

Using placeholders doesn't work #4

Open Ads20000 opened 7 years ago

Ads20000 commented 7 years ago

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?

PeterTheOne commented 7 years ago

Thanks for opening this Issue! I understand why it is confusing, it also took me some time to understand why this produces an error. Your highest rank needs to be 1. I understand that you could also start with 2 or 6 or whatever and still produce a valid ranking, but the code insists starting at 1. The code also insists on having consecutive numbers, 2, 1 works but 3, 1 doesn't work. I know that 3, 1 is a valid ranking in the sense that 3 is greater than 1 but the code is very strict.

1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

is correct because your highest ranked candidate uses a 1.

6, 7, 8, 9, 10, 2, 11, 12, 0, 0, 0, 0, 0, 0, 0

produces an error because your lowest number is 6 and not 1. A correct alternative where the ranking stays the same would be:

2, 3, 4, 5, 6, 1, 7, 8, 0, 0, 0, 0, 0, 0, 0

I hope this clears things up, feel free to ask more. Do you think it should be allowed to enter 6, 7, 8, 9, 10, 2, 11, 12, 0, 0, 0, 0, 0, 0, 0 or do you agree that the current super strict version is clearer? Or should the error message/description be changed?

Ads20000 commented 7 years ago

Edit: Wait ignore all that! I think I get it with your answer to #5 . The places on the ballot are given numbered ranks, that makes more sense. I'm guessing a better GUI could be made for this, but yeah that works for text entry. In the absence of a better GUI perhaps the text entry should be better explained?

I agree with the super strict version, it's forced me to realize how I was doing things wrong.

catgil3 commented 1 year ago

This answer helped me locate the problem with our fifth ballot, which read 1, , ,4,3, , , . I hadn't noticed among all the other lines that this line missed a ranking. I thought the correction would probably read 1, , ,3,2, , , - but actually we had missed a candidate selection! The corrected line read 1, , ,4,3,2, , , and then the IRV proceeded without hiccup. : )