トップ > 社会システムシミュレーション例題集

S-quattro 社会システムシミュレーション例題集

ここでは、社会システムシミュレーションの理解を深めて頂く上で、よく使われる例題の紹介と、各例題のモデルプログラム( S4 Simulation System Ver4.2以降で動作します)を公開しています。 社会システムシミュレーションの理解や業務への応用にもご活用ください。
例題のラインナップやモデル設計は、高橋 真吾 先生 (早稲田大学 創造理工学部 教授/社会シミュレーション研究所 所長) に監修頂いております。 (高橋先生の研究室 外部リンク )

例題は今後さらに増やしていく予定です。また、これらの詳しい解説本も高橋先生と作成中です。完成まで今しばらくお待ちください。

S4 Simulation System のテスト利用のお申し込みは こちら よりお問い合わせください。

セルオートマトン

組織意思決定

ゲーム理論

市場

伝播

交通流

シェリングの分居モデル

シェリングの分居モデルは、社会科学におけるエージェントベースモデリングの先駆けとも言われているモデルで、1971年にアメリカの経済学者であるトーマス・シェリングによって発表されました。
分居現象とは、個々のエージェントは異質なエージェントに対して寛容であるとしていても、社会全体としては同質のエージェント同士が集まってしまい、棲み分けが起こってしまう現象の事をいいます。 個々人の選好と社会全体のあり方とのギャップが見られる例の一つとして挙げられるようになり、これは実際に現実世界でも観察されます。 例えば、文化、宗教、所得の違いによる棲み分け現象は、このモデルで説明する事ができます。

周囲の 2/3 (=類似度) 近くが異人種でも満足する「寛容な」人を想定してみると、直観的には棲み分けは生じにくいと思われますが、実はそうではありません。 個々の人間は寛容でも、社会全体を眺めると分居が進むとされています。また、類似度の閾値は高すぎても低すぎても棲み分けが進まないとされていますが、シミュレーションでもこれを確認する事が出来ます。

モデル概要

セル空間上にランダムに配置された2種類のエージェントを考える
以下の処理を繰り返し行う
セル空間上の全てのエージェントに対し、類似度を計算する
a: 近傍にいる同類 (自分自身を含めない) エージェントの数
b: 近傍にいる (自分自身を含めない) エージェントの総数
類似度 = ( a / b ) × 100
エージェントは、類似度が閾値以下の時、移動可能なセルにランダムに移動する
幸福度を計算する
幸福度 = (類似度の閾値を超えているエージェント数 / エージェントの総数) × 100
全てのエージェントが移動しなくなると (幸福なとき) 終了

棲み分けの様子
棲み分けの様子

エージェントの幸福度
エージェントの幸福度

モデルのダウンロードは こちら ( Segregation.sss )

ライフゲーム

ライフゲームは、生命の誕生、進化、淘汰などのプロセスをモデル化したものです。1970年にイギリスの数学者ジョン・ホートン・コンウェイによって作られました。
このモデルは、生物集団においては、過疎でも過密でも個体の生存に適さないとしたモデルです。
ライフゲームではシミュレーションを進めると、生き延びる場合の変化は 4 パターンに分類されます。

  • 固定物体
  • 同じ場所で形が変わらない
  • 振動子
  • ある周期で同じ図形に戻る
  • 移動物体
  • 一定のパターンを繰り返しながら移動していく
  • 繁殖型
  • マス目が無限であれば無限に増え続ける

振動子の様子
例. 振動子の様子

モデル概要

セル空間上に「生」の状態と「死」の状態のエージェントを設定する
「生」の状態のエージェントは、周囲 ( 1 近傍) のエージェントの状態によって、下記のどれかの状態に変化する
セル空間上の全てのエージェントに対し、類似度を計算する
  • 「生」のエージェントが a 個以下の場合、「死」の状態へ (過疎)
  • 「生」のエージェントが a 個より大きく b 個未満の場合、そのまま (生存)
  • 「生」のエージェントが b 個以上の場合、「死」の状態へ (過密)
死の状態のエージェントは、周囲 ( 1 近傍) のエージェントの状態によって、下記のどれかの状態に変化する
  • ちょうど c 個の場合、「生」の状態へ (誕生)
  • それ以外の場合、変化しない

ライフゲームの様子
ライフゲームの様子

各細胞数の状態変化
各細胞数の状態変化

モデルのダウンロードは こちら ( LifeGame.sss )

ゴミ箱モデル

組織における意思決定のメカニズムを記述した代表例として、ゴミ箱モデル ( March and Olsen (1976)) があります。
組織における会議では、意見が出すぎる、出ない、結論が出ない、といった場面がよくあります。また、集団で意思決定を行う場合には、時間を掛ければかけるほど、あらたに問題が発生したり、 問題の判断基準があいまいになってくる事があります。
ゴミ箱モデルが作られた目的は、このような会議の場において、最適な意思決定を得る事が目的ではなく、組織内ではどのように意思決定が行われているか、そのメカニズムを記述する事にあります。

実際にゴミ箱モデルでは、組織における意思決定は合理的には行われておらず、むしろ合理性を欠く形で行われているとしてモデル化されています。 この場合の合理性とは秩序のない意思決定 (一貫性のない問題選択、不明確な技術、流動的な参加) です。
つまり、ごみ箱モデルでは、会議では参加したメンバー全員が納得するような解は得られず、結局「見過ごし」や時間切れによる「やり過ごし」によって、意思決定がなされていくとモデル記述されています。
ゴミ箱モデルは、意思決定には時間を掛けず、完璧な答え (最適解) を探すのではなく、ある程度の段階で意思決定をしてしまい、まずはやってみる事が重要であるということを主張しています。

モデル概要

問題、選択機会、意思決定者からなる集合を組織とし、意思決定はこれらの相互作用でなされるものと考える
問題、選択機会、意思決定者の構造をグラフ構造に表現する
未解決の問題は、選択機会で取り上げられ、意思決定者は選択機会へエネルギーを注入する。選択機会で得られたエネルギーの累積量によって、問題は解決される

組織(グラフ構造)
組織 (グラフ構造)

ゴミ箱モデルシミュレーション
ゴミ箱モデルシミュレーション

決定問題数の変化
決定問題数の変化

モデルのダウンロードは こちら ( GarbageCan.sss )

繰り返し囚人のジレンマ

「繰り返し囚人のジレンマ」を紹介する前に、まずは、「囚人のジレンマ」がどのような問題かをご紹介します。

囚人のジレンマ問題

共同で犯罪を行ったと思われる囚人 A、B が取り調べを受けています。取調官は、自白させるため以下を持ちかけました。

  • 2 人とも黙秘したら、2 人とも懲役 2 年だ
  • 1 人だけが自白したら自白した者は釈放 (懲役 0 年) してやる。自白しなかった方は懲役 10 年だ
  • 2 人とも自白したら、2 人とも懲役 5 年だ
さて、2 人の囚人は共犯者と協調して黙秘すべきか、それとも共犯者を裏切って自白すべきでしょうか。 それぞれのケースを表にまとめると次のようになります。

利得表
囚人 B
協調 裏切り (自白)
囚人 A 協調 ( 2 年、2 年) ( 10 年、0 年)
裏切り (自白) ( 0 年、10 年) ( 5 年、5 年)

2 人の囚人にとっては、互いに裏切り合って 5 年の刑を受けるよりは、互いに協調し合って 2 年の刑を受ける方が得です。 しかし、囚人達が自分の利益のみを追求している限りにおいては、互いに裏切り合うという結末を迎えてしまう、という問題が囚人のジレンマ問題です。

繰り返し囚人のジレンマは、このような囚人のジレンマ問題を 2 人で繰り返し行うゲームです。1 回の囚人のジレンマでは戦略的には裏切るべきです。 ただし、これを繰り返すと、必ずしも裏切るという戦略が有利になるとは限りません。
色々な戦略が考えられますが、どの戦略が有利かはシミュレーションによって調べる事ができます。例えば、戦略には以下が考えられます。

random:
協調、裏切りをランダムに選択
cooperate:
常に協調
defect:
常に裏切り
tit-for-tat:
しっぺ返し。
初めは協調しているが、相手が裏切ったら次は裏切り、協調に転じたら、協調
tit-for-tat2:
しっぺ返し 2。
初めは協調しているが、相手が 2 回続けて裏切ったら次は裏切り、協調に転じたら、協調
unforgiving:
トリガー戦略。
相手が協調している限り協調を続けるが、一度でも裏切った場合、以降は裏切りを続ける


各プレイヤーの利得の推移
各プレイヤーの利得の推移

モデルのダウンロードは こちら ( PrisonerIterated.sss )

繰り返し N 人の囚人のジレンマ

繰り返し囚人のジレンマではプレイヤーは 2 人でした。これをさらに N 人で繰り返し行うのが、繰り返し N 人の囚人のジレンマです。
これもゲームを繰り返し進めて行き、どの戦略が有利かをシミュレーションによって調べる事が出来ます。

メタ規範ゲーム

メタ規範ゲームは Axelrod (アクセルロッド) が集団における秩序 (協調的な社会) をモデル化したものです。モデルは N 人の囚人のジレンマを拡張したものであり、 非協調者 (裏切者) を罰するという行動原理 (規範) をモデルに導入しています。ただし、シミュレーションしてみると、規範だけでは秩序は達成されず、非協調者が支配的な社会となってしまいます。
そこで、非協調者を罰しなかったものを罰するという行動原理 (メタ規範) を導入すると、集団内で協調が維持されるようになります。
実社会における身近な問題でもこのメタ規範ゲームが応用できる問題がありそうです。

学級問題

あるクラスではいじめ(裏切り)が問題になっています。ある日、ある生徒がいじめをしているところを別の生徒に発見されました。発見された生徒は、もちろん注意を受けます (規範)。 ただし、これだけではクラスからいじめはなくなりませんでした。陰でいじめを見ているだけの生徒が数多くいた為です。
そこで、いじめを発見した生徒が見て見ぬふりをした場合にも、注意を与えるようにしました (メタ規範)。するとクラスからいじめが無くなりました (協調)。

路上喫煙問題

ある行政区では、路上喫煙が条例で禁止されています。条例では、路上喫煙者を発見した者は、それを監視員に通報すると、違反者は罰金が科せられるように決められています (規範)。 違反者を減らすさらなる対策を考えた場合、メタ規範ゲームに従うと、違反者を発見した者が、通報しなかった事が判明した場合、その者も罰金を払うようにするとさらに効果が得られそうです。


メタ規範ゲームによる各プレイヤーの推移
メタ規範ゲームによる各プレイヤーの推移

各プレイヤーの平均利得の推移
各プレイヤーの平均利得の推移

モデルのダウンロードは こちら ( MetaNormGame.sss )

オークション

オークション理論とは Vickrey (1961) の分析が契機となって発展したミクロ経済学の一部で、売り手と買い手が公平になる為に考えられた市場のメカニズムを設計する為の理論となります。
一つの財を取引するものを単一財オークション、多数の財を取引するものを複数財オークションと呼びます。例えば、単一財オークションにおいては下記のようなオークションがあります。

種類 特徴 備考
公開オークション 英国式オークション (競り上げ式オークション) 開始時に売り手が最低金額を提示し、買い手が徐々に値段を釣り上げていく方式。最高額を提示した買い手が購入。 絵画の競り 売り手が不利。
自分の付け値が最高値でない場合、現時点での最高額から少額だけ競り上げ続け、自分の評価値に達したら降りる。
公開オークション オランダ式オークション (競り下げ式オークション) 開始時に売り手が最高金額を提示し、売り手が徐々に値段を下げていく方式。買い手の一人が買う意思を示すと、その買い手に販売される。 バーゲンセール 最適な戦略は存在しない。
封印オークション 第 1 価格オークション 他者に価格が分からないようにして行う方式。希望額を紙に書いて売り手に渡す (入札)。最高額を入札した者が自分の入札額で購入。 公共事業の入札。 購入できた際にもっと低い金額で購入できたかもしれない。最適な戦略は存在しない。
封印オークション 第 2 価格オークション 他者に価格が分からないようにして行う方式。希望額を紙に書いて売り手に渡す (入札)。最高額を入札した者が 2 番目に高い額で購入。 (RTB) Real-Time Bidding 自分の入札額を下げても、2 番目の価格で購入するので購入価格は変わらない。誰にとっても、他人を気にすることなく自分の買いたい価格を入札することが最適な戦略となる。
信頼性、公平性から見てもよい方式。
ネットオークション 自動入札方式 イングリッシュオークションとセカンドプライスオークションの中間。
競りを自動的に実現できる方法。入札までは他者の行動を観察できる (英国式オークション)。 入札後は、他社の行動は観察できず、最終的には落札時に2番目に高い入札額 (の 1 単位上の価格) で落札される (第 2 価格オークション)。
yahooオークション等
その他にも以下のオークションがあります。

フラワーオークション

オランダ式オークションで、花 1 本 (単位) の価格を入札し、落札者が購入数量を決める方式です。余剰の財が発生した場合には、余剰分は再度オークションされます。

一律価格封印オークション

「 p 以下の任意の価格で q の量を購入する」(需要量と受け入れ価格の双方) 注文を入札する方式です。国債等の入札で利用されています。

同時上昇オークション (SAA) 及び時計オークション

オークション対象財の複数に同時に入札を行うことが出来ます。電波帯域の利用免許のオークションで利用されています。

パッケージオークション

入札者が複数の財を組み合わせて、パッケージとする事ができます。パッケージごとに値段が異なる為、財の数が増加すればするほど複雑なメカニズムになります。 近年では、空港の発着枠や発電ポートフォリオの売却で利用される。

ここでは、インターネットオークションのモデル例についてご紹介します。 インターネットオークションの形態には低い価格から始まり、その価格から高い金額を提示して競っていく方式があります。 この時入札者の行動は以下に分類することが出来ます※。

EarlyBidder CheepEarlyBidder Sniper SniperByContinuation
行動特性 オークション序盤から入札行動を開始し、各エージェントの上限金額の範囲内で終了時まで入札を行う。 安い価格に反応し、特にオークション序盤の価格が低いときに頻繁に上限金額以内で入札を行う オークション終了間際にのみ入札行動を行い、上限金額範囲内で 1 回のみ高めの価格を入札する オークション終了間際にのみ入札行動を開始し、上限金額以内で小刻みに入札を行う。
入札開始 序盤 序盤 終盤 終盤
知覚確率 10〜20% 10〜30% 70〜80% 50〜70%
入札確率 10〜20% 10〜30% 70〜80% 30〜70%
入札上限金額分布 [1/4p,3/4p] [1/5p,1/2p] [1/2p,5/6p] [1/2p,4/5p]
入札上乗せ金額特性値 25%以下 20%以下 100%以下 50%以下
※[菅原梢, 松田聖] 出品者サイドの落札価格最適化を図るネットオークションモデルの提案・検証 情報処理学会研究報告 2005-03-19 より引用

出品される品物は 1 つであり、参加者は品物の出品情報を知ります。出品情報を知ったエージェントは入札可能な金額であれば、入札し現在価格が更新されます。 これを繰り返して、品物が落札されます。シミュレーションモデルでは、価格の更新や落札価格をシミュレーションによって算出します。

価格の推移
価格の推移

モデルのダウンロードは こちら ( Auction.sss )

商品の普及モデル

新商品は情報発信や、商品を実際に購入したお客の口コミ等によって普及していきます。新商品を全ての顧客層に購入されるようなヒット商品とする為には、 商品普及のキーとなるような顧客層に受け入れられるような効果的なマーケティング戦略を立てる必要があります。 ここでいう顧客層とは、イノベーター理論 ( 1962年エベレット・M・ロジャース教授) に基づいた、商品の採用者を新商品購入の早い順に以下の五つに分類したものを指します。

Innovators
革新者
EarlyAdopters
初期採用者
Early Majority
前期追随者
Late Majority
後期追随者
Laggards
遅滞者
行動特性 冒険心にあふれ、新しいものを進んで採用する人 流行に敏感で、情報収集を自ら行い、判断する人。 較的慎重派な人。平均より早くに新しいものを取り入れる。 比較的懐疑的な人。周囲の大多数が試している場面を見てから同じ選択をする。 最も保守的な人。流行や世の中の動きに関心が薄い。イノベーションが伝統になるまで採用しない。
市場割合 2.50% 13.50% 34.00% 34.00% 16.00%

新商品が発売されるとまずイノベーターによって購入されます。次に広告のような情報発信が行われるとその情報を収集したアーリーアダプターによって購入されます。 その後、アーリーアダプターの口コミによって新商品はアーリーマジョリティにまで伝搬され、周囲の大部分によって購入された時にレイトマジョリティによって購入されはじめます。

もしも効果的な情報発信が行われ、その効果が大きい場合には、一定期間後に全ての顧客層にまで商品が普及します。

モデル概要

消費者同士のつながりをネットワーク構造 ( BarabasiAlbert グラフ) として考える
行動特性別市場割合に基づいて、消費者をネットワーク上の各ノードに配置する
シミュレーションが開始されてからある時刻までは、Innovators によって購入される
その後、ある一定期間は、EarlyAdopters が購入する
EaryAdopters と接触した (ノードが隣り合っている) EarlyMajority が購入する
市場全体の 8 割が購入すると、LateMajority が購入を開始する

商品の普及の様子
商品の普及の様子

モデルのダウンロードは こちら ( ProductDiffusion.sss )

情報伝播モデル

現在多くの企業では消費者とのコミュニケーションを図る為に SNS を積極的に活用し始めています。企業が SNS 上に広告等の情報を発信し、 その情報が伝搬していく様子をシミュレーションする事で、情報が伝わる速さやその広がりの程度が把握できます。
シミュレーションの結果は、広告効果の定量的な評価や、広告戦略に役立てる事ができます。

モデル概要

SNS でつながっているユーザの構造はネットワーク構造になっている
情報発信者は、SNS 上に情報を発信し、情報発信者と直接つながっているユーザに情報を拡散する
情報発信者からの情報を見たユーザは、その情報を別のユーザへ情報を拡散する
情報を受け取ったユーザは、つながっている別のユーザへ情報を拡散する (繰り返される)

情報伝播の様子
情報伝播の様子

モデルのダウンロードは こちら ( InformationDiffusion.sss )

SIR モデル

伝染病のモデルとしては、古典的な Kermack-McKendrick (1927) の SIR モデルがよく用いられます。非感染者 ( S ) が感染者に接触すると接触時間に比例した確率で感染 ( I ) します。 また、感染者 ( I ) は、感染後の経過時間に比例した確率で治癒 ( R ) します。また、一度感染すると、抗体ができるため再感染はしません。 このモデルは、システムダイナミクスという方法で以下のようにモデル化出来ます。感染症の伝播を S (非感染)、I (感染)、R (回復) の3つの状態量の変化 ( SIR モデル) でモデル化する方法です。
(免疫獲得を考慮しない SIS モデルや潜伏期間を考慮した SEIR モデルもあります)

SIRモデル

このモデルを使って感染者数、非感染者数の変化をシミュレーションする事もできますが、ここでは、各個人の学校 (職場)、自宅の往復を加味した上で、感染の広がりを考えてみます。

モデル概要

シミュレーションの粒度は、昼、夜の 2 つ
各個人はスケジュールに基づいて、自宅、職場、学校間を移動する
各場所で接触した者同士は、感染率 β で感染する
感染した者は治癒率 γ で治癒する
一度感染した者は再度感染する事はない

状態別(S,I,R)の人数の推移
状態別 ( S, I, R ) の人数の推移

モデルのダウンロードは こちら ( SIR.sss )

渋滞モデル

渋滞をモデル化した数理モデルには、待ち行列理論、流体モデル、追従モデル、セルオートマトンモデルがありますが、ここではセルオートマトンに基づいたシミュレーションモデルをご紹介します。
セルオートマトンは、1940 年代頃、スタニスワフ・ウラムとジョン・フォン・ノイマンが発見した考え方で、セルと呼ばれる升目を持つ、格子状の世界をベースとしています。 各セルは 0, 1 の 2 状態を持ち、各セルの次の状態は、その直前の状態によって決定されるとしたモデルです。
渋滞モデルをセルオートマトンでモデル化すると、人やクルマを進行方向に動かす事は、格子状のセルの状態を人やクルマがいる ( = 1 )、いない ( = 0 ) の 2 状態に変化させる事で表現出来ます。 さらに、状態変化のルールに、進行方向に人がいる場合には、移動できないというルールを設けると、渋滞が発生します。
交通流シミュレーションをセルオートマトンでもモデル化すると次のようになります。

モデル概要

セル空間上の道路に自動車をランダムに配置
一方通行の道路を自動車が走行する
交差点での右折、左折は考えず、直進のみとする
自動車はシミュレーション 1 ステップあたり、1 セル移動する
交差点が赤になった場合には、車は停止する
前方の車が停止している場合には、車は停止する

交通流シミュレーションの様子
交通流シミュレーションの様子

モデルのダウンロードは こちら ( Traffic.sss )