[EM] Publication suggestions for Declaration

2011-09-13 Thread Richard Fobes

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

2011-09-13 Thread Jameson Quinn
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

2011-09-13 Thread Ralph Suter
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

2011-09-13 Thread fsimmons
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

2011-09-13 Thread Brian Olson
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?

2011-09-13 Thread Warren Smith
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