検索
連載

MATSim実践編――自己中なエージェント1万人を「通勤」させてみるリタイア直前エンジニアの社会人大学漂流記(6-2)(1/7 ページ)

今回のMATSim(マルチエージェントシミュレーション)実践編では、エージェントの価値観や行動パターンを定義して、「通勤(通学)」させてみます。かなり“人間くさい”価値観を持ったエージェント1万人は、どんな行動を取るのでしょうか。

Share
Tweet
LINE
Hatena
MASイメージ図

3年間の休載を経て戻ってきました。休載していた理由は、私はリタイア(定年退職)間際だったにもかかわらず、「MAS(マルチエージェントシミュレーション)」を研究すべく、社会人のまま大学院博士課程に突っ込んでいったからです。なぜ“そんなこと”になったのか――。そして私をそこまでさせた「MAS」とは何なのか。社会人大学院生の実態を赤裸々に語りつつ、MASを技術的に深掘りしていきます。
⇒連載バックナンバーはこちらから

⇒前編「ぼっち系エンジニア、「幸せ」について論文とデータで殴られる

MATSimに「Scoring」と「Replanning」が存在する理由

 さて本日は、私がずっと目を背け続けてきた、MATSimの基本機能である、Scoring(得点付け)Replanning(再計画)のお話をします。

 なぜ私がこの2つに目を背けてきたかというと、これまでの私の研究では、この2つの機能が必要なかったからです。私は、ひたすらエージェントたちが「何時に、どのルートを通って、どの目的地に行き、誰と出会うか」しか興味がなく、それを、得点付けをして再度繰り返す、という手間を、ぶっちゃけ「面倒くさい」と思っていました。

 ところが、今回の記事を書いて、Scoring(得点付け)とReplanning(再計画)がなかなかに「面白い」と分かってきました。今日は、その話の入口までたどり着きたいと思っています。



 MATSimの資料では、次のような図が、かなり頻繁に登場します。


[クリックで拡大]

 私は長い間、この図を「MATSim の処理手順」だと思っていました。

 つまり、

  • 経路探索
  • 実行
  • 評価
  • 再計画

という、単なるフローチャートだと思っていたのです。

 しかし、違いました。MATSimにとって、これは「処理順序」ではありません。むしろ、“システムの本体構造”そのものだったのです。

 これ、MATSimでは「そういう順番で処理する」という意味ではありません。MATSimは、原則として、この構造を持たないと動かないのです。つまり、これはフローチャートではなく、むしろ「回路図」に近い。

 私は、ここを完全に勘違いしていました。

 実際、これまでの連載でも、config.xmlの中にはscoringやreplanningの記述を残してはいたものの、実際には、ほぼ動かないようにしていました。

 理由は単純です。私が、その機能にあまり興味がなかったからです。

 私は、

  • network.xml
  • plans.xml
  • events.xml

などのデータ構造や、エージェントの移動、イベントの発生、可視化の方に興味がありました。


[クリックで拡大]

 逆に、scoring(スコアリング)やreplanning(再計画)は、――「まあ、後で使うチューニング機構みたいなものだろう」くらいに思っていたのです。そして、もっと言えば、私はこれを「全体最適化」のための機構だと考えていました。


[クリックで拡大]

 例えば、制御工学におけるオペアンプのネガティブフィードバック回路のように、

  • 出力結果を見て、
  • 誤差を減らすように、
  • システム全体を調整する

というタイプのものだと思っていたのです。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る