検索
連載

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

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

Share
Tweet
LINE
Hatena

MATSimは「全体最適」なんて、全然やっていなかった

 つまり私は、MATSimというものを「都市交通を全体最適に向けて収束させるシステム」だと思っていました。しかし、これ、完全に勘違いでした。私は、iterationとscoringとreplanningを本格的に追いかけ始めて、かなり衝撃を受けました

 MATSimは、全体最適などやっていません。本当に、全くやっていない。

 MATSimがやっているのは、「各エージェントが、自分勝手に、自分だけの都合で行動を変え続ける」――本当にただ、それだけなのです。

イラスト

 例えば、あるエージェントが、今日、渋滞で会社に遅刻したとします。

 すると、そのエージェントは、

  • 明日は少し早く出よう
  • 別ルートを試そう
  • 電車に変えよう
  • もっとラクな経路を探そう

と考える。

 もちろん、そんな“高度な思考”を本当にしているわけではありません。実際には、スコアの良かったプランを残しているだけです。しかし、結果としてやっていることは、そういうことです。で、翌日、たまたま少し早く到着できた。すると、その行動パターンを保持する。

 しかし、他のエージェントも全員、同じことを考えます。すると、昨日まで空いていた7:45出発が、翌日には激混みになる。すると今度は、

  • 7:30に変更
  • 別の道路へ変更
  • バスへ変更

などを始める。しかし、また他人も同じことを始める。

 つまりMATSimの中では、数千から数万のエージェントが、―― 「昨日より少しマシな通勤」を求めて、毎日バラバラに行動を変え続けているのです。これ、全体として見れば、かなり非合理的です。

 私は最初、「そうやって繰り返していけば、都市交通がだんだん全体最適へ近づいていくのだろう」と思っていました。ところが、そうではなく、むしろ逆なのです。場合によっては、全体として状況が悪化することがある。

 例えば、

  • 皆が“最適”だと思った道路へ集中
  • 結果として大渋滞
  • 全員の移動時間悪化

などは普通に起こり得ます。

 つまり、

  • 個人最適≠全体最適

となります。

 これは、交通工学でいうBraessのパラドックス―― 「個々が合理的に動くと、全体は逆に悪化することがある」に近い現象です(ゲーム理論でいう「共有地の悲劇」に近い)。

 道を増やしたのに、全体が悪化する。各自は合理的に動いているのに、社会全体は不合理になる。MATSimは、これをかなり正直に再現する(みたいです)。

 ここで私は、ようやく気が付きました。MATSimは「都市を最適化するシステム」ではない。

 むしろ、「利己的な住民を大量投入した時に、都市交通がどう変化するかを見るシステム」に近いのです。

 ですので、MATSimの再計画(replanning)では、個々のエージェントの適応行動によって、振動的・不安定な挙動が現れる場合があります。これも、私はかなり衝撃でした。

 だって、考えてみてください。

  • 今日、7:45が最適
  • 明日、皆が7:45へ集中
  • 明後日、7:30へ移動
  • 次の日、また戻る

という振動が、永遠に続く可能性があります。

 つまり、

  • 発振
  • 振動
  • カオス的挙動

が、普通にあり得る。これ、オペアンプのフィードバック回路なら、かなり危険な状態です。

 私は最初、MATSimを「巨大な負帰還制御系」だと思っていました。

 つまり、

  • 渋滞という誤差を観測し、
  • それを減らす方向へ、
  • 都市全体を少しずつ最適化していく

 そんなシステムだと思っていたのです。

 しかし、違いました。

 MATSimには、そもそも「都市として、どうなれば正しいのか」という目標値そのものが存在しません

 あるのは、

  • 各エージェントの不満
  • 各自の都合
  • 各自の「少しラクしたい」

だけです。

 つまりMATSimは、制御工学というより、むしろ、

  • 市場経済
  • 生態系
  • 進化系
  • 非平衡多体系

に近い。

 私は、ここに至って、ようやくMATSimの“気持ち悪さ”と“凄さ”が同じ意味なのだ、と分かってきました。

MATSimのゴールは「諦めポイント」を導くこと

 では、MATSimのreplanningは、何をゴールにしているのか。それは「誰も大きく改善できなくなった状態」です。つまり、「最適解」ではなく、「諦めポイント」です。「これ以上頑張っても、そんなに得しないから、まあ、この辺でいいか」という状態を導きます。

 MATSimの収束とは、数学的な最適化というより、「全員が、大体諦めた状態」なのです。私は、この構造を理解した時、本当に驚きました。

 システム工学では、

  • 全体を観測し、
  • 全体最適を計算し、
  • システムを制御する

という考え方が、主流です。

 しかしMATSimは、全く違う。

 誰も全体を理解していない。誰も都市を制御していない。全員が、自分勝手に、少しでもラクをしようとして動いている。

 ―― にもかかわらず、都市っぽいものが、何となく形成されていく。

 私は、この「統治者不在なのに秩序が現れる」という構造にかなり驚き、これこそがMATSim最大の特徴であり、そして“超目玉機能”なのではないかと考え始めています。

 人間は、誰かに命令されて、素直に言うことを聞くような存在ではない ―― これ、実に、私好みの再計画(replanning)です。調整(tuning)ではないところがいい。「クラス全員で頑張ろう」というような予定調和ではなく「世間のことなんぞ知ったことか」と自己中に振る舞うエージェントは、実に人間くさいのです。

 これを一言で表現するのであれば、

―― 新型コロナ感染の渦中の緊急事態宣言下、政府の外出自粛要請を、国民全員がガン無視する

に近いイメージです。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る