Tuesday, October 28, 2014

Single preferential vote, supplementary-member proportional representation - with no party lists? Why yes!

Starting notes: this is written by an Australian - we have preferential voting with two-and-a-half main parties, but plenty of minors too. In the British tradition we have a formal Government and Opposition. 'Electorate' is a physical area full of people to represent (used here in the specific case, but also used to speak of the voting populace as a whole), you may wish to substitute 'district'. Finally, voting is compulsory here - this leads to a rather different dynamic of appealing to the apathetic middle, rather than getting out the base.


Without futher ado, here's my ideal single-chamber electoral system:

As a voter, you have a ballot paper. On this ballot paper, you rank the candidates in your preferred order. It is only strictly necessary to rank as many places as there are representatives to elect from your district - in a single-member electorate, you can just vote [1] and be done!

What next? The candidate(s) which have strong majority support within your electorate are elected, and the parliament is proportional overall!

How? Through the magic of preferential voting at the electorate level and top-up seats at the parliamentary level.


Locally, candidates are elected through optional-preferential single transferable vote: you rank candidates as described above.
If any candidate passes the threshold for first-choice votes (50% + 1 vote in a single-member electorate) they are elected. Otherwise, remove the weakest candidate from the count, re-assigning the votes for them to the next preferences as given on the ballot papers. You may also know this process as instant runoff.
"But what if I have (say) 3 representatives?" Well then - each representative only needs 25% + 1 to be elected. As soon as anyone reaches that quota, immediately distribute all their votes at a fractional weighting ('transfer ratio') according to how much they're over by. If nobody makes the cutoff, eliminate and re-assign until someone does - and then again until all positions are filled. For simplicity, I will assume that all electorates are single-member.

What does preferencing achieve? It allows us to perform the crucial thought experiment: "If fringe candidate Alice never ran for Parliament, who would her supporters then support?"
This is important, as Bob and Carol (of the present Government and Opposition parties respectively) are in a tight race for victory. Under plurality voting the loss of even 15% of their support to a fringe candidate would likely mean defeat - the 'splinter effect'. However, when Alice, to nobody's surprise, fails to gather enough support, Bob still wins as Alice's supporters have preferenced him highly.



Overall, candidates are grouped into tickets. A ticket is not a party, although a party may only endorse/nominate candidates on one ticket (to prevent shenanigans). Further, no more candidates for a ticket may run in a district than there are representatives to be elected from that district.

The important thing is that the number of representatives from each ticket in Parliament is proportional to the number of primary votes for each ticket.

As a starting point, we have everyone who won an electorate on the ground the normal way.

Then, we must look at which tickets are the most under-represented relative to their overall support, and award them extra 'top-up' seats to get to proportionality. Only two questions remain: Who, and What Formula?

'Who' is easy enough - 'best near-winner'. Rank all unelected candidates of the ticket by the proportion of votes they held at the point of their elimination (not necessarily their primary vote). Why the difference? Again, to remove the splinter effect and to prevent candidates from larger parties wasting time competing against the smaller parties that their preferences come from.

Those who are familiar with regular mixed-member proportional systems will note that there is no explicit 'party vote' nor is there a 'list'. However, each ticket may nominate a lead candidate who (should they not be elected in their own right) is guaranteed the first topup seat won by that ticket (if any). One person does not a list make :p

'What Formula', though? This is what I prefer:

  1. Rank all tickets by proportion of primary votes minus proportion of representatives in Parliament.
  2. Assign a new representative to the ticket with the worst imbalance.
  3. The minimum imbalance to be eligible for another representative is the reciprocal of the number of physical electorates (e.g. if there are 50 physical electorates, then if the highest-imbalance ticket is less than 2% over, we're done.)

The quota as given in (3) doesn't have to be that, but it definitely should not be lower than the reciprocal of 'number of representatives total thus far, plus one'.

In conclusion - what's not to love?

Update (23/3/2015): I've come up with a new formula:

  1. Pick a total number of additional seats to add
  2. Calculate how many representatives each ticket would have if allocated purely proportionally (rounding to the nearest integer)
  3. If any ticket has less representatives than electorates that they 'physically' won, increase the number of additional seats
  4. If every ticket has more seats than they 'physically' won, reduce the number of additional seats
  5. Stop once you have an odd number of seats overall, and/or you've run out of floor space.
This should provide the minimum-sized parliament that is properly proportional, with no overhang seats.



Tuesday, October 30, 2012

Multiple Monitor Mission Control: a proposal

It’s no secret to the Mac community that the Application Full Screen paradigm is broken with multiple displays. One display full of the app, other displays full of ‘linen’ texture.
The solution: Mission Control, but for Spaces and multiple displays.
Like regular MC, you’d have a row of spaces at the top of the screen. Unlike regular MC, the spaces are what gets dragged around.
Below the row of spaces are the rectangles for each display, showing a preview of each space in whatever display(s) it’s assigned to.
These displays can be assigned relative positions. By default, new displays come in at the right. Displays can be ‘magnet docked’ together in much the same way that System Preferences does it.
Drag a space from its row to the display to assign it to that display.
If the space being dragged is already assigned to another display, there are two possible behaviours:
  • Desktop Space (a) onto existing (b): (a) replaces (b) in that display, and forms an extended desktop with the other displays containing (a)
  • Full-Screen App (a) onto existing (b): (a) and (b) swap displays.
When swipe-switching between spaces, what happens depends on which display has cursor focus. Full-Screen apps on other displays, or Desktops on ‘non-adjacent’ displays, do not get switched to.
Here's a picture of the proposed system. I've colour-coded Spaces for convenience.
Finally, there's the question of mirroring. Displays can 'already' be moved around when holding option. Perhaps dragging one display over another should designate it as a mirrored version? The mirrored display(s) would be designated by a badge on the main, with options to set resolution etc.

Tuesday, December 1, 2009

Open Source Symbology

What many geeks may not consider much these days is that most religions are closed-source.


So what if we were to open-source religion? What would we find?


I think that we would find infinite loops.