Pairwise counting: Difference between revisions

Reintroduced Condorcet loser as e.g. STAR passes it and uses pairwise counting. Summable contingent vote would also use it.
No edit summary
(Reintroduced Condorcet loser as e.g. STAR passes it and uses pairwise counting. Summable contingent vote would also use it.)
 
(17 intermediate revisions by 5 users not shown)
Line 1:
[[File:Pairwise counting with ranked ballot GIF.gif|thumb|576x576px|A GIF for pairwise counting with a [[ranked ballot]]. Click on the image and then the thumbnail of the image to see the animation.]]
'''Pairwise counting''' is the process of considering a set of items, comparing one pair of items at a time, and for each pair counting the comparison results. In the context of voting theory, it involves comparing pairs of candidates or winner sets (usually using majority rule) to determine the winner and loser of the [[Pairwise matchup|pairwise matchup]]. This is done by looking at voters' (usually [[Ranked ballot|ranked]] or [[Rated ballot|rated]]) ballots to count, for each pair of candidates, which one they indicated a preference for, if they did. The [[pairwise preference]] article discusses how pairwise comparison information can be used.
 
Most, but not all, election methods that meet the [[Condorcet criterion]] or the [[Condorcet loser criterion]] use pairwise counting.<ref group="nb">[[Nanson'sThe method|Nanson]]most meetscommon theexceptions are [[CondorcetComposite_methods|hybrid criterionmethods]] (e.g. Smith//X) and [[InstantSequential_loser-elimination_method|sequential-runoff voting]] meets the [[Condorcet loser-elimination criterionmethods]].</ref> See the [[Pairwise counting#Condorcet|Condorcet section]] for more information on the use of pairwise counting in [[Condorcet methods]].
 
== ExamplesProcedure ==
 
=== Example without numbersExamples ===
 
==== Example without numbers ====
As an example, if pairwise counting is used in an election that has three candidates named A, B, and C, the following pairwise counts are produced:
 
Line 22 ⟶ 23:
 
If the number of voters who have no preference between two candidates is not supplied, it can be calculated using the supplied numbers. Specifically, start with the total number of voters in the election, then subtract the number of voters who prefer the first over the second, and then subtract the number of voters who prefer the second over the first.
 
In general, for N candidates, there are 0.5*N*(N-1) pairwise matchups. For example, for 2 candidates there is one matchup, for 3 candidates there are 3 matchups, for 4 candidates there are 6 matchups, for 5 candidates there are 10 matchups, for 6 candidates there are 15 matchups, and for 7 candidates there are 21 matchups.
 
These counts can be arranged in a ''pairwise comparison matrix''<ref name=":0">{{Cite book|url=https://books.google.com/?id=q2U8jd2AJkEC&lpg=PA6&pg=PA6|title=Democracy defended|last=Mackie, Gerry.|date=2003|publisher=Cambridge University Press|isbn=0511062648|location=Cambridge, UK|pages=6|oclc=252507400}}</ref> or ''outranking matrix<ref>{{Cite journal|title=On the Relevance of Theoretical Results to Voting System Choice|url=http://link.springer.com/10.1007/978-3-642-20441-8_10|publisher=Springer Berlin Heidelberg|work=Electoral Systems|date=2012|access-date=2020-01-16|isbn=978-3-642-20440-1|pages=255–274|doi=10.1007/978-3-642-20441-8_10|first=Hannu|last=Nurmi|editor-first=Dan S.|editor-last=Felsenthal|editor2-first=Moshé|editor2-last=Machover}}</ref>'' table (though it could simply be called the "candidate head-to-head matchup table") such as below.
Line 52 ⟶ 51:
Note that since a candidate can't be pairwise compared to themselves (for example candidate A can't be compared to candidate A), the cell that indicates this comparison is always empty.
 
In general, for N candidates, there are 0.5*N*(N-1) pairwise matchups. For example, for 2 candidates there is one matchup, for 3 candidates there are 3 matchups, for 4 candidates there are 6 matchups, for 5 candidates there are 10 matchups, for 6 candidates there are 15 matchups, and for 7 candidates there are 21 matchups.
To identify which candidate wins a specific pairwise matchup, such as between candidates A and B, subtract the value of B>A from A>B. If the resulting value is positive, then candidate A won the matchup. If it is zero, then there is a pairwise tie. If the result is negative, then candidate B won the matchup. (See the [[Pairwise counting#Terminology|Terminology]] section for details.)
 
Sometimes only the "dominance relation" (wins, losses, and ties) is shown, rather than the exact numbers. So for example, if A beat B in their pairwise matchup, it'd be possible to write "Win" (or a green checkmark) in the A>B cell and "Loss" (or a red X) in the B>A cell.
 
==== Example with numbers ====
 
{{Tenn_voting_example}}
Line 144 ⟶ 141:
|}
 
==== Example using various ballot types ====
 
[See [[:File:Pairwise counting procedure.png|File:Pairwise_counting_procedure.png]] for an image explaining all of this).
Line 150 ⟶ 147:
Suppose there are five candidates A, B, C, D and E.
 
===== Sufficiently expressive ballot types =====
 
====== Ranked ballots ======
Using ranked ballots, suppose two voters submit the ranked ballots A>B>C, which means they prefer A over B, B over C, and A over C, with all three of these ranked candidates being preferred over either D or E. This assumes that unranked candidates are ranked equally last.
 
====== Rated ballots ======
Now suppose the same two voters submit [[Rated voting|rated ballots]] of A:5 B:4 C:3, which means A is given a score of 5, B a score of 4, and C a score of 3, with D and E left blank. Pairwise preferences can be inferred from these ballots. Specifically A is scored higher than B, and B is scored higher than C. It is known that these ballots indicate that A is preferred over B, B over C, and A over C. If blank scores are assumed to mean the lowest score, which is usually a 0, then A and B and C are preferred over D and E.
 
Line 201 ⟶ 202:
([https://star.vote star.vote] offers the ability to see the pairwise matrix based off of rated ballots.)
 
===== Inexpressive ballot types =====
Pairwise counting also can be done using [[Choose-one voting]] ballots and [[Approval voting]] ballots (by giving one vote to the marked candidate in a matchup where only one of the two candidates was marked), but such ballots do not supply information to indicate that the voter prefers their 1st choice over their 2nd choice, that the voter prefers their 2nd choice over their 3rd choice, and so on.
 
====== Choose-one and Approval ballots ======
Note that when a candidate is unmarked it is generally treated as if the voter has no preference between the unmarked candidates. When the voter has no preference between certain candidates, which can also be seen by checking if the voter ranks/scores/marks multiple candidates in the same way (i.e. they say two candidates are both their 1st choice, or are both scored a 4 out of 5), then it is treated as if the voter wouldn't give a vote to any of those candidates in their matchups against each other.
Pairwise counting also can technically be done using [[Choose-one voting]] ballots and [[Approval voting]] ballots (by giving one vote to the marked candidate in a matchup where only one of the two candidates was marked), but such ballots do not supply information to indicate that the voter prefers their 1st choice over their 2nd choice, that the voter prefers their 2nd choice over their 3rd choice, and so on.
 
===== Dealing with writeunmarked/last-inplace candidates =====
Note that when a candidate is unmarked it is generally treated as if the voter has no preference between the unmarked candidates (a candidate who is marked on the ballot is considered '''explicitly''' supported, and a candidate who is unmarked is '''implicitly''' unsupported). When the voter has no preference between certain candidates, which can also be seen by checking if the voter ranks/scores/marks multiple candidates in the same way (i.e. they say two candidates are both their 1st choice, or are both scored a 4 out of 5), then it is treated as if the voter wouldn't give a vote to any of those candidates in their matchups against each other.
 
=== Dealing with write-in candidates ===
[[File:Approaches for handling write-in candidates in pairwise counting.png|thumb|837x837px]]
The difficulty of handling [[Write-in candidate|write-in candidat]]<nowiki/>es depends on how a voter's preference between ranked and unranked candidates is counted.
 
# If the voter is treated as preferring ranked candidates over unranked candidates (which is the near-universal approach), then write-ins can be difficult to count using pairwise counting, because the vote-counters don't know who they are and thus can't directly record voter preferences in matchups between on-ballot mainstream candidates and write-in candidates.
The below-discussed negative counting approach automatically handles write-ins, and requires less markings than the above-mentioned approach.
# If the voter is treated as having no preference between ranked and unranked candidates, then there are no issues to consider with counting write-in candidates under the regular approach.
 
Below are some ways of dealing with write-ins if unranked candidates are treated in the first way described above.
==Notes==
 
[[File:Pairwise counting table with links between matchups.png|thumb|444x444px|Green arrows point from the loser of the matchup to the winner. Yellow arrows indicate a tie. Red arrows (not shown here) indicate the opposite of green arrows (i.e. who lost the matchup).For example, the B>A matchup points to A>B with a green arrow because A pairwise beats B (head-to-head).]]Pairwise counting can be used to tally the results of [[Choose-one voting]], [[Approval voting]], and [[Score voting]]; in these methods, a voter is interpreted as giving a degree of support to each candidate in a matchup, which can be reflected either using margins or (in the case of Score) the voter's support for both candidates in the matchup. See [[Rated pairwise preference ballot#Margins%20and%20winning%20votes%20approaches|rated pairwise preference ballot#Margins and winning votes approaches]] for an example.
==== Non-comprehensive approaches ====
 
* Write-in candidates can be banned. This is the usual approach.
** Write-in candidates can be allowed to run, but with the caveat that only the pairwise preferences of ballots that rank them contribute votes in pairwise matchups featuring them.
*** A slight modification is to comprehensively count only those write-in candidates who are ranked on a significant number of ballots i.e. two rounds of counting may be necessary in each precinct sometimes, one to determine how many ballots write-ins are ranked on, and a second for the major write-ins.
 
==== Comprehensive approaches ====
These approaches collect all of the pairwise information for write-in candidates i.e. there would be no change in vote totals if the write-in candidate suddenly became one of the on-ballot candidates.
 
* In each [[precinct]], count the number of ballots that explicitly rank each (non-write-in) candidate. When a write-in candidate is found on a ballot, then before that ballot is counted, give each non-write-in candidate a number of votes against the write-in equal to the number of ballots where that non-write-in candidate was explicitly ranked. Then count the ballot and treat the write-in candidate as a non-write-in candidate from that point onwards (from the perspective of this algorithm).
**When creating a precinct subtotal, also record, for each candidate, how many ballots that candidate was explicitly ranked on.
**When combining the pairwise vote totals from each precinct, then if in one precinct a write-in candidate wasn't marked by any voters but in another they were, then similarly treat all the ballots from the first precinct to rank every explicitly ranked candidate above the write-in: for each candidate in the first precinct, against the write-in in the second, add the number of voters in the first precinct who explicitly ranked that non-write-in candidate. <ref>{{Cite web|url=https://electowiki.org/wiki/Talk:Condorcet_method|title=Condorcet method|date=2020-05-14|website=Electowiki|language=en|access-date=2020-05-14}}</ref><ref>{{Cite web|url=https://www.reddit.com/r/EndFPTP/comments/fsa4np/possible_solution_to_the_condorcet_writein_problem/fm7bgpd|title=r/EndFPTP - Comment by u/ASetOfCondors on ”Possible solution to the Condorcet write-in problem”|website=reddit|language=en-US|access-date=2020-05-14}}</ref>
* The [[Pairwise counting#Negative vote-counting approach|negative vote-counting approach]] automatically handles write-ins, and requires less markings than the above-mentioned approach when explicit equal-rankings are counted as a vote for both candidates in a matchup. However, it requires a post-processing stage to convert the Condorcet matrix into the more familiar form before usage by Condorcet methods.
 
==Count complexity==
==== Sequentially examining each rank on a voter's ballot ====
[[File:Pairwise counting with ranked ballot GIF.gif|thumb|576x576px|A GIF for pairwise counting with a [[ranked ballot]], which shows how to sequentially count it one rank at a time. Click on the image and then the thumbnail of the image to see the animation.]]The naive way of counting pairwise preferences implies determining, for each pair of candidates, and for each voter, if that voter prefers the first candidate of the pair to the second or vice versa. This requires looking at ballots <math>O(Vc^2)</math> times.
 
If reading a ballot takes a lot of time, it's possible to reduce the number of times a ballot has to be consulted by noting that:
 
* if a voter ranks X first, he prefers X to everybody else
* if he ranks Y second, he prefers Y to everybody but X
 
and so on. In other words, a ballot can be more quickly counted by examining candidates in each of its ranks sequentially from the highest rank on downward. The pairwise matrix still has to be updated <math>O(Vc^2)</math> times, but a ballot only has to be consulted <math>Vc</math> times at most. If the voters only rank a few preferences, that further reduces the counting time.
 
A special case of this speedup is to separately record the first preferences of each ballot, as in a [[First_past_the_post]] count. A voter who ranks a candidate X uniquely first must rank X above every other candidate and no other candidate above X, so there's no need to look at Y>X preferences at all.
 
===== Uses for first choice information =====
The naive way of counting pairwise preferences implies determining, for each pair of candidates, and for each voter, if that voter prefers the first candidate of the pair to the second or vice versa. This requires looking at ballots <math>O(Vc^2)</math> times. If reading a ballot takes a lot of time, it's possible to reduce the number of times a ballot has to be consulted by noting that if a voter ranks X first, he prefers X to everybody else; if he ranks Y second, he prefers Y to everybody but X, and so on. The Condorcet matrix still has to be updated <math>O(Vc^2)</math> times, but a ballot only has to be consulted <math>Vc</math> times at most. If the voters only rank a few preferences, that further reduces the counting time.
(This actually collects more information than the usual pairwise approach; specifically, if no voters equally rank candidates 1st, then it is possible to determine who the [[FPTP]] winner is, and further, if it can be determined that there is only one candidate in the [[Dominant mutual third set]], then that candidate is the [[IRV]] winner.)
 
== Techniques for when one is collecting both rated and pairwise information ==
If using pairwise counting for a [[rated method]], one helpful trick is to put the rated information for each candidate in the cell where each candidate is compared to themselves. For example, if A has 50 points (based on a [[Score voting]] ballot), B has 35 points, and C has 20, then this can be represented as:
{| class="wikitable"
Line 240 ⟶ 275:
This reduces the amount of space required to store and demonstrate all of the relevant information for calculating the result of the voting method.
 
=== Pairwise counting used in unorthodox contexts ===
== Election examples ==
Pairwise counting can be used to tally the results of [[Choose-one voting]], [[Approval voting]], and [[Score voting]]; in these methods, a voter is interpreted as giving a degree of support to each candidate in a matchup, which can be reflected either using margins or (in the case of Score) the voter's support for both candidates in the matchup. See [[rated pairwise preference ballot#Margins and winning votes approaches]] for an example.
 
==Negative vote-counting approach==
See [[Negative vote-counting approach for pairwise counting]] for an alternative way to do pairwise counting. The negative counting approach can be faster than the approach outlined in this article in some cases; for example, a voter who votes A>B when there are 10 candidates requires 9+8=17 markings to be made to count their ballot under the usual approach, but only 3 in the negative counting approach.
 
== Defunct sections ==
These sections were at one time part of this particle, but have been shifted to the [[Pairwise preference]] article. They are kept here only to avoid breaking any links pointing to them.
 
=== Election examples ===
See [[Pairwise preference#Election examples]]
 
===Terminology ===
See [[Pairwise preference#Definitions]].
 
===Condorcet===
See [[Pairwise preference#Condorcet]].
 
===Cardinal methods ===
See [[Pairwise preference#Strength of preference]] and [[rated pairwise preference ballot]].
 
===Notes===
==Negative vote-counting approach==
Image to right shows interpretation of ranked ballot.
[[File:Negative vote-counting approach to pairwise counting.png|thumb|1114x1114px|Negative vote-counting approach for pairwise counting (Note: Regular approach may be better in some use cases; see cited discussions in text to the left).]]
[[File:Pairwise counting negative counting with ranked ballot GIF.gif|thumb|454x454px|GIF for negative counting. Click on the image and then the thumbnail of the image to see the animation.]]
The usual approach to pairwise counting is for the precinct vote-counters to mark all of the voter's preferences in each head-to-head matchup. This can be slow, and also can make it difficult to accommodate write-in candidates, since the vote-counters won't know ahead of time who those candidates are, and thus won't be able to indicate preferences in those matchups. An alternative method of pairwise counting is the "negative votes/counting" approach: the precinct vote-counters simply indicate how many voters ranked/rated/marked a candidate on their ballot, and which candidates the voter ranked above (and equal to, depending on implementation; see below) the candidates they marked. In other words, instead of a candidate being assumed to be preferred only in the matchups where the vote-counters mark them as being so, the vote-counters assume a voter prefers a candidate they marked in all matchups against other candidates, and then work to indicate which matchups this is not true for. This approach can also be considered an Approval voting-based or [[cardinal]] approach, because when voters vote Approval-style (rank some candidates 1st and all others last) their ballots are counted like Approval ballots.
 
Note that this is faster when voters rank only a few of all candidates, and slower otherwise. For example, a voter who votes A>B when there are 10 candidates can be assumed to vote for A and B in every matchup, except they don't prefer B>A. Usually, this would require manually marking those positive preferences, resulting in 9 marks to show A being preferred to all other candidates, and 8 marks to show B preferred to all candidates except A. But negative counting only requires 3 marks: 1 each for A and B to indicate they are preferred in every matchup, and 1 to indicate that this isn't the case for B>A.
 
Writeup on solving the write-in issue for pairwise counting: <blockquote> Bonus: The votes for each candidate can be placed in the blank cell comparing themselves to themselves in the pairwise matrix i.e. A>A would contain A's votes [number of voters ranking them].<ref>{{Cite web|url=https://www.reddit.com/r/EndFPTP/comments/fsa4np/possible_solution_to_the_condorcet_writein_problem/|title=Possible solution to the Condorcet write-in problem|last=|first=|date=|website=|url-status=live|archive-url=|archive-date=|access-date=}}</ref></blockquote>
 
It is not necessary to mark that a voter ranked a candidate if they ranked that candidate as their last choice, because this means they wouldn't vote for that candidate in any matchups. This advice is less relevant when write-ins are allowed, however, because even if a voter ranks a candidate last among the candidates named on their ballot, they are still implicitly ranking that candidate above all write-in candidates they didn't rank on their ballot.
 
=== Dealing with equal-ranking ===
The negative counting approach requires even more markings when equal-ranking is allowed, and it is desired to have comprehensive vote totals, rather than only information about who won, tied, or lost each matchup. This is because if there are 2 candidates A and B, with: <blockquote>2 A>B
 
1 B>A
 
5 A=B </blockquote>then either it can be marked that A wins against B 2 to 1, or 7 to 6. This is because the voters who equally ranked A and B can be considered to either be voting for both of them, or neither of them, in their matchup. This is similar to how, in [[Approval voting]], if A has 30 approvals and B 20, and no other information is supplied, then it is impossible to know whether the 20 voters who approved B also approved A or not. This can change who wins if, for example, using the winning votes version of [[Schulze]].
 
This issue is most relevant when trying to get accurate [[winning votes]] totals. To do so, either two markings can be made (1 negative vote for A>B and 1 for B>A) or one (1 negative marking for the A vs B matchup in general, which is later interpreted as a negative vote for both candidates). This can make negative counting significantly harder than the regular approach for some ballots: if a voter had ranked 9 of 10 candidates 1st and the 10th candidate implicitly last, there would only be 9 marks to make in the regular approach, but at least 9 + 36 or 72 = 45 or 81 markings (depending on whether 1 mark or 2 marks are made for equal-ranked matchups) with the negative approach. If no marks are made for equal-ranked matchups, then the same number of only 9 marks would have to be made under the negative approach.
=== Using with strength of preference ===
Negative vote-counting can be used to count weak pairwise preferences (i.e. if a voter only wants to give 0.4 votes in a matchup; see [[Rated pairwise preference ballot#Implementations]]) by counting only a "partial ballot" marking a candidate, and partial (i.e. weighted or fractional) negative votes in certain matchups. In other words, it is as if a voter only partially approved (see [[KP transform]]) a candidate.
 
==References==
<references />
 
==Notes==
[[Category:Majority-related concepts]]
<references group="nb" />
 
[[Category:Majority–minority relations]]
[[Category:Condorcet-related concepts]]
 
<references group="nb" />
1,204

edits