待ち行列理論の説明(会話風)

A子
まさに『長蛇の列』ね

B美
たしかに1本の列がぐにゃぐにゃと曲がりくねってて、蛇みたいだけど…

C菜
昼休みの銀行ATMって、有名ラーメン店の行列くらい大変です~

B美
まぁ、こうしてる間にも、私たちの後ろにどんどん人の列が延びてるんだけどね(苦笑)

A子
ロープまで張っちゃってさぁ
6台のATMそれぞれに並べば良いじゃん

B美

C菜
ATMの台数が増えるわけでもないし、人の数が減るわけでもないのに~

A子
列が1本だと、その列ってどうしても長くなるわよね
それを見た利用者がうんざりして並ぶのを止めるから!
どうよ(ドヤ顔)

B美
ドヤ顔は止めろっつーの
てか、不正解だから!(まぁ、少しはその効果もあるかもだけど…)

C菜
わざわざ列を1本にする理由~?

B美
正確には「待ち行列理論」によって明らかになっているから…かしらね

A子
この話はまたあとでね

B美
あなたたちには「待ち行列理論」の基礎の基礎について講義してあげましょう

A子
難しそうだし…

C菜

A子
光秀なの?

C菜
ここは本能寺じゃありませんよ~

B美
まずは窓口が1個しかない場合ね
あ、ATMで言えば1台しかないって場合よ

C菜

B美

A子
ATMに限らず全ての窓口、えーっと例えばコンビニやスーパーのレジとか、役所の窓口とかもそうなるかな

B美
そう、この世にある様々なサービスの窓口は、だいたいそういうものなのよ
さて、それでは利用者のやってくる時間間隔を『Ta』、日本語では『平均到着時間間隔』としましょう。
次に、窓口を利用する時間を『Ts』、日本語では『平均サービス時間』とします。
ここまでは良いかな?

C菜

B美
『Ts』の逆数を『μ』として、『平均サービス率』と呼称します
要するに、ある時間内にどれだけの人がやってくるかが『λ』で、ある時間内にどれだけの人にサービスを提供できるかが『μ』ってことなのよ

A子
えっと、『λ=1÷Ta』で、『μ=1÷Ts』ってことで良いのかな?

B美
あとは、『平均待ち時間』を『Tw』と表記し、これを計算で求めていくわけよ

C菜

B美
最も重要な『ρ』、日本語では『窓口利用率』ね
これは「λ÷μ」、言い換えれば「μ分のλ」で求められるの

A子

B美
まぁ、呼び方はどうでもいいんだけど…
要するに100の能力があるのに、その能力を60しか使ってなけりゃ、ρは0.6ってことよ

C菜

B美
その例だと『λ』が30で、『μ』が40ってことになるのよ


B美
ちなみに、Tsはμの逆数だから40分の1(0.025時間)ってことになるんだけど、さっきの単位は「時間」だったから「分」に換算すると1分半(90秒)ってことになるわね

C菜
それに1分半を掛けるということは…
分かりました~
待ち時間Twは4分半になりますです~

B美
あ、待ち時間は4分半なんだけど、自分が窓口を利用する時間が1分半だったらそれを足して、トータルで6分ってことになるわね

A子
てかさ、利用率が0.9つまり90%とかだと、Tsの9倍の時間だけ待たされるってことになるじゃん
うーん、計算は簡単だから暗算できそうではあるけどね

C菜
公式も簡単で憶えやすいです~

B美
『M/M/1』の待ち行列と…

A子

B美
余談だけど、この書き方を「ケンドール記号」と呼びます。
では窓口数が2個だったらどうなると思う?
あ、列はそれぞれの窓口ごとに作るとして…

A子

B美

C菜

B美
窓口が2個あっても、それぞれに列を作る場合は『M/M/1が2つある』と考えるのよ
もちろん窓口利用率であるρは2で割るから半分になるわ
あ、でもね、A子の言った『M/M/2』という表現も実は存在するの
それこそが「行列を1本」にした場合なのよ

A子

B美
M/M/1が6個あるよりも、M/M/6一つのほうが劇的に待ち時間が少なくなるってこと

A子



B美
あ、mは窓口数のことね

A子

C菜

B美
こんなのを手計算なんて、とてもじゃないけどやってられないわよね


B美
ここって無料のお試しユーザであっても色々な便利機能を利用できるのよ
とりあえず「ユーザID」と「パスワード」の両方に『guest』と入力してから【ログイン】ボタンを押してみて


C菜

B美
うーん、そうね
さっきの例で言うと、【平均到着率】を1時間あたり30件、【平均サービス率】を1時間あたり40件にして、「窓口数」を2、「行列は1本のみ」にしてみましょうか


C菜


A子
あ、もしも「窓口ごとに列を作る」だったらどうなるの?

C菜


B美
窓口が2個の場合
M/M/1では待ち時間が半分の135秒になるんじゃなくて、ρが半分の0.375になるわけ
つまり待ち時間は54秒と、かなり少なくなっていることが分かるわよね

A子
M/M/2の場合の待ち時間を見てよ
なにこの数値、まじ?
ほんとに正しいの?

B美
待ち時間は驚異の約15秒、どうよ(ドヤ顔)

A子
うーん、でも列を1本にするってのが、めちゃくちゃ意味があるってこと、よーく分かったわ
なぜそうなるのかは未だによく分からんけど…

B美

C菜

B美
ちなみに、「待ち行列理論」ってネットワーク技術者の必須知識だからね
複数のサーバとロードバランサを組み合わせて『M/M/m』(ただしm≧2)を作ったりするわけ

A子
登場人物紹介ページはこちら