talosのプログラミング教室

【基本・応用情報技術者】M/M/1モデルにおける計算

スポンサーリンク

こんにちは。talosです。

今回は応用情報技術者試験で頻出の「M/M/1モデルにおける計算」を解説します。

基本情報技術者試験でもシラバスには入っているので出るかもしれません。

(ざっと調べたところ出たことはなさそう)

難しいですが、覚えてしまえば点を取りやすい分野なので学習しておきましょう。

M/M/1モデルとは

M/M/1モデルは待ち行列理論において最も基本的なモデルです。

そもそもこの書き方はケンドール記法と呼ばれ、「到着の分布/サービス時間の分布/窓口の数」というように書きます。

到着の分布におけるMはポアソン分布で、到着がランダムであることを表しています。

サービス時間の分布におけるMは指数分布で、こちらもサービス時間がランダムであることを表しています。

窓口数が1であるということは、行列は1つであることを表しています。


実際の事例に当てはめて考えてみます。

M/M/1モデルの事例

買い物をするときレジに並びます。

M/M/1モデルに従っているとすると、「次にレジに並ぶ人が来る間隔はばらばら」、「自分のお会計の番が来てから終わるまでの時間は人それぞれ」、「レジとその行列は1つである」ということになります。

M/M/1モデルにおける計算

平均到着率 λ 、平均到着(時間)間隔 t_λ

平均到着率は単位時間あたりに到着する客の数、平均到着間隔は客が到着する時間間隔の平均です。

平均到着率と平均到着間隔はぞれぞれお互いの逆数で表せます。

λ=\frac{1}{t_λ}

{t_λ}=\frac{1}{λ}

平均サービス率 μ、平均サービス時間(平均処理時間) t_s

平均サービス率は単位時間あたりに窓口がサービスを提供できる件数、平均サービス時間は1人の客に対するサービスの平均所要時間です。

平均サービス率と平均サービス時間はそれぞれお互いの逆数で表せます。

μ=\frac{1}{t_s}

{t_s}=\frac{1}{μ}

(窓口)利用率 ρ

窓口が利用されている割合です。

様々な形で表せますが、割合なので同じ単位を持つもの同士の割り算である\frac{平均サービス時間}{平均到着間隔} が一番覚えやすいと思います。

直感的に覚えるのは難しいので公式として覚えましょう。

ρ=t_s/t_λ

平均待ち時間 t_w

待ち行列に並んでからサービスが開始されるまでの時間の平均です。

t_w=\frac{ρ}{1-ρ}×t_s

イメージとしては\frac{ρ}{1-ρ}は行列に並んでいる客の数+サービス中の客の数です。

客の数に1人あたりのお会計の平均時間(=平均サービス時間)をかけるとだいたいの待ち時間がわかりますよね?

平均応答時間 t_q

待ち行列に並んでからサービスが終了するまでの時間の平均です。

待ち時間にサービス時間を足すだけなので分かりやすいですね。

t_q=t_w+t_s




それでは例題を解いてみましょう。



スポンサーリンク




例題

あるレジでは1分あたりにレジに並ぶ客数の平均は1人、1人あたりのお会計にかかる時間の平均は45秒である。

(1) 平均到着間隔(秒)を求めよ。

(2) 利用率を求めよ。

(3) 平均待ち時間(秒)を求めよ。

(4) 平均応答時間(秒)を求めよ。














解答と解説

(1)
1分あたりにレジに並ぶ客数の平均は1人なので単位を秒に合わせて計算すると、

60/1=60

よって、正解は60秒。


(2)
利用率は

ρ=t_s/t_λ

で求まります。

問題から平均サービス時間t_s=45秒、(1)から平均到着間隔t_λ=60秒なので、利用率は

ρ=45/60=0.75

よって、正解は0.75。


(3)
平均待ち時間は

t_w=\frac{ρ}{1-ρ}×t_s

で求まります。

利用率ρ=0.75、平均サービス時間t_s=45秒なので、平均待ち時間は

t_w=\frac{0.75}{1-0.75}×45=135

よって、正解は135秒。


(4)
平均応答時間

t_q=t_w+t_s

で求まります。

平均待ち時間t_w=135秒、平均サービス時間t_s=45秒なので、平均応答時間

t_q=135+45=180

よって、正解は180秒。

おわりに

今回はM/M/1モデルの計算について解説しました。

覚えてしまえば点を取りやすく、満点も狙えるのでしっかり復習しておきましょう。