この記事はVCGメカニズムを学習済みである方に向けて、VCGメカニズムにおいてどうして正直申告が引き出されるのかをプレーヤーの目線に立って説明しようとする記事です。前に同じ趣旨の記事を書きましたが、こちらの方が洗練された説明になっている気がします(ただし今回の記事は事前にVCGメカニズムを知らないとなぜこの説明がVCGメカニズムに繋がるかは分かりづらいとは思うので、VCGメカニズムを数学的に分かっている人向けになっています)。
構成としてはあなたは企業の担当者で自治体の人に「企業にとっての便益を教えてください」と聞かれることになります。その聞き方について5つのcaseが用意されており、それらを通してVCGメカニズムに接近していきます。
ーーーーーーー
あなたは企業の担当者で3つの選択肢があるとします(それぞれの選択肢をとして、これらは企業が取りうる生産プランなどです)。このとき、企業が得る便益(この"便益"は"直接の便益”という意味合いで使っています)はのときには、のときには、のときにはであるとします。特に何もないなら企業としてはを選びたい状況です(なお、どの選択肢も周辺住民などにもそれなりの正の便益を持たらす"良さげな"プランであるとイメージしておいてください)。いまから、自治体の担当者があなたのところに来て便益の情報を申告するように言ってきますが、自治体の担当者は企業にとっての便益の情報については知らないとします。
あなたの前にはいま自治体の担当者がいて、それぞれの選択肢を選んだときに企業をしての便益を教えてくださいと言ってきました(この事業は公共性が高いため、自治体がヒアリングをもとに企業の行動について指示を出すことになっているとします)。
(case i)
仮に、自治体の担当者が「申告された便益のベクトルが例えばであれば一番高い便益であるを実行するように指示を出します」と言ってきたとしましょう。申告された便益のベクトルを見た上で、その中で一番便益を高めるプランを企業に指示しますねというわけです。この場合には企業としては正直に申告すれば何も問題ないはずです(なお、ここでは金銭移転などは一切ないです)。
上のcaseであればシンプルですが、自治体の担当者としては、周辺住民や隣街の人たちの便益についても考える必要があるので次のように言ってくるかもしれません(この記事を通して自治体は企業、周辺住民、隣町の人たちの便益の和を最大にする選択肢を企業に実行してもらいたいものであるとイメージしておきます)。
(case ii)
「を実行したときに周辺住民はだけの便益を得て、隣街の人たちはだけの便益を得ることがすでに分かっています。同様にを実行したときには周辺住民はだけ便益を得て、、、、のような情報はすでに分かっています(これらの値は客観的に明らかであり具体的に伝えられる)。したがって、企業の便益として例えばが申告された場合にはの中で最大になるプランを指示します。それでは企業にとっての便益を教えてください」
このように言われたらどうでしょうか?正直に申告するとは限らないはずです。そこで自治体はお金の仕組みを上手くデザインすることで正直申告を引き出すための工夫をします。
(case iii)
「を実行したときに周辺住民はだけの便益を得て、隣街の人たちはだけの便益を得ることがすでに分かっています。同様にを実行したときには周辺住民はだけ便益を得て、、、、のようになっていることが分かっています(これらの値は客観的に明らかであり具体的に伝えられる)。
したがって、企業の便益として例えばが申告された場合にはの中で最大になるプランを指示します。加えて、を実行することになった場合にはだけ自治体から企業にお金を支払い、を実行することになった場合にはだけ、の場合にはだけお支払いします。それでは企業にとっての便益を教えてください」
この場合はどうでしょうか?
この場合は企業としてはを実行した場合の利益(便益+自治体からもらえる金銭)はになり、を実行した場合の利益はになり、を実行した場合の利益はになるので申告する便益は正直ににしておけば良さそうです。そうすると自治体はの中で最大になるプランを指示してくれる(つまり企業にとって一番利益が高い選択を支持してもらえることになる)からです。
なお、今回は具体的になどの値が具体的に伝えられているとしましたが、その具体的な値が何であれ企業の担当者としては正直申告をすることが分かります(などの値を特定しないで上の議論が成り立ったので)。
さらに大事なことに、今回は周辺住民や隣町の人たちの便益について客観的に分かっている設定にしましたが、企業における正直申告をするかしないかの判断において、実は周辺住民の便益などが本当に信頼できる正確な値であるかは関係ないはずです。具体的には次のcaseにおいても企業の正直申告が導かれるロジックは健在です。
(case iii')
「を実行したときに周辺住民はだけの便益を得て、隣街の人たちはだけの便益を得る、と本人たちが言っているので自治体としてはそれを信じることにします。同様にを実行したときには周辺住民はだけ便益を得て、、、、のように本人たちが言っているのでそれを信じることにします。
したがって、もし企業の便益として例えばが申告された場合にはの中で最大になるプランを指示します。加えて、を実行することになった場合にはだけ自治体から企業にお金を支払い、を実行することになった場合にはだけ、の場合にも同様にお支払いします。それでは企業にとっての便益を教えてください」
この(case iii')においても具体的ななどの値に関係なく*1正直申告が引き出されるわけです。
これを踏まえて、次は自治体が3主体(企業、周辺住民、隣街の人たち)に対してそれぞれに同時に担当者を送って申告してもらうような状況を考えます。
(case iv)
「周辺住民と隣町の人たちの便益についても私たちは把握できていないので、それぞれに対して自治体の担当者を送っています(つまり3主体から同時に申告をしてもらう状況です)。あなたには今から企業にとっての便益をお聞きします。
周辺住民の申告がどうなるかは分かりませんので例えば一般的な表記としてとして、隣町の住民の申告をとしておきます。この場合、企業の申告が例えばであれば、の中で最大になるプランを企業に取るように指示します。加えて、を実行することになった場合にはだけ自治体から企業にお金を支払い、を実行することになった場合にはだけ、の場合にも同様にお支払いします。それでは企業にとっての便益を教えてください」
このケースでも企業は正直に便益を申告するはずです。企業としては他の主体がどのような申告をしてくるかは分かりませんが、仮にどのような申告をしてきた場合にもその申告をとのように表せば、状況としては(case iii')においてその便益が信じられているケースと同じになるため、企業としては他の主体のどの申告のもとでも正直申告をするのが最適になるからです。
よって(case iv)においても企業は正直申告をします。
ーーーーー
以上で基本的には説明は終わりですが、よりVCGメカニズムの典型的な説明に近づけるのであれば、企業をagent1、周辺住民をagent2、隣町の人たちをagent3と呼ぶことにして(読者の皆さんはいまから)自治体の責任者の立場になってみます。(企業や住民のような役割は忘れて純粋にagentが3人いるような状況を想像してみる。また選択肢は今までのように実行するのはagent1ではなく自治体が実行する選択肢の候補であるとしておく)。自治体としてはそれぞれのagentから正直に便益を聞き出して、それを最大にする選択肢を実行したいような状況である。
そこで各agentに担当者を送り、各agent に対して、
「agent さんにはいまからあなたにとっての便益を申告してもらいます。agent さんとagent の便益についても自治体としては把握できていないので、それぞれに担当者を送っており、いまから彼らにも申告してもらいます。
agent さんの申告がどうなるか分かりませんが一般的な表記として、agent kさんの申告がになったとして、あなたの申告が例えばである場合には、の中で最大になる選択肢を自治体側で実行します。加えて、を実行することになった場合にはだけ自治体からagent さんにお金を支払い、を実行することになった場合にはだけ、の場合にも同様にお支払いします。それでは、あなたにとっての便益を教えてください」
各agent に対してこのように言った場合、case ivを思い出せば各agentは正直に自身の便益の情報を自治体に教えてくれることになると分かる。これが「お金の仕組み」を上手くデザインして正直申告を引き出すVCGメカニズムの仕組みである。
Fin.
*1:もっといえば企業にとっての便益がで特定されていることにも関係なく