Documentation for RPWeb 0.3

RPWeb comes with no warranty. It may not work. See the notice at the bottom of this document.

This manual is divided into two sections. Section 1 briefly introduces Ranked Pairs voting, and why you might want to use this program. Section 2 tells you how to operate the program.

What is RPWeb?

Background

Often, organizations hold votes to make decisions. The simplest way, if for each person to vote for one option, the option with the most votes wins. However, there are problems related to this method, so it is sometimes suggested that voters should be allowed to enter a complete ranking of candidates, showing their second and third preference and so on.

It isn't obvious how these kinds of votes should be tabulated, however. Lots of methods have been suggested. In 1785, the Marquis de Condorcet suggested that if you consider the candidates two at a time, by looking at the rankings, you can determine which is preferred by more people to which. If one candidate is preferred by a majority two each other candidate in these comparisons, then he suggested that candidate should win. It is called the Condorcet winner, after him.

Unfortunately, as Condorcet pointed out, such a candidate need not exist. It is possible that each candidate has at least one defeat by one of these pairs (candidates considered two at a time). So, many people have suggested using a method that find the Condorcet winner if it exists, but finds a winner even if Condorcet's method gives no result.

Ranked Pairs

In 1987, Nicolaus Tideman invented one such method, which he called Ranked Pairs. "Pairs" because it uses the head-to-head (pairwise) comparisons of candidates. "Ranked" because these pairs are prioritized in case they conflict. Remember, each pair represents a majority preference of one candidate to another. Each of these majorities has a margin of victory. This margin is used to prioritize the pairs. For convenience, I will call a pair with a greater margin stronger than a pair with a lesser margin.

Ranked Pairs gives the ranking of the candidates that always reflects the majority preference between any two options, except in order to reflect greater majority preferences.

By "reflects" I mean that the final ranking between the particular pair of candidates agrees with the majority choice.

This method is related in: (B. T. Zavist & T.Tideman, "Complete independence of clones in the ranked pairs rule", Social choice and welfare, vol 6, 167-173, 1989)

I also describe and advocate the method at: http://www.fortunecity.com/meltingpot/harrow/124/path

If you provid a tie-breaking ranking (as described below), RP is guaranteed to give a complete ranking as a result. If you don't, RPVote plugs on anyway, but may not give a complete ranking.

Favouring Status Quo

One interesting feature of this program, is that you can specify an SQ (Status Quo), and give it an advantage. You can make it harder to defeat than a simple majority, by specifying a minimum margin. I give more details of this procedure (which is my own, not Tideman and Zavist's), on the web site I mention above. It's in the details section.

When you do set an SQ and minimum margin, the program alters the table of margins of victory. Where the SQ has a loss or victory below this margin, it is reset as a victory of the SQ over the other candidate by the minimum margin - 1/2. So, to lose, the SQ has to be defeated by at least one candidate by the minimum margin.

Program Operation

To use the program, fill in the blanks of the form. For candidates, type in a list of labels for the candidates. You won't want to fill in their full names, because the table might get too big. Instead, just give them disignations, like "A", "B" and "C". Or "1", "2" and "3". A 1-3 letter and number code works well. These labels are separated by spaces.

Candidates: [A B C]

Next, you may enter a Tie Breaking Ranking of the Candidates, or TBRC. This is used to resolve certain kinds of ties. If you enter anything here, it must be a complete list of all the candidates, in some order. If you don't enter anything, Ranked Pairs will struggle on regardless. It will try to point out results that don't depend on the TBRC.

Tie Breaker: [C B A]

Next, you can specify the Status Quo and margin. This makes the specified candidate harder to defeat. The higher the margin, the harder it is.

Status Quo: [B] m=[5]

Next, you should fill in the ballots. Each line of the input area is considered to be a separate ballot, and you rank the candidates in descending order. For example,

A B C

Of course, the candidates on the ballots must be the same as the ones you listed above as candidates.

You can rank two or more candidates as equal, by putting an equal sign between them.

A=B C

The above example sets A and B as equal, but both over C.

Some people like to use > signs between candidates, and this is allowed.

A > B > C

You can't use greater or equal signs in any of the other input boxes though.

Any candidates that aren't listed on a ballot are counted as equal to each other, but below the listed candidates. If you are just testing an example, it can be handy to be able to specify that you want a number of ballots to be entered the same way. To do this, you put the number in front of a colon, as follows.

100: A > B > C

This has the same effect as entering 100 ballots for A>B>C.

Output

First, the program gives some basic information, like the number of votes cast, and some of the options you selected.

Next, the program prints off tables. The first table gives the number of ballots in which the candidate corresponding to the row is ranked over the candidate corresponding to the column.

Then, a new table is given showing only the margins of victories. Where there is a loss, the table shows a "-" symbol.

If you have specified a status quo, the program then prints the margin table, adjusted for the minimum margin given. Instead of using 1/2, it says "+" to save space. So, if the SQ rule fixes a margin to 7 1/2, this is represented as 7+. Actually, it doesn't matter what the + represents, as long as it is more than 0 and less than 1.

If you have supplied a tie-breaker ballot, RPVWeb gives a complete ranking as the result.

It may be that the program can determine some results independent of a tiebreaker, in which case it produces a single output ranking as normal. Otherwise, it produces a table to compare the candidates. A "1" means that the row candidate will be ranked over the column candidate for any tiebreaker. A "0" means it will be ranked below for any tiebreaker. A "?" means that both are possible, or at least that the algorithm doesn't show that either is impossible.

Disclaimer of all warranty

IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.