Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As stated elsewhere in the comments, you can make a number of people (e.g. anyone who asks[1]) commit to some number[2] (e.g. by giving out SHA1(their_number)). Then calculate a random number from that (conceptually, addition modulo number of voters; actual implementation left as an exercise to the reader).

If the vote with that number was actually cast, that is the vote that is actually used. If not, try the next one until one actually was cast. Pretty repeatable, and recounting is easier.

[1] Note that "all candidates" may not be sufficient, since it allows the candidates to collectively choose the outcome by picking their numbers such that one of their own/friends' ballots is chosen. This could be used to elect a popular Labour politician in a remote district where only the major two parties are running, in exchange for electing two unknown Tories.

[2] If you're not into crypto, put tickets containing every possible ballot number in a big barrel. Have a trusted/blindfolded guy pick tickets until he finds one that corresponds to a vote that was actually cast. There are lots of solutions, of varying degrees of cleverness.

[EDITs: added two footnotes]



I'm not sure that this is enough as it is stated here and in the original comment. There may be a technical solution that allows it to be done in one go, but an alternative would be to do the count, have a window in which the count can be challenged and then do the draw in a pseudo random deterministic way with seeds coming from a number of sources (e.g. different candidates).


You know, this is a much better way of doing it.

I feel like for a complete idiot for not spotting that up front.


This does account for the repeatability, but the point still remains that it treats individuals unfair, and that the unfairness only averages out over many districts.

How would you feel if you got 80% of the votes in your district, but the lottery (even if repeatable) picked your opponent? How would those feel who gave you your vote? I'd certainly felt cheated.


Good point. You can solve this issue by electing more than one representative from ordered (per-party) lists: the first picked vote for Labour elects Labour#1, the second Labour#2, etc. Labour#4 could still be lucky or unlucky, but Labour#1 will almost certainly be picked (assuming e.g. 50% of the vote for Labour, with probability 1 - 2^-10 = 1023/1024.)

However, I'm not sure how much of a (perceived) advantage over proportional representation this gives you.


How do those who currently get 40% of the vote and 10% of the seats feel? I'm guessing pretty cheated.


Replacing a broken system with an even more broken system is not an improvement.


I agree completely, but you've not argued convincingly for this one being a more broken system. The current one is guaranteed unfair, this one is expected-fair even if the unfairness may be geographically concentrated.


It seems we've argued over different things. I picked up the "perfect" from the headline and came up with a counter-example. Comparing it with an obviously broken system doesn't make it any more perfect.

If you're looking for possible alternatives, I find Germany's model not too bad: two votes, one for per-district representatives and one for parties which is evaluated proportionally. Not perfect, but works out in practise.

I'd like one mode change though: instead of giving one vote per list, I'd like to allocate an arbitrary number of votes per list, but you can give at most one vote per candidate or party. That way you can vote for blocks of parties/candidates, or even vote against somebody by voting for everybody execpt that one party/candidate.

This would remove a lot of tactical debate if you're vasting your vote on candidates/parties who don't have huge chances for success.


> It seems we've argued over different things.

That happens with annoying regularity. I have a system for dealing with that too, but that's a different blog post. ;-)

> I picked up the "perfect" from the headline and came up with a counter-example.

Well there's a reason "perfect" is in scare quotes. If I really thought the system were perfect I'd actually be advocating it instead of going "Hey guys, here's a neat idea. I'm not really sure if I'm actually for it or not".

The meaning of perfect here was intended to be that it has a lot of the properties which many people claim are impossible to coexist and summarise under the heading "there is no perfect voting system" (it overcomes the impossibilities by being non-deterministic), whilst remaining very similar to the existing and familiar system


Can you explain why that wouldn't lead to the introduction of parties like Tories2, Tories3, ..., Tories100? One could allocate 1/#votes "points" to each party voted for, but that gets you back to strategic voting.


Every voter only gets one vote. Extra parties would change nothing.


That was my first idea, but the comment I'm replying to included

> This would remove a lot of tactical debate if you're vasting your vote on candidates/parties who don't have huge chances for success.

which doesn't work if you give each party 1/#number_of_parties_voted_for votes (voting for CoolGuy gives your vote on EstablishedAndNotTooBad less weight, after all.)


Creating a party and running it in an election is a tad more onerous than creating a Reddit account. You can't create 100 parties just to try to game the lottery.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: