PEP 308 vote type (was Re: Update to PEP308: if-then-else expression)

Laura Creighton lac at strakt.com
Tue Feb 11 14:21:47 EST 2003


> In article <v4hslpo2h2760d at news.supernews.com>,
> John Roth <johnroth at ameritech.net> wrote:
> >
> >Which brings up an interesting idea - could we use acceptability
> >voting?
> 
> If I run the voting, and it's a straight "pick between these
> alternatives" vote, I'll probably use Condorcet.  OTOH, after taking a
> quick look at more web pages, approval voting is easier, so maybe I'll
> use that instead.  <shrug>
> 
> Does anyone have actual experience with both Condorcet and approval
> voting?  (I'm *not* going to use IRV (aka Australian/Hugo).)
> -- 
> Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/
> 
> Register for PyCon now!  http://www.python.org/pycon/reg.html
> -- 
> http://mail.python.org/mailman/listinfo/python-list

[cc'd to Dave Brueck, in the hopes that it will be interesting to him]

I've got a fair bit of experience with both of these. (I think I have
spent too much time joining Societies full of people who are _really_
into electoral process).  Both of them have a bad problem for our
purposes; they exist to 'determine winners in elections which must
have a winner'.  When you add 'or do nothing' to the mix, bad things
happen to your electoral process.  So we always pulled them out to
use, after we passed a resolution 'resolved, we are going to do
something rather than nothing'.  Since this is the basis of contention
here, I don't see how this is going to help us.  I will explain for
Approval voting, because I don't want to explain Concordet to anybody.

You can go look both Approval and Concordet up here:
http://electionmethods.org/index.htm or
http://electionmethods.org/fr/index.htm if you like French better.
<Then you will understand why I don't want to explain Concordet.>

(  By the way, there is a Python script that implements the Cloneproof 
   Condorcet SSD (SchwartzSequential Dropping) algorithm onsite.
   http://electionmethods.org/CondorcetSSD.py
   authors Mike Ossipoff and Russ Paielli.    pleased me.  )

I don't see how approval voting is going to help us.  I was taught
that you cannot use it when one of the alternatives is 'or do nothing'.

This is because either a) everybody votes for a, b, or nothing; c, d
or nothing; and so on or so forth.  There is a built-in bias for
nothing -- it is only up against the people who aren't going to take
no for an answer.  Nobody will be happy with this result.  The people
who are pro will feel cheated, and rightly so.  'The system was
stacked against us', they will claim.

Conversely, you can forbid those people who vote for any proposal to
also vote for nothing.  This too has a bias. The least offensive
proposal of the alternatives gets in, as opposed to nothing, where
offensive is measured by how many people refuse to vote for it at
all. This is how the bland often get elected ... implementing this in
the absense of a strong front runner.  But then you _can_ get a
situation where more people would prefer to do nothing than have any
particular candidate, and vastly more people would rather do without
than have this least offensive one.  You have just made an unhappy
electorate.  Those who were opposed will say 'But more people would
prefer to do nothing that have this rotten thing!  The system was
stacked against us!  We could have beat any single proposal, but not
_every_ proposal!'  And they are quite correct about this.  Moreover,
in the 'pro' camp, things are not necessarily very rosy.  If the bland
candidate is also popular, then the coalition parties all night, happy
that one of the choices they liked won.  But if this truly is a
victory of the least offensive, it is entirely possible to discover
that you have elected a member whom nobody has any enthusiasm for.
Absolutely everybody thinks that the best choice was missed.
Moreover, they think that the best choice was _guaranteed_ to be
missed, because the 'best man for the job' is almost always extremely
unpopular with a minority.  'The system was stacked against us', they
will complain.  'We never wanted the least offensive candidate, we
only wanted the best one.'

This is why, if the pro camp can actually reach consensus, and back
_one_ candidate, things go much better.  They can use Approval voting,
or Concordet to do so, because for them, there it no 'or nothing' vote
to consider.  They have _got_ to produce a candidate.  But this has a
problem as well.  If they have an open primary, all the Anti camp can
come over, and make sure that somebody unelectable in the final vote
wins the primary.  So you close your primary, and demand strict party
dicipline.  'All party members are required to vote for the candidate
we annoint, holding your nose if necessary'.  This stacks the
candidate selection on the part of the party machine, if there is one.
That discipline (and money) is what a party machine can promise, which
is why it prospers.  But not having a 'lets add a whole bunch of
features into Python' party, there isn't a lot of opportunity for a
machine to develop around here.

If the pro camp cannot reach consensus, things are not good. 

Right now, my sense is that the 'pro ternary conditional party' is
already reaching consensus on what form they should use through
discussion and debate, including debate with those who are out and out
anti.  They are going to produce a candidate which all but a few of
them consider the best.  They aren't interested in the bland
candidate, they are working hard at the hearts and minds of their own
party trying to get the best they have.  This is the best outcome for
all of us.  When they are done producing one, we can vote it up or
down.  But if they stop cohering, and have a big spatt, then we have
to consider what we want to do.  One tradition is to vote both (let us
hope we are stuck with only two) proposals up or down.  If they both
manage to carry, you either select the one that carried by the larger
majority, or you stick the leaders of both proposals in a room and say
'Come out with one proposal.  We really mean it this time.'

Laura Creighton







More information about the Python-list mailing list