「渋滞」を数学的に定義する
はじめに
仕事柄、渋滞について考えることが多いのですが、そもそも渋滞とは何かと聞かれた時に、答えられないことに気が付きました。
そこで、今回は「渋滞」を数学的に定義してみようと思います。
シンプルに考える
道路には、信号・踏切・合流....など渋滞の原因になりそうな要因が複数考えられます。
しかし、渋滞を起こすのは車であるので、まずは車に注目してみようと思います。
ルール
- 車はマス上を1マスずつ移動する
- 前のマスに車がいれば進めない。車がいなければ進める
(人生ゲームのマスをイメージすると分かりやすいかもしれません)
データ化する
車の数を増減させ、そのうち何台が動けるかを調べます。
その結果が以下のグラフです。
(動けた車=流量とします)
考察
- 車の密度が0、つまり車がいないときは動く車がいないので、流量も0
- 車の密度が1、つまりすべてのマスに車がいる場合は、動けないので、流量0
- 流量が最大となるときは、マスの半分の数の車がいるときになる
- 車の数がマスの半分を超えると、動けない車がだんだん増えていく
- 流量が最大となるときを境に、左が「順調」、右が「渋滞」と定義出来るのではないか
- この考え方を利用すると、「渋滞とは、密度が0.5を超えた状態」といえる
まとめ
今後は、渋滞とはなにかと聞かれた際に、困ることがなくなりそうです!
今回のような、ある/なし(車がマスに)を表現し、それらをあるルールに従って動かす手法をセルオートマトン法と呼び、渋滞をある程度再現できることが分かっています。
この手法を用いながら、これから何回かに分け、渋滞について見ていきたいと思います。
参考
- 書籍
- 使用したプログラム