[EM] Displaying intermediate results in Condorcet-based elections (re: Rob Brown's original question)

Ernest Prabhakar drernie at mac.com
Wed Oct 29 13:25:16 PST 2003


On Oct 29, 2003, at 12:37 PM, Rob Brown wrote:
> As I think we all agree, if you can pick a single winner, you should 
> by straightforward extension be able to rank all the candidates.  In 
> ranking the candidates we have, then, linearized the matrix.  If it 
> can be linearized in a reasonable way, I believe it can be done such 
> that each candidate has not only an order, but a scalar dimension, 
> i.e. a score -- in an equally reasonable way, that does not conflict 
> with the ordering.  Maybe this is a naive leap of logic (or maybe 
> intuition) on my part, but I have yet to see an argument which leads 
> me to believe otherwise.

Hi all,

Interestingly, I have been playing around with some Python 
implementations of a Condorcet beatpath strategy, and the one issue I'm 
particularly concerned with  (since I currently work in Marketing) is 
the question of how best to present information.  I actually think 
that's pretty critical, since (for anything more complicated than 
Approval) transparency to the average voter will be essential to 
acceptance.

I'm trying to tackle this in two stage.  One, I'm trying to find an 
output format that concisely summarizes all the essential information, 
so that it can be easily audited.   Then, I hope to find a simple way 
to explain the results using ordinary concepts (for example, perhaps 
Condorcet could be described as an "Instant Round Robin", since it is 
effectively a series of pairwise matchups).

The format I am exploring for expressing a relative beat is:

	A -- x/y -> B

For a 'primitive' beat, this is simply:
	x = votes for A over B
	y = votes for B over A

Yes, I know that Beatpath explicitly ignores 'y' (though I've always 
been unclear why, since it seem like it would implicitly get elided 
anyway), but at any rate I think it is important to track.

For a formal beatpath, this format would expand to:
	x = weakest link of the chain from A to B
	y = weakest link of the chain from B to A
as in:
	x:	A -- x1/y1 -> C -- x2/y2 -> D -- x3/y3 -> B
	where x[i] are the primitive beats, and x = min(x1,x2,x3)
and similary for B

If I understand it correctly, Beatpath can in principle be used 
repeatedly to define a well ordered list of candidates (assuming no 
actual ties).    Thus, it should only be necessary to list how each 
candidate beats the one below it.  My hypothesis is that the resulting 
sequence:

	A -- x/y -> B
		x:	A -- x1/y1 -> C -- x2/y2 -> D -- x3/y3 -> B
		y:	B .... E .... F ... A
	B -- w/z -> C
		w:....
		z:....
	C....

should in fact contain all the information needed to audit the process, 
with a minimum of redundancy. It might also provide enough information 
for people to post-mortem the results using alternative Condorcet 
tiebreakers, though I'm not sure about that.

Does this make sense?  If people are interested, I can clean up and 
post my Python code (under the GPL, derived from Mike Ossipoff's 
CondorcetSSD).  I would love to see this sort of "easily-auditable" 
results become the norm, and would be happy to work with people to tie 
it into some online or Open Source voting tools.

-- Ernie P.
-----------
RadicalCentrism.org is an anti-partisan think tank near Sacramento, 
California, dedicated to developing and promoting the ideals of 
Reality, Character, Community and Humility as expressed in our Radical 
Centrist Manifesto: Ground Rules of Civil Society 
<http://RadicalCentrism.org/manifesto.html>




More information about the Election-Methods mailing list