Hi, everyone.

Inspired by Robin, I've started working on scripts to verify old Gentoo
election results.  Since our election mechanism is apparently the same
as used by Debian, it seemed an obvious choice to use the Debian tooling
(devotee) to verify our results.

I've been able to successfully 'convert' our elections to a minimal set
of files needed to get devotee running, and wrap it via loop-script to
get full election results (apparently devotee only finds the top winner
while we want the complete ranked list) [1].  I've been able to
successfully verify most of the Gentoo elections using that.  However,
I've hit two problems.

Firstly, there is a result mismatch for council-201206 election.  More
specifically, the countify results are:

[["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["ulm"],
["betelgeuse"], ...]

While devotee considers ulm and betelgeuse tied:

[["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["betelgeuse",
"ulm"], ...]

Secondly, a number of elections fail midway.  More specifically, devotee
doesn't output any winners at some stage.  This specifically applies to:

council-201706 (fails after tamiko)
council2005 (fails after Koon)
council200906 (fails after lu_zero)
metastructure2005 (fails after Oldschool-small)

That said, devotee outputs a lot of perl warnings and the code [2]
doesn't seem to have been updated for a while now.  Both issues seem to
happen around 'weakest defeat' removal, so the bug might be there.

I'd really appreciate if someone enjoying Perl code could help me figure
out what's wrong -- and more specifically, whether it's some 'bad Perl'
issue, disjoint algorithm or something entirely different.

Quick tip on using:

  # note: current version of Perl seems to be buggy
  # I had to do:
  cpan install Math::BigInt

  git clone https://github.com/mgorny/election-compare.git
  cd election-compare
  git submodule init
  git submodule update
  ./run-countify.py -v council-201206 2>countify-out.txt
  ./run-devotee.py -v council-201206 2>devotee-out.txt

Then the *-out.txt files contain complete output from tools ran.

TIA.


[1]:https://github.com/mgorny/election-compare
[2]:https://vote.debian.org/~secretary/devotee.git/

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to