『企業と市場のシミュレーション』 井庭 崇 第6回:シミュレーション作成演習①

Slides:



Advertisements
Similar presentations
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
Advertisements

『モデリング・シミュレーション入門』 井庭 崇 第5回 オートマトン(状態機械)
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
第7回 プレゼンテーション資料の作成 PowerPoint の使い方の簡単な説明
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
Chapter5 ステートチャート図 FM 于 聡.
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
エンタープライズアプリケーション II 第10回 / 2006年7月23日
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
Microsoft Office 2010 クイックガイド ~Access編~
卒業論文のタイトルをここに (発表時間は5分です。 PPTスライドは10枚程度にまとめる事)
Boxed Economy Foundation Model: 社会・経済のエージェントベースモデリング のためのフレームワーク
『コラボレーション技法』 井庭 崇 第3回 創造的思考②:収束思考 慶應義塾大学総合政策学部 専任講師
心理学情報処理法Ⅰ やってみよう:Excelを使ってみよう.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
『企業と市場のシミュレーション』 井庭 崇 第4回: シミュレーション作成プロセスとUML
情報科学1(G1) 2016年度.
エージェントベース経済シミュレーション におけるフレームワークデザイン
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
CSP記述によるモデル設計と ツールによる検証
『企業と市場のシミュレーション』 井庭 崇 第12回: 貨幣の自生と自壊モデル
C#とC++とオブジェクト指向 上甲 健史.
『企業と市場のシミュレーション』 井庭 崇 第11回: 繰り返し囚人のジレンマモデル
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
情報 第2回:状態遷移 その2.
マイクロソフト Access を使ってみよう 第1回
『モデリング・シミュレーション入門』 井庭 崇 第6回 オブジェクト指向モデリング
マイクロソフト Access を使ってみよう 第4回
『企業と市場のシミュレーション』 井庭 崇 第13回: 企業競争の進化的シミュレーションモデル
基礎プログラミング演習 第1回.
経営工学基礎演習a PowerPointの利用.
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
ネットワークプログラミング論 平成28年11月21日 森田 彦.
『モデリング・シミュレーション入門』 井庭 崇 第1回 イントロダクション
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
その他の図 Chapter 7.
すぐできるBOOK -プロジェクト編-.
『モデリング・シミュレーション入門』 井庭 崇 第9回 自律分散協調システムと自己組織化のシミュレーション
『モデリング・シミュレーション入門』 井庭 崇 第3回 数理モデリング
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
情報基礎演習I(プログラミング) 第10回 6月29日 水曜5限 江草由佳
『企業と市場のシミュレーション』 井庭 崇 第9回: 成長するネットワークモデル
社会シミュレーションのための モデル作成環境
東京大学人間環境学専攻 奥田・橋本研究室 修士1年 相良 光志
コンピュータ プレゼンテーション.
『モデリング・シミュレーション入門』 井庭 崇 第13回 遺伝的アルゴリズムによる進化のシミュレーション +総括
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
『モデリング・シミュレーション入門』 井庭 崇 第8回 シミュレーションによる分析
ステートチャート図 前半 FM13003 怡土 宗太.
Visual Studio 2005の使用方法 新入生セミナー 
『企業と市場のシミュレーション』 井庭 崇 第1回 イントロダクション
情報 第1回:状態遷移 その1.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
『コラボレーション技法』 最終回 魅力的な場としてのSFCをつくる ※今日の配布資料1枚 (最終レポートと宿題について) 井庭 崇
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
モデル検査(5) CTLモデル検査アルゴリズム
第1章 いよいよプログラミング!! ~文章の表示 printf~
高度情報演習1A スクリーンセーバ作成 2016年4月13日 情報工学科 篠埜 功.
All Rights Reserved, Copyright © 2004, Kobayashi
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
開発作業の形式化に基づく プロセス評価 松下誠 大阪大学.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
基礎プログラミング Eclipse のインストール
『企業と市場のシミュレーション』 井庭 崇 第7回:シミュレーション作成演習② 第8回:シミュレーション作成演習③
第2回 情報科学技術フォーラム Forum on Information Technology (FIT2003)
Presentation transcript:

『企業と市場のシミュレーション』 井庭 崇 第6回:シミュレーション作成演習① Keio University SFC 2004 『企業と市場のシミュレーション』 第6回:シミュレーション作成演習① いば  たかし 井庭 崇 慶應義塾大学総合政策学部 専任講師 iba@sfc.keio.ac.jp http://www.sfc.keio.ac.jp/~iba/lecture/

シミュレーション作成プロセス 概念モデリング フェーズ シミュレーションデザイン フェーズ 実行・検証 フェーズ どのような問題領域のシミュレーションを行うのかを明らかにするフェーズ シミュレーションデザイン フェーズ 作成された概念モデルをもとに、コンピュータ上で実行できるシミュレーションを作成するフェーズ 実行・検証 フェーズ 作成したシミュレーションモデルを、BESPを使って実行するフェーズです。また、意図した通りに動作するかを検証します。

モデルフレームワークの戦略的導入 現実世界を分析・体系化する際に、毎回白紙の状態から行うのは大変な作業となる。 復習 モデルフレームワークの戦略的導入 現実世界を分析・体系化する際に、毎回白紙の状態から行うのは大変な作業となる。 このような問題への戦略的なアプローチとしては、 科学的研究では、概念や用語、理論などを定義し、共有する。 ソフトウェア工学では、ドメインに特化したフレームワークを定義し、共有するということが行われている。 「モデル・フレームワーク」

復習 Boxed Economy 基礎モデル マルチエージェントによる社会・経済モデルのための基本デザインを提供する。

Component Builder (CB) 復習 Component Builder (CB) Component Builderは、4つのデザイナーと、1つのコンポーザーで構成されている。 Activity Designer Communication Designer Model Designer Behavior Designer World Composer Component Builderは、オープンソースの統合開発環境 eclipseのプラグインとして開発されている。

概念モデリング フェーズ シミュレーション デザイン フェーズ 実行・検証 フェーズ Model Designer Activity Designer Communication Designer 概念モデリング フェーズ 対象領域から概念 を抽出・記述する Agentの活動 を記述する Agent間のやりとり を記述する Model Designer Behavior Designer World Composer シミュレーション デザイン フェーズ Typeを定義する Behaviorの 状態遷移を設計する シミュレーションの 世界設定を行う Boxed Economy Simulation Platform 実行・検証 フェーズ シミュレーション を実行・検証する

まずは、先週の残りから

企業と市場のシミュレーション(第5回)の続き 1 モデル・フレームワーク 2 概念モデリングとComponent Builder 3 シミュレーションデザインとComponent Builder

概念モデリング フェーズ シミュレーション デザイン フェーズ 実行・検証 フェーズ Model Designer Activity Designer Communication Designer 概念モデリング フェーズ 対象領域から概念 を抽出・記述する Agentの活動 を記述する Agent間のやりとり を記述する Typeを定義する シミュレーション デザイン フェーズ 実行・検証 フェーズ Behaviorの 状態遷移を設計する シミュレーションの 世界設定を行う Behavior Designer World Composer Model Boxed Economy Simulation Platform を実行・検証する

概念モデリング フェーズ シミュレーション デザイン フェーズ 実行・検証 フェーズ Model Designer Activity Designer Communication Designer 概念モデリング フェーズ 対象領域から概念 を抽出・記述する Agentの活動 を記述する Agent間のやりとり を記述する Typeを定義する シミュレーション デザイン フェーズ 実行・検証 フェーズ Behaviorの 状態遷移を設計する シミュレーションの 世界設定を行う Behavior Designer World Composer Model Boxed Economy Simulation Platform を実行・検証する

クラス図は、モデルの静的・構造的な側面を表現するための図。 クラス名 クラス名 クラス(概略版) クラス間の関連 クラス名 属性 振舞い クラス(詳細版) クラス名

概念モデリング フェーズ シミュレーション デザイン フェーズ 実行・検証 フェーズ Model Designer Activity Designer Communication Designer 概念モデリング フェーズ 対象領域から概念 を抽出・記述する Agentの活動 を記述する Agent間のやりとり を記述する Typeを定義する シミュレーション デザイン フェーズ 実行・検証 フェーズ Behaviorの 状態遷移を設計する シミュレーションの 世界設定を行う Behavior Designer World Composer Model Boxed Economy Simulation Platform を実行・検証する

状態機械(オートマトン)としてのBehavior 状態機械とは、トリガーとなるイベント(影響を及ぼすさまざまな出来事)を受け取ると、現在の状態に応じたアクション(動作)を行い、次の状態へ遷移するというシステムです。 内部状態 A B TimeEvent システム 内部状態 A システム 内部状態 B

状態機械(オートマトン)としてのBehavior 状態機械のすべての状態の見取り図は、状態遷移図(ステートチャート図)を用いて表現することができます。 Behaviorの状態遷移を引き起こすイベントには、時間が経過したことを表す「TimeEvent」と「ChannelEvent」があります。 つまり、エージェントのBehaviorは、時間が経過した場合か、他のエージェントから何らかの働きかけがあった場合に活性化することになるわけです。

ステートチャート図 ステートチャート図は、システムやオブジェクトの状態の変化(状態遷移)を記述するための図。 外界のイベント(オブジェクトに影響を及ぼすさまざまな出来事)が発生すると、オブジェクトの状態が変わる。 状態 遷移 イベント (トリガー) アクション

TimeEvent 基礎モデルで表現されたモデルでは現実世界と同じように時刻の経過によってモデルの状態が変わり、シミュレーションが実行されていきます。 基礎モデルではこの時刻の経過を「TimeEvent」がAgentに配信されることによって表現します。 一定時間ごとにTimeEventがモデルに存在するAgentに配信されます。そして、Agentは自分のBehaviorにこのTimeEventを転送しそれによってBehaviorが稼動することが、時刻が経過することによってAgentが行動することを表現しています。

ChannelEvent 実際のコミュニケーションの際には、このRelationに基づいて開設されるコミュニケーション・パスである「Channel」を通じて、商品や会話、貨幣などのGoodsとInformationのやりとりを行います。 Channelを通じてGoodsやInformationが送られてくると、「ChannelEvent」が発生します。

概念モデリング フェーズ シミュレーション デザイン フェーズ 実行・検証 フェーズ Model Designer Activity Designer Communication Designer 概念モデリング フェーズ 対象領域から概念 を抽出・記述する Agentの活動 を記述する Agent間のやりとり を記述する Typeを定義する シミュレーション デザイン フェーズ 実行・検証 フェーズ Behaviorの 状態遷移を設計する シミュレーションの 世界設定を行う Behavior Designer World Composer Model Boxed Economy Simulation Platform を実行・検証する

『企業と市場のシミュレーション』 井庭 崇 第6回:シミュレーション作成演習① Keio University SFC 2004 『企業と市場のシミュレーション』 第6回:シミュレーション作成演習① いば  たかし 井庭 崇 慶應義塾大学総合政策学部 専任講師 iba@sfc.keio.ac.jp http://www.sfc.keio.ac.jp/~iba/lecture/

今日の目標 モデル・フレームワーク(基礎モデル)を理解する Component Builder の使い方に慣れる → モデリングのために理解が不可欠です Component Builder の使い方に慣れる → 来週の作成演習で使うツールです

1 2 3 企業と市場のシミュレーション(第5回) 概念モデリングとComponent Builder モデル・フレームワーク

1 2 3 企業と市場のシミュレーション(第5回) 概念モデリングとComponent Builder モデル・フレームワーク

シミュレーションをつくってみよう 第III部(基本編) p.39 第IV部(拡張編) 第V部(お楽しみ編) 第5章 BoxTownのパン屋さん 第6章 いねむりご主人 第7章 お客さんのお気に入り 第8章 こんにちは! 第IV部(拡張編) 第9章 いらっしゃいませ! 第10章 ひとつ100円になります 第11章 3つで合計300円です 第12章 まいどあり! 第V部(お楽しみ編) 第13章 商売繁盛☆ 第14章 注文個数は人それぞれ

明日の補講について 補講 5月22日(土) 3・4時限 ι11にて 休講 5月28日(金) ←来週は、休講です 7月9日(金)

チュートリアルガイドの訂正一覧 P.41の削除部分 P.41への追加部分 p.53と104の修正 P.105,106への追加部分 「プロジェクトの設定:Communication Viewer」は、やる必要がなくなりました。 P.41への追加部分 「パースペクティブの設定」 詳細は、後のスライド参照 p.53と104の修正 ファイル名が間違っています。修正してください。 P.105,106への追加部分 状態遷移図が2つ抜けています。 詳細は、別紙参照。(図の部分を切り取って貼っておくとよいでしょう) p.117への追加 receiveOrderActionのプログラム

社会シミュレーションデザイナーズガイド(第2版) Tutorial Book p.41への追加:パースペクティブの設定 どのような形式で表示するのかを設定します。「Java」パースペクティブを選択します。 ③このようなアイコンがでる。 ①画面左にある +印のボタンを クリックする。 ②Javaを選択する。

社会シミュレーションデザイナーズガイド(第2版) Tutorial Book p.53と104の修正:ファイル名の間違い P.53 「Model のクラス図の修正(Behavior の追加)」の「1. Model Designer の起動」の部分 P.104 「Model のクラス図の修正(Information の追加)」の部分 Model Designer を起動するには、Package Explorer 内のmodel ファイルをダブルクリックします。ここでのファイル名は、「BoxTownModel.model」です。 (正) BakerModel.model 1. Package Explorer 内の「BoxTownModel.model」をダブルクリックして、Model Designer を起動します。 (正) BakerModel.model

p.117への追加:receivingOrderActionのプログラム 社会シミュレーションデザイナーズガイド(第2版) Tutorial Book p.117への追加:receivingOrderActionのプログラム SalesBehaviorのreceivingOrderActionの部分は以下のように書きます。 お客さんからもらった注文を、パン屋さんが記憶します。 SalesBehaviorクラス内 receivingOrderAction(){ IntegerInformation order =   (IntegerInformation)this.getReceivedInformation(); this.getAgent().putInformation(   BoxTownModel.INFORMATIONTYPE_OrderInformation, order); }