40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

渋滞学



久しぶりに自腹で買った渋滞学という本をこの前読み終わりました。

タイトルの通り、渋滞について研究されている内容なのですが、一口に渋滞といっても、車の渋滞やら、人の行列、あるいはコンピューターネットワークの渋滞など多岐にわたっての内容で、それぞれの渋滞のメカニズムをすごくシンプルに「モデル化」して説明がありかなりわかりやすかった。

モデル化というのは
現実をうまく捉えており、しかも数学的にも性質の良いモデル
というものらしく、一見複雑そうなモノがとてもシンプルなものとして表されているようなものです。

一例として、ASEP(Asymmetric Simple Exclusion Process)というモデルを使うと、意外に渋滞のメカニズムがわかるようになります。本文中では玉と箱をつかった動きの説明になっていたけど、書くのが大変なので、

箱の中に玉がない状態:0
箱の中に玉が入っている状態:1

として、仮に10個の箱がサーキット状(環状)につながっているとします。そして、一定時間毎にそれぞれの玉が前に進むのですが、1つ条件があって、前の箱が空いていない状態では、次の順番になっても進めないとします。

仮に10の箱があって、うち5こ玉がはいっている場合

0110011010
0101010101
1010101010
0101010101
1010101010
 :
というように、問題なく玉が流れますが、1つ玉が増えて、6個になると

0110111010
0101110101
1011101010
0111010101
1110101010
 :

というように、太字の所が渋滞解消されない状況になります。ちなみに、この渋滞ができ始めるかどうかのラインというのは、サーキットの長さの半分(上の場合だと10÷2=5個)でこれを超える玉がある状態だと渋滞になるそうで、この記述を読んで、

「あーもしかしたら、お盆などの帰省ラッシュの渋滞予想っていうのもこういうモデルをベースにして予測しているのかも」

と思って、ちょっと感動した。

これが渋滞のすべてを物語っているわけではないけれど、こういう単純にモデル化することで、一見複雑にみえるものが掴めてくるというのは、かなり興味深く、しかもわりと取り上げている例題もとっつきやすいものだったりするから、面白かった