1 |
Hi, everyone. |
2 |
|
3 |
Inspired by Robin, I've started working on scripts to verify old Gentoo |
4 |
election results. Since our election mechanism is apparently the same |
5 |
as used by Debian, it seemed an obvious choice to use the Debian tooling |
6 |
(devotee) to verify our results. |
7 |
|
8 |
I've been able to successfully 'convert' our elections to a minimal set |
9 |
of files needed to get devotee running, and wrap it via loop-script to |
10 |
get full election results (apparently devotee only finds the top winner |
11 |
while we want the complete ranked list) [1]. I've been able to |
12 |
successfully verify most of the Gentoo elections using that. However, |
13 |
I've hit two problems. |
14 |
|
15 |
Firstly, there is a result mismatch for council-201206 election. More |
16 |
specifically, the countify results are: |
17 |
|
18 |
[["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["ulm"], |
19 |
["betelgeuse"], ...] |
20 |
|
21 |
While devotee considers ulm and betelgeuse tied: |
22 |
|
23 |
[["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["betelgeuse", |
24 |
"ulm"], ...] |
25 |
|
26 |
Secondly, a number of elections fail midway. More specifically, devotee |
27 |
doesn't output any winners at some stage. This specifically applies to: |
28 |
|
29 |
council-201706 (fails after tamiko) |
30 |
council2005 (fails after Koon) |
31 |
council200906 (fails after lu_zero) |
32 |
metastructure2005 (fails after Oldschool-small) |
33 |
|
34 |
That said, devotee outputs a lot of perl warnings and the code [2] |
35 |
doesn't seem to have been updated for a while now. Both issues seem to |
36 |
happen around 'weakest defeat' removal, so the bug might be there. |
37 |
|
38 |
I'd really appreciate if someone enjoying Perl code could help me figure |
39 |
out what's wrong -- and more specifically, whether it's some 'bad Perl' |
40 |
issue, disjoint algorithm or something entirely different. |
41 |
|
42 |
Quick tip on using: |
43 |
|
44 |
# note: current version of Perl seems to be buggy |
45 |
# I had to do: |
46 |
cpan install Math::BigInt |
47 |
|
48 |
git clone https://github.com/mgorny/election-compare.git |
49 |
cd election-compare |
50 |
git submodule init |
51 |
git submodule update |
52 |
./run-countify.py -v council-201206 2>countify-out.txt |
53 |
./run-devotee.py -v council-201206 2>devotee-out.txt |
54 |
|
55 |
Then the *-out.txt files contain complete output from tools ran. |
56 |
|
57 |
TIA. |
58 |
|
59 |
|
60 |
[1]:https://github.com/mgorny/election-compare |
61 |
[2]:https://vote.debian.org/~secretary/devotee.git/ |
62 |
|
63 |
-- |
64 |
Best regards, |
65 |
Michał Górny |