対象試験と出題頻度
待ち行列理論(M/M/1モデル)は、基本情報技術者・応用情報技術者で出題されるテーマです。
公式を使った計算問題が中心で、「利用率」「平均待ち時間」「平均サービス時間」の関係を正しく使いこなせるかが問われます。
R6秋期 応用情報 午前問1、R1秋期 応用情報 午前問3、R3年度 基本情報 問3・問5など、複数の試験区分で繰り返し出題されています。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
用語の定義
情報処理試験を勉強していると、「M/M/1って何の略?公式を丸暗記するしかないの?」と混乱しがちです。
待ち行列理論(M/M/1モデル)とは、一言で言うと
「窓口が1つ、客の到着がランダム、処理時間もランダムという条件で、平均待ち時間を数学的に求めるモデル」
のことです。
イメージとしては、「コンビニのレジが1台しかない店で、お客さんがバラバラに来る状況の混み具合を計算する方法」です。
レジが1台(窓口1つ)、お客さんはいつ来るか分からない(到着がランダム)、会計にかかる時間も人それぞれ(処理時間がランダム)。この3つの条件が揃った場面で「平均どのくらい待つのか」を計算できるのがM/M/1モデルです。
📊 待ち行列理論(M/M/1モデル)の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Queueing Theory / M/M/1 Queue |
| M/M/1の意味 | 到着間隔=Markov(ランダム)/ サービス時間=Markov(ランダム)/ 窓口=1つ |
| 分野 | 応用数学(オペレーションズリサーチ) |
| 核心 | 利用率(ρ)が分かれば、公式一発で平均待ち時間が出る |
解説
コンピュータシステムでは、CPU・プリンター・通信回線など「1つの装置に複数のリクエストが集中する」場面が日常的に発生します。
処理が追いつかなければリクエストは列を作って待つことになりますが、「どのくらい待つのか」を感覚ではなく数値で見積もる手段として、待ち行列理論が使われてきました。
M/M/1の「M/M/1」とは何か
待ち行列モデルは「a/b/c」の3つの記号で条件を表します。aは客の到着間隔の分布、bはサービス時間の分布、cは窓口の数です。
「M」はMarkov(マルコフ)の頭文字で「ランダム(指数分布)」を意味します。
つまりM/M/1は「到着がランダム(ポアソン過程)、サービス時間がランダム(指数分布)、窓口が1つ」という最もシンプルな待ち行列モデルです。
覚えるべき公式
試験で必要な公式は以下の3つだけです。まず利用率ρ(ロー)を求め、それを待ち時間の公式に当てはめる流れになります。
📐 M/M/1モデルの公式
| 公式名 | 式 |
|---|---|
| 利用率(ρ) | ρ = λ ÷ μ λ=平均到着率、μ=平均サービス率 |
| 平均待ち時間(Wq) | Wq = ρ ÷ (1 − ρ) × Ts Ts=平均サービス時間(= 1/μ) |
| 平均応答時間(W) | W = Wq + Ts =待ち時間+サービス時間 |
▶ 公式を使った計算例(クリックで展開)
問題:1件の伝票の平均処理時間が10秒、1秒あたりの平均到着数が0.04件のとき、平均待ち時間を求めよ。
手順1:利用率を求める。
λ = 0.04件/秒、μ = 1/10 = 0.1件/秒
ρ = 0.04 ÷ 0.1 = 0.4(40%)
手順2:平均待ち時間を求める。
Wq = 0.4 ÷ (1 − 0.4) × 10
= 0.4 ÷ 0.6 × 10
= 2/3 × 10
≒ 6.67秒
答え:平均待ち時間は約6.67秒。
利用率と待ち時間の関係
公式を見ると、利用率ρが1(100%)に近づくほど分母の(1−ρ)がゼロに近づき、待ち時間が急激に増大することが分かります。利用率50%を超えると待ち時間がサービス時間を上回り始め、80%を超えると爆発的に長くなります。
📊 利用率と平均待ち時間の関係(平均サービス時間=10秒の場合)
| 利用率(ρ) | ρ/(1−ρ) | 平均待ち時間 | 体感イメージ |
|---|---|---|---|
| 0.2(20%) | 0.25 | 2.5秒 | ほぼ待たない |
| 0.5(50%) | 1.00 | 10.0秒 | 待ち=処理と同じ |
| 0.8(80%) | 4.00 | 40.0秒 | かなり混雑 |
| 0.9(90%) | 9.00 | 90.0秒 | パンク寸前 |
📈 利用率が上がると待ち時間はこう伸びる(棒グラフ・Ts=10秒)
20%
50%
80%
90%
← 利用率(ρ) →
ここだけは確実に押さえてください。
「利用率50%で待ち時間=サービス時間」という境目は、試験の選択肢を絞る最強の目安です。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 M/M/1モデルの核心を3行で
・到着がランダム/処理時間がランダム/窓口1つの条件で平均待ち時間を求める数理モデル
・公式は Wq = ρ/(1−ρ) × Ts。利用率ρ = λ/μ をまず計算するのがスタート地点
・利用率50%を境に待ち時間がサービス時間を超え始め、90%付近で爆発的に増大する
試験ではこう出る!
待ち行列理論は、応用情報技術者の午前問題で特に高い頻度で出題されています。基本情報でもモデルの前提条件を問う問題が登場しており、「計算」と「条件の理解」の2パターンを押さえれば得点源にできます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R6秋 午前 問1 |
利用率が25%→40%に増えると平均待ち時間は何倍になるか。 | ・公式にρを代入して比率を求める計算力 ・R4春 問3と同一の流用問題 |
| AP H26秋 午前 問3 |
平均待ち時間がT秒以上になる利用率の境目を求める。 | ・ρ/(1−ρ)≧1 を解いてρ≧0.5を導く ・H30秋 問2で再出題 |
| FE R3年度 問3 |
回線利用率が徐々に増加する場合、平均回線待ち時間が平均伝送時間より長くなるのは利用率が幾つを超えたときか。 | ・AP H26秋 問3と同じロジック ・正解は0.5 |
| FE R3年度 問5 |
M/M/1の条件に反しないものを選ぶ問題。 | ・「先着順にサービス」が条件に合致 ・到着間隔の操作やバッファ制限はM/M/1に反する |
📝 IPA試験での出題パターン
パターン1:「利用率の変化で待ち時間は何倍になるか」
公式にρを2回代入して比率を出す計算問題。変化前と変化後それぞれでρ/(1−ρ)を計算し、割り算するだけ。公式を覚えていれば30秒で解ける。
パターン2:「待ち時間がサービス時間を超える利用率は?」
ρ/(1−ρ)≧1 の不等式を解く問題。答えは常にρ≧0.5(50%)。この結論を暗記しておけば即答できる。
パターン3:「M/M/1の前提条件を選べ」
FEで出題される知識問題。「到着がランダム」「サービス時間がランダム」「窓口1つ」「先着順」「列の長さに制限なし」の5条件に反しない選択肢を選ぶ形式。
試験ではここまででOKです。ケンドールの記法の詳細やM/M/c(窓口複数)モデルまで問われることはないので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. M/M/1の待ち行列モデルにおいて、平均待ち時間が平均サービス時間以上になるのは、利用率が少なくともいくつを超えたときか。
- A. 利用率が0.3(30%)を超えたとき。到着間隔がサービス時間の3倍を超えると急激に混雑するため。
- B. 利用率が0.8(80%)を超えたとき。窓口がほぼ常時占有される状態に達し、ようやく待ちが処理時間を超える。
- C. 利用率が0.5(50%)を超えたとき。ρ/(1−ρ)が1を超え、待ち時間がサービス時間を上回り始める。
正解と解説を見る
正解:C
解説:
M/M/1モデルの平均待ち時間は Wq = ρ/(1−ρ) × Ts で求まります。Wq ≧ Ts となる条件は ρ/(1−ρ) ≧ 1、すなわちρ ≧ 0.5 です。利用率が50%を超えた瞬間に、平均待ち時間が平均サービス時間を上回ります。
選択肢Aは誤りです。利用率0.3のとき ρ/(1−ρ) = 0.3/0.7 ≒ 0.43 であり、待ち時間はサービス時間の半分以下にとどまります。選択肢Bも誤りです。利用率0.8では ρ/(1−ρ) = 4.0 となり、待ちはサービス時間の4倍に達しており、「ようやく超える」段階ではありません。
よくある質問(FAQ)
Q. M/M/1の「M」がMarkov(マルコフ)だと分かりましたが、M以外の記号が使われることはありますか?
あります。たとえばサービス時間が一定(固定長)の場合は「D」(Deterministic=決定的)を使い、M/D/1と表記します。到着やサービス時間が一般的な分布に従う場合は「G」(General=一般)が使われ、M/G/1やG/G/1となります。ただしIPA試験で問われるのはM/M/1だけなので、他の記号は参考程度で構いません。
Q. 利用率が100%になったら待ち時間は無限大になるのですか?
そうです。公式の分母(1−ρ)がゼロになるため、数学的には待ち時間は無限大に発散します。現実のシステムでは処理しきれないリクエストが溜まり続け、タイムアウトやシステムダウンを引き起こします。そのためシステム設計では利用率が70〜80%を超えないように余裕を持たせるのが一般的です。
Q. 「平均待ち時間」と「平均応答時間」は何が違いますか?
平均待ち時間(Wq)は「列に並んでから窓口に着くまで」の時間だけを指します。平均応答時間(W)は「列に並んでからサービスを受け終わるまで」の時間であり、W = Wq + Ts(平均サービス時間)の関係です。試験問題では「待ち時間にサービス時間を含むか含まないか」が問題文に明記されるので、どちらを問われているか必ず確認してください。
Q. 実務で待ち行列理論はどのような場面で使われていますか?
Webサーバーのキャパシティプランニングが代表的な活用場面です。「1秒あたり何リクエストまで受けられるか」「レスポンスタイムをN秒以内に抑えるにはサーバーを何台用意すべきか」といった見積もりに待ち行列理論の考え方が使われます。クラウド環境のオートスケール設計でも、利用率の閾値設定の根拠として参考にされています。