Fundamental Seminar
vol.7

Huge set of alternatives & Multi Agent Simulation

2018.5.25
Fukuda lab
Noriko KANEKO
1Complex Systems
複雑系;
相互に関連する複数の要因が合わさって全体としてなんらかの性質，あるいはそういった性質から導かれる振る舞いを見せる系．
その全体としての挙動は個々の要因や部分からは明らかでない.
→交通システムも複雑系！
••
•
•
•

人，自動車，鉄道，バス
道路ネットワーク，線路ネットワーク
タクシー会社
天候
災害，イベントetc...

2

Complex Systems
 複雑系へのアプローチ

Macroscopic

仮定を使用して複雑さを減らし，集計レベルでの計算を行う
長所；計算が楽，集計データのみあればOK短所；多くの影響を無視，一様の行動しか表現できない
例 ；四段階推定法

Microscopic

各々の機構とその影響を表現する
長所；複雑系の大部分を表現できる，多様な行動を表現できる短所；計算負荷が大きい，非集計データが必要3

Complex Systems
Macroscopic

仮定を使用して複雑さを減らし，集計レベルでの計算を行う
長所；計算が楽，集計データのみあればOK
短所；多くの影響を無視，一様の行動しか表現できない
例 ；四段階推定法

４段階推定法①生成交通量の予測②発生集中交通量の予測③分布交通量の予測• 時刻の概念の欠落
混雑，時刻表，通行止め…などが表現できない④分担交通量⑤発生・集中交通量の予測

4

Complex Systems
Activity Based Model「すべての移動は活動の派生需要である」• アクティビティパタンを選択肢集合として列挙する離散選択型モデル• 一定のルールに従ってパタンを生成するルールベースドモデル• 時空間制約下で実行可能な活動列を探索するネットワーク探索型モデル

４段階推定法

7:00
自宅出発

8:00
学校到着

HW

17:00
学校出発

28:00
17:15
居酒屋到着 居酒屋出発

P

29:00
自宅到着

H
5

Simulation
Simulation;

実世界では再現が困難である現象を，想定される法則などを組み込み，仮想環境で再現すること

Macro Simulation

Micro Simulationシステム全体を一つのモデルで表現し，人などの行動主体をモデル化し， それ現象の再現を行う
らの行動の集積として現象の再現を行→システム全体の挙動観察はできるが， う構成要素間の相互作用を表現できない →個々の主体のふるまいの多様性を表現できる

Activity Based Approachと相性◎
6

Multi Agent Simulation
Multi Agent Simulation；

複数のエージェントに同時進行的に各々のルールをもと、それぞれが相互作用を受けながら実行させるシミュレーション

Agent；

自分の周囲の状況を認識し、それに基づいて、一定のルールのもとで自律的に行動する主体のこと (Ex)ヒト，生物周囲の環境ルール
••
•

混雑
天候
他のエージェントの振る舞いルール
Agent•

交通時間が短くなるように行動する

7

MATSimMulti-Agent Transport Simulation → MATSim••••

交通マルチエージェントシミュレーター
Developed by ETH Zurich and TU Berlin
Javaで記述
詳細はhttps://www.ubiquitypress.com/site/books/10.5334/baw/

8

MATSim MATSimの中での4段階推定法

 MATSimの均衡探索
Agentのルールに従い，
Mobility
Simulation

人工データ作成
Agent Based Activity 生成(Trip生成)

効用関数に基づき，現在の戦略のスコアを採点す
る

Agent Based mode 選択
Agent Based 経路配分
Agent Based
交通流シミュレーション

Nash均衡に到達するまで繰り返す
ゲーム理論

••
•

プレイヤー 𝑛𝑛人
プレイヤー𝑖𝑖は，戦略𝑆𝑆𝑖𝑖 をもつプレイヤーは効用𝑈𝑈を最大化させたい

Nash 均衡9プレイヤーが戦略を変えても，もうこれ以上よくならないように戦略を割り当てた状態

MATSim 渋滞の表し方 : Point Queue Model…渋滞現象を最も完結に表現するモデル
𝐸𝐸 𝑡𝑡 = 𝐴𝐴 𝑡𝑡 − 𝐷𝐷 𝑡𝑡 ⟺ 𝑒𝑒̇ 𝑡𝑡 = 𝜆𝜆 𝑡𝑡 − 𝜇𝜇(𝑡𝑡)𝐴𝐴 𝑡𝑡 : リンク終端にあるボトルネックに時刻𝑡𝑡までに到着した累積台数

物理的長さを考えずに積みあがっていると考える

𝐷𝐷 𝑡𝑡 : リンク終端にあるボトルネックを時刻𝑡𝑡までに出発する累積台数
𝐸𝐸 𝑡𝑡 : 時刻tの待ち行列台数

ここで，流入交通流率𝜆𝜆 𝑡𝑡 = 𝐴𝐴̇ 𝑡𝑡 , 流出交通流率 𝜇𝜇 𝑡𝑡 = 𝐷𝐷̇ 𝑡𝑡 であるので，PQモデルの流出交通流率はFirst In First Out(FIFO)原則が成り立つので，待ち行列遅れ𝑑𝑑(𝑡𝑡)は累積到着/出発曲線の水平距離として表現される
10

MATSim

Javaで記述

MASをするためのクラス群

げろ難しいので，今回は簡単に行きます！

11

MATSim MATSim Standalone と呼ばれる方式
基本的なMAS機能を搭載，input file を編集することでシミュレーション結果を得る．
簡単だが，応用はできない．(NLにする，鉄道を組み込むなど…)→本格的に使いたい人はJavaを勉強しましょう！
Xml(Extensible Markup Language):
視覚表現や文章構造を記述するマークアップ言語のひとつ，基本的にテキストファイルで構成．
データ管理に便利最低限必要なもの

Config.xml：
MATSimに与える設定を記述•Network.xml：
node,linkを定義してネットワークを記述•Plan.xml
初期状態のplanをActivity Baseに記述
その他•Facilities.xml：
店や学校などの施設を記述•Vehicle.xml：
乗り物の容量などを記述などなど•

12

Multi Agent Simulation
 Configuration file＝

MATSim への指示を書き込む

ネットワーク の設定
プラン の設定
Output file の設定

各種値の設定14

Multi Agent Simulation
 Network file＝

Node,Linkをそれぞれ定義することでネットワークを記述

Node の設定｛NodeID，緯度，経度｝

Linkの設定｛LinkID，接続ノード，長さetc…｝

Network_braess2.xmlの設定
ここが増えた！！

15

Multi Agent Simulation
 Plan file＝

時系列に従って，Agent ごとのプランを記述

交通手段“車“ でルート2,4を通る家仕事

時刻

1

12

2
33

4

6

4
5

5

7
166

参考文献
1.

MATSim User Guide(official)

2.

The Multi-Agent Transport Simulation MATSim (official)

3.

ETH講義資料，TU

4.

ブライスのパラドックス

Wikipedia

5.

ブライスのパラドックス

https://mathtrain.jp/braess6.

マルチエージェントシミュレーション

7.

動的な交通ネットワーク流問題 赤松 隆， 和田 健太郎 Proceedings of the Twenty-Sixth
RAMP Symposium Hosei University, Tokyo, October 16-17, 2014

Berlin講義資料

石田・松原研究室

18