Debian / Debian JP で利用されている投票システム、debvote の 動作について説明します。
debvote で使われる 投票用紙には
In the brackets next to your preferred choice, place a 1. Place a 2 in the brackets next to your next choice. Continue till you rank your last choice. You may leave choices you consider unacceptable blank. Start with 1, don't skip any numbers, don't repeat.
二つの行で囲まれた選択肢の括弧 ([ ]) 内に順番を記入します。 最も望ましいと考える選択肢に 1 を、次善の案と考える選択肢に 2 を 指定してください。以下同様に、最後の選択肢まで順番を付けていって ください。判断に迷う選択肢は空白のままにすることが可能です。 必ず 1 から始めてください。途中で順番を飛ばしたり同じ順番を重ねて 指定したりすると無効になります。
と書かれているのですが、この
"You may leave choices you consider unacceptable blank."という文と、その後に出てくる
(「判断に迷う選択肢は空白のままにすることが可能です。」)
To vote "no, no matter what" do not leave an option black but rank "Further Discussion" higher than the unacceptable choices.
「誰が何と言おうと絶対にイヤ」という意志を表示したい場合は、 その選択肢を空白にするのではなく、「さらに議論を続ける」と いう選択肢の順番をその容認できない選択肢よりも先にしてください。
この文が矛盾しているようにも読める、という指摘がありました。
そこで、 テスト投票 (練習用) によって集められた結果をサンプルとして、「投票結果」において 実際に各投票がどのように反映されているのか、その動作を説明して おこうと思います。
さて、ある時点での投票の内容とその結果を例にとってみます。
(コードについては debvote の /usr/lib/perl5/Debvote/Rank.pm を参照)
最初に、ある時点での投票結果です。
Here is the ranking result of the vote : practice. _________________________________________________________________ Choice #1: Yes is prefered to Choice #2: No (7-4) is prefered to Choice #3: Further Discussion (10-4) Choice #2: No is prefered to Choice #3: Further Discussion (7-3) Choice #3: Further Discussion _________________________________________________________________
次に、同じ時点での有効な投票のサンプルです。
practice: Ballot Check _________________________________________________________________ a : 2-1, b : 213, c : 1-2, d : 2-1, e : 1--, f : 123, g : 132 h : --1, i : 321, j : 123, k : 12-, l : 213, m : 231, n : 213 o : 123, p : 1-2, q : 123 Total number: 17 _________________________________________________________________
ここで、各投票が、ランキング結果においてどういう影響を与えているか 調べてみたのが以下のリストです。
Choice #1 is prefered to Choice #2: (7-4) f, g, j, k, m, o, q - b, i, l, n (void: a, c, d, e, h, p)
まず、選択肢 #1 と 選択肢 #2 の関係を調べています。 ここでは #1 を #2 より優先する意見が 7、逆の意見が 4 ということで 全体として #1 を #2 より優先するというランクが結果として得られて います。
投票サンプルの中で、 #1 を #2 より優先しているのは、上記のとおり f, g, j, k, m, o , q の 7 票、逆の意見は b, i, l, n の 4 票です。
ここで a, c, d, e, h, p の 6 票は #1 または #2 のすくなくとも ひとつについて空白としているため、 #1 と #2 の関係を調べる上では 効果がありません。したがってこの優先順位についてはこれらの票は 棄権として扱われています。
Choice #1 is prefered to Choice #3: (10-4) b, c, f, g, j, l, n, o, p, q - a, d, i, m (void: e, h, k)
これは #1 と #3 の順序関係を調べたものです。記号の意味は上と同様。
Choice #2 is prefered to Choice #3: (7-3) b, f, j, l, n, o, q - g, i, m (void: a, c, d, e, h, k, p)
これは #2 と #3 の順序関係を調べたもので、記号の意味は 上と同様です。
これでわかるように、 e や h のように、ひとつの選択肢だけに 順番を入れて、他の選択肢をすべて空白にした場合、何も選択して いないのと結果的に等価です。
どれかの選択肢を優先させたいという場合、すくなくともその該当する 選択肢を further discussion より優先させるという「順序」を設定 しなければいけません。そうしなければ棄権票となってしまいます。
これは debvote の実装がそうなっているからなので、 Debian Project での投票においてもおそらく同様の結果となるはずです。 ということで official な人は Debian での投票の際に注意しましょう。
以上、debvote による投票では、すくなくとも further discussion と 自分が推したい選択肢の 2 つだけは空白でなく順序を設定するように しましょう、という呼びかけでした。