Task:Define voting procedure for Community Council elections

Image:Ambox_notice.png
This is an ongoing task, planned to be completed during the current maemo.org development sprint. Any help is appreciated!
Please see the talk page for discussion.


Due to the noise generated by the voting procedure from the first election, the procedure needs to be reevaluated and a better system needs to be put in place for the next election.

Contents

Proposal: RRV

Background from scorevoting.net

I've added a description of RRV to Wikipedia. Since TeX isn't enabled here, it's easiest to read it there. (Provided, of course, it remains intact...)

The proposal is edited for html legibility and simplicity below, but should be a complete specification.

Variables

  • l: number of voters
  • m: number of candidates
  • n: number of seats
  • i: index of voters (1 ≤ il)
  • j: index of candidates (1 ≤ jm)
  • k: index of seats (and rounds) (1 ≤ kn)

Parameters

An unbalanced normalized range is to be used, ranging from 0 to 1.

A ballot from voter i consists of m ratings aij for the m candidates, such that 0 ≤ aij ≤ 1.

Procedure

After all ballots are collected, n rounds are held to choose the winners wk, with one winner chosen per round. In the first round, the weighted ratings for each voter are initialized as bij1 = aij. The weighted scores in each round are summed:

Bjk = ∑i∈(1…l) bijk

The highest-scoring candidate not yet elected wins; this is not simple to express formally:

wk = max ( Bjk s.t. jw1…(k-1))

The weighted scores for each succeeding round are calculated by de-emphasizing ballots according to the portion in which they've already won:

bij(k+1)=aij / ( 1 + ∑p∈(1…k) aiwp )

Discussions