「渋滞」を数学的に定義する

はじめに

仕事柄、渋滞について考えることが多いのですが、そもそも渋滞とは何かと聞かれた時に、答えられないことに気が付きました。

そこで、今回は「渋滞」を数学的に定義してみようと思います。

 

シンプルに考える

道路には、信号・踏切・合流....など渋滞の原因になりそうな要因が複数考えられます。

しかし、渋滞を起こすのは車であるので、まずは車に注目してみようと思います。

 

ルール

  • 車はマス上を1マスずつ移動する
  • 前のマスに車がいれば進めない。車がいなければ進める

 (人生ゲームのマスをイメージすると分かりやすいかもしれません)

f:id:h6yaken:20190220223354p:plain

 

データ化する

車の数を増減させ、そのうち何台が動けるかを調べます。

その結果が以下のグラフです。

f:id:h6yaken:20190220224518p:plain

(動けた車=流量とします)

 

考察

  • 車の密度が0、つまり車がいないときは動く車がいないので、流量も0
  • 車の密度が1、つまりすべてのマスに車がいる場合は、動けないので、流量0
  • 流量が最大となるときは、マスの半分の数の車がいるときになる
  • 車の数がマスの半分を超えると、動けない車がだんだん増えていく

 

  • 流量が最大となるときを境に、左が「順調」、右が「渋滞」と定義出来るのではないか
  • この考え方を利用すると、「渋滞とは、密度が0.5を超えた状態」といえる

f:id:h6yaken:20190220225556p:plain

まとめ

今後は、渋滞とはなにかと聞かれた際に、困ることがなくなりそうです!

 

今回のような、ある/なし(車がマスに)を表現し、それらをあるルールに従って動かす手法をセルオートマトン法と呼び、渋滞をある程度再現できることが分かっています。

この手法を用いながら、これから何回かに分け、渋滞について見ていきたいと思います。

 

参考

  • 書籍

bit.ly

  • 使用したプログラム

github.com