Maximum Constrained Approval Bucklin: Difference between revisions

m
Typography: <math>-ify indexed variables
m (Add EM post dates, and links to free riding wiki page.)
m (Typography: <math>-ify indexed variables)
 
(13 intermediate revisions by 2 users not shown)
Line 1:
'''FloatingMaximum Constrained Approval Bucklin''' (FABMCAB) is a multiwinner method devised by [[Kristofer Munsterhjelm]], based on [[Bucklin voting]]. It uses linear optimization to calculate candidate support by assuming earlier surplus transfers were maximally favorable to the candidate in question, and thus reduces the strategic impact of lowering or raising a winning candidate on a ballot.
 
FABMCAB works in multiple rounds, each of which sets an implicit approval cutoff for every ballot. The first round considers first preferences as approved, the second round considers first and second preferences, and so on. For each round, the method evaluates every remaining unelected candidate. The unelected candidate with the greatest support is elected if his support is greater than a Droop quota, and a round may elect more than one candidate.
 
To determine the support of a particular candidate X, FABMCAB uses a floatingconstraint surplusmechanism allocationwhen mechanismcounts implicit approvals. WhenTo abe candidateDroop Yproportional, isMCAB deweights voters who approve of elected candidates, FABafter doesnthey'tre immediatelyelected. deweightUnlike everyBTV voterand whoSTV, contributedhowever, toMCAB Ydoes beingnot electeddirectly decide which voters are to be deweighted. Instead, it adds a constraint to the next rounds that at least a Droop quota's worth of voters whopreferring approveeach ofelected Ycandidate must be eliminated, without specifying who those voters arediscarded. When the method later attempts to maximizecounting the support for X in later rounds, it will choosemaximizes the voters that were eliminated so that as many voters remain to support X as possible. X's support is then this maximum number: the number of voters who can be mustered to supportfor X given all thethose constraints. onThis howis manycalled Y-approving''making ballotsthe havecase tofor be eliminatedX''.
 
Determining which voters to eliminate to maximize the support of a candidate subject to earlier constraints is relatively simple to do by linear programming, but hard to do by hand; FABMCAB can't be counted entirely by hand.
 
What ended up as FABMCAB was initially proposed in 2017<ref>{{cite web|url=http://lists.electorama.com/pipermail/election-methods-electorama.com/2017-January/001276.html|title=Bucklin multiwinner method|website=Election-methods mailing list archives|date=2017-01-06|last=Munsterhjelm|first=K.}}</ref> and simplified in later that year<ref>{{cite web|url=http://lists.electorama.com/pipermail/election-methods-electorama.com/2017-September/001584.html|title=A simpler vote management-resistant Bucklin LP|website=Election-methods mailing list archives|date=2017-09-15|last=Munsterhjelm|first=K.}}</ref>. The method detailed here has been further modified from the EM posts to resist Woodall [[free riding]].
 
<<TBD, below this point, particularly the handling of epsilons>>
 
== Determining the support for X ==
 
Let <math>r</math> be the rank and round number, <math>n</math> the number of candidates so far, and <math>c_k</math> the kth elected candidate. Consider unranked candidates to be ranked equal below every explicitly ranked candidate, i.e. never approved in any round. The linear program for determining the support of candidate X as (n+1)th candidate is:
 
maximize: sum over all voters v: support[v][n+1]
Line 30 ⟶ 28:
(sum over i = 1 ... n+1: support[v][i]) <= v's initial weight
 
where <math>c_({n+1)}</math> is provisionally defined as X for the purpose of determining X's support.
 
The three clauses do the following:
# imposes the Droop constraint: that any elected candidate <math>c_i</math> must have more than a Droop quota's worth of approvals according to the implicit approval cutoff for round r.
# defines support: <math>c_i</math>'s support is the number of voters who rank <math>c_i</math> at or above rank <math>r</math>.
# defines each voter's budget: no voter can spread more support across the candidates than his ballot's initial weight. The initial weight is 1 per voter for ordinary elections, or some other value in case of a weighted vote.
 
Line 41 ⟶ 39:
== Procedure ==
 
With the linear programming for determining the support of X defined, the FABMCAB procedure is this:
 
# Start with round = 1.
Line 80 ⟶ 78:
Both candidates have exceeded the Droop quota, but B has greater support, so B is elected. After this, technically speaking, C gets another shot.
 
Making the case for C, again: Of the 20 remaining votes from electing A, 3 + epsilon of these must go to electing B, so that 27 + 3 + eps >= 30. That leaves 30 - epsilon for C, which is not enough to clear the Droop quota. So C is disqualified.
 
Now every remaining candidate (namely C) is disqualified and the procedure is over. The winners are A and B.
Line 109 ⟶ 107:
Since A and B were elected in both cases, the vote-management failed.
 
== CriteriaCriterion compliances ==
 
FABMCAB passes the following criteria:
 
* Droop proportionality criterion
* Invulnerability to [[free riding|Woodall free riding]]
 
FABMCAB fails the following criteria:
 
* Weak invulnerability to [[free riding|Hylland free riding]]
Line 123 ⟶ 121:
=== Weak invulnerability to Hylland free riding ===
Suppose B is elected in round p and then later, the method arrives at round q.
A voter who votes B ahead of C will contribute to C's support when the method makes the case for C regardless of whether he voted B ahead or not, unless B would not have been elected in any earlier round without his support. In that respect, Hylland free riding has no impact on FABMCAB. However, suppose there is another voter who votes B ahead of D. When making the case for D, FABMCAB needs to allocate a Droop quota of votes towards B since B was elected earlier. The B>C voter makes himself available to cover B's deficit when FABMCAB makes the case for someone who is not C. Had he not voted for B, he would not be thus available, and perhaps FABMCAB would have needed to exclude the B>D voter instead, electing C instead of D. So while doing Hylland free riding is more risky than in BTV, it can still pay off, and thus FABMCAB fails weak invulnerability to Hylland free riding.
 
==== Example ====
 
Without vote management:
 
* 12: A>B>C>D
* 38: A>C>D>B
* 13: C>A>D>B
* 27: B
 
The first two ranks are the same as in the Schulze STV example, so A and B are elected.
 
With vote management:
 
* 12: A>B>C>D
* 22: A>C>D>B
* 29: C>D>A>B (dishonest A>C>D>B and C>A>D>B voters)
* 27: B
 
In the first round, A wins. In the second round, the optimal allocation when making the case for B is to remove 22 A>C ballots and 8 A>B ballots. B's score is thus 31. C's score is unchanged, so the free-riding pays off: C wins.
 
=== Monotonicity ===
Like BTV, FABMCAB fails the monotonicity criterion due to a lookahead problem<ref>{{cite web|url=http://lists.electorama.com/pipermail/election-methods-electorama.com/2018-February/001682.html|title=Path dependence monotonicity failure in BTV|website=Election-methods mailing list archives|date=2018-02-18|last=Munsterhjelm|first=K.}}</ref>. However, FABMCAB passes the two criteria above as long as the candidate to elect in a round is chosen (by some method) from the set of candidates with above Droop quota support for that round. Thus, it is possible that a variant that uses a yet unknown lookahead criterion instead of electing the candidate with the greatest support, could pass monotonicity.
 
== References ==
 
[[Category:Multi-winner voting methods]]
[[Category:Proportional voting methods]]
[[Category:Ranked voting methods]]
[[Category:PSC-compliant voting methods]]
1,196

edits