[EM] Publication suggestions for Declaration
On 9/11/2011 8:19 PM, Stéphane Rouillon wrote: When and where will the declaration be published? This declaration project was started by Jameson Quinn, and I'm not sure what he has in mind for publishing, and currently he may be busy monitoring the Guatemalan election results, so I'll offer my opinions, followed by a request for the opinions from others. * Obviously we need to post the document with signatures on at least one webpage. Posting it multiple places would be even better. Any ideas for the best places? * Of course we should post a PDF version that can be used as an attachment in email messages. (To save paper when it's printed we can just list signers' names and include a simple URL where the full signatures are listed.) * These two versions needs to be updated occasionally as signatures are added. * Of course each of us should announce it (typically via email) to other election-method advocates we correspond with (the ones who do not participate in this forum), plus politically active people we know. * Very importantly we should clearly announce it to the people on the election reform forum -- from which this Election Methods forum split off (due to the highly mathematical nature of these discussions). They are actively involved in implementing election reforms in specific governments, and the declaration is in plain English (and hopefully avoids words that are difficult to translate into other languages), so they can use it to support their election-reform efforts. Plus, hopefully many of them will want to sign the declaration. * I suggest we add a link to Wikipedia's election reform page, or possibly we should write a new section about the declaration (if the number of signatures justifies that addition). * We can send it to election departments in governments that have demonstrated an interest in better election methods, although this needs to be done personally rather than appearing to be an automated distribution. * Those of us who have Twitter accounts can announce it there (along with an appropriately named shortened URL). * We can attempt to get media attention. This could be done when we reach a significant number of signatures. Where else should we announce this declaration? Please make suggestions. (If you are already wanting to sign it, I suggest doing it sooner so that your name appears near the top of the list -- but keep in mind that cheaters deserve to lose their place and get bumped to the bottom.) Richard Fobes Election-Methods mailing list - see http://electorama.com/em for list info
Re: [EM] Publication suggestions for Declaration
The suggestion has come from Warren Smith. His steps are (Warren, correct me if I'm wrong): 1. Write a version of the declaration suitable for publication as an editorial of an academic journal. 2. Get it published, preferably (quasi) simultaneously, by a few small journals. 3. Go to the journal Science, which published a lower-quality editorial in 2001, and use that fact to get them to publish it. I support this plan, as well as all of Richard's suggestions, but it is a significant amount of work, and by no means a sure thing. Jameson Quinn 2011/9/13 Richard Fobes electionmeth...@votefair.org On 9/11/2011 8:19 PM, Stéphane Rouillon wrote: When and where will the declaration be published? This declaration project was started by Jameson Quinn, and I'm not sure what he has in mind for publishing, and currently he may be busy monitoring the Guatemalan election results, Well, aside from the war criminal coming in first place (on youtube you can see an old 80s documentary where admits genocide and a subordinate implicates him in torture and perhaps murder of prisoners), the most notable result was the over 12% of blank/spoiled votes. That's obviously intentional; it's over a third of the first place result, over half of the second place one, and more than the (sizable) margin between them. Election-Methods mailing list - see http://electorama.com/em for list info
Re: [EM] Publication suggestions for Declaration
Another option that would require more planning and work but could attract much more attention and have a vastly greater long-term as well as short-term impact would be to distribute a news release (possibly with the donated help of a good PR firm with experience in news release writing and distribution - ideally, to both US and international print and online news outlets) announcing the declaration and inviting the publication of stories derived from the release as well as stories involving additional reporting and interviews. To increase the impact of such a release, it would help if the declaration included well-thought-out concrete steps that interested readers could take to help the cause of improving methods used in real world public elections and other kinds of collective decisionmaking activities. Suggested steps could include ones involving contributions of money as well as time to specific activities and programs, including ones that don't yet exist (such as proposed research and promotional efforts and organizations) as well as existing ones - everything from lists like this one that people could join to already established programs and organizations that people could join or support. If distributed this way, the declaration could attract not only much more attention but could attract the attention of individuals and organizations (foundations and other kinds) that may be interested in and able to contribute significant funding to efforts to develop and promote improved election methods. If there is support for the idea of such a news release, I suggest taking a little more time to develop a list of existing and potential activities, programs, and organizations to include in the declaration or (if the list becomes too extensive for that) in an appendix to the declaration. -Ralph Suter On 9/13/2011, Jameson Quinn wrote: The suggestion has come from Warren Smith. His steps are (Warren, correct me if I'm wrong): 1. Write a version of the declaration suitable for publication as an editorial of an academic journal. 2. Get it published, preferably (quasi) simultaneously, by a few small journals. 3. Go to the journal Science, which published a lower-quality editorial in 2001, and use that fact to get them to publish it. I support this plan, as well as all of Richard's suggestions, but it is a significant amount of work, and by no means a sure thing. Jameson Quinn 2011/9/13 Richard Fobeselectionmeth...@votefair.org On 9/11/2011 8:19 PM, St?phane Rouillon wrote: When and where will the declaration be published? This declaration project was started by Jameson Quinn, and I'm not sure what he has in mind for publishing, and currently he may be busy monitoring the Guatemalan election results, Well, aside from the war criminal coming in first place (on youtube you can see an old 80s documentary where admits genocide and a subordinate implicates him in torture and perhaps murder of prisoners), the most notable result was the over 12% of blank/spoiled votes. That's obviously intentional; it's over a third of the first place result, over half of the second place one, and more than the (sizable) margin between them. Election-Methods mailing list - see http://electorama.com/em for list info
[EM] Kemeny challenge
The problems with Kemeny are the same as the problems with Dodgson: (1) computational intractability (2) clone dependence (3) they require completely ordered ballots (no truncations or equal ranking), so they do not readily adapt to Approval ballots, for example. In my posting several weeks ago under the title Dodgson done right I showed how to overcome these three problems. (The same modifications do the trick for both methods.) However, much of the simplicity of the statements of these two methods (Dodgson and Kemeny) gets lost in the translation. Election-Methods mailing list - see http://electorama.com/em for list info
[EM] Election Method API Design
There's been some talk lately of publishing good reference implementations of all the election methods we talk about in various forms of description. This inspired me to write up my thoughts on programming election methods. It's in the body of the message below, and also posted as a Google Doc https://docs.google.com/document/d/1QZqBNVYJuNIIaFxE7IUB4nPZhodFHJu2JOPNy7oBiF8/edit?hl=en_US -- Some thoughts I’ve had over the years of writing election code for simulations or counting of real votes. I assume an object or context of some sort. Usually this works out to the two minimum basic functions: ElectionObject.vote( data ) ElectionObject.getResults() The vote() Function voteSN( map of strings to numbers ) voteNN( map of numbers to numbers ) voteA( array of numbers ) The simplest and most unambiguous vote function API is to take a mapping from strings (choice names) to numbers (rankings or ratings). The API should be unambiguous about whether the numbers are rankings (1 best, 2 ok, 3 lesser, etc) or ratings (high better). I usually name functions “voteRatings” or “voteRankings” to reinforce this. For efficiency of storage this often internally calls a voteNN function after mapping choice names to choice index numbers. Another benefit of this API is that partial ballots completion is very easy to represent. A choice not marked on the ballot gets no membership in the mapping passed to the vote() function. There might be A through F on the ballot, but my vote might only be {A: 1, C: 2, E: 3} Voting a string map also makes write-ins automatically represented. On the down side, I have had to rearrange some election method algorithms to be able to use this API and transparently accept write-in choices. Curious readers should read my Condorcet implementation which grows the NxN tally array as choices are encountered. Often the simplest vote() function to implement is one that simply takes an array of numbers. The fixed length array corresponds to a fixed list of choices. I have used this form of implementation in C code for simulation of thousands of elections per second, counting hundreds of thousands or millions of votes per second. Getting Results getWinner() getResults() textResults() htmlResults() htmlExplain() If code needs to do something based on the winner, then there should be code to return the winner(s). Mostly I’ve needed this in simulations where I need to count up statistics on who won and their characteristics, or to fill in a pixel in a Yee Election Space diagram. Displaying results for people to look at is simpler. Just present the available data in a reasonable way. There is usually a simple table of candidate names and a score or count of votes they got. This can be returned programattically as a map from names to numbers and rendered by other code. For my uses I’ve found it useful to have each election method know how to render its own output to ascii-art tables or HTML tables. Furthermore an ‘explain’ method is a good idea. Multi-round methods such as IRV should show the internal state on each round. Condorcet can show the NxN tally table. The getResults() function might do the final calculation on whatever votes have been submitted by vote() up to that point. I write it so that it caches the results inside the context object. Calls to vote() clear that cache. Repeated calls to getResults() and related methods use the cached version if available. Adavced Methods: Summability It’s possible to have a ‘summable’ method where votes could be added up into many groups and those group results further added together to get the final result. Condorcet, Approval, Plurality and others are this way. They don’t need to have the full set of ballot data in the end, just a summation will do. The method to achieve this would look like this: ElectionObject.addSubElection(ElectionObject sub) On the down side, it’s hard to implement this and get it right for some methods, and it’s not really needed. Any modern computer could hold all the votes for every person on earth. There is no election too big. So, it’s a neat trick, and mostly interesting to election algorithm nerds, but I probably won’t be implementing this more than I have so far … until the next time it would just be too cool and needs doing. Data Formats To go with my preferred representation of a vote as a mapping between choice names and numbers, there are a couple good ways of storing that kind of data. My favorite by far is URL encoded. nameA=number1nameB=number2nameC=number3 On the up side, it is unambiguous and very hard to misinterpret. (The only possible misinterpretation is whether the numbers are ratings or rankings.) On the down side, it repeats the choice name a great deal and wastes some space. This can be mitigated by any common compression software such as gzip/zlib, bzip2 or zip. They all do a very good job of compressing frequently repeated substrings. Another
[EM] Dodgson and Kemeny done right?
Dodgson and Kemeny done right (F.W.Simmons) -Warren D. Smith, Sept 2011-- Simmons claims he had posted something called Dodgson done right which gets around the problem that with Dodgson voting it is NP-hard to find the winner, and supposedly Kemeny has a similar fix. I failed to find his post, but reading between the lines am attempting to try to determine what Simmons probably had in mind by reverse engineering, and/or the fact I had similar thoughts of my own a long time back. DODGSON: votes are rank-orderings of the N candidates. Output ordering: the one such that the smallest total candidate motion (distance moved, summed over all candidates on all ballots) is required to convert the input orders into the output order. KEMENY: votes are rank-orderings of the N candidates. Output ordering: the one with the fewest total number of disagreements with the input orders about candidate-pairs (summed over all candidate-pairs on all ballots) ATTEMPT TO REPAIR/REDEFINE: Make the ballots instead be range-voting style RATINGS ballots. Output now also is a ratings-style ballot. For ratingified Dodgson, output is a ballot with minimum total candidate motion required to convert all the input ballots into the output ballot (total distance traveled along the ratings axis, summed over all candidates and all ballots). For ratingified Kemeny, output is the ballot with minimum total 2-candidate travel distance summed over all candidate-pairs on all input ballots, where that candidate pair has to travel along the ratings axis so instead of their original directed separation, they now have the same separation (in same direction) as the output ballot. THEOREM: Ratingified Dodgson is no longer NP-hard to find, in fact it is easy, in fact it is just this: each candidate's output score is the median of his input scores. PROOF: Easy. REMARK: If instead we were minimizing the sum of the SQUARES of the travel distances, then ratingified Dodgson would just become average-based range voting, the output score is the mean of that candidate's input scores. THEOREM: Ratingified Kemeny is by this definition the same thing as ratingified Dodgson. -- Warren D. Smith http://RangeVoting.org -- add your endorsement (by clicking endorse as 1st step) Election-Methods mailing list - see http://electorama.com/em for list info