政権交代が、一度も起きていなかった

100回まわして測った。第一党は毎回150〜240に収まり、
単独過半数も政権交代も起きていなかった。

首班指名を入れたあと、全体を点検していて妙な数字が出た。
100回の総選挙を自動でまわして首班を数えたら、99回が「過半数未満の党による政権」で、76回が決選投票だった。

決選投票が4回に3回。実際の首班指名で決選投票になったのは1979年が最後で、40年以上ない。何かがおかしい。

毎回、同じ選挙をしていた

議席分布を測った。

民自党の平均187議席(最小145・最大236)。立憲国民党の平均157(最大192)。
民自の単独過半数は100回に1回。民自+公盟でも24回。そして立憲国民が第一党になった回はゼロだった。

平均187対157という数字自体は、第50回衆院選(自民191・立憲148)にとてもよく合っている。その意味では正確だ。
問題は毎回それになることだった。2009年の民主308も、2012年の自民294も、このゲームでは一度も起きない。

首班指名を入れるまで、これに気づけなかった。議席がいくつでも組閣できたので、議席分布を真剣に見る理由が無かったからだ。
手続きを1つ足したら、その手前の設計の粗が見えた。

各党を別々に振っていた

原因はすぐ分かった。風を引くコードがこうなっていた。

「各党について、組織力に応じた幅で独立に乱数を振る」

これだと、伸びる党と縮む党が偶然の組み合わせになるだけで、選挙全体としてのうねりが生まれない。8党が別々に振れれば、互いに打ち消し合って相対的な力関係は動かない。

実際の総選挙で起きているのは、そういうことではないと思う。
起きているのは「政権への評価」という1本の風だ。与党に逆風が吹く回は、そのまま野党第一党への追い風になる。2009年も2012年も、2つの党が独立に振れた結果ではなく、1つの振り子が振り切れた結果だった。

書き直した。風を1本だけ引き、与党には順向き、野党第一党には逆向きに、大きく乗せる。その他の野党には小さく。
野党第一党を大きく振るのは、批判票の受け皿がそこに集まるからだ。与党が10失えば、小政党に散らばるのではなく、まず第一党に積み上がる。

数字を見ながら4回調整した

一発では決まらなかった。200回まわしては測り、係数を動かし、また測った。

最初の版では民自の最小が56議席、立憲国民の最小が7議席になった。
実績を見ると、大敗した年でも自民は119議席(2009年)、民主は57議席(2012年)を残している。7議席は起こりえない。どの党にも、政権への評価とは無関係に投票する固い支持層がいる——それを表す下限を入れた。

次に気づいたのは、与党と野党で振れ幅を変えるべきだということ。
2009年に自民が119まで落ちたのは、自民が26.7%まで落ちたからではない。民主が42%まで伸びたからだ。与党の得票率はそこまで大きく動かない。動くのは受け皿の側だ。

与党の感度を下げ、野党第一党の感度を上げた。落ち着いたところがここ。

このゲーム(10〜90%)実績(過去7回)
与党第一党144〜288119〜296
野党第一党53〜20455〜308

政権交代(野党第一党が第一党になる)は200回中66回。野党が単独過半数を取るのは5回。
首班指名の決選投票も、常態ではなく「与党が過半数を割った回に起きるもの」に戻った。

テストが通っていたのが、いちばん怖い

この件でいちばん考えさせられたのは、変更の前も後もバランステストが全部通っていたことだった。

そこにはこう書いてあった。「第一党の議席が現実的な幅に収まる(単独で400を超えたり、100を割ったりしない)」「政権交代が起こりうる(与党が過半数を割る選挙がある)」。

前者は上限しか見ていない。毎回190議席でも通る。
後者にいたっては、「常に過半数を割っている」状態でこそ通る。検査したかったことと、書いた検査が逆を向いていた。

検査を足した。圧勝する回があること。与党が大敗する回があること。政権交代が起きること、ただし半分を超えないこと。そして与党と野党第一党の議席の相関係数が明確に負であること——同じ風の裏表なのだから、片方が伸びればもう片方は縮むはずだ。

「起きないこと」を確かめる検査は書きやすい。だが平坦になったことに気づくには、「起きること」を確かめる検査が要る。

スタンプラリーに挑戦する 行った場所・気になる場所は、現地チェックインでスタンプに残せます。 みんなのコースを見てみる 会員が作ったスポット巡りのコースを都道府県から探せます。自分だけのコースも作れます。 運営者の個人noteも書いています AI活用やサイト運営で気づいたことを、もう少し個人の視点で掘り下げています。

※運営者が個人で書いているnoteです。

技術ブログ一覧へ戻る