MATSim実践編――「あなた」というエージェントを作って散歩させてみよう:リタイア直前エンジニアの社会人大学漂流記(3-2)(1/4 ページ)
今回からMATSim実践編に入りたいと思います。MATSimを理解するには「3つのファイル」を知っておけばOKです。3つのファイルを使い、まずは1人目のエージェントとなる「あなた」を作って、自宅周辺を散歩させてみましょう。
3年間の休載を経て戻ってきました。休載していた理由は、私はリタイア(定年退職)間際だったにもかかわらず、「MAS(マルチエージェントシミュレーション)」を研究すべく、社会人のまま大学院博士課程に突っ込んでいったからです。なぜ“そんなこと”になったのか――。そして私をそこまでさせた「MAS」とは何なのか。社会人大学院生の実態を赤裸々に語りつつ、MASを技術的に深掘りしていきます。
⇒連載バックナンバーはこちらから
MATSimを理解するための3つのファイル
MATSim(マルチエージェントシミュレーション)というのは、前回「「何でもできるが誰にも使えない」――自作MASが突きつけた現実」までで説明したように、現時点でアカデミズムの世界ではブッちぎりの信頼と実績のMASのツールで、そんでもって、日本では使用実績がスカスカなツールでもあります(この理由については後で説明します)。
MATSimを理解するには、まず、以下の3つのファイルの内容が分かっていれば何とかなりそうです。
さらに、config.xml / network.xml / plans.xml の3つを「設定」「道路」「人間」、または「棋士」「盤面」「駒」という対応関係で捉えると分かりやすくなります。
(1)config.xml は「設定」です。
シミュレーション全体の評価基準、反復回数、挙動パラメータ、出力方法などを定義するファイルで、計算の進め方そのものを規定します。これを将棋にたとえるなら、対局全体を統括する「棋士」に相当します。
(2)network.xml は「道路」です。
ノードとリンクからなる道路ネットワークが記述され、人や車の移動はこの構造の上でのみ行われます。将棋の比喩では、駒が配置され動き回る「盤面」にあたります。
(3)plans.xml は「人間」です。
個々のエージェントが持つ行動計画(活動、移動、時刻、交通手段)が記述されており、シミュレーション中に実際に動く主体そのものです。これは将棋で言えば、盤上を動く「駒」に対応します。
つまりMATSimとは、
設定(棋士)が、道路(盤面)の上で、人間(駒)を動かすことで現象を再現する仕組み
と考えれば、全体像をつかみやすくなります。
さて、前回はMATSimと対比させるために、私の作成したMASツール「EBASim(Evidence -Based Agent Simulator)」のお話をしましたが、この連載の目的はMATSimの入門書です。
今回は、細かいことは忘れて、まずはMATSimを動かしてみましょう。
前提環境ですが、取りあえずWindows11 + WSL(Ubuntu)としておきますね。
これなら、OSがWindowsでもLinuxでも問題なく使えると思いますので。WSLというのは、Windows上でLinux環境をそのまま利用できる仕組みです ―― まあ、簡単に言うと、スタートメニューからLinuxのコンソールが出てくるもの、という理解でいいです(WSLの説明は省略します。ChatGPTあたりに尋ねてください)。
「あなた」のエージェントを作り、自宅周辺で散歩させてみよう
さて、本日の課題は「あなたの自宅の近所で、あなた(のエージェント)を散歩させてみましょう」です。一人目のエージェントは「あなた」です。
では、まずnetwork.xml(盤面)から作りましょう。今回の盤面はあなたの近所の地図です。
次にみなさんの自宅周辺の地図を、OpenStreetMapというサイトからダウンロードしてください(これをOSMデータと呼びます)。以下の例は私の家の周辺を例にしています。ポイントは皆さんの家の周辺を最大にまで拡大して、最小の地図データをダウンロードすることです。
私は、small-hirohakama.osmという名前で保存しておきました。
地図データというのは基本的に、点(node:座標)と線(way:道)からなる単純なものです(カーブもたくさんの点と直線で作られています)。せっかくですから、この地図データを見ておきましょう。みなさんが普段使っているエディタで、ダウンロードしたOSMファイルを読んでみてください。
↑これが”点(node)”で、
↑これが”線(way)”です(点(node)の集合体)。
OSMのタグにはいろいろありますが、今は、点(node)と線(way)だけ覚えておいて頂ければ十分です。
話を戻します。
ただ、このデータを眺めていたところで、地図が表示される訳ではありません。手っ取り早く表示するには、QGISというツールを使うのが便利でしょう。
QGISは、地理情報(緯度・経度付きデータ)を地図上に重ねて可視化・解析できる、オープンソースのGIS(地理情報システム)です。CSVやGeoJSONなどをそのまま読み込み、即座に地図表示できるため、データの確認や試作に向いています。次のサイトからダウンロードしてください(ダウンロードサイト公式サイト(Windows / macOS / Linux 対応))
QGISを立ち上げて、右下のウィンドウにファイルをドラッグすれば、地図が出てきます。
Copyright © ITmedia, Inc. All Rights Reserved.




