黄昏より暗きもの、血の流れより赤きもの

黄昏より暗きもの、血の流れより赤きもの

自分の好きな事を好きなように書いて行きます。

各都道府県ごとの選挙数決定に使われる「アダムズ方式」を復習する(前編)

アダムズ方式とは?

昨今のニュースでは、選挙における各都道府県ごとの議席数をどうするかの話題が持ちきりだ。

そこで今日は選挙の議席数決定における「アダムズ方式」について復習してみた。まずアダムズ方式とは除数方式と言う議席数決定法の一つである。まずはアダムズ方式で使う基本知識について確認したい。

確認事項:正の実数xを超えない最小の整数[x](ガウス記号)と、切り捨て、四捨五入、切り上げとの関係

まず正の実数xにおいて、を超えない最小の整数を[x]で表す。例えば[2.5]=3[2]=2となる。以下の文章ではx>0の場合において、xの小数部分を切り捨てた整数をs(x)、四捨五入した整数をt(x)、切り上げた整数をu(x)とし、それぞれ[x]で表すと以下のようになる。

切り捨て:s(x)=[x],四捨五入:t(x)=[x+0.5],切り上げ:u(x)=[x+1]

ここでt(4.4)=[4.9]=4t(4.6)=[5.1]=5より確かに四捨五入はガウス記号を用いて計算でき、切り上げu(x) においても同様の事が言える。又x>0においては、[x]は切り捨てを表すことも同時に分かる。

除数方式アルゴリズムの説明

ここでアダムズ方式は、除数方式と言うものの一つである。そこで除数方式について説明する。下記アルゴリズムにおいて「議員定数配分方式について --定数削減、人口変動と整合性の観点から-- 大和 毅彦」(論文1)を参考にした。

論文1 による除数方式の説明

まず他の文献の説明を紹介する。

1.ある基準得票数dを選ぶ。
2.各都道府県iの得票数P_iをdで割った商Pi/dを計算し、その値をもとに名簿iに配分される議席数を決定する。
3.もし、上記の方法によって決定された議席数の総和が議席定数より大きい(小さい)場合、基準得票数dを増大(減少)しステップ(2)へ戻る。もし議席数の総和が定数と等しければ、終了する。

自己流除数方式の説明

上記の除数方式の説明を書きなおしたのが以下になる。プログラムに落とし込みやすくするための説明なので、文字の定義が多くて申し訳ない。

選挙区(都道府県・小選挙区など)の数をnとし、議席数をTとする。1 \leq k \leq nを満たす自然数kとし、選挙区kにおける得票数をp_kする。さらにq_k = \frac{p_k}{d}とおき、p_kの最大値をmax(p_k)とおく。
(1):自然数d基準得票数とする。
(2):1 \leq k \leq nにおける全てのkに対し、s(q_k)(q_kを切り捨て)またはt(q_k)(q_k を四捨五入)またはu(q_k)(q_k を切り上げ) を計算し、その値をr_kとおく。
(3):1 \leq d \leq max(p_k)位までの範囲でdを1ずつ増やしていき、 \sum_{k=1}^{n}r_k = T(各選挙区における議席数の合計=議席数)となるまで(1)(2)を繰り返す。

尚(2)でq_kを切り捨てる方式の事をジェファーソン方式q_kを 四捨五入する方式の事を ウェブスター方式。そしてq_kを 切り上げる方式の事をアダムズ方式と言う。

アダムズ方式の例題

2つの県からなる国家があり、県Aの得票数p_A = 75000、県Bの得票数p_B = 45000であるとする。アダムズ方式に依り県A,Bに割り振る議席r_Ar_B を決定する。ここで各都道府県に少なくとも1つ議席を与えるものとする。このとき議席数が4となるときのr_Ar_Bの値を求めよ。またその時の基準得票数dの範囲を答えよ。

手計算による解答

(1)自然数nと整数[x]において、[x]=nよりn \leq x< (n+1)を上手く利用しよう。

まず議席数が4より、r_A + r_B = 4。このときr_Ar_Bは整数より、左記の方程式にて考えうる整数解の組は(r_A,r_B) = (1,3),(2,2),(3,1)の3通り。

さてアダムズ方式の定義よりr_A=[\frac{p_A}{d}+1 ]より、r_B=[\frac{p_B}{d}+1 ] と定義できる。

(i):(r_A,r_B) = (1,3)のとき、1=[\frac{p_A}{d}+1]0 \leq \frac{75000}{d} < 1となる。但し d > 75000が必要となり、r_B=2となるため、議席r_A + r_B = 4を満たさないので不適。
この事は(r_A,r_B) = (3,1)も同様である。
(ii):(r_A,r_B) = (2,2)のとき、2 = [ \frac{p_A}{d}+1 ] 2 \leq  \frac{75000}{d}+ 1 < 3

1 \leq \frac{75000}{d} < 2。ここで切り上げが発生しない場合も考える1 \leq \frac{75000}{d} \leq 2
これを満たすdは37500 \leq d \leq 75000(1)

また同様に計算すれば、1 \leq \frac{45000}{d} <2より、22500 \leq d \leq 45000(2)

(1)(2)を同時に満たす不等式は37500 \leq d \leq 45000の範囲で、(r_A,r_B) = (2,2)となる。

プログラムによる解答

今度はプログラムで解いてみる。手計算の結果37500 \leq d \leq 45000の範囲で、(r_A,r_B) = (2,2)という結果が出れば良い。ideOneにて実行した結果、「d=37500 0番目の議席数=2.000000 1番目の議席数=2.000000」という値が出力された。

最後に

今日はアダムズ方式の基本について確認した。次回やるとすれば実際の都道府県のデータで実践したらどうなるか?と言うことをやってみたい。