VCGメカニズムでなぜ正直申告が引き出されるかの説明(その1)

全3回に渡って、メカニズムデザインの金字塔であるVCGメカニズムについて直感的な理解を得るための記事を書いてみようと思います。数学的な話ではなく(数学的には分かってもプレーヤーの気持ちが理解しづらいということが起きるテーマだと思うので)、プレーヤーたちの頭の中(松島先生の言葉でいうなら「心の情景」)に注目するような説明をしてみたいと思います。

僕が最初にVCGメカニズムに出会ったのは、慶應で受けた坂井先生の授業でした。そのときに先生が熱弁していらっしゃって、「どうやら物凄いメカニズムらしい」ということはわかったのですが、残念ながら直感的な理解は得られませんでした。しかしその後、東大の大学院で松島先生の「メカニズムデザイン」の授業を受けたときに、「内部化」の概念を学び、「もしかしたら理解できるかも!」と直感的な理解が得られそうになるとともに、「これは本当に天才的に上手くデザインされたメカニズムっぽいぞ」ということが分かってきました。

そこで、このシリーズではVCGメカニズムについてその直感を紹介してみようと思います。なおVCGメカニズムについてちゃんと定式化はせず、簡略化しています。すでに授業や教科書などで勉強済みの方は、導入の部分を読んでこのシリーズにおいてはどういう問題を扱おうとしているかを見て頂けると嬉しいです*1(VCGメカニズムという言葉自体が初見の方は混乱することはないと思うので以下を普通に読み進めて頂ければ大丈夫です)。このシリーズのゴールは「あぁこうやってお金の仕組みを上手くデザインすることで正直申告を引き出すわけね」を理解してもらうことであり、VCGメカニズムの定義などは教科書に譲ります。*2

関連記事として税金を「調和」という観点から見てみる。)があるのでよろしければ合わせてご覧ください。このシリーズとは設定は異なりますが、その精神は同じなので(より純粋に内部化のエッセンスを表すものになっているので)合わせて読むと理解が深まると思います。

それでは内容に入っていきます。

ーーーーーーーーーーーー
まずは、これから考えていく問題を紹介します。

中学校のクラスでの意思決定を考えます。明日の給食のメニューをa,b,cから選べるとします。どの選択肢にするかクラスとして決めなくてはいけません。ここでそれぞれの生徒はaが選ばれたときの金銭で測った嬉しさ、bが選ばれたときの金銭で測った嬉しさ、cが選ばれたときの金銭で測った嬉しさを持っています(各人にとっての評価は定まっているものとします)。またこのような評価の情報をベクトルにしたものを評価ベクトルと呼ぶことにします。

例えば1さんの評価ベクトルは(100,200,300)であるとします。これは1さんのとってa,b,cそれぞれが選ばれたときの嬉しさが100,200,300だけの金銭的価値を持つことを表します。各生徒の評価ベクトルはその生徒しか知りませんが、どの生徒のどの選択肢に対する評価額も0から1000の範囲に収まっていることは分かっているとします。

このとき先生が次のような「単純な決定ルール」を採用したとしましょう。

「皆さん、いまから自身の評価ベクトルを申告してください。その申告をもとに皆さんの金銭で測った嬉しさの和を最大にするような選択肢を明日の給食として選びます」

このような「単純な決定ルール」に直面したら、各生徒は自身の評価ベクトルを正直に申告するでしょうか?

普通に考えれば、先生は、生徒が言ったことを鵜呑みにして集計するといっているのだから、自分としては例えばaが一番嬉しいのであれば(1000,0,0)のようにaが最高に嬉しくて、他はまるでダメであると申告してしまうのが良さそうです。「こんな単純な決定ルールを採用されても、そりゃ正直に申告するインセンティブはちゃんと確保されないよ」ということです。


もう少し今後に繋がるような角度からこのことを説明してみます。例えば自分が1さんだとして自身の評価ベクトルが(100,200,300)だとしましょう。すると自分としては(100,200,300)を最大にするような選択肢(この場合ではa)が選ばれて欲しいです*3

ここで正直に(100,200,300)を申告することを考えてみます。しかし、正直に申告したところで「単純な決定ルール」は、(クラスの人数を3人として、2さんが申告するベクトルを(b_2',b_2'',b_2''')、3さんが申告するベクトルを(b_3',b_3'',b_3''')とすると)、

(100+b_2'+b_3',\  200+b_2''+b_3'',\ 300+b_2'''+b_3''')を最大にするような選択肢を選ぶことになります。

つまり、単に「単純な決定ルール」を採用すると、各人にとっては、正直に申告したところで、「単純な決定ルール」は自分が最大化してほしいベクトルを最大化してくれるとは限らないわけです(ベクトルが一致していないわけです)。これでは「正直申告してもなぁ」というかんじです。もちろんもし仮に何かしらの上手いことが起きて、各人にとって、正直申告した場合には「単純な決定ルール」が自分が最大化したいものを最大化してくれるようになっているのであれば、各人は正直に自身の評価ベクトルを申告してくれるでしょうが、そうはなっていないわけです。

少しまどろっこしい説明をしましたが、今回考えたい問題は「単純な決定ルール」を採用することは決定事項として、どうやって各人に正直申告をしてもらうかです。より具体的には、「お金の仕組み」を上手くデザインすることで「単純な決定ルール」を採用しても正直申告をしてもらいたいわけです。

その答えがVCGメカニズムとなります(正確にいうとVCGメカニズムは単純な意思決定ルールとある条件を満たすお金の仕組みのペアのことであり、VCGメカニズムが示すお金の仕組みがその答えになります)。これからの2回の記事でどうやってVCGメカニズムの「お金の仕組み」にたどり着くかを見ていきます(正直申告してもらうにはどうしたらいいかなと考えていくことで自然とVCGメカニズムのお金の仕組みにたどりつくことを目指します)。

もちろんいまここでVCGメカニズムにおけるお金の仕組みはこれですと示した上でそれがどうして直感的に正直申告を引き出すかを説明する構成でも良いのですが、すぐにどういう仕組みかを説明するのは難しいので、「自分たちでVCGメカニズムのお金の仕組みに辿り着こう!」とやってみて、その過程を見ればそうやって作ったのだからそれは正直申告を引き出すよねという流れにしようと思います。

次回は「単純な決定ルール」についてのイメージを膨らませた上で、「お金の仕組み」をデザインするというのがどういうイメージなのかを見てみます。そして最終回では第二回での議論をもとにしながらVCGメカニズムの「お金の仕組み」に辿りつきます。

いくつか補足をしておきます。

・今回は学校の例を出しましたが、実際には学校のクラス内での決定においてはあまり金銭の仕組みを利用するのが望ましくないと考えられやすいと思うので例としてはあまり適切ではなかったかもしれません(ただ想像しやすそうだったのでこの例にしました)。とはいえ、VCGメカニズム自体はオークションや自治体が公園を作るかどうかの意思決定をする場合など色々な場面で非常に幅広く使えるものなので適応範囲という意味では大丈夫だと思います。

・上の議論において次回以降のヒントになるようなものを入れるような書き方をしたため分かりづらくなっている部分もあるかもしれませんが、押さえておいて欲しいのは「単に『単純な決定ルール』を採用してもそりゃダメそうだよね」という話(より正確にいうと、それでは各人が正直申告をしてくれる保証はないよねという話)と、「どうやらお金の仕組みを上手くデザインすると『単純な決定ルール』でも正直申告を引き出せるらしいぞ」ということです。

・上の議論において1さんに注目したときに、1さんが最大化して欲しいの(100,200,300)であるけれど、正直に申告したところで、「単純な決定ルール」は、(100+b_2'+b_3'\  200+b_2''+b_3'',\ 300+b_2'''+b_3''')を最大化することになる。しかしこれは(100,200,300)と異なってしまう。

のように説明しましたが、もちろん他の人の申告が全部0であればこの2つのベクトルは一致します。また、完全にすべてが0でなくても他の人の申告が全部0.1の場合などでも、(100,200,300)において最大になる選択肢と上のベクトルにおいて最大になる選択肢は一致します。

上の議論でのポイントはなんだったかというと、「お金の仕組み」などを考えずに単に「単純な決定ルール」を採用してしまうと、他の人の申告によっては、1さんが最大化して欲しいベクトルと1さんが正直申告したときに「単純な決定ルール」が最大化するベクトルが一致しないことがあるから、1さんの正直申告が保証されているとはいえない、ということです(もちろん「一致しないことがあるから」の部分については「最大化する選択肢が一致しないことがあるから」の方が正確だとは思います。なぜならベクトルが一致しなくても最大化する選択肢が一致するなら、正直申告すると考えられるからです)。

続く

*1:VCGメカニズムが既知である方向けに補足すると、このシリーズでは通常h_i(\omega_{-i})などと書かれる項については0として(0を常に取る関数として)無視しています。また基本的には、タイプが定まった1の意思決定に注目しています。

*2:教科書を読む前にエッセンスを知っておいたり教科書を読んで気持ちが分からなくなったときに読むと良い副読本的な立ち位置を目指しますのでこれだけ読んでもVCGメカニズムが何かが分かるようには書いていないです。

*3:「ーーーというベクトルを最大にする選択肢」という表現は必ずしも正しくないがニュアンスは伝わると思うのでこの表現を用いる。