[EM] Preferential voting system where a candidate may win multiple seats
Vidar Wahlberg
canidae at exent.net
Thu Jul 18 11:13:59 PDT 2013
On Thu, Jul 18, 2013 at 03:07:19PM +0200, Vidar Wahlberg wrote:
> There are still some issues:
Turns out there are several issues with distributing seats. I'm not
going to go into details about these issues now, because I thought out a
new method that doesn't have these issues and is arguably even easier to
explain:
For each district and each party, calculate the quotient.
Quotient = partyDistrictVotes / (2 * partyDistrictSeats + 1)
1. Assign seat to district & party with highest quotient. Recalculate
quotient for party in district.
2. When a district runs out of seats, distribute votes for parties that
did not win any seats in that district evenly across all other
districts which have remaining seats and where the party have
registered a party list. If the votes can't be transfered (no seats
left in a district where the party registered a party list), the
votes are discarded.
3. If one or more parties won no seats in any district, the party with
the least votes are excluded and the votes are transfered to the
voters next preference. Then rerun the election.
This eliminates the need for a leveling seat, it's possible to keep the
modified Sainte-Laguë (first divisor is 1.4 instead of 1) if one so
desires (since votes are redistributed it will have less effect), and
the result is acceptably close to a proportional representation (no
worse than today).
Comparing with the 2009 election shows very similar result, although I
added votes for some other smaller parties so 3 seats goes to two
parties that did not win any seats in the 2009 election (with unmodified
SL, with modified SL 1 seat is won by one of those parties).
The result using unmodified SL and the method desribed above (3 new
parties added):
| Rod | Sos | Arb | Sen | Kri | Ven | Hoy | Fre | Mil | Kys | Pen
-----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----
Akershus | 0 | 1 | 5 | 1 | 1 | 1 | 3 | 4 | 0 | 0 | 0
Aust-Agder | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0
Buskerud | 0 | 1 | 3 | 1 | 0 | 0 | 2 | 2 | 0 | 0 | 0
Finnmark | 0 | 0 | 3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0
Hedmark | 0 | 1 | 4 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0
Hordaland | 1 | 1 | 4 | 1 | 1 | 1 | 3 | 3 | 0 | 0 | 0
More og Romsdal | 0 | 0 | 3 | 1 | 1 | 1 | 1 | 2 | 0 | 0 | 0
Nordland | 0 | 1 | 3 | 1 | 1 | 1 | 1 | 2 | 0 | 0 | 0
Nord-Trondelag | 0 | 0 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0
Oppland | 0 | 1 | 3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0
Oslo | 1 | 2 | 5 | 0 | 1 | 1 | 3 | 3 | 0 | 0 | 1
Rogaland | 0 | 1 | 3 | 1 | 2 | 1 | 2 | 3 | 0 | 0 | 0
Sogn og Fjordan | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0
Sor-Trondelag | 0 | 1 | 4 | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0
Telemark | 0 | 0 | 3 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0
Troms | 0 | 1 | 2 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0
Vest-Agder | 0 | 0 | 2 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 0
Vestfold | 0 | 1 | 3 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0
Ostfold | 0 | 1 | 3 | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0
-----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----
Total | 2 | 13 | 59 | 13 | 11 | 6 | 27 | 37 | 0 | 0 | 1
Rough "proof of concept" (I've not implemented excluding parties who won
no seats & rerunning election (i.e. preferential voting) yet as of this
writing): https://github.com/canidae/voting/blob/master/dsl.d
Thoughts are welcome, and sorry for the amount of mails, I'm having a
lot of spare time at the moment.
--
Regards,
Vidar Wahlberg
More information about the Election-Methods
mailing list