Java KK-MAS チュートリアル

Similar documents

スライド 1

PowerPoint プレゼンテーション

Microsoft Word - VBA基礎(3).docx

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

産能大式フローチャート作成アドインマニュアル

編集する ファイルを開く マイクロデータの設定を行うファイルまたはファイルを開きます 開かれたファイルは編集画面に表示されて ブラウザ表示した時のプレビューも同時に表示されます HTML ファイルの選択 編集する ファイルを開くためにメインメニューから ファイル 開く を選びます ファイル選択ダイア

PowerPoint プレゼンテーション

Microsoft Word - VBA基礎(6).docx

基本作図・編集

sinfI2005_VBA.doc

アプリケーション

<907D945D F D C789C195CF8D5888EA97978CF68A4A97702E786C7378>

artisoc manual

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

Prog2_15th

PowerPoint プレゼンテーション

モデリング操作ガイド アクティビティ図編

SysMLに関する操作方法について

スライド 1

Microsoft Word IL3_1.doc

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

写真の閲覧方法 1. 閲覧する納品データの種類の選択 ( 写真 ) P3 写真の閲覧写真の閲覧写真の閲覧 2. 写真を一覧から選択 表示 3. 写真をサムネイル一覧から選択 表示 4. 写真をアルバム形式で表示 P5~ P7~ P9~ 5. 写真の便利な表示方法 拡大 / 縮小 回転 明るさ補正 6

スクールCOBOL2002

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

GIS利用クイックチュートリアル

RR1soft.book

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

9 WEB監視

PowerPoint プレゼンテーション

CodeGear Developer Camp

ExcelVBA

<4D F736F F F696E74202D20352D335F8D5C90AC CF909482CC90B690AC82C695D28F572E707074>

Microsoft Word - Grspes…~…j…}…j…–…A…‰6.0.doc


COMSOL Multiphysics®Ver.5.4 ACDCイントロダクション

BizBrowser SmartDevice Android開発用スタートアップガイド

ルーレットプログラム

(Microsoft PowerPoint - \221S\211\346\226\312\225\\\216\246\225s\213\357\215\207\216\236\202\314\221\316\211\236\215\ _nipponlabo.pptx)


マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

チュートリアル Part 2 の概要 チュートリアル Part 2 では サンプルデータのマニホールドブロックを使用して ilogic で Excel スプレッドシートと関連付けて マニホールドブロックの各形状や部品番号に関するルールを作成 実行して ilogic のルールに基づいて Excel ス

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

V-CUBE One

ブロック パニック

やさしくPDFへ文字入力 v.2.0

Microsoft Word - VB_10.doc

ドッグファイト

試作ツールは MIT ライセンスによって提供いたします その他 内包された オープンソース ソフトウェアについてはそれぞれのライセンスに従ってご利用ください

外周部だけ矩形配列

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

プロセス出力 ダイアログが表示されます 以下のいずれかを指定します オーバーレイ作成 ボタンをクリックし 新規にオーバーレイを作成します プロセス操作の結果作成されたアイテムは 新規オーバーレイに作成されます 既存のアイテムは削除され プロセス操作の結果作成されたアイテムに置き換えられます 既存の編

Microsoft Word - ModelAnalys操作マニュアル_

PowerPoint プレゼンテーション

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft Word - RefWorksコース doc

2/17 目次 I. はじめに... 3 II. 操作手順 (Controlの場合) 断面の作成 寸法測定 異なる断面間の寸法測定 繰り返し処理...11 III. 操作手順 (Verifyの場合) 断面の作成... 1

Taro-リストⅠ(公開版).jtd

拾い集計

PowerPoint プレゼンテーション

フリーフォーマット作成

FP 作業工数管理操作説明書 Ver1.0 版 問い合わせ先 TEL FAX E Mail: eng.co.jp

目次 Adobe PDF でチェック & コメントのススメ チェック & コメントをはじめる前に チェック & コメントでよく使うツール ( その ) 6 チェック & コメントでよく使うツール ( その ) 8 コメントの確認と返信 0 共有レビュー機能で効率をさらにアップ 共有レビュー機能を使う

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ

2007年度版

画像参照画像送り 5 画像下部に再生ボタンが表示されます 再生ボタンをクリックすると 自動コマ送りされます 1

① レイヤ

V-CUBE One

やさしくPDFへ文字入力 フォーム入力用 v.3.0 簡易操作マニュアル

PowerPoint プレゼンテーション

file:///C:/Users/k-hidume/AppData/Local/Temp/~hh8CD7.htm

I. アプリケーションソフトの利用 1. アプリケーションソフトの起動 終了 起動 [ スタート ] ボタンをクリック [ すべてのプログラム ] をポイ ント 任意のアプリケーションソフトをクリックします 終了 [ 閉じる ] ボタンをクリックします 保存しないで [ 閉じる ] ボタンをクリック

Microsoft PowerPoint - 【HB-1000】キーボードマウス操作マニュアル.ppt [互換モード]

躯体作図 編集 HAS-C-school Copyrightc DAIKIN INDUSTRIES, LTD. All Rights Reserved.

基本作図・編集

エクセルによる数値計算と化学への応用

Microsoft PowerPoint - diip ppt

基本作図・編集

Biz/Designer Vインストールガイド

バスケットボール

1. 入力画面

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

Microsoft Word -

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

目次 1 Adobe PDF でチェック & コメントのススメ 2 チェック & コメントをはじめる前に 4 チェック & コメントでよく使うツール ( その 1) 6 チェック & コメントでよく使うツール ( その 2) 8 コメントの確認と返信 10 共有レビュー機能で効率をさらにアップ 12

fse7_permission

Microsoft Word _VBAProg1.docx

Microsoft Word - VBA基礎(2).docx

モニタリング画面を開く にチェックを入れる またはメニュー画面か らモニタリングアイコンをクリックします 全画面表示 設定画面 録画再生画面表示ページサーバー カメラツリ左からシングル / 4/ 6/ 8/ 9/ 10/ 12 分割画面です ここをクリックすると 16/ 20( )/ 2

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

PowerPoint プレゼンテーション

Microsoft PowerPoint - Visualプログラミング

文字入力PRO.doc

JavaScript 演習 2 1

PowerPoint プレゼンテーション

4, 起動 デスクトップの SimpleBrowserVer2 をダブルクリックします 初回起動時はライセンスキーを要求されますので 購入時に提供されたライセンスキーを画面上のキーボードより入力してください 未入力で OK ボタンを押すと試用版としてご利用いただけます 5, 終了 キーボードからの入

4 正しい位置を持った 数値地図 25000( 空間データ基盤 ) の上に カラー空中写真 が読み込まれます この状態では カラー空中写真画像 は位置のデータを持っていないので 正しい位置に読み込まれていません ここから 画像位置合せ の作業を行います 地図画像は色調を変えることができます 薄くする

C#の基本

Microsoft PowerPoint P演習 第5回 当たり判定(2)【課題】.pptx

スクールCOBOL2002

Transcription:

artisoc チュートリアル お問合せは創造工学部まで TEL : 03-5342-1125 E-mail : artisoc@kke.co.jp 株式会社 構造計画研究所 164-0012 東京都中野区本町 4-38-13 創造工学部 TEL:03-5342-1125 FAX:03-5342-1225

社会現象をシミュレーションしよう ユーザフレンドリーなマルチエージェント シミュレータ artisoc を体験します 3 つのステップではじめるマルチエージェント シミュレーション エージェント同士を相互作用させよう! 本格的なモデルへのいざない 2

3 つのステップではじめるマルチエージェント シミュレーション artisoc でシミュレーションを行うための手順は次の通りです 操作手順操作手順 1 ツリーで エージェント を定義します 2 エージェントのルールを記述します 3 出力設定を行います 出力設定を行います シミュレーションを実行します 1 ツリー 3 出力画面 2 ルールエディタ 3

1 エージェントを定義する ツリーで 空間 と エージェント と 変数 を定義します ツリーの Universe で右クリックして 空間の追加 を選択します 空間名 : ground ツリーの ground で右クリックして エージェントの追加 を選択します エージェント名 : farmer エージェント数 : 3 ツリーの farmer で右クリックして 変数の追加 を選択します 変数名 : color 変数の型 : 整数型 変数名 : speed 変数の型 : 実数型 4

2 エージェントのルールを記述する エージェントの色と歩く速度を指定し 画面中央に移動 向きを変える ツリーの farmer で右クリックして ルールエディタ を選択します Agt_Init{ My.color = COLOR_BLUE My.speed = 1 MoveToCenter() Turn(Rnd() * 360) } Agt_Step{ Forward(My.speed) } 表示色は青色歩く速度は1 画面中央に移動指定した角度 ( ) だけ回転する前に進む ( マイナス値のときはバック ) 大文字 小文字の区別はありません 行頭のスペースはなくてもよいです My. と記述すると 属性の候補が表示されます 関数名のはじめの数文字を入力した途中で Ctrl + SPACE キーを押すと関数の候補が表示されます 関数の詳細については スタートメニューの [artisoc]-[documents]-[help Japanese] (help-ja.pdf) をご確認下さい 5

3 出力設定を行う 出力項目の設定を行います ツールバーの [ 設定 ]-[ 出力設定 ] を選択します 出力項目リストが表示されますので 追加する出力種類を マップ出力 にして 追加 ボタンをクリックします マップ名 : ground マップ要素リストで 追加 ボタンをクリックします 要素名 : farmer エージェント表示色 : 変数指定 : color 6

シミュレーションを実行します シミュレーションの実行と停止を操作します ステップ実行ボタン を何回かクリックして ステップ毎の動きの違いを確認します 実行ボタン をクリックしてシミュレーションを実行します 実行ボタン ステップ実行ボタン 一時停止ボタン 停止ボタン 停止ボタン をクリックしてシミュレーションを停止します エージェントの数を 100 にしてみましょう tutorial1.model 7

エージェント同士を相互作用させよう! ぶつかると赤くなるエージェント エージェントをまとめて扱うときは エージェント集合型という変数を使うことができます 周りを見回して隣人を探します ループしない空間とランダムな配置 空間がループしない場合は端点の処理が必要になります エージェントを空間上にランダムに配置します エージェントに個性を持たせる 違う色 違う歩く速度を持つエージェントを定義します 会話をしているエージェントを線で結びます 8

ぶつかると赤くなるエージェント 隣人 (neighbor) を定義して エージェント同士を相互作用させます ツリーの farmer で右クリックして 変数の追加 を選択します 変数名 : neighbor 変数の型 : エージェント集合型 ツリーの farmer で右クリックして ルールエディタ を選択します Agt_Step{ Forward(My.speed) 周りを見回して隣人を取得 } MakeAllAgtSetAroundOwn(My.neighbor, 1, False) If CountAgtSet(My.neighbor) > 0 Then Turn(Rnd() * 360) My.color = COLOR_RED Else My.color = COLOR_BLUE End If 隣人の数をカウントしてぶつかっていたら赤くなる tutorial2.model 9

ループしない空間とランダムな配置 (1) ループしない空間を定義します ツリーの ground で右クリックして プロパティ を選択します 端点の処理 : ループしない ツリーの Universe で右クリックして ルールエディタ を選択します Univ_Init{ Dim myagtset As AgtSet MakeAgtSet(myAgtSet, Universe.ground.farmer) RandomPutAgtSet(myAgtSet) } 変数の定義 farmer の集合を取得 farmer をランダムに配置 ツリーの farmer で右クリックして ルールエディタ を選択します Agt_Init{ My.color =COLOR_BLUE My.speed = 1 Turn(Rnd() * 360) } 10

ループしない空間とランダムな配置 (2) 壁にぶつかったときの処理を加えます ツリーの farmer で右クリックして ルールエディタ を選択します Agt_Step{ If Forward(My.speed) <> -1 Then Turn(Rnd() * 360) End If 壁に当たったら向きを変える } MakeAllAgtSetAroundOwn(My.neighbor, 1, False) If CountAgtSet(My.neighbor) > 0 Then Turn(Rnd() * 360) My.color = COLOR_RED Else My.color = COLOR_BLUE End If tutorial3.model 11

エージェントに個性を持たせる (1) エージェント毎に異なった色 color 異なった歩く速度 speed を持ちます ツリーの farmer で右クリックして 変数の追加 を選択します 変数名 : touch 変数の型 : 整数 ツリーの farmer で右クリックして ルールエディタ を選択します Agt_Init{ My.color = RGB(CInt(Rnd()*256), CInt(Rnd()*256), CInt(Rnd()*256)) My.speed = Rnd() Turn(Rnd() * 360) } ランダムに色指定 歩く速度をランダムに定義 12

エージェントに個性を持たせる (2) 色 color と歩く速度 speed と接触回数 touch をルールに組み入れます ツリーの farmer で右クリックして ルールエディタ を選択します Agt_Step{ If Forward(My.speed) <> -1 Then Turn(Rnd() * 360) End If 視野を 3 にする } MakeAllAgtSetAroundOwn(My.neighbor, 3, False) If CountAgtSet(My.neighbor) > 0 Then My.touch = My.touch + 1 Turn(Rnd() * 360) End If 接触回数を加算 13

エージェントに個性を持たせる (3) 出力項目の設定を行います ツールバーの [ 設定 ]-[ 出力設定 ] を選択します 出力項目リストが表示されますので ground を選択して 編集 ボタンをクリックします マップ要素リストが表示されますので farmer を選択して 編集 ボタンをクリックします エージェント変数情報 : 情報表示 : touch 線を引く 線引き対象 : neighbor 矢印種別 : 色の選択 : 赤 tutorial4.model 14

本格的なモデルへのいざない 森林火災モデルを作る コントロールパネルを利用します コントロールパネルから取得した数だけエージェントを生成します エージェントに記憶を持たせて 火の燃え尽きを表現します シミュレーションの終了条件を定義します 15

森林火災モデル (1) ツリーで 空間 と エージェント と 変数 を定義します ツリーの Universe で右クリックして 空間の追加 を選択します 空間名 : ground 端点の処理 : ループしない ツリーの ground で右クリックして エージェントの追加 を選択します エージェント名 : tree ツリーの tree で右クリックして 変数の追加 を選択します 変数名 : color 変数の型 : 整数型 記憶数 : 8 ツリーの Universe で右クリックして 変数の追加 を選択します 変数名 : count 変数の型 : 整数型 変数名 : rate 変数の型 : 実数型 16

森林火災モデル (2) シミュレーション開始時 (Univ_Init) に木 (tree) を生成し 火をつけます ツリーの Universe で右クリックして ルールエディタ を選択します Univ_Init{ Dim i As Integer Dim myagt As Agt Dim myagtset As AgtSet For i = 0 To CInt(GetWidthSpace(Universe.ground) * GetHeightSpace(Universe.ground) * Universe.rate) myagt = CreateAgt(Universe.ground.tree) myagt.color = COLOR_GREEN 空間の大きさに森林密度 (rate) を Next i かけた数の木 (tree) を生成 MakeAgtSet(myAgtSet, Universe.ground.tree) RandomPutAgtSetCell(myAgtSet, False) tree をランダムに配置 } myagt = GetAgt(myAgtSet, CInt(Rnd() * CountAgtSet(myAgtSet))) myagt.color = COLOR_RED 1 本の木に火をつける 17

森林火災モデル (3) 各ステップの終了時 (Univ_Step_End) に終了条件のチェックを行います ツリーの Universe で右クリックして ルールエディタ を選択します Univ_Step_End{ Dim myagtset As AgtSet Dim myagt As Agt Dim ctred As Integer Dim ctgreen As Integer 木 (tree) の集合を取得 ctred = 0 ctgreen = 0 MakeAgtSet(myAgtSet, Universe.ground.tree) For Each myagt In myagtset If myagt.color == COLOR_RED Then ctred = ctred + 1 ElseIf myagt.color == COLOR_GREEN Then ctgreen = ctgreen + 1 End If Next myagt ~ 次ページに続く~ For Each 文でエージェント集合から 1つずつエージェントを取得する 燃えている木の本数焼け残っている木の本数 18

森林火災モデル (4) 各ステップの終了時 (Univ_Step_End) に終了条件のチェックを行います ツリーの Universe で右クリックして ルールエディタ を選択します ~ 前ページから続く ~ } 燃えている木の本数が0のとき // finish condition If ctred == 0 Then PrintLn("finish! : GREEN=" & ctgreen & " / ALL=" & CountAgtSet(myAgtSet)) ExitSimulation() End If 焼け残っている木の本数と総数を表示 シミュレーションを終了 19

森林火災モデル (5) ツリーの tree で右クリックして ルールエディタ を選択します Agt_Step{ Dim myagtset As AgtSet Dim myagt As Agt Dim ct As Integer 木が燃えているとき 周りの木を取得する } If My.color == COLOR_RED Then MakeAllAgtSetAroundOwnCell(myAgtSet, 1, False) ct = CountAgtSet(myAgtSet) 周りに1 本以上の木があるとき If ct > 0 Then myagt = GetAgt(myAgtSet, CInt(Rnd() * ct)) ランダムに1 本を選択 If myagt.color == COLOR_GREEN Then myagt.color = COLOR_RED 燃えてなかったら燃やす End If End If End If If GetHistory(My.color,8) == COLOR_RED Then My.color = COLOR_BLACK 8ステップ前の状態を見て End If 燃え尽きる 20

森林火災モデル (6) 出力項目の設定を行います ツールバーの [ 設定 ]-[ 出力設定 ] を選択します 出力項目リストが表示されますので 追加する出力種類を マップ出力 にして 追加 ボタンをクリックします マップ名 : ground マップ要素リストで 追加 ボタンをクリックします 要素名 : tree エージェント表示色 : 変数指定 : color 21

森林火災モデル (7) コントロールパネルの設定を行います ツールバーの [ 設定 ]-[ コントロールパネル設定 ] を選択します ユーザ設定項目リストが表示されますので 追加 ボタンをクリックします 設定対象 : rate インターフェース : スライドバー 範囲 : 0 ~ 1 目盛り間隔 : 0.01 コントロールパネルを操作して 全焼するときの条件を探してみましょう forest.model 22

ログの記録と再生 シミュレーション結果を分析するためにログ保存を行います 実行メニューの [ 記録して実行 ] を選択します シミュレーションメモ入力ダイアログが表示されるので値を入力します シミュレーションメモ : テストログ 停止ボタン をクリックしてシミュレーションを停止します ログメニューの [ 再生 ] を選択します シミュレーション選択ダイアログが表示されるので テストログ を選択します ログ再生パネルを利用して再生します 逆再生ボタンステップ再生ボタン停止ボタンカウンタ再生ボタン一時停止ボタンスライドバー 23