基礎知識 広告

【情報処理基礎】待ち行列はキューの概念から一歩先に進んだ考え方である。計算方法はしっかり押さえておくこと。

【情報処理基礎】待ち行列はキューの概念から一歩先に進んだ考え方である。計算方法はしっかり押さえておくこと。
記事内に商品プロモーションを含む場合があります

情報工学で習う内容に待ち行列というものがあります。

待ち行列はキューを応用した考え方であり、実際に情報処理の分野でも使われることが多いものです。

1つの窓口で処理するケース、複数の窓口で処理するケースがありますが、普通にSEやPGの仕事をする上では、1つの窓口で処理するケースM/M/1モデルを理解しておくだけで十分です。

複数の窓口で処理する計算はかなり複雑になるうえ、プログラムの処理のし方で1つのキューにたまったデータを複数のプロセスに渡してキューのデータを処理していくという実装方法を取ることはあまりないからです(負荷分散のために取ることはありそうですが今まで自分が関わったプロジェクトではM/M/nモデルの待ち行列は使ったことがありませんでした)。

情報処理試験にも時々出る内容(午前、午後問わず)なので、情報処理試験の合格を目指すのであればしっかりと理解しておきましょう。

待ち行列のM/M/1モデルとは一体何か?

待ち行列が情報処理試験で問われる場合、ほぼ確実にM/M/1モデルに関して問われます。

では、このM/M/1とはいったいどういう意味でしょうか?

まず、最初のMですが、処理や人が到着するのは一定間隔ではなく、ランダムであるということです。

このランダムにやってくる人や処理はポアソン分布に従います(ポアソン分布の詳細に関しては知っておく必要はなく、名前を知っているだけで十分です)。

そして、2番目のMですが、これは処理時間がランダムであるということです。

駅のみどりの窓口で並んでいるとき、やたら時間がかかっている人とスムーズに短時間で終わっている人を見かける通り、処理時間は人や処理によって一定ではありません。

この処理時間は指数分布に従います(指数分布も詳細を知っておく必要はなく、名前だけを知っておけば大丈夫です)。


最後の1は窓口の数ですね。

情報処理の基礎知識として知っておく場合はここは1の場合のみを考えればいいです。

ここが1以外の場合は考え方が複雑になり、専門的になるため、高度な知識を得ることが目的でなければ窓口が複数のモデルは覚える必要がありません。

なので、待ち行列はM/M/1モデルのみを知っておけば十分です。

待ち行列に関する計算でよく使うもの

利用率(ρ)

行列に並ぶ人や処理の数の平均値

平均待ち時間(行列に並ぶ人や処理の数の平均値に平均サービス時間を乗算したもの)

平均応答時間

ρ(ロー)という文字が出てきますが、数学アレルギーを起こさないように。

考え方は結構シンプルです。

の部分は覚えるしかないですが、それ以外のものは計算により誘導できますのでこんなもんだということだけでもきちんと理解しておきましょう。

平均待ち時間は行列に並んでから窓口にたどり着くまでの平均時間平均応答時間は行列に並んでから窓口でサービスを受け終わるまでの平均時間と考えると、計算式の意味が理解しやすくなります。

なお、平均サービス時間が平均到着時間と等しいか超えると行列が無限にできてしまいます(行列に並ぶ人や処理の数に窓口の処理能力が追い付いていないため)。

なので、ρが取れる値の範囲は0≦ρ<1と考えておくとよいでしょう。


待ち行列に関しても演習問題を用意しています。

以下の問題を解いて、しっかり理解できているか確認しましょう。

演習問題1

M/M/1モデルの待ち行列に関して、平均到着間隔が8分、平均サービス時間が6分の窓口を考えます。

この窓口の利用率はいくらになるでしょうか?

ただし、この窓口に到着する処理はポアソン分布に従い、窓口のサービス時間は指数分布に従うものとします。

演習問題2

演習問題1の窓口の平均待ち時間と平均応答時間を計算してください。

単位は分で答えてください。

演習問題の回答

演習問題1

利用率(ρ)=平均サービス時間÷平均到着間隔=6÷8=0.75

演習問題2

平均待ち時間は(ρ/(1-ρ))×平均サービス時間なので、演習問題1で求めたρの値を利用して、(0.75)/(1-0.75)×6 = (0.75/0.25)×6=18(分)

平均応答時間は、平均待ち時間にさらに平均サービス時間を足して、
18+6=24(分)
(もちろん、(1/(1-ρ))×平均サービス時間で計算しても問題ありません)


出来ましたでしょうか?

まとめ

今回お話しした内容は主に以下の通りです。

  1. M/M/1モデルとはいったい何なのか?
  2. ポアソン分布、指数分布はとりあえず言葉だけ覚えておくとよい。
    この2つの分布について詳しく勉強すると大学教養レベルになるため。
  3. 利用率、待ち行列に並ぶ人やデータの数、平均待ち時間、平均応答時間に関する計算方法

待ち行列はキューを使った応用的な知識となりますが、情報処理試験でも問われやすい内容です。

M/M/1モデルの待ち行列の計算自体は簡単なので、もし問われた場合は絶対に落としたくない問題でもあります。

そのため、待ち行列の概念を理解したうえで、資格取得のためにも、実務のためにもしっかり役立てていくようにしましょう。

今回の記事はここまでとなります。
また次の記事でお会いしましょう。