もし僕が政治家を目指すなら、インターネットをこう使う
都知事選挙で、家入一真さんが立候補をしていた。インターネットを利用した政治、および選挙活動、というのは、僕も面白いと思ったし、着眼点は良いと思う。だがしかし、僕から見ると、家入さんが、インターネットを利用しきれているようには到底思えない。そこで、競技プログラミング世界ランカーの立場として、自分なりに、もし僕が政治家になるとしたら、どのようにインターネットを活用し、政治に繋げていくか、というのを書いていこうと思う。競技プログラミングの感覚で政治を語っているので、少しおかしな部分もあるとは思うが、最後まで読んで、意見を貰いたい。
インターネットで出来ること
インターネットの強さは、速さと手軽さだ。従来の選挙では、民意を知るために、わざわざ丸1日使って選挙を行わなければならない。これは非常に面倒だし、お金もかかるので、頻繁に開くことができない。なので、一つ一つの政策に関して議論をすることができないし、政策ではなく、政治を行う人を選ぶ、という行為を行わなければならない。
インターネットを使えば、簡単にアンケートを取るだけなら、適当なサービスを使えば一瞬でアンケートを取ることができる。もちろん、投票の割合や複数投票などの問題は抱えているが、その問題さえ解決可能であれば、あるトピックに限定して、民意を知ることは簡単だ。これによって、政策の立案も議論も、インターネット上で、国民一人ひとりが行える、というのが、インターネットの強みだと思う。
もちろん、これで得られるものは国民全員の民意ではなく、インターネットで政治参加した人全員の民意でしかない。だが、インターネットで政治参加した人の民意を元に政治活動を行う政党というものが悪いか、と言われたら、僕は良いと思うし、もしそういう政党があるのであれば、支持したいと思っている。
家入さんの「ぼくらの政策」の、何がいけないか
家入さんは、インターネットを通じた政治参加として、ぼくらの政策、というものを実施した。Twitterのハッシュタグ「#ぼくらの政策」に投稿された政策案から、家入さんがピックアップをして、政策を決定する、というものだ。これを用いて、家入さんは、「政治家よ、これが民意だ」とツイートしていた。冗談ではない。これは民意ではない。反例なんてすぐ挙げられる。僕がこのハッシュタグで「東京に原発を1000個作ってほしいです!」とツイートして、それを家入さんが120の中に加えたとしても、同じように「これが民意だ」と言えるだろうか?言えるわけがない。
何がまずいのか、というのは、もちろん、120個の政策を、家入さんが自分でピックアップしている点だ。他の政治家は、自分で政策を1から考えるのに対して、家入さんは、他の人の案を寄せ集めているので、自分で考える必要がないという点だけ少しネットを使った恩恵を受けれているかもしれない。だが、家入さんが選んでいる以上、これは民意ではなく、家入さんの政策だ。これじゃ、結局自分がこういう風にしたいな、というのを押し付けているだけなので、今までの政治家と大して変わらない。
「民意」から政策を作るにはどうしたら良いか?
家入さんの悪い点のみを列挙しているが、今回、約30000もの政策案をツイートさせた、というのは、非常に良いことだ。3万の立案をする、というのは、そう簡単なことではない。だが、問題があるのは、そこからの選び方だ。各政策に対して、賛成派のほうが多いことを主張しなければならない。今回は選び方が不透明なので、どう選んだのかが全く分からないが、それを主張するには、通常はもう1ステップを踏む必要がある。
たとえば、120の政策に対して、1つ1つ、120個のアンケートを設置し、賛成or反対の2択アンケートを作る、なんてこともできるだろう。それだけで、各政策が支持されているか、支持されていないか、一応の判断をすることができる。別に政策の候補を絞ること自体は、家入さんがやっても良い。だが、その承認を何らかの確認で得なければ、それは民意であるかどうか、確認することが出来ない。
ここまでは、簡単に実装可能そうな、現状から民意に近づける方法である。今回のように時間がなかった場合、僕だったら200の政策候補を出した後、アンケートで過半数を大きく上回るもののみを政策としたと思う。
そもそもなんで都知事選なの?
インターネットは、全国誰でも場所関係なく参加できる、というのが強い点だと思っているし、東京都だけに絞った話を、インターネット上でするのは、あまり向いていない。向いているのはやはり国政であり、都知事でなく国会議員を目指すべきなんじゃないのかなぁ、と思う。参議院選挙であれば比例代表があるし、インターネット上で、全国からまんべんなく少しずつ得票できれば、1議席を獲得するのは不可能ではないだろう。家入さんが大体今回1%の得票を得られたし、2%まで上げることができれば、比例代表選出議員は1回の選挙で48人だったはずなので、現実的なラインではないかと思う。ということで、ここからは国政の話に移る。
具体的なインターネット政治参加システムの提案
ここからが本題。昔からぼんやりと考えていた、インターネットユーザーが、政治に直接関わるのであれば、どういう形をとるべきか、という話をしていこうと思う。
単純なアンケートを取るだけでは、ただの集合知になってしまう。もちろんそれが必ずしも悪いわけではないが、やはり理想的な形を考えるのであれば、インターネット上で議論ができるようにするべきであるし、その議論の結果によって方針決定されるべきである。その、具体的なシステムについて語る。思い付きの範囲は出ないが、たたき台になってくれると嬉しい。
ネット国会・ネット議員を作る
ネット上で議論をする場は、いわばネット国会であり、そこで議論をするのはネット議員である。インターネットの速さ・手軽さを守るために、絶対に守ることは、以下のような点だ。
- ユーザーは、いつでもネット議員になることができる。
- ネット議員は、いつでも政策を提案することができる。
- ネット議員は、いつでも提案された政策について議論することができる。
- ユーザーは、いつでもネット議員に投票することができる。
各ユーザのパラメータ
各ユーザは、2つのパラメータを持つ。
議員ポイント
ユーザが、ネット国会において、何議席を持っているかを表すポイントである。
この値が高ければ高いほど、ネット国会において大きな影響力を持つことになる。
初期値は1であり、議論において、賛同を得られれば得られるほどポイントが高まり、反対をされれればされるほどポイントが低くなる。
投票ポイント
ユーザの投票が、何票分の影響力持っているかを示すものである。投票を行うことにより、各議員の影響力を高めたり、低めたりすることができる。
理想的には、全てのユーザが独立した人で構成されており、全員が1である。が、spam等が発生する可能性があるため、「人間っぽさ」を0〜1で表すことにより、スパムを防止する意図である。
具体的には、登録時にTwitterやfacebookなどと連携させることにより、Kloutやqru.stの値から、初期値を算出する。普通に使っていればほぼ1となるようにする。そこから、同一IPからの連続投稿などを検出したら、0に近づけていく。予算削減が目的なので、本人確認ができて0,1で計算できるのが一番良い。
各ユーザの出来ること
ユーザのできることは、以下の3つである。
立案
ユーザは、ネット議員として、政策を提案することが出来る。提案自体にユーザのパラメータは関係ない。
提案された政策は、webサイト上に一覧として表示される。
政策の提案には、「ユーザが提案したもの」と「政党が必要に応じて提案したもの」があり、後者が先に表示され、その後、議論が活発な順に表示される。
議論
ユーザは、ネット議員として、各政策について、意見を書き込むことが出来る。「賛成」「反対」のどちらかの立場を表明した上で、その論拠を書き込む。「中立」を表明しても良いが、その場合は、その政策が採用されるかどうかに影響を与えない。書いた意見が、他のユーザに賛成されることで、その意見の影響力が強くなり、反対されることで影響力が弱くなる。なお、賛成票より反対票のほうが多い場合は、影響力は0となる。
書き込みの雰囲気としては、Yahoo知恵袋の質問が立案で、その下の回答が議論内容、みたいなイメージを持ってもらえれば、大体問題ない。影響力の強い順に表示する。
投票
ユーザは、各政策に対して書き込まれた意見に対し、「賛成」「反対」(もっと軽く言えば、イイネのようなものと、その反対)が投票可能となる。政策自体の賛成・反対ではなく、その意見に対して良い意見か悪い意見かを投票する。この投票をすることにより、もし賛成票を投じた場合は、
- そのユーザの影響力が上昇する(内部的に言えば、議員ポイントが上昇する)
- その意見の影響力が上昇する
の2つが同時に起こる。
内部処理
意見の影響力の計算と、賛成反対の集計
- 意見の良い悪い
まず、各意見の、各意見の良い悪いを判定する必要がある。
(意見の良い悪い) = log(Σ(賛成した人の投票ポイント / その人のその提案に対する投票数) + A) - log(Σ(反対した人の投票ポイント / その人のその提案に対する投票数) + A)
Aは定数で100くらい。票数が少ないときに良い悪いが判定しづらいので、両方にAを足すことにより、少ない票数の時の影響力を弱める。logの底は1.1くらい。良い意見はプラスになり、悪い意見はマイナスになる。
- 意見の影響力
(意見の影響力) = 意見発信者の議員ポイント * max(0, (意見の良い悪い))
意見の良い悪いに、議員ポイントを掛け合わせることにより、意見の影響力を決定する。
webサイトに意見一覧を表示するときは、この影響力が高い順に表示する。
- 賛成・反対の集計
(政策ポイント) = Σ(賛成意見の影響力) - Σ(反対意見の影響力)
この政策ポイントが、ある正の一定値を超えた場合に、その政策は、民意によって定められた政策として認め、政党の政策に加える。
議員ポイントの変更
良い意見を発信したかどうかで、議員ポイントの変動を行う。
(議員ポイント) = log(max(1 + Σ(その人が出した意見の良い悪い)), 1) + 1
logを取ってあげることにより、議員ポイントが高まりすぎないようにする。悪い意見しか発信してなくても、最低1は残るようにする。底は1.2〜2くらいかな?数式があんまり綺麗にならないし、p乗(pは適当な0〜1の小数、たぶん0.3くらい)のがいいかもしれない。
自分は「賛成票を投じた」ということは、「その人が信頼できる意見を言っていることを認めた」ということであり、他の意見にも一定の信頼を寄せる可能性が高いだろう、ということで、こういう議員ポイントを持たせているけれども、ここは好みなので、好きな風に設定してもらえれば。
その他
たとえば、これを適当に流用すれば、「現在提出されているこの法案に対して賛成/反対をどうするか」なども同じ感じでできるし、結構いろんなところをカバーできるんじゃないかなー、と思ってる。政治家さんが普段何してるかわからんので、どれくらいカバーできるのかはよくわかんないです。
なぜ自分で立候補しないのか/システムを作らないのか。
ここまで好き勝手「ぼくのかんがえた最強の政治しすてむ」みたいなのを書いてきたわけだが、これを実装したり、立候補したりするつもりは今のところない。
僕は25歳なのでそもそも被選挙権はないが、そもそも、政治に関わる人間は、政治の事を第一に考えられる人間でなければいけないと思う。僕は政治の事なんて全く分からないし、そもそも今はAtCoderという、プログラミングコンテストを定期的に開催する会社を経営している。こうした状態でまともに政治参加するのはもったいないし、結局サービス上で集約された意見に従うわけだから、アルゴリズムができる人間がが政治家になってもしょうがない。その場で受け答えがちゃんとできる、政治が解る人間のほうが適任。
なんでシステム作ってからものを語らないか、というのは、まぁぶっちゃけた話、こういうシステムを作るのは結構大変で、ある程度はてブとかで賛同が得られるかどうかの確認をしないと、作って誰も使いませんでしたじゃあまりにもったいないので、確認を取りたい。民意を知りたいわけですね(笑) 上記の会社の仕事が結構忙しいので、もし賛同が得られてそうだったら、家入さんの周りの人が作ってくれるんじゃないかな、ってのに期待してこのタイミングに投稿してたりするわけです。そういう意図もあって、ほんとはもうちょい色々複雑なのを考えてたんだけど、とりあえず単純なシステムにしてみた。企画だけ作って実装やらない、典型的な慶應SFC生にありがちっぽい立ち回りになっちゃってるけど、まぁ自分の他のサービスあるから仕方ないね。