• 検索結果がありません。

Microsoft PowerPoint - box-or2002.ppt

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - box-or2002.ppt"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

経済社会のモデルフレームワークと

経済社会のモデルフレームワークと

シミュレーションプラットフォームの

シミュレーションプラットフォームの

構築

構築

Boxed Economy Project のアプローチ

井庭 崇

[email protected]

千葉商科大学政策情報学部 専任教員(助手)

フジタ未来経営研究所リサーチフェロー

慶應義塾大学政策・メディア研究科

Agenda

Agenda

2

動的で複雑なモデルを作成するための方法と戦略

動的で複雑なモデルを作成するための方法と戦略

3

シミュレーションの

シミュレーションの

作成と共有のための仕組み

作成と共有のための仕組み

1

出発点

出発点

4

Boxed Economy Project

Boxed Economy Project

の取り組み

の取り組み

「経済社会のモデルフレームワークと

経済社会のモデルフレームワークと

シミュレーションプラットフォームの構築

シミュレーションプラットフォームの構築」

(2)

The Gap

The Gap

コンピュータ

サイエンス

コンピュータ

シミュレーション

マルチ

エージェント

システム

エージェントベースによる社会・経済のモデリングとシミュレー

ションは、二つの側面をもっている。

エージェントベース

による社会・経済の

モデリングと

シミュレーション

モデリングと分析の

新しい方法

具体的な

応用分野

社会科学

相互作用

による社会

意思決定・

学習

これら二つの分野からのアプローチの融合が求められるが、

現状としては十分とはいえない。

The Gap

The Gap

コンピュータ

サイエンス

コンピュータ

シミュレーション

マルチ

エージェント

システム

エージェントベース

による社会・経済の

モデリングと

シミュレーション

モデリングと分析の

新しい方法

具体的な

応用分野

社会科学

相互作用

による社会

意思決定・

学習

エージェントベースアプローチによって社会・経済を記

述するための基本語句

(primitive terms)とフレームワーク

の整備が必要。

(3)

The Gap

The Gap

コンピュータ

サイエンス

コンピュータ

シミュレーション

マルチ

エージェント

システム

エージェントベース

による社会・経済の

モデリングと

シミュレーション

モデリングと分析の

新しい方法

具体的な

応用分野

社会科学

相互作用

による社会

意思決定・

学習

動的で複雑なモデルとシミュレーションを、効率的に

設計・実装・保守できる仕組みが必要。

The Gap

The Gap

コンピュータ

サイエンス

コンピュータ

シミュレーション

マルチ

エージェント

システム

エージェントベース

による社会・経済の

モデリングと

シミュレーション

モデリングと分析の

新しい方法

具体的な

応用分野

社会科学

相互作用

による社会

意思決定・

学習

モデルフレームワーク

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

(4)

Agenda

Agenda

2

3

シミュレーションの作成と共有のための仕組み

シミュレーションの作成と共有のための仕組み

1

4

Boxed Economy Project

Boxed Economy Project

の取り組み

の取り組み

動的で複雑なモデルを作成するための方法と戦略

動的で複雑なモデルを作成するための方法と戦略

出発点

出発点

「経済社会のモデルフレームワークと

経済社会のモデルフレームワークと

シミュレーションプラットフォームの構築

シミュレーションプラットフォームの構築」

何を表現したいのか?

何を表現したいのか?

どう記述するのか?

どう記述するのか?

モデルは、体系化された何らかの言語を用いて記述される。

モデルで表現したいものの特徴によって、適切な記述方法

は変わってくる。

モデルの記述や蓄積を考えると、そのドメインに合った語彙

や体系を整備する必要がある。

(5)

何を表現したいのか?

何を表現したいのか?

社会における制度・組織・知識・技術の生成

と進化を内生的に表現したい。

経済学のコンテクストでは「複雑系経済学」

や「進化経済学」といわれるカテゴリー。

そのようなモデルのためには、以下の4点が

組み込まれることが重要。

① 社会が、異質性と多様性のある主体から構成

されているということ。

② 主体が原子論的な意味でのアトムではなく内

部状態をもっているということ。

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

るということ。

④ 主体間の関係やその意味が動的に変化する

ということ。

内部状態

=

どう記述するか?

どう記述するか?

前述の4点を実現するためには、適用する記述方法が次の

3つの要件を満たす必要がある。

モデルの構成要素それぞれが多様に状態を保持できること。

構成要素間の関係といった「構造的な側面」と、時間とともに変化す

るという「振舞い的な側面」をともに扱えること。

モデルの中で知識や情報を扱うための記号処理ができること。

モデル化の容易さや可読性の観点から、人間の経験的感覚との対

応が取りやすいこと。

モデルの操作が容易であり効率的であること。

ここでは、計算的モデル、その中でも特にオブジェクト指向パラダイムに注目。

(6)

どう記述するか?

どう記述するか?

オブジェクト指向

オブジェクト指向

オブジェクト指向では、世界を構成するもの(

thing)のひとつ

ひとつを「オブジェクト」という基本単位で捉え、その状態変

化や関係変化によって現象を表現する。

それぞれ振舞い(機能)をもち自分の状態を保持しているオ

ブジェクトがたくさん存在し、それらが相互作用しているとい

う点が、オブジェクト指向のポイント。

複雑性に対処するメカニズムによって、効率的記述も可能

「クラス」による体系化や一括記述

汎化や集約といったクラス間関係の記述

オブジェクト指向の記法は、近年、

UML(Unified Modeling

Language: 統一モデリング言語)として標準化されている。

プログラミング言語に置き換えて、コンピュータ・シミュレー

ションを行うことができる。

フレームワークの戦略的導入

フレームワークの戦略的導入

現実世界を分析・体系化する際に、毎回白紙の状態から

行うのは大変な作業となる。

このような問題への戦略的なアプローチとしては、

科学的研究では、概念や用語、理論などを定義し、共有する。

ソフトウェア工学では、ドメインに特化したフレームワークを定義し、

共有するということが行われている。

「モデルフレームワーク」

(7)

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

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

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

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

モデル作成者間のコミュニケーションのためのコード

モデルフレームワークの役割(ソフトウェアの側面)

モデルフレームワークの役割(ソフトウェアの側面)

モデルフレームワークに基づいたアーキテクチャのソフトウェ

アを作成することもできる。

(8)

私たちの提案するモデルフレームワーク

私たちの提案するモデルフレームワーク:

:

Boxed Economy

Boxed Economy

基礎モデル

基礎モデル

現実の経済社会のもつ構造をオブジェクト指向分析によって抽象化し作

成したモデルフレームワーク

エージェントベースによる社会・経済のモデルのための基本デザインを提

供する

Boxed Economy 基礎モデルの中

心的なクラス図

Boxed Economy

Boxed Economy

基礎モデルにおける

基礎モデルにおける

Behavior

Behavior

外界のイベント(オブジェクトに影響を及ぼすさまざまな出来事)が発

生すると、現在の自分の状態に応じてエージェントの振舞いが決まる。

このような動的な振る舞いを実現するために、基礎モデルではエー

ジェントの持つ

Behaviorを状態機械(state machine)として定義して

いる。状態機械とは、何らかのトリガーとなるイベントを受け取って状

態を遷移させながら動くシステムである。

Agentは複数のBehavior

を並列的に実行することが

できる。基礎モデルでは、

この行動別の内部状態を

それぞれの行動にもたせ

ることで、エージェント内部

における行動の多様な組

み合わせを実現すること

ができる。

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

状態

遷移

イベント

(トリガー)

アクション

(9)

Agenda

Agenda

2

3

1

4

Boxed Economy Project

Boxed Economy Project

の取り組み

の取り組み

動的で複雑なモデルを作成するための方法と戦略

動的で複雑なモデルを作成するための方法と戦略

出発点

出発点

シミュレーションの作成と共有のための仕組み

シミュレーションの作成と共有のための仕組み

「経済社会のモデルフレームワークと

経済社会のモデルフレームワークと

シミュレーションプラットフォームの構築

シミュレーションプラットフォームの構築」

シミュレーションによるモデル操作の利点と課題

シミュレーションによるモデル操作の利点と課題

これまで見てきたような動的で複雑なモデルは、解析的に解く

ことが困難なため、コンピュータ・シミュレーションによってモデ

ルの特徴を理解するという方法がとられることが多い。

モデルを初期設定から時間的に展開させることで,そのモデ

ルがもつ特徴についての経験的な知見を得ることができる。

ところが、シミュレーションによる研究方法には特有の問題が

存在する。

コンピュータ・シミュレーションが一種のコンピュータ・プログラ

ムであるため、モデルだけでなくプログラムについても注意を

払う必要があるということである。

(10)

シミュレーションによるモデル操作の前提

シミュレーションによるモデル操作の前提

社会モデル

コンピューター上のモデル

(プログラム)

プログラミ

ングによっ

て変換

シミュレーションをコンピューター上で行うためには社会モデ

ルをプログラムに変換しなければならない。

シミュレーションの作成における「ソフトウェア危機」!?

動的で複雑なモデルを、いかに迅速に低コストで作れるか?

参考:

参考:

先行研究におけるエージェントと行動の種類

先行研究におけるエージェントと行動の種類

井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」, 『オペレー

(11)

井庭崇, 「エージェントベース経済シミュレーションのためのエージェント設計論」, 『オペレー

ションズ・リサーチ:経営の科学』, 日本オペレーションズ・リサーチ学会, 10月号, 2001年10月

シミュレーション研究のプロセス

シミュレーション研究のプロセス

対象の観察

対象の観察

特徴の抽出

特徴の抽出

モデルの構築

モデルの構築

シミュレーションの実装

シミュレーションの実装

シミュレーションの実行

シミュレーションの実行

シミュレーション結果の分析・評価

シミュレーション結果の分析・評価

現実とシミュレーションの振舞いの比較

現実とシミュレーションの振舞いの比較

シミュレーションの実装(プログラミング)

シミュレーションの実装(プログラミング)

シミュレーションの設定

シミュレーションの設定

社会科学にとって

の参入障壁

(12)

社会科学におけるシミュレーション利用促進の鍵

社会科学におけるシミュレーション利用促進の鍵

プログラミングの支援

プログラム部品の再利用のための仕組み

研究プロセスを一貫して支援する統合環境

私たちの提案するシミュレーション環境:

私たちの提案するシミュレーション環境:

Boxed Economy Simulation Platform (BESP)

Boxed Economy Simulation Platform (BESP)

エージェントベース経済社会モデルのシミュレーション

を、作成・実行・分析するためのプラットフォーム

プログラミングを軽減する仕組みの提供

プログラム部品を再利用するための仕組みの提供

研究プロセスを支援する統合環境の提供

(13)

Java VM

BESP

Boxed Economy Simulation Platform

Boxed Economy

基礎モデル

Boxed Economy Simulation Platform

Boxed Economy Simulation Platform

の基本構造

の基本構造

Box Operating System (BOS)

Model Container

Model Components

Presentation Container

Presentation Components

BESPでは、コンポーネントとフレームワークの考え方に基づく設計

がなされている。シミュレーションのモデルや実行環境をコンポーネ

ントとして分割して定義するため、それらを組み替えることによって

ユーザー独自のシミュレーションを柔軟かつ容易に構築できる。

プログラミングを軽減する仕組み

プログラミングを軽減する仕組み

BESP モデルコンポーネントビルダー

package SampleMarket;import org.boxed_economy.foundationmodel.*; import org.boxed_economy.foundationmodel.behavior.*; import org.boxed_economy.besp.foundationmodelframework.*; import org.boxed_economy.besp.foundationmodelframework.behavior.*; /** * OrderBehavior */

public class OrderBehaviorB extends AbstractBehavior { // decide order

Action action_id_13 = new anon(); public Action getAction_id_13(){

return action_id_13; } public void start() {

// Setting the state machine

BehaviorState state_id_6 = new DefaultBehaviorState(this, ""); currectState = state_id_6; // This sets pseudo-initial state

BehaviorState state_id_8 = new DefaultBehaviorState(this, "waiting market opening"); BehaviorState state_id_11 = new DefaultBehaviorState(this, "order determined"); Transition trans_id_7 = new Transition();

((DefaultBehaviorState)state_id_6).addTransition( trans_id_7); trans_id_7.setTransitionTo(state_id_8);

Transition trans_id_9 = new Transition(); // receivedEvent

trans_id_9.setAcceptEvent(AutoTransitionEvent.class); Transition trans_id_10 = new Transition(); }

public void exit() { }

class anon extends Action{ /**

* decide order */

public void doAction(Event event){ // Write the code for custom action here. } }

モデルコンポーネントビルダーは、シミュレー

ションにおけるエージェントの行動を記述し実装

するための支援ツールである。ユーザがGUIに

よってこの行動モデルコンポーネントの「ステー

トチャート図」を記述することで、モデルコンポー

ネントのJavaコードが出力される。これにより、

シミュレーションの作成者が書かなければなら

ないソースコードの量を減らすことができる。

この部分はモデルコンポー

ネントビルダーが生成する。

この部分に必要なカスタム

のプログラムを書く。

(14)

プログラミングを軽減する仕組み

プログラミングを軽減する仕組み

モデルコンポーザーは、GUIを用いてモ

デルコンポーネントを組み合わせること

によってシミュレートしたいモデルを構

成・設定するためのプレゼンテーションコ

ンポーネントである。プログラミングを

まったく行わずに、視覚的にモデルを作

成・設定することができる

BESP モデルコンポーザー

BESP

Boxed Economy Simulation Platform

プログラム部品の再利用のための仕組み

プログラム部品の再利用のための仕組み

Boxed Economy 基礎モデルに基

づいて作成されたモデル部品は粒

度やモデル化の基準が等しいた

め、研究者間のモデル部品の共

有や再利用が可能となる.

.

(15)

研究プロセスを支援する統合環境

研究プロセスを支援する統合環境

「制御パネル」

「空間表示ウィンドウ」

「時刻表示ウィンドウ」

「データ登録ウィンドウ」、

「グラフ表示ウィンドウ」

「モデルコンポーザー」

「モデルコンポーネントビルダー」

など

Agenda

Agenda

2

3

1

4

Boxed Economy Project

Boxed Economy Project

の取り組み

の取り組み

動的で複雑なモデルを作成するための方法と戦略

動的で複雑なモデルを作成するための方法と戦略

出発点

出発点

シミュレーションの作成と共有のための仕組み

シミュレーションの作成と共有のための仕組み

「経済社会のモデルフレームワークと

経済社会のモデルフレームワークと

シミュレーションプラットフォームの構築

シミュレーションプラットフォームの構築」

(16)

Boxed Economy Project

Boxed Economy Project

慶應義塾大学

政策・メディア研究科

総合政策学部

環境情報学部

SFC研究所

井庭崇

中鉢欣秀

海保研

松澤芳昭

千葉商科大学

政策情報学部

フジタ未来経営研究所

合資会社ニューメリック

上橋賢一

山田悠

津屋隆之介

田中潤一郎

高部陽平

北野里美

廣兼賢治

浅加浩太郎

永見世央

森久保晴美

青山希

水鳥敬満

Boxed Economy Project

Boxed Economy Project

への準備・立ち上げ

への準備・立ち上げ

Apr.2000

- Aug.2000

Apr.2000

- Aug.2000

Apr.1999

- Mar.2000

Apr.1999

- Mar.2000

Sep. 1997

- Mar.1999

Sep. 1997

- Mar.1999

『複雑系入門』(NTT出版)の出版

市場シミュレーション研究

(井庭崇, 修士論文)

•家庭用VTRにおける規格競

争とWinner-Take-All現象

•株式市場におけるバブルの

生成と崩壊

『複雑系入門』(NTT出版)の出版

市場シミュレーション研究

(井庭崇, 修士論文)

•家庭用VTRにおける規格競

争とWinner-Take-All現象

•株式市場におけるバブルの

生成と崩壊

社会シミュレーションの部品の共

有化を目指した「

In-The-Boxプロ

ジェクト」を立ち上げる。

経済全体を組み込んだアドホック

なシミュレーションモデルを作成。

その結果、経済全体はあま

りにも複雑なので、ゼロから

作成することは困難であるこ

とを実感。

コンポーネントとフレーム

ワークの重要性を認識。

社会シミュレーションの部品の共

有化を目指した「

In-The-Boxプロ

ジェクト」を立ち上げる。

経済全体を組み込んだアドホック

なシミュレーションモデルを作成。

その結果、経済全体はあま

りにも複雑なので、ゼロから

作成することは困難であるこ

とを実感。

コンポーネントとフレーム

ワークの重要性を認識。

「Boxed Economy Project」という

新しい名称のもとで再スタート

Boxed Economy 基礎モデルの

初期バージョンの開発

オブジェクト指向による分

析と設計

UML (Unified Modeling

Language: 統一モデリング

言語)の導入

「Boxed Economy Project」という

新しい名称のもとで再スタート

Boxed Economy 基礎モデルの

初期バージョンの開発

オブジェクト指向による分

析と設計

UML (Unified Modeling

Language: 統一モデリング

言語)の導入

(17)

Boxed Economy Project

Boxed Economy Project

による研究開発

による研究開発

Aug.2001

- Dec.2001

Aug.2001

- Dec.2001

Jan.2001

- Jun.2001

Jan.2001

- Jun.2001

Sep. 2000

- Dec.2000

Sep. 2000

- Dec.2000

Boxed Economy 基礎モデルの

初期バージョンの整理・体系化

Boxed Economy Simulation

Platformのプロトタイピング

Java Beansによる実装

Boxed Economy 基礎モ

デルの初期バージョン改良

版の実装

Boxed Economy 基礎モデルの

初期バージョンの整理・体系化

Boxed Economy Simulation

Platformのプロトタイピング

Java Beansによる実装

Boxed Economy 基礎モ

デルの初期バージョン改良

版の実装

Boxed Economy Simulation

Platformの初期バージョンの開発

デザインパターンの適用

ラショナル統一プロセス

(RUP)の一部導入

ユースケース駆動

• エクストリーム・プログラミン

グ(XP)の一部導入

• ペア・プログラミング

• ユニットテスト

Boxed Economy Simulation

Platformの初期バージョンの開発

デザインパターンの適用

ラショナル統一プロセス

(RUP)の一部導入

ユースケース駆動

• エクストリーム・プログラミン

グ(XP)の一部導入

• ペア・プログラミング

• ユニットテスト

Boxed Economy Simulation

Platformの初期バージョンのリファ

クタリング。

Boxed Economy Simulation

Platform バージョン1.0βの開発

モデルコンポーザー

モデルコンポーネントビル

ダー

いくつかのプレゼンテーショ

ンコンポーネント

デザインパターン、RUP、

XPの導入

Boxed Economy Simulation

Platformの初期バージョンのリファ

クタリング。

Boxed Economy Simulation

Platform バージョン1.0βの開発

モデルコンポーザー

モデルコンポーネントビル

ダー

いくつかのプレゼンテーショ

ンコンポーネント

デザインパターン、RUP、

XPの導入

「経済社会のモデルフレームワークと

「経済社会のモデルフレームワークと

シミュレーションプラットフォームの構築」

シミュレーションプラットフォームの構築」

2

動的で複雑なモデルを作成するための方法と戦略

動的で複雑なモデルを作成するための方法と戦略

3

シミュレーションの

シミュレーションの

作成と共有のための仕組み

作成と共有のための仕組み

1

出発点

出発点

4

Boxed Economy Project

Boxed Economy Project

の取り組み

の取り組み

エージェントベースによる社会・経済のモデリングとシミュレーションには、「社会科学」

の側面と「コンピュータサイエンス」の側面があり、その間にはまだギャップがある。

モデルは言語を用いて記述されるが、表現したいものの特徴によって、適切な記述

方法は変わってくる。そのドメインに合った語彙や体系を整備する必要がある。ここ

では、オブジェクト指向による計算的モデルのモデルフレームワークとして、「Boxed

Economy 基礎モデル」を紹介した。

シミュレーションによる研究では、プログラムの作成が不可避であるため、「プログラミ

ングの支援」や「プログラム部品の再利用のための仕組み」、「研究プロセスを一貫し

て支援する統合環境」の提供などが求められる。この問題を解決するシミュレーション

環境として、Boxed Economy Simulation Platform (BESP)を紹介した。

Summary

参照

関連したドキュメント

First three eigenfaces : 3 個で 90 %ぐらいの 累積寄与率になる.

 On the Approximability of Budgeted Allocations and Improved Lower Bounds for Submodular Welfare Maximization and GAP, by. Deeparnab Chakrabarty,

In the present paper, we discuss an obstruction theory to modify equivariant framed maps on even-dimensional compact smooth manifolds to homology equiva- lences by equivariant

READ UNCOMMITTED 発生する 発生する 発生する 発生する 指定してもREAD COMMITEDで動作 READ COMMITTED 発生しない 発生する 発生する 発生する デフォルト.

図 キハダマグロのサプライ・チェーン:東インドネシアの漁村からアメリカ市場へ (資料)筆者調査にもとづき作成 The Yellowfin Tuna Supply Chain: From Fishing Villages in

・大都市に近接する立地特性から、高い県外就業者の割合。(県内2 県内2 県内2/ 県内2 / / /3、県外 3、県外 3、県外 3、県外1/3 1/3

口腔の持つ,種々の働き ( 機能)が障害された場 合,これらの働きがより健全に機能するよう手当

※立入検査等はなし 自治事務 販売業