« 人口減社会は明か暗か、という話 | Main | 公共放送の「公共」って何? »

January 09, 2006

「合理的な豚」を説明してみる

知っている人は知っているだろうが、ゲーム理論に「合理的な豚」というモデルがある。McMillanの「Games, Strategies and Managers」という本に出てくるもの。これを人に説明するための練習をここでやってみる。知ってるぞという方は、おかしな説明があったらご指摘いただければ。知らないぞという方は、これを読んでわかるかどうか試していただければ。わからない人に説明してわからせるのが目的なので、これを読んでわからなければ、私の「負け」ということ。

「合理的な豚」は、簡単にいえば2頭の豚がエサを争う競争ゲームだ。得をするためにどういう戦略をとればいいかが問題になる。

まずは以下の図をご覧いただきたい。別のところで使ったものの使い回しなので「見たことあるぞ」という方もいるかもしれないが。

RationalPig

まずはスライドの下にある豚の絵の説明。大きな檻の中に、大きい豚と小さい豚の2頭がいるとする。大きい豚は、小さい豚に比べて食べるのも早く走るのも速い。2頭は腹を減らしている。エサ箱は2頭のすぐ近くにあるが、蓋がしまっている。この蓋を開けるには、遠くにあるスイッチを押さなければならない。近くにスイッチを押してくれ人間はいないので、自分たちでなんとかしなければならない。エサはエネルギーに換算して合計6.0ある。スイッチを押すために走ると往復でエネルギーを0.5消費する。で、大事な点だが、豚たちは自分の利得、つまりエネルギーの正味獲得量を最大にしたいと考えていて、その目的に沿って行動する。だから「合理的」な豚、という名がついているわけだ。これが問題のセッティング。

で、豚たちがエサを食べるためには、誰かがスイッチを押さなければならない。スライド左側の表は、大きい豚と小さい豚がそれぞれスイッチを押しに走った場合に得られるエネルギーの正味獲得量、つまり食べたエサのエネルギー量から走るのに要したエネルギー量を引いたものをあらわす。( )の中に数字が2つあるが、最初の数は小さい豚、あとのほうは大きい豚のエネルギー正味獲得量だ。たとえば(1.5, 3.5)とあれば、小さい豚が1.5、大きい豚が3.5のエネルギーを正味で獲得したということ。2頭の豚がそれぞれ走るか走らないかという二者択一を行うので、起こりうる状況は2×2で以下の4通り。

右下の「どちらも走らない」場合、どちらの豚もエサを食べることができないが走らなくてもいいのでエネルギー消費もゼロ、よって正味獲得量はいずれもゼロとなる。

左上の「両方とも走る」場合、大きい豚は走るのが速いので先にエサにたどりつき、4.0のエサを食べる。走った分を引いて正味獲得量は3.5。対する小さい豚は、2.0だけ食べられて0.5を消費するから正味1.5。

左下の「大きい豚が走る」場合、小さい豚は走らなくてもよく、しかも先に食べられるので、正味5.0のエネルギーを獲得する。大きい豚は、走った分出遅れて1.0しかエサを食べられず、しかも走った分0.5消耗して正味で0.5を獲得する。

右上の「小さい豚が走る」場合、小さい豚は走ってスイッチを押したはいいが、エサにたどりついたときには大きい豚にもう全部食べられてしまい、エサの獲得はゼロ。走った分だけ損をして、正味で-0.5。大きい豚は、走る必要がなくエサをすべて食べられるので正味で6.0。

ここまでが、2頭の豚がとりうる戦略とその場合の結果。

では、2頭の豚はどのような戦略をとったらいいか。一見、食べるにしても走るにしても、大きい豚が圧倒的に有利なようにみえる。能力がまさっていることは、競争上有利だと考えるほうが「自然」だろう。

しかしそうはならない。この2頭の豚が「合理的」であれば。
なぜか。

小さい豚には、「選択の余地」がないからだ。以下はこの説明。

小さい豚の立場になって考えてみる。なぜこちらから考えるかはあとで説明する。それぞれの豚は、自分は走ったほうが得だろうか損だろうかを考える。しかし問題は、相手がどう行動するかがわからないことだ。相手のとる行動によって自分の損得が変わり、したがってとるべき戦略もちがうことはよくある。そこで、場合を分けて考える。

まず、大きい豚が「走らない」場合(図の右側半分)。この場合、自分が走らなければスイッチは押されず、2頭ともエサを食べることはできないが、だからといって自分が走っても、大きい豚にすべてエサは食べられてしまう。どちらにころんでも、どうせエサは食べられないのだ。走らなければエネルギー正味獲得量はゼロ(図の左下)、走れば-0.5(図の左上)となる。だったら走る分だけ損ではないか。したがって小さい豚にとって合理的な行動は、「大きな豚が走らないのであれば、自分も走らない」となる。ちなみに、相手の戦略に対して自分がとるべき戦略を「最適反応戦略」という。この場合、「大きい豚の戦略が『走らない』の場合の小さい豚の最適反応戦略は『自分も走らない』だ」ということになる。

次に、大きい豚が「走る」場合(図の左半分)。この場合は、大きい豚がスイッチを押してくれるので、自分が走っても走らなくても、エサを食べることができる。だったら、走る分だけ損だ。それに、自分も走ってしまったら、大きい豚のほうが速く走れるのだから、自分の食べられる量が減ってしまう。走らなければ5.0(図の左下)、走れば1.5(図の左上)を獲得する。当然ながら、小さい豚にとって合理的な行動は「大きい豚が走るのであれば、自分は走らない」となる。

こうしてみると、実は、小さい豚のとるべき行動は、大きい豚が走っても走らなくても、「自分は走らない」となることがわかる。悩まなくていいのだ。どちらの戦略をとるか考えても意味がない。どうせ選択の余地は事実上ないのだ。ちなみに、相手がどう出ようが自分の戦略が変わらない場合、これを自分の「支配戦略」という。このケースでは、小さい豚の支配戦略は「走らない」だ。

ここで重要なのは、この問題において、小さい豚の戦略は、大きい豚の戦略について何も知らなくても決められる、ということだ。これは問題のセッティングによってこうなっているわけだが、こうなっているがゆえに、わかりやすい結果がきちんと出てくる、という点を意識しておきたい。手法についていえば、ゲームのプレーヤーの一方に支配戦略がある場合は、そちら側から考え、次いで相手方について考える必要がある。

さて、こんどは大きい豚の側を考える。小さい豚がどういう手に出てくるかはもうわかっている。どうせ小さい豚は走らないのだ。図でいえば、大きい豚にとって意味のあるのは下半分だけとなる。とすればどうするか。

大きい豚が「自分も走らない」と決めれば、両者とも取り分はゼロだ(図の右下)。走った場合、せっかく自分が走ってスイッチを押すという労をとったのに、エサは大半小さい豚にとられてしまう(図の左下)。ずるいではないか。不公平ではないか。でもしかたがない。これが「ゲーム」のルールなのだ。とすれば、「大人の対応」が求められる。不公平ではあるが、自分が走らない場合(ゼロ)と走る場合(0.5)とでは、走るほうが得をする。ならば得するほうをとるのもしかたがない。

以上から、この問題では、「小さい豚は走らず、大きい豚が走る」が最適な解となる。小さい豚、大きい豚の双方とも、ちがう選択をとれば自分が損をするから、自分から選択を変えることはない。こういうのをナッシュ均衡という。ほっとくとここに落ち着く、ということだ。実際、自分の目で見たわけではないが、豚で実験したら本当にこういう結果が出たらしい。「合理的な豚」というより、実は「豚は合理的」だったというオチ。

で、このモデルの親戚筋としては渡辺隆裕「図解雑学 ゲーム理論」(2004)に出てくる「瀬戸際戦略」なんかがある。追い詰められたほうが瀬戸際戦略をとると、相手側は呑まざるを得なくなるという話。某国を思い浮かべるとたいへん実感がわくと思う。ビジネス系では、大手企業が小さなベンチャー企業にしてやられるケースなどであてはまる例があると思う。ほかにもいろいろ考えられるだろうが、ここでは立ち入らない。要するに、強くて選択の余地があって、かつ正面衝突ではデメリットが大きい者と、弱くて選択の余地がないか、あるいは致命的な結果になっても気にしないなどの事情がある者との競争では、後者に引きずられてしまうという話だ。競争上の優位が戦略上は弱点になるというのは、なんだか想像力を刺激するではないか。

最後に、関連書籍を一応ご紹介。いずれもゲーム理論の入門編。左側のは「合理的な豚」モデルを提示したMcmillan (1992)の翻訳。右側の渡辺さんは首都大学東京(いいにくいねこの名は)教授でゲーム理論の専門家。この本は、私は読んでないのだが、Amazonでみたら「わかりやすい」と絶賛されていた。

※2006/1/10追記
はてなブックマーク
・インターネット殺人事件:日記「◆漫画に「合理的な豚」は登場するか

|

« 人口減社会は明か暗か、という話 | Main | 公共放送の「公共」って何? »

Comments

なるほど、興味深いですね。^^;
「柔をよく剛を制す」というような事象はこのように「合理的」に説明可能なのですね。ありがとうございました。

Posted by: イプログダイレクトの店長 | January 09, 2006 05:12 PM

山口浩さん、こんばんは、

どうも自分のリアルに持ち込みすぎなのかも知れませんが、「大きい豚は、小さい豚が餓死するまで走らない。」というのが大きな豚にとって最適解な気がするのですが、いかがでしょうか?

たまたま今晩複数の子どもといっしょにいました。彼らはじゃんけんと「円」に見立ててコインのようなものを使ってポーカーのような、「勝ったものがすべてをとる」みたいなゲームを発明して遊んでいました。「借金」とか、かなりいろいろなルールを工夫していました。これを見てて思ったのは、それでもどうも最初の頃に勝ちを重ねた子どもが生き残り、負けを重ねた子どもは「破産」してゲームからはずれていくという現象が起こっているように思われました。

この印象にひきずられているのかも知れません。

Posted by: ひでき | January 09, 2006 08:27 PM

大小のブタが同時に断食を始めた場合、先に体力が尽きて死亡するのは小さいブタである。
この場合、大きいブタは、小さいブタが餓死するのを待つという戦略をとることができる。
小さいブタの体力が一週間と仮定して、はじめの7日間は両者ともに0ポイントだが、大きいブタはそれ以降は寿命が尽きるまでの数千日間に渡って6ポイントを得られるようになる。35日後には、元を取れる計算になる。これこそが大きいブタにとっての最も合理的な戦略であると言える。
だが、大きいブタはこのような戦略をとらない。
よって、ブタは全く合理性に欠けているか、または合理性を追求しているのではなくフェアな形での共存を追求しているかのどちらかと言える。

Posted by: 発展 | January 09, 2006 10:28 PM

コメントありがとうございます。

イプログダイレクトの店長さん
柔よく剛を、というと柔軟性があるほうが有利のようにも見えますが、この例では柔軟性がある(選択の余地がある)方が不利になります。

ひできさん
ゲーム理論のモデルは、設定されたルールを守るとすれば、という前提ですので、その案は「反則」です。というか、1回の選択ですべてを決める、というルールを説明し忘れたというべきかも。繰り返しゲームになると、当然ながら持久戦に持ち込むとか協調するとかいろいろな戦略が可能になり、結果も異なってきます。

発展さん
上にも書きましたが、このモデルでは「待つ」はルール外です。要するに、私がゲームの前提をちゃんと説明してなかったということです。本文に書いた通り私の「負け」ですね。
現実の豚がこのモデル通りに行動したというのが本当だとするとこれをどう解釈すべきかというのは、面白い問題です。豚には長期的な考慮はできないということなのか、別な理由によって短視眼的に行動するのがより適切であるということなのか。
モデルを離れて「現実」を考える場合、どこまでを考慮に入れるかは難しいところです。「待つ」という戦略を視野に入れる場合には、待っている間にエサが腐ってしまうおそれ、ねずみが隙間から箱にもぐりこんでエサを食べつくしてしまうリスク、夜寝ている間にエサを盗まれるリスク、明日精肉業者に売られてしまうリスクなど、他のさまざまな不確実性も同時に考える必要があると思います。どこまで考えれば「合理的」ですか?考えてみれば「待つ」という戦略は、待ってもエサはなくならないという「信頼」があって初めて成り立つわけで。
そう考えてくると、「食べられるときに食べておく」というのは、ある意味で不確実性の中に生きる動物として合理的な選択なのかもしれませんね。

Posted by: 山口 浩 | January 09, 2006 10:29 PM

ルールでは走らないとどっちもエネルギーを消費しないので餓死はありえませんよ。>ひできさん

リアルに持ち込むならば、大きい豚は小さい豚を食べちゃうのが一番いい方法だと思います。
大手企業がベンチャー企業を取り込んで吸収しちゃう感じですね。

まあ、実世界では、ゲームのように単純な理論だけで動いてないですからね。
とはいえ、弱い立場でも、強い立場であるものを自分の有利に動かすことが出来る場合もあるというのは良くわかりました。
わかりやすい説明ありがとうございました。

Posted by: てすと | January 09, 2006 10:40 PM

本棚に眠っていた、ゲーム理論の本を引っ張り出して、読み始めました。
いいきっかけを作ってくださり、ありがとうございました(^^

Posted by: ひろ | January 09, 2006 10:56 PM

コメントありがとうございます。

てすとさん
豚が豚を食べるのがリアルなのかどうかわかりませんが、牛が肉骨粉を食べる時代だからアリなんですかね。
「ゲームのように単純な」というより、「ゲーム理論でよく語られるモデルのように単純な」ですね。ゲーム理論は、「解ける問題もある」という類のものですから。囚人のジレンマも含め、有名なのはいずれもシンプルで明快な解がある場合です。

ひろさん
もしよろしければ上記の渡辺さんの本もどうぞ。お会いしたことのある方ですが、説明がとてもお上手でした。読んでませんがきっとわかりやすいのでは。このアフィリエイトじゃなくてもいいですから。

Posted by: 山口 浩 | January 10, 2006 03:32 AM

誤: 左上の「小さい豚が走る」場合、~
正: 右上の「小さい豚が走る」場合、~

Posted by: anonymous | January 10, 2006 09:06 PM

anonymousさん、ご指摘ありがとうございます。
いやだめですね。こういうの必ずやるんだよなぁ。すいませんです。

Posted by: 山口 浩 | January 10, 2006 10:51 PM

TBのエントリに書くの忘れてましたが、
オイラには
『「合理的な豚」を説明してみる』
は成功してます(と思いたいw)

ちなみに欧米人(特に米)の方が
日本人よりもこのようなゲーム理論的な
発想と行動をしていると思うのは
Holonicsだけでしょうか?

Posted by: Holonics | January 11, 2006 12:40 AM

Holonicsさん、コメントありがとうございます。
この種の話は、前提条件をきちんと説明しないといけないということを改めて認識しました。

欧米人のほうが、というのは、実はそうでもないかも、と思います。古今東西、優れた戦略家はいるもので、意識しているかどうかは別として、理論に沿って、あるいは理論を超えて行動しているのではないかと。「日本人よりも」というのは、今の日本のリーダーたちよりも、ということでしょうね。

Posted by: 山口 浩 | January 11, 2006 02:58 AM

相手のとる行動がわからないというゲームの命題において、相手の走る速度などは知っているという時点で、このモデルは答えの決まっている博打の要素も無いゲームと思えます。囚人のジレンマでは、合理的な解をとらない事で、それ以上の利益を生む場合があります。
大きいブタが気の毒に思えるのは、北朝鮮外交において、あまりに日本の食う餌が少なくて、ムカムカする心情でしょうか。個人的に弱者とは戦うべきでない局面があることは学ぶべきことと思いました(日本の外交の事じゃなく)。
ビジネスに当てはめるとしたら、夜中に両者寝てる間に餌を仕掛けるようなものだと思いました。朝早く起きたほうは、小さいブタでも、相手が寝てる間にスイッチ押して、たくさん食えるかもしれない。大きい豚は相手より先に起きても、寝たふりを続けるかもしれない。

Posted by: eda | January 12, 2006 01:32 AM

edaさん、コメントありがとうございます。
ゲーム理論のモデルは、囚人のジレンマを含め、プレイヤーの合理的な行動を前提としていますので、合理的な行動をとらない場合は「想定外」です(確率的に行動を選択する混合戦略もありますが、それも全体として最適をめざす結果です)。
「合理的な豚」モデルは、弱者が必ず有利だというより、むしろ、一般的な予想に反して弱者が有利な場合もあるということを示しているのだと思います。
ビジネス面では、たとえば業界リーダーが自社の利益だけでなく業界全体の利益を考えて行動する場合などにあてはめられるかもしれませんね。競争相手に市場シェアを一部とられたとしても、業界全体を拡大したほうが自社にとってはメリットがある、みたいな。

Posted by: 山口 浩 | January 12, 2006 09:26 AM

山口浩さん、

「時間の矢 コンピュータシミュレーション、カオス―なぜ世界は時間可逆ではないのか?」(ISBN:4627153015 )という数式のいっぱい出てくる本をわけもわからないまま読んでいます。ポイントは、平たく言ってしまえばニュートン流の「可逆」な力学法則を、熱力学として個々の粒子にあてはめて、ある程度理論化した上で、多数体のシミュレーションを組むと、カオスだのフラクタルだのが出てく来て、時間軸について熱力学第二法則などが「非可逆」であることを立証するという内容の本です。

詳しい内容はさておき、「ゲームの理論」は一回こっきりの選択に適用されるという意味で、ニュートン力学的だと思うのですね。そして、それを多数の選択の相互作用としてシミュレーションすると熱力学、統計物理がそうであったように、またまったく別な世界観が出てくるのではないでしょうか?

そして、その実験の場としてMMORGみたいなのが想定可能なのかもしれません。

全く門外漢のとんちんかんな考えかもしれませんが、思いついてしまったので、コメントさせていただきました。

(メールアドレスはダミーです。あしからず。)

Posted by: ひでき | January 12, 2006 08:26 PM

ひできさん、コメントありがとうございます。
カオス理論は門外漢なのでよくわかりませんが、それで時間の非可逆性が説明できるんですか。面白そうですね。
ただ、ゲーム理論とはちょっとちがったものだろうと思います。「1回こっきり」というのは、そういうゲームもあるということであって、ゲーム理論の中には繰り返しゲームなんかもあります。とはいえ、ある意味おっしゃることと近いと思うのは、ゲーム理論で解ける問題は全体のほんの一部で、ほとんどの問題はきれいな解が出ないってことですかね。

Posted by: 山口 浩 | January 13, 2006 03:47 AM

最適戦略は、小さな豚が走ってスイッチを押す。←小さい豚の方が同じ距離を走ってもエネルギー消費が少ない。
大きい豚は小さい豚が戻って来るまで待ってあげる。
仲良く一緒に食う。取り分は基本的に体重に比例して配分するが、小さな豚は往復のエネルギー消費分だけ余計に食べる。
めでたしめでたし(・∀・)

Posted by: 佐藤秀 | June 21, 2006 11:14 PM

佐藤秀さん、コメントありがとうございます。
モラル的に美しい「解」ですね。
ただゲーム論的にいえば、彼らがそうするインセンティブがモデル内に備わっている必要があります。「モラル的行動」に効用がある、とか。その次の段階は、そのことがどのくらい「現実的」でかつ有益なインプリケーションをもたらすか、ですね。協調できるなら、そもそもこんなゲームのセッティングを考える必要もないわけですから。

Posted by: 山口 浩 | June 22, 2006 12:24 AM

>モラル的に美しい「解」ですね。

いや、2頭が生存し続けることを前提にすれば、モラルの問題じゃなくて現実戦略としてこれが最適解だと思います。
左下が最適解というのは1回こっきりの場合で、同じことが延々と続けばどんな事態になるかは見えていますから。

Posted by: 佐藤秀 | June 22, 2006 08:34 AM

佐藤秀さん
「1回こっきり」というのはこのゲームのルールです。これを前提にした解ということですね。繰り返しゲームにおいて協力解が最適になるケースがありうるのはご存知の通りですが、それでも協力解が非協力解に優越するかどうかは、パラメータ等細部の設定によります。問題をセッティングした後は純粋に数学的な話なので。

Posted by: 山口 浩 | June 22, 2006 09:12 AM

>セッティングした後は純粋に数学的な話なので。
そのセッテイングがどう見ても意外性のウケ狙いとしか思えないくらい無理がありますね。純粋に数学的でも、設定者の心は純粋でないような。
で、この意図的な数学的な話がいつのまにかイデオロギー化する懸念がありますね。

Posted by: 佐藤秀 | June 22, 2006 12:26 PM

佐藤秀さん
「意外性のウケ」狙いかどうかは知りません。イデオロギー化するかどうかは、使う人次第ですね。私は特に心配していません。「囚人のジレンマ」も別にイデオロギーとは関係ないですし。

Posted by: 山口 浩 | June 22, 2006 12:30 PM

私はこれ「囚人のジレンマ」の無理矢理な変奏じゃないかと思います。

Posted by: 佐藤秀 | June 22, 2006 10:24 PM

佐藤秀さん
ゲーム理論の専門家の方々はそうは考えていないようです。私は専門ではないので、そちらにお尋ねいただければと思います。

Posted by: 山口 浩 | June 22, 2006 11:15 PM

深く感銘いたしました!
仕事上でもよくこういった思考論理で動くことがありますネ。

Posted by: Shin U. | April 14, 2007 11:33 PM

Shin U.さん、コメントありがとうございます。
面白いですよね。単純なのに、なんか妙に説得力があって。

Posted by: 山口 浩 | April 15, 2007 11:30 PM

すいません、すいません
通りすがりなのに、超遅レスですいません
大きい豚さんが、小さい豚さんより「何倍早く」走れるのか表記がなかったので、図表から逆算するしかありませんでした。
説明は受けるとしても、ゲームモデルから計算してみる楽しみはあったほうがいいと思いましたです。

Posted by: 通りすがり | May 05, 2008 01:52 PM

通りすがりさん、コメントありがとうございます。
書かれていない部分を設定するといろいろバリエーションができるので、そういう楽しみ方もありますね。
私がやろうとしたのは、式なんか見たくもないという人にどうやったら説明できるかで、本当は数字も出したくありませんでした。
数学的な部分にご興味がある向きは、ぜひご専門の方のご講義を受けるのがいいと思います。

Posted by: 山口 浩 | May 06, 2008 01:12 AM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference 「合理的な豚」を説明してみる:

» 合理的な豚を自分なりに消化してみる [wingsideの日々つれづれ]
面白そうな話があったので、自分なりに消化してみる。 ゲーム理論を自分なりに生かしてみたらどうなるだろう?という仮定なので 実際問題はどうなるかわからないけど、頭の体操のつもりで。... [Read More]

Tracked on January 09, 2006 04:10 AM

» 気になる記事集 [タクミログ]
昨日とは打って変わって 今日は気になる記事ばかり! 紹介しますので興味わいたら是... [Read More]

Tracked on January 09, 2006 11:53 PM

» 今、ゲーム理論がアツい!? (1) [転職父さん40歳が直面するマンション購入の壁]
みなさん、こんにちは。ふじたやすしです。  さて、私が懇意にしている H-Yamaguchi.net さんがゲーム理論について触れておられます。ゲーム理論とは、こちらのページによりますと「お互いの利益が行動・戦術によって決定されていくものにおいて、みなが最善を尽くし...... [Read More]

Tracked on January 10, 2006 03:59 PM

» 「合理的な豚」の行動 [Log of ROYGB]
http://www.h-yamaguchi.net/2006/01/post_701f.htmlにある「合理的な豚」の行動について考えてみたい。 詳しくは、リンク先を見てもらうとして「大きな豚」と「小さな豚」がそれぞて「走る」か「走らないか」によって以下の表のような得点に応じたエネルギーを得る。  大きい豚 走る走らない 小さい豚走る小 1.5、大 3.5小 -0.5、大 6.0 走らない小 5.0、大 0.5小 0.0、大 0.0 この状態で「小さな豚」の取る行動は、「大きな豚」が「... [Read More]

Tracked on January 10, 2006 10:19 PM

» 四行原則 [Holonics Agenda]
オイラを知ってる人には時々話したりしたことあるので 知ってる人もいるといるかもだけど オイラSFとかサイバーパンクが好きだったんス 何でまた急にそんな事を言い出したかというと ... [Read More]

Tracked on January 11, 2006 12:34 AM

» 合理的な豚を読んで [SUPER BLOG.JP]
Hiroshi Yamaguchi氏のブログの【「合理的な豚」を説明してみる】と... [Read More]

Tracked on April 14, 2007 11:54 PM

« 人口減社会は明か暗か、という話 | Main | 公共放送の「公共」って何? »