サイトアイコン alm-ore

Java applet でエスカレーターのシミュレーション

エスカレーターで片側を空ける、つまり、停止したまま乗る人は一方の端に並び、他方の端は歩行しながら乗る人が使うという利用法は、日本中でわりと広く見られる集合現象だ。

ただし、このような利用方法には反対意見もあるようだ。
一つには、エスカレーターにかかる重量が不均衡になることで、機械の損傷が早まるからやめるべきだという意見。機械のことはよー知らんけど、関東では左空け、関西では右空け(あれ、逆だっけ?)と傾向が分かっているのだから、メーカーがそれにあわせて重量のかかる方を補強しておけばいいんじゃないかと思ったりもする。
二つ目には、歩行者による振動や、事故による急停止による将棋倒しの危険性。立ち止まって手すりに掴まっていれば踏みとどまることができる場合でも、手放しで歩く人々は滑落して危険であるという主張。確かに、エスカレーターの使用法掲示や放送案内では立ち止まって手すりに掴まることを命じているし、これは頷ける。

エスカレーターで歩行すべきでない三つ目の理由として挙げられているのは、輸送効率の問題。
つまり、左右2列になって全員が立ち止まって輸送される方が、片方だけ立ち止って他方を歩く場合よりも、一定の時間内に運べる人数が多くなるという主張。一人ひとりが急ぎたくなる気持ちをグッとこらえて、おとなしく立ち止った方が、結局は全員がすばやく移動できるのだと言っている(急がばまわれ?)。

ただし、その前提として、エスカレータ上に並ぶ人々の「間隔は停止者は狭く、歩行者は広い」というものと、「歩行者の速度はそれほど速くない」ということを仮定しないといけないようだが。
ちゃんと計測したことは無いけれど、確かに、実際の人々の流れを見ていても、歩行者側の速度はそれほど速いものでもなさそうなので、この前提はそれほどおかしくないかもしれない。


ただし、少々ぐぐってみたところでは、それを実証するデータは見つけられなかった。

唯一見つけたのは、Java applet で作ったシミュレーション。
エスカレータを効率良く使う」では、50人がエスカレーターを通過する状況を web ブラウザー上で模式的に表し、全員が通過するまでの時間を計測している。

結果は、
(a) 左右ともに詰めて立つ ⇒ 2213ステップ
(b) 左は詰めて立ち、右は1段あけて2倍速 ⇒ 2149ステップ
とされている。
(b)の方が少々早いが、(a)とほぼ変わらないパフォーマンスが得られている。歩行による危険を勘案すれば、(a)が効率的であるというのが同ページでの結論だった。
#その他、いくつかのパラメター・セットが提示されている。

「ほぉ、そうか・・・」と納得しかかったのだけれど、エスカレーターの長さに依存して結果は変わるんじゃないかと思った、直感的に。
止まっている人(左側)と歩いている人(右側)の速度の差は、距離が長くなればなるほど増幅されるはずだ。つまり、「エスカレータを効率良く使う」で行われているシミュレーションも、エスカレータの距離が伸びれば、全員立ち止るよりも、片方を歩行者のために空けておくほうが効率がいいという結果が得られるのではないかと思った。

たとえば、分速5mの人と、分速10mの人は速度の差が2倍であるが、彼らが1mの距離を移動する場合、5m/分の人は12秒、10m/分の人は6秒となる。相対時間は倍となるが、絶対時間では数秒の違いしかなく、無視し得よう。
しかし、彼らが100mの距離を移動するとするなら、5m/分の人は20分、10m/分の人は10分となり、かなりの時間の差だ。

同様に、シミュレーションで得られた a:b = 2213:2149 という時間の差も、距離が伸びると差の絶対量が大きくなる(しかも、bが特に有利になる)のではないかと思うのだ、直感的に。

そこまで考えて、同ページにはシミュレーションのソース・コードも公開されているので改造して追試しようかと思ったのだけれど、Java applet のコンパイルなんて10年前にやったきり何も覚えちゃいないし、めんどくさくなってパスした次第。

誰か、Java applet に強い人、やってみない?
#VBとかで一から書いてもいいと思うし。初学者への練習問題とかさ。

その他、エスカレーターの輸送効率に関して、何か情報(査読つきで、信用できる論文とか)をお持ちの方がいらっしゃったらお知らせくださいませ。

モバイルバージョンを終了