IRV and Condorcet are the most complicated of the commonly-proposed voting systems. But IRV doesn't seem that hard. (Fairvote.org pro-IRV propaganda calls it "Simple as 1-2-3.") Does it?
North Carolina adopted Instant Runoff Voting in a "pilot program" for use in 2007 and 2008 elections for local offices in volunteering jurisdictions.Here is, courtesy of Joyce McCloy, verbatim, NC's rules description for their IRV methods as distributed to NC election officials (many of whom now complain they don't understand). [See also Cary NC's "IRV fact sheet" for more "easy as 1-2-3" stuff.] There actually are good reasons not to understand, since these NC rules actually make several crucial changes to standard IRV procedures (all for the worse in our view):
INSTANT RUNOFF VOTING in NORTH CAROLINA 2007 PILOT PROGRAM - M100 METHODOLOGY - VOTING When the Instant Runoff Voting (IRV) method is used for a particular contest, voting for one's top choice or choices is the same as if IRV were not used. Each voter is allowed to vote for as many candidates as there are seats to be filled in column A (see Exhibit I – Example IRV Ballot). Each voter is then allowed the opportunity to indicate two alternate candidate choices, one per column in each of columns B and C, ranked in order of preference. The voter has the option to choose alternate candidates. For example, in the Office of Mayor contest there is one seat to be filled. Each voter may vote for one candidate in column A, and then may indicate a first alternate candidate choice in column B, and a second alternate candidate choice in column C. In the City Council contest there are four seats to be filled. Each voter may vote for as many as four candidates in column A, and then may indicate a first alternate candidate choice in column B, and a second alternate candidate choice in column C. COUNTING - FIRST ROUND Only column A will be considered in the first round of counting. If a voter overvotes in column A, no votes in that contest on that ballot will be considered. A voter may undervote in column A. In the first round of counting, all ballots will be counted exactly as if IRV were not used, with the exception that any results from columns B and C will be ignored. If a sufficient number of candidates receive total votes exceeding the threshold of victory for all seats in that contest to be filled, normal procedures apply and there will be no need for a second round of counting. If all the seats are not filled, those candidates which have won seats will be removed from further consideration, and a number of candidates not exceeding twice the number of remaining seats to be filled will advance to the second round of counting, those candidates being the ones with the greatest numbers of first round votes. COUNTING - SECOND ROUND If a second round of counting is required, the counting shall be performed according to the following procedures: A) Counting a single-seat contest: 1) Ballots shall be maintained in separate groups according to where or how they were cast, by precinct or one-stop polling locations, or by mail. 2) For each such group, ballots shall be separated into four stacks, designated Stack A, Stack B, Stack C, and Stack O. 3) If a ballot was overvoted in column A, it shall be placed into Stack O. 4) If a ballot contains a vote in column A for either runoff candidate, it shall be placed into Stack A. Because these votes have already been counted in the first round, there is no need to count them again. 5) If a ballot does not contain a vote in column A for either runoff candidate, but does contain a vote in column B for either runoff candidate, it shall be placed into Stack B. 6) If a ballot does not contain a vote in either column A or B for either runoff candidate, it shall be placed into Stack C. 7) Stack B ballots shall be counted by machine or by hand. Only those votes cast for either runoff candidate in column B shall be considered. These totals shall be added to the totals for those candidates from the first round of counting. 8) Stack C ballots shall be counted by machine or by hand. Only those votes cast for either runoff candidate in column C shall be considered. These totals shall also be added to the totals for those candidates from the first round of counting. 9) Repeat steps 1-8 as necessary until all ballots for the entire jurisdiction have been counted. 10) The runoff candidate with the greatest total votes shall be declared the winner. B) Counting a multi-seat contest: 1) Ballots shall be maintained in separate groups according to where or how they were cast, by precinct or one-stop polling locations, or by mail. 2) For each such group, ballots shall be separated into five stacks, designated Stack A, Stack B, Stack B2, Stack C, and Stack O. 3) If a ballot was overvoted in column A, it shall be placed into Stack O. 4) If a ballot contains as many votes in column A as there are total seats to be filled, and all such votes are for candidates who either won seats in the first round or advanced to the second round, it shall be placed into Stack A. Because these votes have already been counted in the first round, there is no need to count them again. 5) If a ballot contains in column A exactly one undervote or exactly one vote for a candidate who did not win a seat in the first round and did not advance to the second round, and does contain a vote in column B for any runoff candidate not already voted for in column A, it shall be placed into Stack B. 6) If a ballot contains in column A more than one undervote or more than one vote for candidates who did not win seats in the first round and did not advance to the second round or at least one of each of these, and does contain a vote in column B for any runoff candidate not already voted for in column A, it shall be placed into Stack B2. 7) Of all remaining ballots, any which contains in column C a vote for a runoff candidate already voted for in column A or B shall be placed into Stack O, and the rest shall be placed into Stack C. 8) Stack B2 ballots shall be counted by machine or by hand. Only those votes cast for a runoff candidate in column B shall be considered. These totals shall be added to the totals for those candidates from the first round of counting. 9) All Stack B2 ballots which contain in column C a vote for a runoff candidate already voted for in column A or B shall be placed into Stack O, and the rest shall be placed into Stack C. 10) Stack B ballots shall be counted by machine or by hand. Only those votes cast for a runoff candidate in column B shall be considered. These totals shall be added to the totals for those candidates from the first round of counting. 11) Stack C ballots shall be counted by machine or by hand. Only those votes cast for a runoff candidate in column C shall be considered. These totals shall also be added to the totals for those candidates from the first round of counting. 12) Repeat steps 1-11 as necessary until all ballots for the entire jurisdiction have been counted. 13) The runoff candidate with the greatest total votes shall be declared the winner of a seat in this contest. 14) If not all seats have been filled, for each precinct or other ballot group recombine all ballots, then repeat steps 1-13 to determine the next winner.