Majority Approval Dual Dropping Preference (replaces Condorcet with
Dual Dropping):
Approval Preference voting method (not implemented by program):
1) Voters are prompted to identify the option(s) they approve.
2) Voters who approve more than one option are then prompted to rank
their approved options.
Ballot completion and count method:
1) Non-voted options are given equal last place preference.
2) Non-voted equal preference option pairs are counted zero votes.
3) Voted equal preference option pairs are given half vote each.
MADDP tabulation method:
1) Tiebreaker is generated by (psuedo-)randomly reading previously
unread ballots until full ranking is generated or all ballots were read.
2) Majority Approval:
2a) If there are no majority approval count options then GOTO 3a.
2b) The option(s) with the largest majority approval count win.
2c) If there is a tie that results in too many winners then
execute the approval option tiebreaker routines described below.
2d) If requested number of winners generated then FINISHED
2e) For multi-winner contests, winner(s) from previous steps are
dropped then GOTO 2a.
3) Dual Dropping Preference:
3a) Sort the pairs by winning magnitude.
3b) If two or more pairs have the same winning magnitude then
execute the ranked pair tiebreaker routines described below.
3c) Compute SCCD winner(s) (measure of strength of defeat is
winning magnitude)
3d) Compute MAM winner(s)
3e) Option(s) that win both SCCD and MAM is(are) winner(s). GOTO 3h
3f) If no option wins both SCCD and MAM then SSCD or MAM
winner(s) are selected based on lower dropping cost (default measure of
dropping cost is margins). Mark this as a branch location.
3g) If dropping costs are tied then winner(s) is(are) MAM
winner(s). Mark this as a branch location.
3h) If required number of winners generated then GOTO step 3j.
3i) For multi-winner contests, winner(s) from previous steps are
dropped. GOTO 3a.
3j) Compare dropping cost of current outcome with previous lowest
dropping cost outcome and save current outcome if its dropping cost is
smaller. Save multiple outcomes if dropping cost tie.
3k) If there is an unvisited branch from steps 3f/g, restore that
branch, select higher dropping cost method or CSSD winners if dropping
costs were tied. GOTO 3h
3l) Winners are in saved outcome. FINISHED.
Approval option tiebreaker procedure (tentative):
1) Most 1st place votes:
1a) If no first place vote counts then GOTO 2a
1b) Select the option(s) from among the list of tied options
with the most first place votes.
1c) If number of selected options plus number of winners exceeds
requested number of winners then unselect the option(s) just selected in
step 1a and GOTO 2a.
1d) Designate selected option(s) as winner(s) and remove
option(s) from list of tied options.
1e) If there are two or more remaining unselected options and
the required number of winners is not met then GOTO 1a.
1f) RETURN
2) Tiebreaker ranking:
2a) If no option in list of tied options appears in tiebreaker
then FINISHED.
2b) Select the option from among list of tied options that is
ranked highest in tiebreaker.
2c) Designate selected option as winner and remove option from
list of tied options.
2d) If there are two or more remaining unselected options and
the required number of winners is not met then GOTO 2a.
2e) RETURN
Pair rank tiebreaker procedure (as defined for MAM):
1) Pair with larger margins:
1a) Compare margins. Option pair with largest margin ranked
ahead of other option.
1b) If tie was broken by previous step then FINISHED.
2) Pair whose loser has lower tiebreaker ranking:
2a) If one or both losing options are not in tiebreaker ranking
then GOTO 3a.
2b) Compare tiebreaker rank of losing options of each pair.
Option pair with lower ranked loser is ranked ahead of other option pair.
2c) If tie was broken by previous step then FINISHED.
3) Pair whose winner has higher tiebreaker ranking:
3a) If one or both winning options are not in tiebreaker ranking
then GOTO 4a.
3b) Compare tiebreaker ranks of winning options of each pair.
Option pair with higher ranked winner is ranked ahead of other option pair.
3c) If tie was broken by previous step then FINISHED.
4) Pair whose loser is defeated by other pair's loser:
4a) Construct new pair from losing options. Determine which
option is loser of this new pair.
4b) The original pair whose loser is also new pair's loser is
ranked higher.
4c) If tie was broken by previous step then FINISHED.
5) Pair whose winner defeats other pair's winner:
5a) Construct new pair from winning options. Determine which
option is winner of this new pair.
5b) The original pair whose winner is also new pair's winner is
ranked higher.
5c) FINISHED.
Comments:
The MADDP PERL script will default to single winner contest.
Users can specify their own tiebreaker ranking.
The PERL script that generates the tally matrix from the voted
preference ballot list has various options related to completing
incomplete ballots, counting equal preference voted and non-voted
options.
The scripts will work with approval and preference voting methods with or
without approval cutoffs for preference.
The MADDP PERL script will have options to specify number of winners,
first compute majority first place winner(s), not compute majority
approval winner(s), compute the MAM, CSSD, SD, or Minimum Dropping Cost
winner(s) instead of Dual Dropping winner, not do the global dropping cost
minimization (no branching), use different measures of strength of
defeat and dropping cost including relative margins and sum of
magnitudes and margins, and skip each of the tiebreakers.
There is a third PERL script to generate a tally matrix of size N
outcomes.
There are two more PERL scripts, one to convert Graphical Voter Interface
output to voted preference ballot list and one to convert to pairwise
tally matrix.
This is work in progress, it will take time yet to complete.
----
Election-methods mailing list - see http://electorama.com/em for list info