信号のアルゴニズム  vol.825

アルゴリズムというのは、

 「何らかの問題を

      解決する手順」を指し、

 

アルゴリズムの良しあしで

ソフトウエアの性能が決まってくる。

 

我々の生活は、

高度なアルゴリズムで

実装されたソフトウエアに支えられている。

 

そこで信号機といった

身近なアルゴリズムを例に、

その一端を見ていこう。

 

今回は、信号機のアルゴリズムの

  基本を紹介する。

 

 「朝はいつも赤になっている信号が、

            夜はなぜか青が多い」

 

と感じたことはないだろうか。

 

実は、信号機が青に変わるまでの時間は、

いつも同じではない。

 

交差点の交通量から

最適な青時間を割り出している。

 

この計算には、高度なアルゴリズムで

実装されたプログラムが動いている。

 

そこで今回は、信号機を制御する

アルゴリズムに焦点を当てよう。

 

具体的なアルゴリズムを

  見ていく前に、

 

信号機の青時間が

どのように決められているのかを説明する。

 

信号の青時間を決めるには

「重要な要素が3つある」という。

 

それが

「サイクル長」

「スプリット」

「オフセット」 3つだ。

 

「サイクル長」は、

 信号が青になってから黄、赤と変わり、

 再び青になるまでの時間(秒単位)を表す。

 

「サイクル長」は交通量や

交差点の大きさなどを考慮して

最適な長さを決めるが、

 

交通量の多い交差点では

「サイクル長」を長くすると、

渋滞が発生しにくいことが知られている。

 

「サイクル長」はWebster

近似式を使って算出するのが一般的だ。

 

この式は

C=(1.5L5 / 1λ)」

で表現される。

 

Lは黄と赤の時間(クリアランス時間)

を表す。

 

λは需要率と呼ばれ、

現在の交通量が青時間内に通過できる

最大交通量の何%に当たるかを算出したものだ。

 

交差点がどれだけ混んでいるのか

という割合に相当する。

 

交差点が混んでいるときは

分母が小さくなるため、

「サイクル長」は長くなる。

 

一方、交差点が空いている時は

分母が大きくなるため、

「サイクル長」は短くなっていく。

 

「スプリット」は、1サイクルのうち、

 主道路にどれだけの青時間を

 割り当てるかという比率だ。

 

「サイクル長」に対する百分率で表す。

 

例えば、1サイクルが200秒の交差点で

主道路側のスプリットが60%だとすると、

 

主道路の青の時間は120秒、

従道路の青の時間は80秒というように、

 

それぞれの青の時間を割り振る。

 

夜中に大通りをドライブすると、

赤信号で停車する回数が少ない。

 

これは、「スプリット」によって

大通りのような主道路に

青信号の時間が長くなるように

割り当てられているためだ。

 

オフセット」は、

   青になるタイミングを

  どれだけ隣接する交差点と

  ずらすのかを表したものだ。

 

百分率または秒で表す。

 

例えば、1サイクルが200秒の交差点が

並んでいると仮定しよう。

 

もし、オフセットが10%ならば、

交差点間の青の開始時間が

20秒ずれるというわけだ。

 

オフセットを調整すれば、

ある方向に向かう信号を

次々と青にするといった設定も可能だ。

 

しかし、快適に走れるのは

一方向だけであり、

逆方向は制約を受けて走りにくくなる。

 

信号機はこのように高度なアルゴリズムで

実装されたプログラムで制御されている。

 

この仕組みを理解すれば、

なぜ朝と夜で青信号の時間が異なるかが

わかるようになる。

 

 

今日一日の人生を大切に!

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください