Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
http://vote.sourceforge.net/ve/docs.html
home
Input File
Comments
Comments may appear anywhere in the input file. Any part of an input line after a "#" is ignored. -cands A-C # this comment will be ignored
Commands
1 of 5
21.5.2012 8:25
http://vote.sourceforge.net/ve/docs.html
Any line beginning with a "-" is interpreted as one or more commands. Each new command on a line begins with its own "-" following a space of tab. For example -m minmax -cands A-C -tie A B C This line provides three different commands. Notice that the hyphen in "A-C" does not introduce a new command, because there is no space before it. You may also place commands as initial arguments on the command line, for example python voteengine.py <test -m tideman -cands A-C
minmax nanson pw_elim s//irv Nansons's orginal method successively eliminate candidate with greatest pairwise defeat.
s//minmax schulze smith table rp ukvt Not actually a method. Just prints the pairwise table. Ranked Pairs apply the rules used by the uk.* usenet hierarchy. Apply the minmax floyd algorithm.
2 of 5
21.5.2012 8:25
http://vote.sourceforge.net/ve/docs.html
The "-cands" command must be given a list of candidate designations that will be used in the various printouts provided by the programming. Candidates actual names would be too long, so instead each candidate is assigned a letter or number. This command allows you to specify a range for use by the candidates. For example -cands 1-12 means that the numbers 1 through 12 will be used to designate candidates. You can also use letters. -cands A-F designates the candidates as A through F. To allow more that 26 candidates, VoteEngine allows you to make use of a letter sequence that proceeds A to Z, then AA to ZZ, then AAA to ZZZ and so on. So, you can say, -cands V-RS which means V, W, X, Y, Z, AA, AB, AC, AD AZ, ZA, ZB, RS You can also use special ranges that combine a letter and number series, as follows -cands A1-C3 This produces the sequence, A1, A2, A3, B1, B2, B3, C1, C2, C3. It is important to note that only the <letter><number> form is supported. You don't have to use ranges, however, you can specify specific candidates, like -cands 7A AB Q R+ C D More characters and sequences are legal in this form than in a range. You can also combine ranges with separately specified candidates. -cands A-F SQ RO For, example if you have designations with a special meaning. For example "SQ" for Status Quo, or "RO" for re-open discussion.
3 of 5
21.5.2012 8:25
http://vote.sourceforge.net/ve/docs.html
includes the "table" method, which can be used to add up tables. -table #ABCD A X 5 3 7 # comments are allowed here B4X92 C87X6 D539X The table entry format is meant to be forgiving. It counts back from the end of the line to determine how many words or numbers it reads in. This means that you can put whatever you want at the beginning of the line and it will be ignored. Similarly, you can put any single word in the long diagonal where the row and column are equal. I prefer "X", as above, but you could also use "N/A" or 0, or anything else that is one word long. You can also use comments to provide extra information, for example, column headers as above, or comments after the information on the line.
Ballots
Here is an example ballot line. 30: A B= C > D E # comments allowed An "=" declares that two candidates are ranked as equal. If no equal sign is present, candidates are assumed to be listed in descending preference. You may use a ">" sign to express this, but one is not required. Any candidates not listed are ranked as equal to one another, but lesser than all listed candidates. The "30" says that 30 votes will be scored according to the ranking given. If the number and colon are omitted, then it is assumed that only one ballot is being counted. ABC BCA ACB Each of the ballots above is scored as 1 vote.
Output
4 of 5 21.5.2012 8:25
http://vote.sourceforge.net/ve/docs.html
The output produced by VoteEngine varies with the method being used. If you dont use any method, the pairwise table is calculated, and the program exits. Most methods will provide a ranking of the candidates. Usually, this ranking will be straightforward. A>B>C>D This simply orders the candidates from highest (A) to lowest (D). However, if some form of tie results, the ranking may be more complicated. In this case, the "," is used to remain non-committal about the relative value of two candidates. For example. If a complete ranking cannot be determined, VoteEngine prints a Win/Loss/Unknown table.
Future Directions
I hope to improve this program over time. If you have any suggestions, especially of actual code, please let me know. I don't expect many people to use this program, so I'm interested in hearing from anyone who does. In any case, I hope you find VoteEngine useful.
5 of 5
21.5.2012 8:25