# [EM] How would you fix California's top two primary?

Monkey Puzzle araucaria.araucana at gmail.com
Thu Jan 12 13:14:15 PST 2017

```Kristofer's latest comment is basically a specialized rehash of a topic we
were discussing on this list last October, on a thread I started about
looking for some sort of Approval/Concorcet hybrid + top two runoff.

What he is illustrating is that it is possible to use a two-seat
multiwinner election technique to do this, and that with Approval it is
possible to do this summably.

Kristofer is also using a variant of Droop-Bucklin reweighted voting that
uses constraints to discourage free-riding.

In the case of a top-two runoff, I don't think that free-riding defection
would be as much of a problem, because the quota would be large enough that
defection could lead to losing both the Approval winner and the second-seat
position.

Other comments on the O(N^2) arrays for summable calculation inserted in
blue below.

On Thu, Jan 12, 2017 at 6:30 AM, Kristofer Munsterhjelm <
km_elmet at t-online.de> wrote:

> On 01/12/2017 06:49 AM, Rob Lanphier wrote:
>
>> On Tue, Jan 10, 2017 at 3:56 PM, Kristofer Munsterhjelm
>> <km_elmet at t-online.de> wrote:
>>
>>> That goes a bit too far in the other direction. Consider a profile like
>>> this:
>>>
>>> 99: A B
>>>   1: C
>>>
>>> It seems pretty clear that the candidates to go to the second round
>>> should be A and B, but Approval-and-removal will pick either {A, C} or
>>> {B, C}. Of course, the real world probably won't have this kind of
>>> pathological election situation, but the bias is still there to a lesser
>>> degree: it disproportionately picks "extremists" for the second seat
>>> (i.e. candidates whose voters wouldn't vote for the first winner).
>>>
>>
>> This is an intriguing corner case.  Let's define a goal, and see if we
>> can find a system that meets it.
>>
>> Possible constraints:
>> *  An open primary that allows for two viable candidates to emerge
>> *  A general election where the largest percentage possible has
>> expressed approval of at least one candidate in the primary
>>
>> Approve-and-removal seems to result in the outcome you suggest.
>> Worse, the lack of summability makes the method uncomfortably complex.
>>
>> It seems that it's worth exploring the full range:
>> #1:
>> 51: A B
>> 49: C
>>
>> #2
>> 70: A B
>> 30: C
>>
>> #3:
>> 99: A B
>> 1: C
>>
>> Scenario #1 seems to clearly call for some form of
>> approval-and-removal to ensure proportionality.  A vs C would be
>> respectable choices for the general.
>> Scenario #3 is an extreme case where a crackpot is able to gain the
>> approval of a tiny slice of the electorate, and the general election
>> seems a waste of time.  A vs B seems the best choice for the general.
>>
>> However, what about scenario #2?  Allowing A & B to move the general
>> seems to marginalize the views of C in a way that seems like a
>> disadvantage when considered against old-school, closed-primary FPTP.
>>
>> The percentage chosen in my scenario #2 was somewhat arbitrary, and
>> was one that involved working within the two candidate general
>> election constraint.  Perhaps that number is worth playing with.  Or,
>> perhaps "number of candidates in the general election" is instead a
>> number worth playing with.
>>
>
> Suppose we use Droop quota logic. In each of these, the Droop quota is 33
> + 1/3, say 33 for simplicity's sake. So in scenario 1, the surplus is 18;
> in scenario 2, it is 37, and in scenario 3, it's 66. Thus the outcome would
> be {A, C} in #1 and {A, B} in #2 and #3.
>
> If your complexity budget is so that you can't do anything more complex
>>> than approval-and-remove, go with approval-and-remove because it's
>>> better than just picking two Approval winners right out. But if you can,
>>> the following might be better:
>>>
>>> A little bit more complex: First pick the Approval winner. Then randomly
>>> remove ballots that approved of this winner until you've either removed
>>> every ballot that approves of the winner, or 1/3 of the total number of
>>> ballots. Then pick the Approval winner by the remaining ballots (ignore
>>> the first winner if he's still number one).
>>>
>>> This is closer to Droop-proportional, but has a vote management
>>> incentive. The following mitigates the vote management incentive, but is
>>> more complex still:
>>>
>>> First pick the Approval winner W.
>>> For each other candidate X:
>>> Until you have removed 1/3 of the total number of ballots or every
>>> ballot that approves W, first remove ballots that approve W but not X,
>>> then ballots that approve both W and X. Count X's approval according to
>>> the remaining ballots after removal, then put the ballots you removed
>>> back in the pile so you can repeat for the next candidate.
>>>
>>> The candidate with the greatest thus counted approval score gets the
>>> second seat in the runoff. (This is essentially the constraint method
>>> with two seats and Approval.)
>>>
>>
>> This deserves more thought than I can give it right now.  It seems
>> worth examining further.
>>
>
> I haven't had time to look at it thoroughly, but it seems to be summable,
> which ordinary approval-and-removal isn't (as you said).
>
> To calculate X's adjusted Approval score, you only need:
>         - The number of voters who approved both W and X
>

For this first item, you can store a candidates's approval and approval of
other candidates on the same ballot in the same NxN array.

The approval winner W is then the candidate with the largest diagonal
entry:  W = candidate i for which A_{i,i} > A_{j,j} for all j != i.

>         - The number of voters who approved W but not X
>

I think this second array may not be necessary.  If W is candidate i, and X
is candidate j, and the first array above has entry A_{i,i} for W's
approval and A_{i,j} for voters who approve both W and X, then the number
of voters who approve W but do not approve X would be A_{i,i} - A_{i,j}.

>         - The number of voters in total (for the 1/3 calc)
>
> If you have the number of voters who approved W but not X, and you have
> the unadjusted Approval counts for every candidate, you can get the number
> of voters who approved both W and X. So it seems all you need is:
>
> - The number of voters in total: O(1)
> - For each candidate X: the number of voters approving X: O(n) in total
> - For each pair of candidates W, X: the number of voters who approved W
> but not X: O(n^2) in total
>
> which gives summability with order n^2.
>
> So we have an interesting contrast: One method is simple to explain but
> not summable. The other one is more complex, but is summable.
>
> (It's vaguely Condorcetian if you read "approves W but not X" as W>X.)
>
> The 1/3 threshold would probably mean it fails IIB. It should be possible
> to fix this (at the cost of more complexity still), with the general idea
> being to eliminate candidates with the fewest Approvals until the winner
> has at least 1/3 of the remaining votes.
>

There are some variants one could consider instead of Kristofer's somewhat
complex constraint method.

If you do the simpler Bucklin (or Approval) reweighted voting, the ballot
reweighting for ballots that approve W is

F = 1 - min[ (Q / A_w), 1 ]

where Q = the quota, and A_w = the approval winner.  In other words, if the
approval for W is less than the quota, all W-approving ballots are
reweighted to zero.  The number of ballots to be reweighted can be
calculated using the O(N^2) arrays Kristofer has already described.

One perpetual problem with reweighting methods like this is that truncated
ballots, those on which there are no remaining candidates after W is
seated, will be "eliminated" regardless, so the reweighting factor on
non-truncated ballots is too large.  It is possible to correct this with a
modification to the reweighting factor that removes the bullet-vote ballots
first.

If you accumulate another O(N) vector B, where B_i = the number of ballots
that bullet vote for candidate i, then you can reweight only the
non-bullet-voting ballots using

F = 1 - min[ (Q - B_w) / max[ (A_w - B_w), epsilon ], 1 ]

Aside from reweighting factor adjustment, there are various choices one can
make for the quota.  If you choose the Droop quota [Q = Total/3], a large
party that gets more than 66.6% of the Approval vote can dominate both
positions.  If you use the Hare quota [Q = Total/2], party dominance is
only possible with 75+% of the Approval vote.

In the interest of promoting a diverse choice for the runoff, I think using
the Hare quota would be preferable here.  Droop vs. Hare has a much larger
effect in multiwinner elections with 4 or fewer winners.

Ted (AKA Monkey Puzzle AKA dodecatheon)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20170112/232a9227/attachment.htm>
```