Transcript
Page 1: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

PlatBox によるシミュレーション研究

井庭 崇慶應義塾大学 総合政策学部

[email protected]

1 はじめに

本論文では、マルチエージェントのアプローチによって、社会・経済のモデルを作成し、シミュレーション分析を行うためのツールとプロセスを提案する。マルチエージェントのアプローチとは、社会・経済を多数の自律的主体(エージェント)のミクロ的な相互作用からなるシステムとしてモデル化するものである。単にミクロレベルの相互作用を組み込むというのではなく、ミクロレベルとマクロレベルが不可分であるという点が強調されることが多く、このようなシステムは「複雑系」とも呼ばれている。複雑系は解析的に理解することが難しいため、シミュレーションによるアプローチがとられることが多いのである [1]。以下では、シミュレーションの意義と目的を概観した後、シミュレーションの実行環境「PlatBoxSimulator」、モデル作成支援ツール「ComponentBuilder」、モデル作成プロセスの順に説明していく。

2 シミュレーションの意義と目的

シミュレーションとは、用意したモデルと初期条件から、そのモデルを時間的に展開させるということである。それを通じて、研究者はモデルの特徴についての経験的な知見を得ることができる。シミュレーションでは、モデルの設定や条件などを変更して試すことが容易であり、また、頭の中ではもはや自由に操作することのできないような大規模で複雑なモデルを扱うことも可能となる。そのため、現在の科学的研究においては、シミュレーションは理論を発展させるための非常に重要な方法となっているのである1。

1コンピュータ・シミュレーションを用いた科学的研究は、1986年にノーベル物理学賞受賞者 Kenneth G. Wilsonによっ

図 1: シミュレーションにおける「もし~ならば」

シミュレーションとは、用意したモデルと初期条件から、そのモデルを時間的に展開させるということだと、先ほど述べた。ここで、シミュレーションという活動のインプットは、用意したモデルと初期条件である。これは「もし~ならば」ということにあたる (図 1)。そして、シミュレーションの結果得られた知見がアウトプットである。これは、「どうなるか・・・」ということである。このインプットとアウトプットの関係を分析することで、対象やモデルについての理解を深めることになる。科学的研究におけるシミュレーションの利用の

目的には、大きく分けて次の3つのものがある。まず、第一の目的は、モデルの振る舞いを理解するというものである (図 2)。モデルを設定し、初期条件をいろいろ変えてシミュレーションを実行する。初期値の組み合わせによって、モデルがどのような振舞いをするのかを観察するのである。第二のアプローチは、対象の内部メカニズムを

知るための模索に用いるというものである。これは、全体的な振る舞いがわかっているけれど、内部のメカニズムがわかっていないという対象を理

てその必要性が提唱されて以来、「計算科学」(ComputationalScience)という名前のもとに発展してきた。計算科学は、「科学や工学の問題を解決するため、シミュレーションや実験データ解析にコンピューターを積極的に利用して、理論や実験と補完し合う手段(実験と理論的アプローチの間にあるギャップを埋める)」[2]というものであり、科学研究の両輪と言われる「理論」と「実験」に加えて「計算」を重視する。

1

Page 2: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

図 2: 理解のためのシミュレーション

図 3: 予測のためのシミュレーション

解したい場合に行われる。内部メカニズムの仮説的なモデル (構成モデル)を作成し、その振る舞いと対象を比較して改良し、徐々にモデルを対象に近づけていくわけである。第三のアプローチは、対象の将来に関する「予測」である (図 3)。予め妥当と思われるモデルがあり、それを時間経過させることによってどのような結果になるのかを観察・分析するというものである。つまり、過去のデータを用いてシミュレーションを行うことによって、将来の動向を予測するわけである。しかし、「予測」という目的については、ビジネスや政策分析からの現実的要請として求められることが多いものの、シミュレーション研究者の中では、このような利用の効果を疑問視する声も多くある。社会シミュレーションの先駆者であるJ.W.Forrester(1961)も、予測については、当初から懐疑的な意見を述べている。「とくに注意したいのは、将来の特別な時点における特定の事象 の定量的な予測が、モデルの目的には含まれていないということである。従来、有用なダイナミック・モデルならば、ある将来の時点におけるシステムの特定の状態を予測できなければならないということは自明である、と間違って考えられてきた。これは望ましいことかもしれないが、モデルの有用

図 4: モデリング

性は、未来における特定の進路を予測する能力にかかっている必要はない。」[3] (下線は原文より)。また、 Gilbert and Troitzsch (1999)も、「従来の社会科学の科学哲学では、説明と予測を過剰に関係づけてきたと言えるだろう。つまり、理論をテストするのに、その理論がうまく将来を予測できるかどうかで判断される傾向があるのである。これは非線形理論、特にミクロレベルにおいては、適切な判断基準であるとはいえない。」[4]と注意を促している。以上のことから、現在では、シミュレーション

は、理論を発展させるための方法として、「特徴についての理解」や「内部メカニズムについての理解」に重きが置かれている。

3 モデル化

シミュレーションを語る上で、「モデル」は本質的に重要である。モデルがなければシミュレートすることはできないためである。また、モデルの内容によって、そのシミュレーション結果が大きく変わってくるのである。モデルとは何かという定義にはいろいろなもの

があるが、ここでは Wilson(1990) による次のような定義を想定しておくことにしよう。「“モデル”とは、ある人間にとっての、ある状況、あるいは状況についての概念 (idea)の明示的な解釈 (explicitinterpretation)である。モデルは、数式、記号、あるいは言葉で表すことができるが、本質的には、実体、プロセス、属性、およびそれらの関係についての記述 (description)である。」[5]モデルによる思考では、現実世界における対象

を、ある体系的なまとまりとして写し取り、それ

2

Page 3: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

を操作・分析して理解することで、もともとの対象を理解する (図 4)。また実践的な面では、モデルを処理したり分析したりして得られた結果をもとに、政策や行動を起こすことになる。時々刻々と変化する複雑な社会・経済に対して、このようなモデルによる思考を行うためには、容易かつ迅速にモデルを構築できる方法と道具立てが重要となる。そこで、PlatBox では、そのようなニーズも考慮に入れて、方法論やツールを開発・提供している。

4 シミュレーション・プラットフォー

ム: PlatBox Simulator

PlatBox では、社会・経済の「箱庭」を、たくさんの部品によってボトムアップに組み上げ、シミュレーションを行うことができる仕組みを実現している2。これらは、いわば、社会・経済を考えるための「新しい思考の道具」ということができるだろう。シミュレーション・プラットフォーム「PlatBox

Simulator」は、マルチエージェント型のシミュレーションを実行するためのプラットフォームである(図 5)。このプラットフォームに、モデルや表示機能のコンポーネント(部品)を組み込むと、そのシミュレーションが実行できるようになっている (図 6)。このように、シミュレーション環境がプラットフォーム構造になっている利点は、まず第一に、複数のモデルで操作や表示機能等を統一できるので、徐々に操作を体得・蓄積していくことができる点である。第二に、必要に応じて拡張ができるので、授業内容やレベルに応じて、新しく独自のモデルや機能を追加することができる利点がある。

2もともとは、これらは「Boxed Economy 基礎モデル」および「Boxed Economy Simulation Platform」という名称で開発されてきた [6, 7, 8]。「Boxed Economy」という名称は、ブラックボックスとしての経済社会モデルを開けてみると、そこに「箱詰めされた経済」がある、というイメージから命名したものである。経済社会のミニチュアということから、経済社会の「箱庭」モデルということもある。もともとは経済分野に注目して開発していたので、「Economy」という言葉が使われているが、現在では経済だけでなく、それ以外の社会的な現象にも適用できるようになっている。そのため、2005 年 3 月に名称を「Boxed Economy」から「PlatBox」に変更した。

図 5: PlatBox Simulator

Java VMPlatBox Simulator

図 6: PlatBox Simulatorの基本構造

5 モデル作成支援ツール: Compo-

nent Builder

「Component Builder」は、モデル作成を支援するツールである [9, 10]。Component Builderは、5種類のデザイナ(エディタ)と、世界設定のためのコンポーザで構成されており、これらを組み合わせて用いることで、シミュレーションのコンポーネントを作成できる3。

5.1 Model Designer: クラス図の作成

Model Designerは、UMLのクラス図を使ってシミュレーションモデルの静的な構造を分析・記述するためのツールである (図 7)。概念モデリングフェーズでは、モデル作成者はこのツールを使って、 シミュレーションの対象領域から概念を抽出しクラスとして記述していく。概念モデリング

3Component Builderは、統合開発環境「eclipse」のプラグインとして開発されている。eclipseは、オープンソース・ソフトウェアであり、無料で入手することができる。ComponentBuilderでは、機能性と使いやすさの面でも定評がある開発環境をベースとすることで、より効率的なシミュレーション作成が可能となっている。

3

Page 4: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

図 7: Model Designer

図 8: Activity Designer

フェーズで抽出するべき要素は、Agent、Relation、Information、Goods, Behaviorの 5種類である。また、シミュレーションデザインフェーズでは、概念モデルで記述した静的な構造を Typeの構造として定義するために使用する。概念モデルとして抽出した要素を、拡張可能性、再利用性の観点から再検討し、必要ならば分割、統合などの設計判断を行ってTypeとして定義する。Model Designerは、定義された Typeの構造からソースコードを自動で生成する機能を提供している。

5.2 Activity Designer: アクティビティ図の作成

Activity Designerは、UMLのアクティビティ図を使ってAgentのアクティビティを分析・記述するためのツールである (図 8)。分析したアクティビティと遷移は、シミュレーションデザインフェーズで Behaviorの状態遷移を設計する際に利用される。

図 9: Communication Designer

図 10: Behavior Designer

5.3 Communication Designer: コミュニケーション・シーケンス図の作成

Communication Designerは、UMLのシーケンス図に準じた図を用いて、Agent間の相互作用を分析・記述するためのツールである (図 9)。モデル作成者は、Model Designerで定義した静的な構造と、 Activity Designerで分析した Agentのアクティビティをもとに、 Agentがどのような順番で活動を行い、その中でどの Goodsや Informationを送りあうのかを記述する。

5.4 Behavior Designer: 状態遷移図の作成

Behavior Designerは、UMLのステートチャート図を使って Behaviorの状態遷移を設計するためのツールである (図 10)。Behavior Designerは、ステートチャート図で記述された状態遷移に対応するソースコードを自動で生成する機能を提供している。

4

Page 5: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

図 11: Action Designer

図 12: World Composer

5.5 Action Designer: アクションブロック図の作成

Action Designerは、Behaviorに定義されたアクションを設計するためのツールである (図 11)。モデル作成者は、このツールを使ってアクション記述言語をGUIで記述することができる。ActionDesignerは、記述したアクションは対応するソースコードに自動で変換する機能を提供している。

5.6 World Composer: 世界の設定

World Composerは、シミュレーションの初期設定を行うためのツールである (図 12)。モデル作成者は、このツールを使って、Worldの各種設定、Agentの初期配置の設定、Relationの初期構造の設定を行うことができる。 これらの設定は、Worldのソースコードに自動で変換することができる。

6 モデル作成プロセス

ここでは、モデル作成を行うための包括的なプロセスを提案する。提案するプロセスには「概念モデリングフェーズ」、「シミュレーションデザインフェーズ」、「実行・検証フェーズ」の 3つのフェーズが定義されている。さらに、それぞれのフェーズには成果物として必要なモデルが複数定義されている。モデル作成者はこのプロセスに従って、必要なモデルを作成していくことで、実行可能な社会シミュレーションのプログラムを得ることができる。以下では、それぞれのフェーズについて詳しく説明する。

6.1 概念モデリングフェーズ

概念モデリングフェーズは、社会現象を分析し、概念モデルとして記述するフェーズである。モデル作成者は、モデル化しようとしている対象が「どのようなものであるか」を洗い出し、Agent、Re-lation、Informationなどの基礎モデルの要素の組み合わせとして記述する。このフェーズでは、モデル作成者は「概念の静的な構造の記述」、「Agent のアクティビティの記述」、「Agent間の相互作用の記述」の 3 種類の概念モデルを、反復しながら作成する。

6.2 シミュレーション・デザインフェーズ

シミュレーション・デザインフェーズは、概念モデリングフェーズで作成した概念モデルを、実行可能なソフトウェアコンポーネントとして、「どのように実現するか」を記述するフェーズである。このフェーズでは、モデルから実行可能なソースコードを生成するために、概念モデルの実現方法を詳細に定義する必要がある。このフェーズでは、実行可能なソースコードを生成するために、以下の 3種類のモデルとシミュレーションの初期設定を記述する。モデル作成者は、「シミュレーションの静的な構造の設計」、「Behaviorの状態遷移の設計」、「Behaviorが状態遷移する際のアクションの設計」の 3 種類のモデル作成を反復して行い、最後に「シミュレーションの初期設定」を行う。

5

Page 6: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

図 13: モデル作成プロセス

6.3 実行・検証フェーズ

実行・検証フェーズは、モデルから生成したシミュレーションのソースコードを、PlatBox Simulator上で実行しその正当性を検証するフェーズである。PlatBox Simulatorは、基礎モデルに基づいて記述されたプログラムを実行するためのプラットフォームであり、グラフやファイル出力などの方法でシミュレーションの結果を得ることができる。

7 これまで作成してきたモデル

提案システムを用いて、これまで私たちが開発してきたモデルには、主に以下のものがある。

• 外国為替市場モデル [11]

• バスケット通貨制度モデル [12]

• 電力市場モデル [13]

• 繰り返し囚人のジレンマにおける戦略変更モデル [14][15]

• 家庭用 VTR の規格競争シミュレーション[16][14]

• 成長するネットワーク上での情報伝播 [17]

• 世代交代ネットワークモデル [18]

• 感染症伝播モデル [19]

• システム思考学習のためのビールゲームモデル [20]

• 進化経済学的な企業競争モデル (Nelson-Winterモデル)の再現 [21]

• 貨幣の自生と自壊モデル (安富モデル)の再現 [14]

• 秩序形成モデル (カウフマンモデル)の再現[22]

• カオス結合系の再現 [22][23]

• 成長するネットワークモデル (バラバシモデル)の再現 [23]

• 空港の待ち行列モデル [23]

• 鳥の群れモデル (Boidモデル)[23]

• N-Queen問題の協調的問題解決モデル [23]

• ニューラルネットワークによる学習モデル[23]

• 遺伝的アルゴリズムによる進化モデル [23]

さらに、具体的モデルによる分析研究だけでなく、方法論や教育に関連する研究も行っている。まず、モデルを「どのようにつくるのか」(how)についての知識の共有の支援として、設計ノウハウを「モデルパターン」として記述することを提唱し、実際にモデルパターンを提案している [24]。パターンの考え方は,もともと建築デザインのために考案され,その後ソフトウェアデザインに取り入れられたものであるが,この研究では、さらにモデル・デザインへ応用したものである。また、教育現場への導入に関する実践と研究も

行ってきた [23]。直感に反する振る舞いをみせる複雑現象の教育において、「説明を聞いて理解する」という受動的な教授方法から、自らがシミュレーションを「動かして理解する」という能動的な方法へと変えることを提唱し、実践的な試みを行っている。

8 おわりに

ここ半世紀の間、ソフトウェア工学は大規模で複雑なシステムをどのように構築するのかという問題に取り組んできた。その中で生まれた考え方は、社会科学の研究においても有効であると、私たちは考えている。特に、オブジェクト指向分野で標準化された UML(統一モデリング言語)を用いてモデル記述を行うということや、開発プロセスに関する議論は、社会科学のモデル化や研究プロセスの発展に大きな影響を与えると思われる。本論文が目指したのは、その具体的な一歩を提示することである。本論文で提案した PlatBox Simulatorや Com-

ponent Builderは、Web上からダウンロードできる (http://www.platbox.org/)。また、これらのソフトウェアやプロセスに関するガイドブックも、上記サイトからいくつか入手可能である。私たちの提案システムにより,各研究者が簡単にシミュレー

6

Page 7: PlatBox によるシミュレーション研究platbox.sfc.keio.ac.jp/jp/papers/msssm2005/box-msssm2005.pdf · PlatBox によるシミュレーション研究 井庭崇 慶應義塾大学総合政策学部

ションモデルを作成できるというだけでなく、他の研究者のモデルの追試や拡張を行うことを支援し、健全な研究コミュニティの発展に寄与することを期待したい。

参考文献[1] 井庭崇. 新しい思考の道具をつくる:複雑系による社会のモデル化とシミュレーション. 情報処理学会 MPSシンポジウム: 複雑系の科学とその応用, 2004.

[2] 田子精男. 計算の、計算による、計算のための科学. シミュレーション科学への招待: コンピューターによる新しい科学. 日経サイエンス社, 1998.別冊日経サイエンス 130.

[3] J. W. Forrester. Industrial Dynamics. MITPress, 1961. J.W.フォレスター,『インダストリアル・ダイナミックス』, 石田晴久, 小林秀雄 (訳),紀伊国屋書店, 1971.

[4] N. Gilbert and K. G. Troitzsch. Simulationfor the Social Scientist. Open University Press,1999. N・ギルバート , K.G.トロイチュ, 社会シミュレーションの技法: 政治・経済・社会をめぐる思考技術のフロンティア, 井庭崇, 岩村拓哉, 高部陽平 (訳), 日本評論社, 2003.

[5] B. Wilson. Systems: Concepts, Methodologies,and Applications. John Wiley & Sons, 2 edi-tion, 1990. Brian Wilson, 『システム仕様の分析学:ソフトシステム方法論』, 根来龍之 (訳), 共立出版, 1996.

[6] T. Iba, Y. Chubachi, Y. Matsuzawa, K. Asaka,and K. Kaiho. Resolving the existing prob-lems by boxed economy simulation platform. InAgent-based Approaches in Economic and SocialComplex Systems, pp. 59–68. IOS Press, 2002.

[7] T. Iba, Y. Takabe, Y. Chubachi, J. Tanaka, K. Kami-hashi, R. Tsuya, S. Kitano, M. Hirokane, andY. Matsuzawa. Boxed economy foundationmodel: Toward simulation platform for agent-based economic simulations. In Exploring NewFrontiers on Artificial Intelligence, pp. 227–236.Springer-Verlag, 2002.

[8] 井庭崇, 中鉢欣秀, 松澤芳昭, 海保研, 武藤佳恭.Boxed economy foundation model: 社会・経済のエージェントベースモデリングのためのフレームワーク. 情報処理学会論文誌: 数理モデル化と応用, 2003. 印刷中.

[9] Nozomu Aoyama, Rintaro Takeda, Takashi Iba,and Hajime Ohiwa. Simulation developmenttools with mda. In International Workshop onMassively Multiagent Systems, 2004.

[10] 青山希, 松澤芳昭, 井庭崇, 大岩元. モデリング言語による社会シミュレーション構築環境. 情報

処理学会 第 56回MPS(数理モデル化と問題解決)研究会, 2005.

[11] 宇佐美絢子, 津屋隆之介, 井庭崇, 高安秀樹. 外国為替市場モデルの構築:円ドル市場の再現と為替変動分析. FCS/MPS 計算科学シンポジウム,2005.

[12] 国友美千留, 津屋隆之介, 井庭崇, 高安秀樹. バスケット通貨モデルの構築:シミュレーション実験を用いた国際金融取引の安定要因分析. FCS/MPS計算科学シンポジウム, 2005.

[13] Ryunosuke Tsuya, Naoto Sato, Takashi Iba, andYoshiyasu Takefuji. Analysis on the factor ofprice volatility in deregulated electric power mar-ket. In 2nd. International Conference of theEuropean Social Simulation Association, 2004.

[14] 井庭崇. 社会・経済シミュレーションの基盤構築:複雑系と進化の理論に向けて. 博士論文, 慶應義塾大学 政策・メディア研究科, 2003.

[15] 井庭崇. 複雑系と進化のモデル・フレームワーク.進化経済学のフロンティア, 第 2章. 日本評論社,2004. 西部忠 (編).

[16] 井庭崇,竹中平蔵,武藤佳恭. 人工市場アプローチによる家庭用vtrの規格競争シミュレーション. 情報処理学会論文誌: 数理モデル化と応用, Vol. 42,No. SIG14 (TOM5), pp. 73–89, 2001.

[17] 古川園智樹, 石元龍太郎, 小林慶太, 笠井賢紀, 赤松正教, 井庭崇. 社会ネットワークの形成過程シミュレーション:マルチエージェント・モデルによる表現と拡張. 情報処理学会 知能と複雑系研究会 (SIG-ICS) & 人工知能学会知識ベースシステム研究会 (SIG-KBS) 合同研究会, 2004.

[18] 赤松正教, 古川園智樹, 笠井賢紀, 青山希, 井庭崇.成長するネットワークのシミュレーションとその拡張:世代交代モデルの提案.

[19] 笠井賢紀,赤松正教,古川園智樹,井庭崇. 社会ネットワークにおける感染症伝染シミュレーション.

[20] 森本和剛, 江馬裕子. ビールゲームモデルによるシステム思考学習. 慶應義塾大学井庭崇研究室研究発表カンファレンス, 2005.

[21] 清水たくみ, 江馬裕子, 井庭崇. Nelson-winterモデルによる産業変動の観察:platboxを用いた進化経済シミュレーション. 進化経済学会サマースクール, 2005.

[22] 宮澤かおり, 伊藤諭志, 伊藤智久, 海野愛, 井庭崇.同期現象のネットワーク・シミュレーション. 情報処理学会 ネットワーク生態学研究会 第 1回サマースクール, 2005.

[23] 井庭崇. 複雑現象の教育方法とその実践: コンピュータ・シミュレーションによる体験的学習.FCS/MPS 計算科学シンポジウム, 2005.

[24] 井庭崇, 津屋隆之介, 青山希. モデリング言語による社会シミュレーション構築環境. 社会シミュレーションの構築のためのモデルパターン, 2005.

7


Top Related