待ち行列理論の説明(会話風)
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子
登場人物紹介ページはこちら