Bram Cohen ([info]bramcohen) wrote,
@ 2005-05-15 22:54:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
flow based voting
Here's an idea for a ranked ballots voting algorithm. We imagine each voter has a little water spigot which puts out water at a unit rate, and each candidate has a bucket the size of the droop quota. Each candidate turns their spigot to the bucket of the candidate highest on their list. When a bucket gets filled, everyone who was pouring water into it redirects their spigot to the bucket of their next-higher candidate. This continues until all buckets are filled. The candidate whose bucket finished filling last is then scratched off everyone's ballots, and the process is repeated, scratching off candidates until there are only as many candidates left as there are positions available.

This technique is conceptually very simple and easy to analyze (albeit computationally a bit intensive, but that's hardly a concern with modern hardware). It also does very well at some basic gameability criteria. For example, the extent to which a voter can increase the power of their vote by putting a heavily disfavored candidate first is minimized. Also, if there's a block of voters who have picked out a slate they can't get any advantage as a group by playing games with how they arrange the candidates on their ballots. The water output for the group is fixed, and if they have just barely enough votes to get their candidates in and noone else votes for their candidates and they put all members of their slate before all non-members of their slate then they will manage to exactly get their slate in, regardless of ordering of their votes within the slate and after the slate.

My thanks to Paul Crowley, who first suggested the water flow analogy, although he did so in the context of trust metrics, not voting systems.



(Post a new comment)


[info]voldemort234
2005-05-16 06:30 am UTC (link)
Ah, instant run-off voting. It's highly unlikely to happen, as it seems like a person is voting twice, which isn't really allowed.

(Reply to this) (Thread)


[info]bramcohen
2005-05-16 06:40 am UTC (link)
'Instant runoff' is just about the silliest algorithm for deciding the winner of a ranked ballot election available. The real question is whether one uses ranked ballots.

Ranked ballots are in fact used in major elections in lots of large countries, including Great Britain and Australia. So your 'unlikely to happen' comment is wrong - they most definitely do happen.

Not using ranked ballots is an archaic, technologically backwards, and thoroughly undemocratic process. If one were to write a new constsitution for a 'democratic' country today it would only be common sense for it to mandate that there be no first past the post (i.e. US-style) elections.

In any case, the algorithm I'm proposing here is for elections where there are multiple winners, so it's a subsitute for Single Transferable Vote, not Instant Runoff.

(Reply to this) (Parent)(Thread)


[info]mlinksva
2005-05-17 07:11 pm UTC (link)
Ranked ballots and first-past-the-post/single winner districts are orthogonal FWIW.

I'm a fan of approval voting -- big improvement, very simple.

(Reply to this) (Parent)(Thread)


[info]bramcohen
2005-05-17 08:37 pm UTC (link)
The problem with approval voting is that it's extremely susceptible to strategic voting. Non-gameability is a big deal, you want voters to simply vote honestly.

(Reply to this) (Parent)(Thread)


[info]zestyping
2005-06-22 06:45 am UTC (link)
What makes approval more susceptible to strategy than other schemes?

(Reply to this) (Parent)(Thread)


[info]bramcohen
2005-06-26 07:26 pm UTC (link)
If you have a 'legit' winner (that is, the one who would win if everyone votes honestly) then everyone who favors someone other than the legit winner is incentivized to put a very dishonest 'no' vote for the legit winner. In practice this can easily result in someone who should win in a landslide having a crushing defeat.

(Reply to this) (Parent)

IRV = STV only if there's one seat to fill. (n/t)
(Anonymous)
2005-05-16 06:26 pm UTC (link)
n/t

(Reply to this) (Parent)

Single Transferrable Vote
[info]misterajc
2005-05-16 06:45 am UTC (link)
Won't this give the same result as STV, which is widely used in Europe? See http://www.seo.sa.gov.au/canada/flash500.htm for an explanation of STV.

(Reply to this) (Thread)

Re: Single Transferrable Vote
[info]ciphergoth
2005-05-16 07:05 am UTC (link)
No - note that second preference votes take part in deciding the first elimination.

The only election in the UK that uses ranked ballots that I know of is the London mayoral election, which is decided using a truly mad system known as the Kellner system despite being a perfect fit for a Condorcet method.

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 07:30 am UTC (link)
That's a shame, I was under the impression that STV was used in the UK. Perhaps it's that I've heard that STV is a popular idea in the UK, and got confused.

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]ciphergoth
2005-05-16 08:05 am UTC (link)
I was mistaken - STV is used to elect the Northern Ireland Assembly. Northern Ireland is not in Great Britain but it is part of the United Kingdom.

(Reply to this) (Parent)

Re: Single Transferrable Vote
(Anonymous)
2005-05-16 05:36 pm UTC (link)
STV has been used here in the Republic of Ireland for most elections since the foundation of the state (by-elections and presidential elections aside, where STV degenerates into IRV), despite many attempts by one of the bigger parties to replace it with First Past The Post. You wouldn't believe the number of people that think we're still part of the UK. :-)

On to other matter. Now this might be down to my ignorance of the mathematics behind voting systems, and I present this with the caveat that I haven't really though this through, but why even use quotas? Why not just go:

  • Assign votes;

  • Eliminate the lowest ranking candidate;

  • Distribute their votes, striking off their first preference and bumping up the preferences of the other candidates on their ballot;

  • Repeat until any surplus candidates are removed.


Even if used when voting for a single candidate, it's not going to degenerate into FPTP. I really can't see what big advantage distributing surplus votes is aside from giving the appearence of greater proportionality. My evidence is only anecdotal: candidate surpluses here tend to be quite small in most cases, usually about 3% IIRC. I can't see this having a great effect on the outcome of an election, and eliminating redistribution of surplus votes simplifies counting drastically.

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 05:46 pm UTC (link)
In STV the quota is necessary for greater proportionality. The small excesses you see are due to people gaming the system a little bit - A party can increase their political influence in STV by distributing their first place votes evenly over the number of candidates they can get elected, so they generally do that.

(Reply to this) (Parent)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 05:49 pm UTC (link)
Oh, I forgot to mention in my last reply - an explicit Droop quota isn't necessary in the algorithm I gave, but it's still there, just implicitly.

(Reply to this) (Parent)

Re: Single Transferrable Vote
(Anonymous)
2005-05-16 06:41 pm UTC (link)
Kellner? Never heard of that method. Wasn't it the Supplementary Vote (http://en.wikipedia.org/wiki/Supplementary_Vote) that was used?

(Reply to this) (Parent)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 07:24 am UTC (link)
This technique will give similar but not identical results to STV. In particular, in STV an individual voter can increase the strength of their vote dramatically by putting a candidate who has no hope of winning as their first choice. The technique I just gave doesn't suffer from that one. It's an attempt to directly fix some of the problems with STV.

But the trick I'm using turns out to be almost equivalent to the meek method, so my improvement isn't as much of an improvement as I had hoped (although it's still a bit of one, because it doesn't just utilize top votes).

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]misterajc
2005-05-16 07:52 am UTC (link)
OK, so to help me understand this, can you construct a situation where the same ranked ballots would result in a different result using your method and STV, and explain why your method is in some sense fairer?

PS This is Andrew Conway, in case you hadn't worked that out.

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 08:45 am UTC (link)
Consider the case where you're electing two out of three candidates. Candidate A has 49% of the first votes, B has 25%, and C has 26%. With straight STV B is eliminated first and A and C win. But with my technique if everyone who listed A first listed B second, then C will be eliminated first and A and B will win. In this case clearly all those second place votes should count for something.

Still, it's possible for someone to be listed second on practically everyone's ballot and be eliminated first, so this new approach isn't perfect.

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]misterajc
2005-05-16 03:08 pm UTC (link)
Suppose the votes were distributed along party lines. A and B were Yellow party candidates and C was Pink party. All the Yellow voters put down AB or BA and all the Pink voters put down C followed by nothing. Now, with two candidates to be elected, shold a party that can muster 26% of the vote get one of them or neither of them? If you think that both positions should go to Yellow, given the same voting strategies, at what percentage threshold do you think the Pink party should get representation?

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 05:47 pm UTC (link)
If two people are getting into office, then the number should be 1/3 of the votes. If three people are getting into office, it should be 1/4 of the votes. This is the Droop quota. The reasoning is it should be enough that if n people get it, then noone else can have as much support as any of those n people.

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]misterajc
2005-05-16 06:16 pm UTC (link)
Oh, wait, Time Out. I missed something. In your example, under STV, candidate A would require 1/3 of the votes plus 1 to be elected. Suppose there are 100 votes, A would require 34.333 votes to be elected. Before anyone is eliminated, A's surplus of 14.667 votes would be transferred. That is, all A's votes would be allocated to second choices with a value of 14.667/49 each. If they all go to B, B would then have 39.667 votes, and would be elected.

So, in this case, STV gives the same result as your system.

So, I repeat, can you come up with an example where your system gives a different and fairer result than STV?

(Reply to this) (Parent)(Thread)

Re: Single Transferrable Vote
[info]bramcohen
2005-05-16 07:35 pm UTC (link)
Sorry, I messed that up a little bit. I can come up with an example where there are different results, but it requires a fair amount of numbers massaging, because STV and the method I gave have essentially the same weaknesses, so you're right that they're very similar.

See my next post for an altogether better voting algorithm. If you'd like examples, please ask for examples about that one, because I don't see much reason to expend further effort trying to defend this one.

The droop quota is technically plus epsilon and not plus one, by the way, so 34 votes out of 100 is enough to get in if there are two slots.

(Reply to this) (Parent)


[info]flipzagging
2005-05-16 07:11 am UTC (link)
(ignore my deleted comment)

I don't know if the third sentence has a typo or not. Did you mean each voter has a list? In that case how does this yield substantially different results from STV?

Or each *candidate* has a list, and they redirect excess support as they see fit?

(Reply to this) (Thread)


[info]bramcohen
2005-05-16 07:30 am UTC (link)
Each voter has a list. There's a single candidate at the top of their list, and that's where they point their spigot towards.

(Reply to this) (Parent)


[info]ciphergoth
2005-05-16 08:02 am UTC (link)
The link regarding Droop's Quota is a rebranded Wikipedia article. The original article is at

http://en.wikipedia.org/wiki/Droop_Quota

However, the size of the buckets makes no difference to the results so long as they are all the same size.

(Reply to this)

Condorcet Criterion
(Anonymous)
2005-05-16 08:39 pm UTC (link)
The first thing I wondered was whether this system satisfies the Condorcet Criterion (http://en.wikipedia.org/wiki/Condorcet_criterion). It turns out that it doesn't.

For example, if the votes in a three candidate race for one seat are as follows:
20%: A, B, C
40%: B, A, C
40%: C, A, B
then A's bucket will fill up last and she will be eliminated. B will then be chosen in the next round. However, 60% of the voters prefer A over B and 60% prefer A over C which makes A the Condorcet winner.

As it turns out, British Columbia is voting (http://www.elections.bc.ca/elections/ge2005/referendum.htm) tomorrow (May 17) on whether to adopt Single Transferable Voting with multi-member ridings. It seems clearly superior to the current system, but most people aren't even aware that they are voting on it and many of them find it "confusing". Wish us luck...

(Reply to this) (Thread)

Re: Condorcet Criterion
[info]bramcohen
2005-05-16 08:53 pm UTC (link)
Good luck on that. Here in the United States, most attempts to introduce ranked ballots are shouted down as being 'undemocratic', and the media parrots the claims from both sides of the 'debate' over whether ranked ballots are more democratic with equal time given to both sides, in the name of 'objectivity'. They seem to feel that this 'objectivity' is more important than reporting the salient fact that one side is completely full of shit.

See my next post for a better algorithm which trivially meets condorcet (because the first winner is pulled out using literal condorcet).

(Reply to this) (Parent)


[info]galaxy_nebula
2005-07-07 10:06 am UTC (link)
It is a good idea

(Reply to this)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…