[EM] Idea for Condorcet-based open list PR

Ted Stern araucaria.araucana at gmail.com
Fri Oct 21 16:32:44 PDT 2011


I had an idea for how Condorcet methods could be used for an open list
Droop quota-based Proportional Representation method, as an
alternative to STV.  I am motivated by these factors:

 * I would like to avoid STV's elimination of candidates.

 * I would like a PR method that requires only a single summable count
   for each seat selection.

 * I would like lower-rank preferences to be considered when choosing
   each seat.

 * I would like to give voters' higher ranks a bit more of a chance
   than they would have with straight Approval Transferable Vote.

Here's my idea:

Choose a Condorcet method.  Schulze (winning votes) or any other
robust clone-resistant method would be fine.  However, there may be
advantages to using an approval-hybrid Condorcet method such as DMC or
Forest Simmons' Enhanced DMC.

Use some kind of ranked ballot, or rank inferred from rating.  Any
explicit rank or rating above the bottom will be interpreted as
Approval.

Give each ballot an initial weight of 1.0.

Choose a quota.  For example, I prefer the "easy" quota, (Number of
ballots + 1) divided by (Number of Seats + 1), no truncation.  This is
slightly different than the standard Droop quota.

While seats remain unfilled,

   Loop over all ballots:

     Accumulate into the pairwise array, with each pairwise vote
     scaled by ballot's weight.  Note: Calculate pairwise array only
     for standing candidates; i.e., those who have not already won a
     seat.

     Accumulate ballot's contribution to Approval for each candidate,
     scaled by ballot's weight.  This can be stored in the diagonal
     entry of the pairwise matrix, if desired.

     If there is only one standing candidate remaining on the ballot,
     accumulate this ballot's weighted approval into the Locked
     approval for this candidate.  This will be used to ensure that
     ballots with truncated rankings are used up completely, while the
     non-truncated ballots voting for a winner get to transfer as much
     of their vote as possible.

   Find the Winner (CW), as defined by your robust Condorcet method.
   If that winner has total Approval that exceeds the quota, or no
   candidates have Approval over the quota, that CW is seated.

   Then let

      T   = Approval Total for CW.
      L   = Locked Approval Total for CW
      Q   = Approval Quota
      QML = max(Q - L, 0.0)
      TML = max(max(T,Q) - L, eps), where eps is a small epsilon, say 1.e-9.

   The fraction of CW's total score sum used up, U, from all unlocked
   ballots voting for CW, is:

      U   = QML / TML

   Apply the following rescale factor to each ballot that contains an
   explicit ranking of the CW:

      F = 1.0 - U

   [For efficiency, rescaling can be delayed until the ballot loop on
   the next iteration.]

   What do you do if the normal CW's Approval does not exceed the
   quota, but there are other candidates whose score *does* exceed the
   quota?

   In that case, compute a *reduced* Condorcet Winner from among those
   candidates whose total Approval score exceeds the quota.

   This step is where an Approval-hybrid method such as DMC may be
   useful -- if there are candidates above the quota, you can
   terminate the search for the CW once you've descended below the
   quota.

   In the single-winner case, this would also differentiate this
   method from standard Schulze, for example.

   Note that in the other already-handled case where all candidates
   have scores below the quota, there is no vote transfer -- each
   ballot ranking the CW is used up completely.

---------

This method is Droop Proportional: If a faction of voters approves M
candidates, and has at least L * Q votes, then L candidates out of
those M will be seated.

This method would have significantly larger overhead than this
Bucklin-based PR method, Graded Approval Transferable Vote, which is
quite similar:

   https://github.com/dodecatheon/graded-approval-transferable-vote

Why would a Condorcet-based variant of Approval Transferable Vote be
an improvement over a Bucklin-based method?  The main difference is
that lower rank preferences will be considered for each seat, so cases
where two "clone" candidates have very close first-rank totals will be
decided more robustly.

I think that in practice, the first few seats of any faction will be
chosen similarly by either method.  The difference will come in the
last one or two seats, especially if the remaining votes are very
close to the quota.

It might also seem like choosing the CW for each seat may be using too
low an approval and thus use up too much of each ballot that rank's
that seat's CW.

However, in the Bucklin-based method, the "approval" total does not
necessarily include the total votes at any explicit rank.  It depends
on how low the threshold has descended.  So the actual approval score
used to calculate vote transfer will probably be quite similar when
comparing the methods, and the amount on each ballot that is used up
will also be similar.

Any thoughts?  I'll try coding up a version of this eventually ...

Ted
-- 
araucaria dot araucana at gmail dot com




More information about the Election-Methods mailing list