政党競争シミュレータ — 収束の推移を見る/初期条件を変えて遊ぶ

有権者が政策空間に複数の塊で分布するとき、各政党が「他党の位置を所与に自党の議席を最大化する点」へ 1党ずつ動く(逐次ベストレスポンス)。撤退・参入もモデルの中で自然に起きる。 そのラウンドごとの動きをアニメーションで再生し、初期政党数・選挙制度・乱数シードを変えて何度でも試せる。
AIで作成しているため事実確認が必要です。有権者分布・政党行動はすべて仮置きの数理モデルで、実測データではありません。
📄 仮定と各stepの処理を読む
▶ はじめての方へ(30秒で遊べます)
  1. 下の「▶ 再生」ボタンを押す — 政党(◯印)が票をもとめて動き出します。
  2. 動きを眺める — ピタッと止まれば「決着(=収束)」、いつまでも動き続ければ「決着しない」。どちらになるかが見どころ。
  3. 「小選挙区/比例代表」を切り替える・🎲を押す — 政党の数や勝ち方がどう変わるか見比べる。慣れたら下の「詳細設定」で細かくいじれます。
⚙ 詳細設定をひらく(政党数・棄権・表示軸など — 慣れてきたら)
薄い点=有権者(色はクラスタ)。◯=政党(中の文字=政党名A/B/…、大きさ=シェア、尾=直近の移動軌跡)。✕=クラスタ中心。 3Dはキャンバスをドラッグで回転(奥ほど暗く)。主成分PCAは有権者分布の分散が最大の方向を軸にとる。
ラウンド0
政党数
最大党シェア
実効政党数 (1/HHI)
投票率
最大移動量
状態

政党一覧(シェア順)

政党数の推移

最大党シェアの推移

最大移動量(収束=0付近)

このシミュレータの読み方

AIで作成しているため事実確認が必要です。

コア仮説:有権者が空間内で複数の塊(クラスタ)を作ると、塊ごとに「居心地のよい位置=局所最適」ができ、 その数だけ政党が立ちうる。単峰(塊が1つ)なら中位投票者定理で全党が中央1点に収束し、政党は1つに潰れる。 ただし「局所最適が複数あるから党が複数」と一方向では言い切れない(一部循環する)。党のを上流で決めるのは 有権者の許容度(棄権閾値 R=どこまで離れた党を許せるか)と空間の広さの比——形式的には「生存に必要な最小シェア τ と空間の広さの比」(共存できる党数 N ≲ 1/τ)——で、局所最適は「なぜそこに留まるか」を説明する近接メカニズム。

収束について:多くの初期配置では各党がそれぞれの塊に居着いて止まる(=収束)。初期配置を変えながら試すと体感8割ほどはナッシュ均衡らしき配置に落ち着く。 ただし配置によっては、候補位置が「クラスタ重心+ジッター」と離散的なため党がラウンドごとに別クラスタへ飛び、空いた重心へ参入が補充する循環(リミットサイクル)から抜けないことがある。 最大移動量が0付近に貼り付けば均衡、振動が続けば未収束(右下グラフで判定できる)。面白いのは「たいてい収束するのに、ある配置だと延々と止まらない」その境目。 なお純粋戦略均衡が原理的に存在しないと示せるのは1次元空間での3党以上のような特定のケース(Eaton–Lipsey の古典的反例)で、一般には党数・次元・初期配置しだいで均衡が在ることも無いこともある。

まず試すなら(やさしい順)
「▶ 再生」を押す:政党(◯)が票を求めて動き回る。ピタッと止まれば収束、いつまでも動き続ければ未収束。
「小選挙区/比例代表」を切り替える:政党の数や最大党の大きさがどう変わるか見比べる。
「乱数シード」を変える:有権者の初期配置が変わり、行き着く先も変わる(毎回ちがう結果になるのが普通)。
「棄権閾値 R」を下げる:「合う党がない」と投票をやめる人が増え、真ん中寄りの党が有利になる。
「クラスタ散らばり」を上げる:有権者の塊どうしが溶け合って1つになり、政党が真ん中に集まりやすくなる。
「有権者分布」を「ランダム」にする:有権者の塊そのものをシードから作り直す。塊が偶然くっつけば1党に、離れていれば多党になる。
各操作で何が起き、なぜそうなるかの詳しい手順は 「仮定と各stepの説明」ページの“遊び方の実例”にまとめてある。

まだ入っていない要素:戦略投票(死票回避の乗り換え)と先行者の縄張り効果。 この2つを入れると小選挙区で「巨大与党+少数野党乱立」が出やすくなる(現状の正直投票モデルでは多党のまま)。