/ ballot Public
forked from electionscience/ballot

## History

257 lines (184 loc) · 33.2 KB

# proportional.md

257 lines (184 loc) · 33.2 KB
/proportional/
page-3
Proportional Methods
An Interactive Guide to Proportional Voting Methods
by Paretoman, June 2020

I'm going to describe how we can motivate proportional voting from a mathematical perspective, and we'll look at simpler methods that keep the same motivation.

Then continue on to read about proportional voting methods other than STV and how they compare.

## A Closer Candidate

Proportional representation is similar to a well-known problem called the facility location problem. Say you’re in the grocery supply business. You want to save on gas, so you want to minimize the distance between the distribution facility and the grocery stores. So you want to minimize the sum of the distances between each store and its assigned facility.

Facility Location Problem - Colors indicate facility-store assignments. Blank facilities were proposed and rejected. Northern England is pictured.

Let's apply this idea to voting. Above, we're selecting multiple facilities to serve a larger set of stores. Now we’re thinking of electing multiple candidates to multiple seats in a legislature for the same voter population.

We already used the idea of minimizing distance to find a candidate that is in the middle of the voters (on the common ground page). This is what the median does.

{% include sim.html link = "link" title = "Median in 1D" caption = "Recall this example of finding the median. Try moving some voters. Add a candidate (+). The total area of the bars below is the sum of all the distances between the voters and the candidate or median. The median minimizes this sum. A winning candidate should also minimize this sum." comment = "" id = "median_1d_sim" gif = "gif/median.gif" %}

A median can also be found in two dimensions by using the same idea of minimizing distance.

{% include sim.html link = "link" title = "Median in 2D" caption = "Move some voters. Add a candidate (+). Just like for the 1D case, the total area or length of the lines below is the sum of all the distances between the voters and the candidate or median. The median we chose here minimizes this sum. A winning candidate should also minimize this sum." comment = "" id = "median_2d_sim" gif = "gif/median_2d.gif" %}

We can get distances from score voting, or approval voting, or star voting. We can just use the ballot scores and try to find the candidates with the highest scores. This is the same as finding the candidates with the shortest distance to the voters. You've seen this before on the common ground page.

{% include sim.html link='link' title='Scoring Measures Distance' caption='Basically, scoring asks, "Is the candidate close to you?"' comment='simple,lots of candidates, one voter' id='score_sim' gif = "gif/score.gif"%}

Let's introduce now a new idea that we are also going to make assignments. Each voter will be assigned to exactly one candidate out of the set of elected winners. Only the scores they gave to that candidate will matter for the optimization. You maximize the scores that each candidate gets from only their assigned voters. That means a candidate can get closer to their assigned voters. This is very similar to districts except the voting system is doing the hard part of dividing the voters into groups.

{% include sim.html link = "link" title = "Equal Facility Location Problem" caption = "Similar results to STV in broadness of support." comment = "Maybe choose a more interesting example." id = "facility_sim" gif = "gif/facility.gif" %}

That was actually a lot of computation, but the good thing is that this problem is already solved. There are techniques called the branch and bound method and the Simplex method that are used together to solve this problem. Basically, branch and bound means you can look at all the possibilities without calculating every one. You put them into groups called branches, and the best-case scenario for that branch is bound by some value. Then you can cut branches off and simplify the problem.

If you would like to know more about branch and bound and Simplex, they are part of a more general set of algorithms called mixed integer linear programming. These tools are used in the business world in what is known as the field of operations research. They deal with logistics - physically moving around things, like groceries. They also apply to our case of electing representatives to serve voters.

This is a good method to inspire other methods like the Single Transferable Vote, STV. Voters might be more willing to accept STV because they can see the calculations being done. Also, STV gets pretty close to the motivating idea of the facility location problem, and if you compare their visualizations, they look very similar. There are more methods like the Monroe method that are also very close to this motivating idea of optimizing assignments of voters to the candidates they scored highest.

## Sequential Monroe Score Voting

Here's a simple method to get a good solution to the Equal Facility Problem quickly. First, pick the winner with the highest score among a quota of voters. Then count only the remaining voters who weren't in that quota. And repeat. The unofficial name for this is Sequential Monroe Score Voting. It uses the same concept of the Equal Facility Problem but uses a simpler technique to find a feasible solution.

Also, I'm trying out a visualization of utility, so click the "+" next to "utility chart" to see it. Basically, the idea here is that each voter's utility is best measured by the utility of the closest winning candidate to them, so I chart that with dark grey dots.

{% include sim.html link = "link" title = "Sequential Monroe Score Voting" caption = "Similar results to STV in broadness of support and easy to show calculations like STV" comment = "Maybe choose a more interesting example." id = "sequential_monroe_score_sim" gif = "gif/sequential_monroe_score.gif" %}

### Clustering

Basically, what these methods try to do is make clusters. One idea of clusters is that you can represent a bunch of data points by a much smaller number of data points. This is really familiar. It's basically what a legislature does. The members of the legislature are the representatives of the people.

## STV's Quota

(mostly a refresher from the STV page)

STV uses a quota to assign voters to candidates in a similar way to the facility location problem.

Once a candidate has been elected by a quota of voters, the voters have successfully used their ballot to get representation, so it is not counted again for a second candidate.

Refresher: STV asks voters to rank the candidates in order from best to worst. During counting, your vote counts for your top candidate. One-by-one, the candidate with the least number of votes is eliminated and taken out of the running. Check out the sketch below that shows everyone connected to their first pick. Colored flow lines show some voters moving to their next choice after their top pick is eliminated.

{% include sim.html link = "link" title = "Quotas Give Proportional Results" caption = "Here's two groups with a 1:2 ratio (really 4:7). The winners are also in the same ratio." comment = "Maybe choose a more interesting example." id = "proportional_two_to_one_sim" gif = "gif/proportional_two_to_one.gif" %}

### Visualization

(refresher from STV page)

Notice the chart that shows a visual of the process of elimination. It starts at the top and each row tracks who the voter's top pick is. Each column is a voter. Transparency is used to represent the excess vote that remains after a quota is filled. As candidates are eliminated, the groups of voters become visually apparent.

Below this chart are a couple of charts that are a measure of voter power. They track the weight of the each voter's contribution to a candidate's election. When a candidate is elected in a round, the voters whose vote counted for that candidate are added to fill up the chart. The intuition is that the voter could have voted for someone else, so the candidate owes them some share of their power.

In the first chart of the "Voter Weighting Used by the Method", the exact weights used by the voting method to select winners in each round are shown. To choose the final winner, the election is similar to a single-winner election. All that the last guy needs to win is 50% of the remaining vote weight. In the background is a dark bar with a height that corresponds to a vote at its full weight. As candidates get elected, the bar is covered. Any part of the bar that is still showing after all candidates are elected shows votes that are still not counted.

In the second chart of the "Voter Weight Contributed to Candidates", the total weight given to each candidate is rescaled so that it is equal for each candidate and sums across candidates to the full amount of representation available. In the background is a dark bar with a height that corresponds to every voter contributing equally to the election of the candidates. The height of this bar is each voter's ideal share of representation.

(Also, here are a few more specifics about these charts. The voters and candidates are arranged in a line by using an algorithm that solves the traveling salesman problem to keep voters together who are near each other in 2D space. Specifically, the ballots are used as coordinates or feature vectors since this 2D space isn't something you'd be able to see in an election.)

### Visualization of Voter Power

(refresher from STV page)

Voter weight contributed to candidates is not exactly voter power. Power is a collective phenomenon.

Think of single-winner voting methods. The winner is most representative of the median of the group. The median is a collective measure. If there are two sides and both are competing for the median, then both sides are represented. To see why this is the case, consider a case where the election is not competitive and the median belongs to only one side, then all the voters on that side benefit from that power, which is not very representative. The most representative election would be a competitive election where the median could be on either side.

In STV, there are multiple "medians" (more like percentiles), one for each winner. These medians can be spread out over a larger region than for the single-winner case. This means there are more ways to be part of a group that wins and candidates have to pay attention to more voters.

Also, consider what would happen if, after the election, a candidate shifted their position toward the center of the group that elected them. They would lose the more moderate voters that voted for them when the next election comes.

Draft - the first part above is nice. The second part below is a draft and includes voting methods that are in development.

## Using STV's Quota with Other Ballots

The concept of a quota extends to multiple ballot counting methods:

1. Top-choice-counts Ranking Methods: the Single Transferable Vote (STV), also known as multi-winner Ranked Choice Voting RCV
2. Scoring methods (including Approval Voting and STAR voting): the facility location problem, Sequential Monroe Score Voting, Allocated Score, and STAR Proportional Representation.
3. Clustering with STV, then electing with pairwise methods: I made one method that uses STV to form equal clusters of voters. Then it uses Minimax within the voter clusters to elect candidates.
4. Pairwise ballot methods. (I'm working on a version of minimax)

The power chart is more useful for scoring methods because the voter can support multiple candidates at the same time. That means the voter is able to say that their vote counted for a candidate so that candidate owes them some share of representation. Also, the votes by round has an additional data dimension for the same reason, and it's hard to visualize, so you need to click through the rounds to see how the election was counted.

{% include sim.html link = "link" title = "Score Voting with Quotas" caption = "Similar results to STV in this three-party example. Mouse over the rounds to see the progression." comment = "Maybe choose a more interesting example." id = "score_quota_sim" gif = "gif/score_quota.gif" %}

{% include sim.html link = "link" title = "Approval Voting with Quotas" caption = "Pretty much the same as score. Mouse over the rounds." comment = "Maybe choose a more interesting example." id = "approval_quota_sim" gif = "gif/approval_quota.gif" %}

{% include sim.html link = "link" title = "Allocated Score Voting" caption = "Elect the highest scoring candidate, then assign the closest voters to that winner and elect more candidates with the rest of the voters." comment = "" id = "allocated_score_sim" gif = "gif/allocated_score.gif" %}

{% include sim.html link = "link" title = "STAR Proportional Representation" caption = "Elect the best candidate according to STAR voting, then assign the closest voters to that winner and elect more candidates with the rest of the voters." comment = "" id = "star_pr_sim" gif = "gif/star_pr.gif" %}

{% include sim.html link = "link" title = "STV Minimax" caption = "Use STV to form equal clusters of voters. Then use Minimax within the voter clusters to elect candidates." comment = "" id = "stv_minimax_sim" gif = "gif/stv_minimax.gif" %}

{% include sim.html link = "link" title = "An Attempt at Pairwise Voting with Quotas" caption = "Under active development. Mouse over the pairs." comment = "Maybe choose a more interesting example." id = "pair_quota_sim" gif = "gif/pair_quota.gif" %}

## Proportionality

Let's get back to the idea of proportionality. You can see that in these proportional methods, a voter group with two times as many voters gets two times as many representatives.

{% include sim.html link = "link" title = "Quotas Give Proportional Results" caption = "Try all the voting systems. They each give a 1:2 ratio of voters between the groups. Also try a larger number of seats. The large group is 63% of voters, so it's a 4:7 ratio." comment = "Maybe choose a more interesting example. altlink is link" id = "again_proportional_two_to_one_sim" gif = "gif/again_proportional_two_to_one.gif" %}

This proportionality applies even when there aren't distinct groups. In the example below, there is a difference between STV and the other methods. STV picks a set of candidates that is spaced more widely to cover a larger area of voters. The other methods tend to pick candidates more toward the center. This is probably because STV considers the first choices above others, while the other systems consider all the options at the same time.

{% include sim.html link = "link" title = "Differences Regarding Evenly Spaced Winners" caption = "STV picks a broader set of candidates to match the voters, but other methods pick more broad candidates that more voters would like." comment = "The explanation is going to be tricky" id = "distribution_matching_sim" gif = "gif/distribution_matching.gif" %}

### Apportionment-Based Multi-Winner Methods

There are more methods that only provide proportionality to distinct groups, and don't provide the kind of distribution matching that STV does to cover an area of voters with evenly spaced candidates. They are mechanically different. They apply a method of counting votes that is used for apportionment. Apportionment means you have separate groups, like different states, and you want to find out how many representatives to give to each state. Three examples are given below: reweighted range voting, reweighted approval voting, and proportional approval voting.

{% include sim.html link = "link" title = "Apportionment-Based Methods" caption = "STV picks a broader set of candidates to match the voters, but other methods pick more broad candidates that more voters would like." comment = "The explanation is going to be tricky" id = "semi_proportional_sim" gif = "gif/semi_proportional.gif" %}

### Party Proportional Methods

Additionally, there are ways to have proportionality by using a party system, but that is a mechanically-different method that I haven't added to the simulator yet, so we'll discuss it on another page to come in the near future.

## Future Work

I still need to work out what the strategies would be for voters and candidates. So far, in the above examples, I've been using the honest strategy for ranking and the normalization strategy for scoring.

## Afterword

I hope that by seeing how proportional methods work you're inspired to improve our ability to represent all members of society. Basically, proportional methods allow candidates to better serve a segment of society by being closer to them.