社会・経済のエージェントベースモデリング のため …...2 井庭崇,...

37
Boxed Economy Foundation Model: Boxed Economy Foundation Model: 社会・経済のエージェントベースモデリング 社会・経済のエージェントベースモデリング のためのフレームワーク のためのフレームワーク 井庭 崇 千葉商科大学政策情報学部, フジタ未来経営研究所 慶應義塾大学政策・メディア研究科後期博士課程 中鉢 欣秀 慶應義塾大学 SFC研究所 松澤 芳昭 慶應義塾大学 SFC研究所 海保 研 慶應義塾大学 SFC研究所 武藤 佳恭 慶應義塾大学 環境情報学部 http://www.boxed-economy.org/ 情報処理学会 数理モデル化と問題解決研究会(MPS43エージェントベースアプローチによる エージェントベースアプローチによる 社会・経済モデルのこれまで・・・ 社会・経済モデルのこれまで・・・ 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」, 『オペレー ションズ・リサーチ:経営の科学』, 日本オペレーションズ・リサーチ学会, 10月号, 200110

Transcript of 社会・経済のエージェントベースモデリング のため …...2 井庭崇,...

Page 1: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

1

Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリング社会・経済のエージェントベースモデリングのためのフレームワークのためのフレームワーク

井庭 崇千葉商科大学政策情報学部, フジタ未来経営研究所

慶應義塾大学政策・メディア研究科後期博士課程

中鉢 欣秀慶應義塾大学 SFC研究所

松澤 芳昭慶應義塾大学 SFC研究所

海保 研慶應義塾大学 SFC研究所

武藤 佳恭慶應義塾大学 環境情報学部

http://www.boxed-economy.org/

情報処理学会 数理モデル化と問題解決研究会(MPS43)

エージェントベースアプローチによるエージェントベースアプローチによる社会・経済モデルのこれまで・・・社会・経済モデルのこれまで・・・

井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」, 『オペレーションズ・リサーチ:経営の科学』, 日本オペレーションズ・リサーチ学会, 10月号, 2001年10月

Page 2: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

2

井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」, 『オペレーションズ・リサーチ:経営の科学』, 日本オペレーションズ・リサーチ学会, 10月号, 2001年10月

本発表の提案本発表の提案

本発表では、

エージェントベースアプローチによって

社会・経済モデルを記述するための

モデル・フレームワーク(メタモデル)を提案する。

Boxed EconomyFoundation Model

Page 3: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

3

本発表の提案による先行研究の拡張本発表の提案による先行研究の拡張

社会システム論[公文 1978, 1994]

UML(統一モデリング言語)

によるビジネスモデリング[ErikssonPenker 2000]

[Marshall 1999]

エージェントベースシミュレーションのためのツール

(Swarm, MAML, RePast, Ascape, KK-MAS)

エージェントのフレームワーク

[Bruun 2002]

超領域的な社会科学への試論

[西部 1989]

複雑系科学[金子・池上 1998]

[井庭 1998]

進化経済学[塩沢 2000][江頭 2002]

記述だけでなく操作も可能に

動的に変化するモデル

の記述・操作 本発表の提案

プログラミング支援だけでなくモデリング支援も

より柔軟で汎用的なモデル記述

本発表の提案に対する評価軸の設定本発表の提案に対する評価軸の設定

「未踏の領域」であるので、自ら評価軸を設定する。

①現在記述が難しく、かつ必要であるモデル記述の要件を述べ、それらが、提案モデルフレームワークで記述可能であることを示す。

②提案モデルフレームワークに基づいて作成したモデルを例示する。

井庭崇, 竹中平蔵, 武藤佳恭, 「人工市場アプローチによる家庭用VTRの規格競争シミュレーション」, 情報処理学会「数理モデル化と応用」論文誌, Vol.42, No.SIG14 (TOM5), 2001年12月発行

Page 4: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

4

AgendaAgenda

3 Boxed Economy Foundation Model Boxed Economy Foundation Model ((BEFMBEFM))

4 BEFMBEFMによるモデル記述例によるモデル記述例

2 モデル・フレームワークとはモデル・フレームワークとは

「「Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリングのためのフレームワーク社会・経済のエージェントベースモデリングのためのフレームワーク」」

1 社会・経済の新しいモデル化への取り組み社会・経済の新しいモデル化への取り組み

5 まとめまとめ

社会科学におけるフロンティア領域社会科学におけるフロンティア領域

社会・経済における組織・制度・知識・技術の生成と進化を内生的に表現したい。

•進化経済学会, 塩沢由典, 『方法としての進化』, シュプリンガー・フェアラーク東京, 2000•江頭進, 『進化経済学のすすめ』, 講談社, 2002•出口 弘, 『複雑系としての経済学:自律的エージェント集団の科学としての経済学を目指して』, 日科技連, 2000•etc. …

Page 5: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

5

求められる複雑系・進化的なモデル求められる複雑系・進化的なモデル

① 社会が、異質性と多様性のあ

る主体から構成されているということ。

② 主体が原子論的な意味でのア

トムではなく、内部状態をもっているということ。

③ 情報や知識が生成され、伝達

され、解釈されるということ。

④ 主体間の関係やその意味が動

的に変化するということ。

=

内部状態②

複雑系(複雑系(Complex SystemComplex System))

相互作用

構成要素

全体

システムの構成要素の振舞いのルールが、状況によって動的に変化する

構成要素の生成や消滅,内生的なルール生成などを含む

井庭崇, 福原義久, 『複雑系入門:知のフロンティアへの冒険』, NTT出版, 1998

Page 6: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

6

システムの構成要素の振舞いのルールが、状況によって動的に変化する

構成要素の生成や消滅,内生的なルール生成などを含む

複雑系(複雑系(Complex SystemComplex System))

相互作用

構成要素

全体

相空間(phase space)

システムの状態が変化すると、振舞いのルールの関数の形が変わったり、新たに変数が加わったりする。

u=…

複雑系複雑系((Complex SystemComplex System))

システム

内部状態

x=…y=…z=…

【内部状態の値の軌跡】

【システムの振舞いのルール】

u

Page 7: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

7

厳密には、「開いた力学系」が必要だが・・・厳密には、「開いた力学系」が必要だが・・・

力学系的なアプローチ

時間が与えられていて、状態が時間とともにあるルールに基づいて発展していく。

「力学系の表現されている相空間、ルールといったものを固定して考えたのでは不十分であり、相空間の次元、ルールなどの点で『開いた力学系』という道具立てが必要になる。」(金子・池上 1998)

金子邦彦, 池上高志, 『複雑系の進化的シナリオ』, 朝倉書店, 1998

擬似的に表現するための道具立て擬似的に表現するための道具立て

社会・経済のモデルによく現れる基本構造を「モデル・フレームワーク」として設定し、その上で動的に変化するモデルを実現するという戦略をとる。

モデルフレームワーク

主体と振る舞い、状態、関係性、情報の組み合わせの変化

Page 8: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

8

AgendaAgenda

3 Boxed Economy Foundation Model Boxed Economy Foundation Model ((BEFMBEFM))

4 BEFMBEFMによるモデル記述例によるモデル記述例

2 モデル・フレームワークとはモデル・フレームワークとは

「「Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリングのためのフレームワーク社会・経済のエージェントベースモデリングのためのフレームワーク」」

1 社会・経済の新しいモデル化への取り組み社会・経済の新しいモデル化への取り組み

5 まとめまとめ

モデル・フレームワークとはモデル・フレームワークとは

モデルによく現れる構造を抽出し明示化したもの。

モデル要素を構造化したり操作したりするための注目点と構成原理を提供する。

概念モデル・フレームワーク

設計モデル・フレームワーク

Page 9: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

9

概念モデル・フレームワークの役割概念モデル・フレームワークの役割

現実世界の認識のための準拠枠

モデルを記述するための語彙

コミュニケーションのためのコード

社会・経済をモデル化する際に,共通して(もしくは多くの頻度で)登場する構造を抽出したもの。

設計モデル・フレームワークの役割設計モデル・フレームワークの役割

概念モデルとして得られたものを、シミュレーションとして実現するためのフレームワーク。

Page 10: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

10

AgendaAgenda

3 Boxed Economy Foundation Model Boxed Economy Foundation Model ((BEFMBEFM))

4 BEFMBEFMによるモデル記述例によるモデル記述例

2 モデル・フレームワークとはモデル・フレームワークとは

「「Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリングのためのフレームワーク社会・経済のエージェントベースモデリングのためのフレームワーク」」

1 社会・経済の新しいモデル化への取り組み社会・経済の新しいモデル化への取り組み

5 まとめまとめ

Boxed Economy Foundation Model (BEFM)Boxed Economy Foundation Model (BEFM)

現実の社会・経済をオブジェクト指向分析によって抽象化したもの。

エージェントベースアプローチによる社会・経済モデルの基本デザインを提供。

概念モデル・フレームワーク

設計モデル・フレームワーク

BEFMに基づいて作成されたモデルは、Boxed Economy Simulation Platform (BESP)上でシミュレートできる。

※ オブジェクト指向に基づき、UML(統一モデ

リング言語)で記述する。

Page 11: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

11

BEFM 概念モデル・フレームワーク

BEFM BEFM 概念モデル・フレームワーク概念モデル・フレームワーク

Page 12: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

12

World, Space, ClockWorld, Space, Clock

World :対象世界を表現する。Entity (AgentとGoods)を配置できる。

Space:空間を表現する。

Clock :時間を表現する。

BEFM BEFM 概念モデル・フレームワーク概念モデル・フレームワーク

Entity, Agent, GoodsEntity, Agent, Goods

Entity:世界に存在する実体具体的には、Agent および GoodsInformation を付随させることができる。

Agent:社会・経済における個人や社会集団Goodsを所有することができる。

複数のBehaviorをもつ。

他のAgentとRelationをもつ。

Goods:Agentに所有

され、交換されるもの。

BEFM BEFM 概念モデル・フレームワーク概念モデル・フレームワーク

Page 13: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

13

InformationInformation

Information:Entityが保持する情報単独では存在せず,必ずEntityによって保持される。

BEFM BEFM 概念モデル・フレームワーク概念モデル・フレームワーク

BehaviorBehavior

Behavior:エージェントの行動Agentは、複数のBehaviorをもつことができる。

複数のBehaviorは、並列的に動作する。

BEFM BEFM 概念モデル・フレームワーク概念モデル・フレームワーク

Page 14: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

14

Relation, ChannelRelation, Channel

Relation:あるAgentから他のAgentへの関連性Agentは、複数のBehaviorをもつことができる。

複数のBehaviorは、並列的に動作する。

Channel:コミュニケーション・パスRelationに基づいて開設される。

BehaviorとBehaviorをつなぐ。

BEFM BEFM 概念モデル・フレームワーク概念モデル・フレームワーク

BEFM 設計モデル・フレームワーク

Page 15: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

15

状態機械としての状態機械としてのBehaviorBehavior

BEFM設計モデル・フレームワークでは、Behaviorを「状態機械」(state machine)として定義している。

例: SendRequestBehaviorのステートチャート図

状態

遷移

イベント(トリガー)

アクション

コンポーネントビルダーコンポーネントビルダー

/** AbstractPurchaseVCRBehavior.java* Copyright (c) 2002 Boxed-Economy Project. All rights reserved.*/

package org.boxed_economy.formatcompetition.model.behavior;

import org.boxed_economy.besp.model.fmfw.behavior.AbstractBehavior;

import org.boxed_economy.besp.model.fmfw.ChannelEvent;import org.boxed_economy.besp.model.fmfw.behavior.Action;import org.boxed_economy.besp.model.fmfw.behavior.CompositeState;import org.boxed_economy.besp.model.fmfw.behavior.Event;import org.boxed_economy.besp.model.fmfw.behavior.GuardCondition;import org.boxed_economy.besp.model.fmfw.behavior.State;import org.boxed_economy.besp.model.fmfw.behavior.StateMachineFactory;import org.boxed_economy.besp.model.fmfw.behavior.Transition;

/*** AbstractPurchaseVCRBehavior*/public abstract class AbstractPurchaseVCRBehavior extends AbstractBehavior {

/*** This method automatically generated from AbstractBehavior Builder* Don't touch by hand*/protected void initializeStateMachine() {//factoryStateMachineFactory factory = this.getStateMachine();

//statesState initialState = factory.createInitialState();CompositeState 市場シェア情報依頼準備 = factory.createCompositeState("市場シェア情報依頼準備");CompositeState 市場シェア情報待ち = factory.createCompositeState("市場シェア情報待ち");CompositeState 規格情報待ち = factory.createCompositeState("規格情報待ち");CompositeState vTR待ち = factory.createCompositeState("VTR待ち");State terminalState = factory.createTerminalState();

※IBM and othersが無料で提供する開発ツールのプラットフォーム「eclipse」のプラ

グインとして開発した。※状態遷移図の記述エディタおよび、Javaプログラムの生成機能がオリジナル部分。

私たちの開発した作成支援ツール

コンポーネントビルダー

状態遷移図のスケルトンの

ソースコードを自動生成!

DEMO!

Page 16: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

16

コンポーネントビルダーによって自動生成されたコードコンポーネントビルダーによって自動生成されたコード/** AbstractPurchaseVCRBehavior.java* Copyright (c) 2002 Boxed-Economy Project. All rights reserved.*/

package org.boxed_economy.formatcompetition.model.behavior;

import org.boxed_economy.besp.model.fmfw.behavior.AbstractBehavior;

import org.boxed_economy.besp.model.fmfw.ChannelEvent;import org.boxed_economy.besp.model.fmfw.behavior.Action;import org.boxed_economy.besp.model.fmfw.behavior.CompositeState;import org.boxed_economy.besp.model.fmfw.behavior.Event;import org.boxed_economy.besp.model.fmfw.behavior.GuardCondition;import org.boxed_economy.besp.model.fmfw.behavior.State;import org.boxed_economy.besp.model.fmfw.behavior.StateMachineFactory;import org.boxed_economy.besp.model.fmfw.behavior.Transition;

/*** AbstractPurchaseVCRBehavior*/public abstract class AbstractPurchaseVCRBehavior extends AbstractBehavior {

/*** This method automatically generated from AbstractBehavior Builder* Don't touch by hand*/protected void initializeStateMachine() {//factoryStateMachineFactory factory = this.getStateMachine();

//statesState initialState = factory.createInitialState();CompositeState 市場シェア情報依頼準備 = factory.createCompositeState("市場シェア情報依頼準備");CompositeState 市場シェア情報待ち = factory.createCompositeState("市場シェア情報待ち");CompositeState 規格情報待ち = factory.createCompositeState("規格情報待ち");CompositeState vTR待ち = factory.createCompositeState("VTR待ち");State terminalState = factory.createTerminalState();

//actionsAction 知人に使用規格を尋ねる = new Action() {public void doAction() {知人に使用規格を尋ねる();}public String toString() {return "知人に使用規格を尋ねる";}};Action 市場シェアを記憶する = new Action() {public void doAction() {市場シェアを記憶する();}public String toString() {return "市場シェアを記憶する";}};Action useBehaviorを起動する = new Action() {public void doAction() {useBehaviorを起動する();}public String toString() {return "useBehaviorを起動する";}};Action 市場シェアを尋ねる = new Action() {public void doAction() {市場シェアを尋ねる();}public String toString() {return "市場シェアを尋ねる";}};Action 購買前評価を行う = new Action() {public void doAction() {購買前評価を行う();}

public String toString() {return "購買前評価を行う";}};Action 規格情報を記憶する = new Action() {public void doAction() {規格情報を記憶する();}public String toString() {return "規格情報を記憶する";}};Action vCRを注文する = new Action() {public void doAction() {vCRを注文する();}public String toString() {return "vCRを注文する";}};Action 周辺シェアを計算する = new Action() {public void doAction() {周辺シェアを計算する();}public String toString() {return "周辺シェアを計算する";}};

//guard-conditionsGuardCondition 規格情報 = new GuardCondition() {public boolean isMatched(Event e) {return 規格情報(e);}};GuardCondition すべての返答を受け取った場合 = new GuardCondition() {public boolean isMatched(Event e) {return すべての返答を受け取った場合(e);}};GuardCondition vTR = new GuardCondition() {public boolean isMatched(Event e) {return vTR(e);}};GuardCondition 市場シェア情報 = new GuardCondition() {public boolean isMatched(Event e) {return 市場シェア情報(e);}};

//transitionsTransition transitionVTR待ちToTerminalState = factory.createTransition();Transition transition市場シェア情報待ちTo規格情報待ち = factory.createTransition();Transition transition市場シェア情報依頼準備To市場シェア情報待ち = factory.createTransition();Transition transitionInitialStateTo市場シェア情報依頼準備 = factory.createTransition();Transition transition規格情報待ちTo規格情報待ち = factory.createTransition();Transition transition規格情報待ちToVTR待ち = factory.createTransition();

//states setting

//structure of statesthis.setInitialState(initialState);this.addState(市場シェア情報依頼準備);this.addState(市場シェア情報待ち);this.addState(規格情報待ち);this.addState(vTR待ち);this.addTerminalState(terminalState);

//transitions settingtransitionVTR待ちToTerminalState.setEvent(ChannelEvent.class);transitionVTR待ちToTerminalState.setGuardCondition(vTR);transitionVTR待ちToTerminalState.addAction(useBehaviorを起動する);transition市場シェア情報待ちTo規格情報待ち.setEvent(ChannelEvent.class);transition市場シェア情報待ちTo規格情報待ち.setGuardCondition(市場シェア情報);

transition市場シェア情報待ちTo規格情報待ち.addAction(市場シェアを記憶する);transition市場シェア情報待ちTo規格情報待ち.addAction(知人に使用規格を尋ねる);transition市場シェア情報依頼準備To市場シェア情報待ち.addAction(市場シェアを尋ねる);transition規格情報待ちTo規格情報待ち.setEvent(ChannelEvent.class);transition規格情報待ちTo規格情報待ち.setGuardCondition(規格情報);transition規格情報待ちTo規格情報待ち.addAction(規格情報を記憶する);transition規格情報待ちToVTR待ち.setGuardCondition(すべての返答を受け取った場合);transition規格情報待ちToVTR待ち.addAction(周辺シェアを計算する);transition規格情報待ちToVTR待ち.addAction(購買前評価を行う);transition規格情報待ちToVTR待ち.addAction(vCRを注文する);

//connection of transitionstransitionVTR待ちToTerminalState.setSourceState(vTR待ち);transitionVTR待ちToTerminalState.setTargetState(terminalState);transition市場シェア情報待ちTo規格情報待ち.setSourceState(市場シェア情報待ち);transition市場シェア情報待ちTo規格情報待ち.setTargetState(規格情報待ち);transition市場シェア情報依頼準備To市場シェア情報待ち.setSourceState(市場シェア情報依頼準備);transition市場シェア情報依頼準備To市場シェア情報待ち.setTargetState(市場シェア情報待ち);transitionInitialStateTo市場シェア情報依頼準備.setSourceState(initialState);transitionInitialStateTo市場シェア情報依頼準備.setTargetState(市場シェア情報依頼準備);transition規格情報待ちTo規格情報待ち.setSourceState(規格情報待ち);transition規格情報待ちTo規格情報待ち.setTargetState(規格情報待ち);transition規格情報待ちToVTR待ち.setSourceState(規格情報待ち);transition規格情報待ちToVTR待ち.setTargetState(vTR待ち);}

/***知人に使用規格を尋ねる*/protected abstract void 知人に使用規格を尋ねる();/***市場シェアを記憶する*/protected abstract void 市場シェアを記憶する();/***useBehaviorを起動する*/protected abstract void useBehaviorを起動する();/***市場シェアを尋ねる*/protected abstract void 市場シェアを尋ねる();/***購買前評価を行う*/protected abstract void 購買前評価を行う();/***規格情報を記憶する*/protected abstract void 規格情報を記憶する();/***vCRを注文する*/protected abstract void vCRを注文する();/***周辺シェアを計算する*/protected abstract void 周辺シェアを計算する();/***規格情報*/protected abstract boolean 規格情報(Event e);/***すべての返答を受け取った場合*/protected abstract boolean すべての返答を受け取った場合(Event e);/***vTR*/protected abstract boolean vTR(Event e);/***市場シェア情報*/protected abstract boolean 市場シェア情報(Event e);}

Java VMw

BESPBoxed Economy Simulation Platform

コンポーネントとコンポーネントとBoxed Economy Simulation PlatformBoxed Economy Simulation Platform

Model Components Presentation Components

BEFM設計モデル・

フレームワーク

作成したコンポーネントは、Boxed Economy Simulation Platformにプラグインして実行できる。

Page 17: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

17

BESPBoxed Economy Simulation Platform

コンポーネントの共有・コンポーネントの共有・再利用が可能再利用が可能

AgendaAgenda

3 Boxed Economy Foundation Model Boxed Economy Foundation Model ((BEFMBEFM))

4 BEFMBEFMによるモデル記述によるモデル記述例例

2 モデル・フレームワークとはモデル・フレームワークとは

「「Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリングのためのフレームワーク社会・経済のエージェントベースモデリングのためのフレームワーク」」

1 社会・経済の新しいモデル化への取り組み社会・経済の新しいモデル化への取り組み

5 まとめまとめ

Page 18: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

18

家庭用VTRの規格競争モデル

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

発行

家庭用家庭用VTRVTRの規格競争モデルの規格競争モデル

日本における家庭用ビデオテープレコーダー(VTR)の規格競争モデルを取り上げる.

0

25

50

75

100

1975 1980 1985 Year

Shar

e

Beta Format VHS Format

局所的シェア 大域的シェア 選好

方式選択(多項ロジットモデル)

効用関数

Page 19: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

19

家庭用VTRの規格競争モデル

分析フェーズ

概念モデル・フレームワークに基づく概念モデル・フレームワークに基づくAgentAgentととBehaviorBehaviorの洗い出しと定義の洗い出しと定義

Page 20: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

20

BehaviorBehaviorの流れの明確化の流れの明確化

アクティビティ図

(=フローチャート)

<<type>>情報収集してビデオテープレコーダーを購入する

概念モデル・フレームワークに基づく概念モデル・フレームワークに基づくRelationRelationの洗い出しと定義の洗い出しと定義

Page 21: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

21

概念モデル・フレームワークに基づく概念モデル・フレームワークに基づくGoodsGoodsの洗い出しと定義の洗い出しと定義

概念モデル・フレームワークに基づく概念モデル・フレームワークに基づくInformationInformationの洗い出しと定義の洗い出しと定義

Page 22: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

22

BehaviorBehavior間の相互作用の明確化間の相互作用の明確化

エージェント間取引の1シナリオエージェント間取引の1シナリオ

Clock 消費者 消費者 調査会社 販売店

Page 23: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

23

家庭用VTRの規格競争モデル

設計フェーズ

設計モ設計モデル・フレームワークに基づくデル・フレームワークに基づくAgentAgentととBehaviorBehaviorの設計の設計

概念モデル 設計モデル

Page 24: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

24

設計モ設計モデル・フレームワークに基づくデル・フレームワークに基づくGoodsGoodsの設計の設計

概念モデル 設計モデル

設計モ設計モデル・フレームワークに基づくデル・フレームワークに基づくInformationInformationの設計の設計

概念モデル 設計モデル

Page 25: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

25

設計モ設計モデル・フレームワークに基づくデル・フレームワークに基づくRelationRelationの設計の設計

概念モデル 設計モデル

設計モ設計モデル・フレームワークに基づくデル・フレームワークに基づくBehaviorBehaviorの状態遷移の設計の状態遷移の設計

概念モデル(アクティビティ図) 設計モデル(状態遷移図)

Page 26: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

26

SurveyCompanySurveyCompany: : SurveyBehaviorSurveyBehavior

Consumer: Consumer: ReplyFormatBehaviorReplyFormatBehavior

Page 27: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

27

Consumer: Consumer: RecognizeVCRNeedsBehaviorRecognizeVCRNeedsBehavior

DiffusionControlFunction:PermitVCRNeedsBehaviorDiffusionControlFunction:PermitVCRNeedsBehavior

Page 28: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

28

Consumer: Consumer: PurchaseVCRBehaviorPurchaseVCRBehavior

SurveyCompanySurveyCompany: : SurveyBehaviorSurveyBehavior

Consumer:Consumer:ReplyFormatBehaviorReplyFormatBehavior

Shop: Shop: SellVCRBehaviorSellVCRBehavior

Page 29: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

29

Consumer: Consumer: UseVCRBehaviorUseVCRBehavior

BehaviorBehaviorの動的な生成と消滅の動的な生成と消滅

DEMO!

Page 30: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

30

消費者間の局所的な相互作用がある場合消費者間の相互作用が全くない場合

シミュレーション結果シミュレーション結果参考 井庭, 竹中, 武藤(2001)

局所的シェア 大域的シェア 選好

方式選択(多項ロジットモデル)

効用関数

シミュレーション結果シミュレーション結果参考 井庭, 竹中, 武藤(2001)

井庭崇, 竹中平蔵, 武藤佳恭, 「人工市場アプローチによる家庭用VTRの規格競争シミュレーション」, 情報処理学会「数理モデル化と応用」論文誌, Vol.42, No.SIG14 (TOM5), 2001年12月発行

Page 31: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

31

人工証券市場モデル①

BehaviorTypeBehaviorType別に意思決定戦略を設定別に意思決定戦略を設定

板寄せ約定方式による市場

DEMO!

Page 32: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

32

人工証券市場モデル②

人工証券市場モデル人工証券市場モデル②②ののAgentAgentととBehaviorBehavior

ザラバ約定方式による市場

Lux (1995)および Chen/Lux/Marchesi (2001)を拡張し、

制限値幅制度がもたらす効果を分析

山田悠, 井庭崇: 「制限値幅が市場効率性に与える影響の分析: 人工市場アプローチによる分析」, Poster Session, 第7回進化経済学会 (2003)

Page 33: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

33

BehaviorBehaviorによる意思決定による意思決定BehaviorBehaviorの取り替えの取り替え

各エージェントが、自分の採用するOrderBehaviorの種類(性格)を,市場の動向に合わせて変更する。

Sugarscapeモデル

Page 34: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

34

動的に変化する「環境」を動的に変化する「環境」をAgentAgentとして表現として表現

砂糖の山などの環境を制御する部分をEnvironmentエージェントとする.

DEMO!

投票選挙モデル

Page 35: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

35

経済以外の領域の社会モデルにも適用可能経済以外の領域の社会モデルにも適用可能

田中(2003)の選挙投票シミュレーションでは、演説やテレ

ビ、会話、インターネットなどの選挙に関する情報別に、有権者同士の相互作用の影響を分析するために,有権者の投票行動のプロセスを,BEFMでモデル化している。

・田中潤一郎: 「エージェントベースシミュ

レーションによる個人行動の相互作用の研究: 選挙運動のWEB解禁に伴う有権者の投票行動を事例に」, 慶應義塾大学政策・メディア研究科修士論文 (2003)・田中潤一郎, 井庭崇: 「個人間コミュニケーションが選択行動に及ぼす影響分析: 選挙における有権者の情報交換と候補者選択を事例に」, Poster Session, 第7回進化経済学会 (2003)

AgendaAgenda

3 Boxed Economy Foundation Model Boxed Economy Foundation Model ((BEFMBEFM))

4 BEFMBEFMによるモデル記述例によるモデル記述例

2 モデル・フレームワークとはモデル・フレームワークとは

「「Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリングのためのフレームワーク社会・経済のエージェントベースモデリングのためのフレームワーク」」

1 社会・経済の新しいモデル化への取り組み社会・経済の新しいモデル化への取り組み

5 まとめまとめ

Page 36: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

36

本発表の提案本発表の提案

本発表では、

エージェントベースアプローチによって

社会・経済モデルを記述するための

モデル・フレームワーク(メタモデル)を提案した。

Boxed EconomyFoundation Model

本発表の提案と先行研究との比較本発表の提案と先行研究との比較

社会システム論[公文 1978, 1994]

UML(統一モデリング言語)

によるビジネスモデリング[ErikssonPenker 2000]

[Marshall 1999]

エージェントベースシミュレーションのためのツール

(Swarm, MAML, RePast, Ascape, KK-MAS)

エージェントのフレームワーク

[Bruun 2002]

超領域的な社会科学への試論

[西部 1989]

複雑系科学[金子・池上 1998]

[井庭 1998]

進化経済学[塩沢 2000][江頭 2002]

記述だけでなく操作も可能に

動的に変化するモデル

の記述・操作 本発表の提案

プログラミング支援だけでなくモデリング支援も

より柔軟で汎用的なモデル記述

Page 37: 社会・経済のエージェントベースモデリング のため …...2 井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」,

37

本発表の評価軸と提案・考察本発表の評価軸と提案・考察

自ら評価軸を以下のように設定し、考察を行った。

①現在記述が難しく、かつ必要であるモデル記述の要件を述べ、それらが、提案モデルフレームワークで記述可能であることを示した。

②提案モデルフレームワークに基づいて作成したモデルを例示した。

Boxed Economy Foundation Model:Boxed Economy Foundation Model:社会・経済のエージェントベースモデリング社会・経済のエージェントベースモデリングのためのフレームワークのためのフレームワーク

井庭 崇千葉商科大学政策情報学部, フジタ未来経営研究所

慶應義塾大学政策・メディア研究科後期博士課程

中鉢 欣秀慶應義塾大学 SFC研究所

松澤 芳昭慶應義塾大学 SFC研究所

海保 研慶應義塾大学 SFC研究所

武藤 佳恭慶應義塾大学 環境情報学部

http://www.boxed-economy.org/

情報処理学会 数理モデル化と問題解決研究会(MPS43)