目次(まとめ)
◾️ 待ち行列理論とは、サービスを受けるための行列についての理論
◾️ ケンドールの記号をつかって待ち行列を表現する
◾️ M/M/1の待ち行列モデルは情報処理試験に頻繁に出題されます
こんにちは、みっちゃんです。
今回の記事では、いろいろなサービスを受けるために待っている人(やデータ)の行列を表現するための手法である「ケンドールの記号」について紹介します。
待ち行列理論とは、サービスを受けるための行列についての理論
わたしたちの身近では、ATMの前や、スーパーの安売り日、新しい商品の発売日などに、多くの人が行列を作っている光景がみられます(最近では、距離を保って並ぶ感じになってきました)。
ここでは、この「行列」がどのように生じているのか考えてみます。
例えば、ATMの周辺には、「ATMという機械」と「ATMを利用している人」、「待っている人」という3者関係によって行列が生じています。
「ATMという機械」が多ければ多いほど行列は解消され、「ATMを利用している人」が長く滞在すればするほど行列が長くなり、「待っている人」が多ければ多いほど行列が長くなります。
このような行列を理論的に解析するために「待ち行列理論」というものが存在します(名前が意味するままですね)。
面白いのは、待ち行列というのは、人だけでなく、コンピュータ内のデータについても考えることができます。
つまり、何らかのシステムがあって、そこにデータを入力していくとき、ある程度の「待ち時間」が生じるため、データが「待ち行列」を作ることになります。
ケンドールの記号をつかって待ち行列を表現する
イギリスの統計学者であるデービッド・ケンドール(David George Kendall)さんは、待ち行列を表現するための記号を導入しました。
ケンドール記号は「A/B/C/D」という形式で、待ち行列を表現します。
A: データが到着する過程
例えば、マルコフ過程(Markov process)にしたがってデータが到着する場合には、頭文字をとって「M」と表現する。
B: サービスを提供する時間の分布
例えば、マルコフ過程(Markov process)にしたがってサービスを提供する場合には、頭文字をとって「M」と表現する。
C: サービスの数
例えば、ATMの例で考えると、ATMの台数に対応する。数に応じて「1」などと表現する。
D: システムの容量
無限にあると考える場合には、書かなくてよい。
ここで、マルコフ過程とは、未来のことは現在が決めて、過去には依存しないことを意味します。データ到着(A)とサービス提供(B)がともにマルコフ過程にしたがう場合、待ち行列が伸びていく時間と待ち行列が短くなっていく時間が「指数分布」にしたがうことになります(指数分布については、こちらの記事をご覧ください)。
M/M/1の待ち行列モデルは情報処理試験に頻繁に出題されます
情報処理試験では、例えば「平均待ち時間」に関連する問題が出題されています。
「平均待ち時間」は、以下の式で計算することができます。
$$(平均待ち時間) = (平均サービス時間) \times \frac{(利用率)}{1-(利用率)}$$
必要に応じて、公式を覚えていきましょう。