Is it safe for people not interested in voting systems to ignore the rest of this thread? I hope that if there's an update on the voting period or specifics on how to vote (or what the choices are) these will be posted to a new thread. I want to mute this one.

On Sun, Nov 4, 2018 at 12:24 AM Tim Peters <tim.peters@gmail.com> wrote:
[Tim]
>> ... when there _was_ a Condorcet winner, the results page said
>>
>>   (Condorcet winner: wins contests with all other choices)
>>
>> next to the winning candidate.  Given that the results page also gives
>> a color-coded matrix of pairwise preference counts, verifying this is
>> trivial by eyeball ... if and only if all the cells in the top row are
>> colored green ...

[Donald]
> You’re right. I simulated an election without a Condorcet winner, but
> where the voting mechanisms would otherwise select a winner (just
> "(Not defeated in any contest vs. another choice)”, instead.

Errrrrrrr ... I wonder why?!  I had seen that in one of the public
polls, but in that case the winner's row was all green except for a
single yellow square. which meant the winner _tied_ with another in a
one-on-one contest.  So "not defeated" was correct.  But here:

> An example can be found at:
> https://civs.cs.cornell.edu/cgi-bin/results.pl?num_winners=1&id=E_4191dbfb94efecb6&algorithm=beatpath.

there's a red square in the winner's (top) row:  the winner (E)
_lost_, 24 to 21, to #3 (C).  It's just not true that E wasn't
defeated in any one-on-one contest.

Oh well.  Best to ignore the words and look at the colors instead :-)

> Just for kicks I added enough ballots so that there would be a Condorcet
> winner, and I verified that the above is true, and an example can be found at
> https://civs.cs.cornell.edu/cgi-bin/results.pl?num_winners=1&id=E_31f80ce0986ce98c&algorithm=beatpath.

Yup - and top row all green.

> So that means if we go with it, we can let CIVS tally for us and we’ll just
> look for a Condorcet winner instead of another kind of winner.

Yes, it will tell us instantly (when the election ends) whether
there's a Condorcet winner, and regardless of which method's radio
button happens to be selected.

> Of course since all of the anonymized ballots are public, people are free to
> compute it themselves as well.

And I bet someone will.  I'm too old ;-)

>> ...
>> """
>> The election supervisor can determine whether a voter has voted only
>> with the permission of the voter and only after the election has
>> ended.
>> “""

> Maybe they mean that if you contact them they can look that information
> up? I’m looking and I don’t see any UI that lets me do that, so either
> it’s not implemented, it was removed, I’m missing it, or it requires
> contacting them.

Can't help, beyond noting that the election supervisor sure doesn't
appear to have any mechanical way to prove a voter gives permission -
and since their side threw away voters' email addresses, they have no
way to contact voters to ask either.

They do save crypto hashes of email addresses, so perhaps if you asked
them, they could give you a magic string you could in turn give to a
voter who in turn could send that string back to them from the same
email address they used to vote.  Or something ;-)

> ...
> It can also optionally let people pick no opinion, though I’m not sure of the utility
> of that. It basically means, as I understand it, that in any pairwise contest that
> includes a option you had no opinion on, your ballot would just not be included.

In effect, I bet that's all there is to it.  If there are C
candidates, all these methods start by building a CxC matrix M such
that M[i, j] counts the number of ballots that ranked candidate i
higher than candidate j.

If a full set of distinct rankings is required, then for every ballot,
exactly one of M[i, j] and M[j,i] will be incremented for every i != j
pair.

If i != j are ranked the same on some ballot, then neither M[i, j] nor
M[j, i] will be incremented for that ballot.

If i is missing on some ballot, then M[i, j] and M[j, i] will be left
alone for all j for that ballot.

> The FAQ on this says:
>
>
> What does “no opinion” mean? It means you are providing no information about
> how this choice ranks with respect to the other choices. For example, if you give
> one choice the rank 1, and give all other choices the rank “no opinion”, your
> ballot becomes useless because it doesn't express any preferences.
> Voters often pick “no opinion” when what they mean is that they don't like the choice

In that case they should rank it near the bottom instead.

> or that they don't have any information about it.

Which is surely what it's _intended_ to be used for!  "No opinion", in
which case the ballot doesn't pretend the missing choice is either
better or worse than any other choice.  You're leaving its fate
entirely to people who _do_ have an opinion then.

> In these situations, it is often better to give the choice a low rank rather than
> to select “no opinion”. A good reason for a voter to give a choice the rank
> “no opinion” is because the voter isn't supposed to express an opinion

Heh - who runs a vote where voters aren't "supposed" to express their
opinions?  Or is this site hosted in the DPRK? ;-)

> It sounds to me like no opinion is a bit of a footgun here, so I think it makes
> sense not to allow it (probably the case of where you don’t have an opinion,
> you’re better off just ranking it last like the FAQ suggests).

I'd disallow it, but because it's likely to be misunderstood.  The
_usual_ treatment of missing rankings in a Condorcet scheme is that
they're shorthand for saying "least favored".  For example, in a
17-person primary, you just rank your 3 favorites, and it's understood
that the other 14 are all tied for last place in your eyes.

That's _very_ different from treating them as "no opinion".  In the
primary, you're recording 3 losses for each of the missing 14, and you
wholly _intend_ to give them those losses.

> ...
> Yea. And my suggestion of Ernest is that well, an evil Ernest can already fuck
> shit up for the Python community way beyond trying to change how we make
> decisions about PEPs and such (and he’s not a core dev, so he doesn’t have
> a horse in this race). Although I don’t really care who runs it, I think anyone
> here is going to be honest about it.
>
> I can say as a supervisor you also can’t see how people have voted at all until
> after the voting ends. You can only see how many people voted. This makes it
> harder to meaningfully influence the election because you won’t be able to
> make targeted, strategic puppet votes without either doing it blindly or flooding
> the votes to a degree that it would be obvious.

No problem here with any of that.  Potential dishonesty in PythonLand
is far less a problem than that we fail to get anything done fretting
about proving how nothing could possibly be manipulated.  In fact, we
could almost certainly trust any one of the competing PEP's authors to
tally the votes, destroy the ballots, and just tell us who won :--)
_______________________________________________
python-committers mailing list
python-committers@python.org
https://mail.python.org/mailman/listinfo/python-committers
Code of Conduct: https://www.python.org/psf/codeofconduct/

--
--Guido van Rossum (python.org/~guido)