PR

待ち行列とケンドールの記号-わかりやすい待ち行列理論入門

待ち行列とケンドールの記号-わかりやすい待ち行列理論入門 待ち行列理論
記事内に広告が含まれています。
スポンサーリンク

どうも!初めましての方は初めまして、初心者のWebサイト勉強のとみーです!

確率論の応用としてよく取り上げられるのが、待ち行列です。

とみー
とみー

応用範囲の広い強力な理論です!

今回は待ち行列理論のイントロダクションとして、

待ち行列とは何か?

ということに焦点を当ててわかりやすく解説します。

対象レベル

確率の基本的な知識がある方(高校数学〜大学入門)

確率過程のおすすめ本
わかりやすい待ち行列理論のおすすめ本
詳細に学ぶならこちら
スポンサーリンク

待ち行列理論の待ち行列とは?

待ち行列理論で取り上げる待ち行列は、

サービスを受けるために顧客が行列を作って並ぶ

様子をモデル化したものです。

とみー
とみー

ここでいう「モデル化」は、特定の確率分布に当てはめるような形で確率的な議論を行うという意味です。

待ち行列の具体例

待ち行列は日常生活の至るところに存在するので、具体例もイメージしやすいものがたくさんあります。

待ち行列の具体例

例えば、店舗で買い物をする場合にレジできる会計待ちの列待ち行列です。

この場合、「会計を行い商品の購入を終える」というのがサービスで、このサービスのために顧客は列を作っています。

そのほかにも次のような例があります。

待ち行列の例
  • 電車の到着を待つ人の列
  • 病院の診察待ちの人の列
  • テーマパークのアトラクション入場を待つ人の列
  • コールセンターで電話が繋がるのを待つ人の列
とみー
とみー

コールセンターの場合は物理的に列を作って待つわけではありませんが、サービス待ちをしている人が順番に案内される様子は列そのものですよね。

待ち行列の構成要素

ここまでで待ち行列のイメージはできたでしょうか?

とみー
とみー

ここからは待ち行列をもう少し正確に見ていきましょう。

待ち行列の構成要素

待ち行列には、次の3つの要素があります。

  1. 列を作るもの
  2. サービスを提供するもの
  3. 列そのもの

1つずつ見ていきましょう。

待ち行列の顧客

待ち行列の構成要素-顧客

待ち行列の構成要素の1つ目は

サービスを受けようと列を作っているもの

です。

多くの場合は人なので一般的には顧客と呼ばれますが、列を作るのが人ではないケースというのも存在します。

例えばコンピューター内では色々な処理が動いており、ある処理が終わったら次の処理、という具合に「処理待ちの列」ができています。

とみー
とみー

こうした場合に顧客と呼ぶのは不自然ですよね。。。

そのため、必ずしも顧客と呼ばれるわけではなく、文脈や考察の対象に応じて呼び名が変わることに注意しましょう。

コンピュータで処理を待っているものはジョブと呼ばれます。

待ち行列のサーバー

待ち行列の構成要素-サーバー

待ち行列の構成要素の2つ目は

サービスを提供するもの

で、一般的にはサーバーと呼ばれます。

コンピューターやプログラミングの話で登場するサーバーではありません。

とみー
とみー

言い換えれば、顧客がどこから/誰からサービスを受け取るかということです。

上で挙げた待ち行列の例のそれぞれについて、サーバーは次の通りです。

待ち行列の例とそのサーバー
  • 電車の到着を待つ人の列
    • 電車
  • 病院の診察待ちの人の列
    • 診察を担当する医者
  • テーマパークのアトラクション入場を待つ人の列
    • アトラクション
  • コールセンターで電話が繋がるのを待つ人の列
    • コールセンター(で電話対応するスタッフ)

待ち行列の列

待ち行列の構成要素-列

待ち行列の構成要素の3つ目は

顧客が作る列そのもの

です。

レジ待ちのように物理的な列もあれば、コールセンターの電話待ちのように存在しないものの仮想的に考えられる列もあります。

ただし、待ち行列として考えるにはいずれの場合も FIFO というルールに従う必要があります。

専門性を活かした就活で差をつけよう!

確率や統計の専門性は理系の就活でかなり優位に働きます。

そのため、エンジニア就活特化のプラットフォームを使えば他では見られない高待遇な就職先が見つかります!

特徴 リンク
UZUZ理系
  • 内定率 86% 以上!
  • ブラック企業徹底排除
  • 機械・電気電子・情報系は特に求人多数
【UZUZ】
エンジニア就活
  • 未経験から即戦力まで幅広く対応
  • IT企業特化の企業研究・就活コラム
  • 企業から直接スカウトも!
【エンジニア就活】
レバテックルーキー
  • 書類通過率 90% 以上
  • プログラミング経験者限定のハイクラス求人
  • 新卒年収 500 万円以上の求人も!
レバテックルーキー

経験不足で大丈夫かな…という方はプログラミングスクールでスキルアップしておくとバッチリです。

特徴 リンク
エンジニアズゲート
  • 完全無料のプログラミングスクール!
  • 95% 超えの就職率
  • 専任のキャリアアドバイザーがサポート
エンジニアズゲート
TechAcademy
  • Web 制作・アプリ開発・AI など幅広いコース
  • 学割あり
  • 初心者からでも副業できるレベルのスキルが身に付く!
テックアカデミー無料体験
とみー
とみー

エンジニアズゲート は特に完全無料なので検討の余地ありです!

スポンサーリンク

FIFO (First In First Out) とは?

FIFO (First In First Out)

FIFO (First In First Out) は日本語に直すと「先入れ先出し」、つまり

早く並び始めた人から早くサービスを受けられる

というルールです。

日常生活で目にする列は基本的に FIFO となっていますが、例外的に列の順番が変わることもありますよね。

列の順番が変わる例
  • 地位の高い人を優先的に案内する
  • 列の途中に知人を見つけたのでそこに合流する
  • 並び疲れたので途中で諦めて列を抜ける
  • 病院の診察を待っていたら救急患者が搬送された

このような場合は FIFO が成り立たなくなってしまうので、待ち行列として扱うことができません。

とみー
とみー

1度列に並んだら最後まで待ち続ける!途中入りはしない!そんな列なら大丈夫です。

スポンサーリンク

待ち行列モデルの分類

待ち行列は応用範囲が広いため、待ち行列と一口に言っても色々な種類、モデルがあります

とみー
とみー

全部を一緒くたに扱うのは限界があるのです。。。

そのため、一定の基準にしたがって待ち行列モデルを分類し、分類されたモデルごとに分析するのが一般的です。

ここからはどのように待ち行列モデルを分類し、それぞれのモデルがどのように表されるかを見ていきましょう。

待ち行列モデルの分類基準

待ち行列モデルの分類

モデルの分類は、以下の3つの要素をもとにして行われます。

  1. 到着の確率分布・確率過程顧客はどのように列に到着するか
  2. サービス時間の確率分布サービスはどのくらいの時間で提供されるか
  3. サーバー数サーバーはいくつあるか

1つずつ順番に見ていきましょう。

到着の確率分布・確率過程

待ち行列理論では、顧客の到着を確率分布でモデル化します。

より正確には、

到着間隔を確率分布でモデル化

します。

とみー
とみー

実際は「到着間隔は指数分布にしたがう」と仮定することが多いです。

ちなみに、到着間隔が指数分布にしがたう場合、到着数はポアソン過程にしがたいます

指数分布はマルコフ性を持つという特徴があります。

マルコフ性は過去の到着やサービスの情報を考慮しないという性質なので、マルコフ性を使うと時間的な依存関係を簡略化してモデル化できるというメリットがあります。

とみー
とみー

現在の状態に基づいて次の状態への遷移確率を定義するため、顧客の到着やサービス終了などのイベントの発生確率をモデル化するのに適しています。

また、到着数はポアソン過程に従いますが、ポアソン分布は平均発生回数が一定の事象がランダムに発生するシステムをモデル化するのが得意です。

したがって、ランダムに発生する事象をモデル化するために、多くの場合発生間隔に指数分布を仮定します。

その上、マルコフ性を持つ唯一の連続型確率分布は指数分布という性質もあるため、連続時間においてマルコフ性を使って解析を行う上で、指数分布以外を採用することが少ないのです。

サービス時間の確率分布

待ち行列理論では、

サービスにかかる時間も確率分布でモデル化

します。

とみー
とみー

ここでも「サービス時間は指数分布にしたがう」と仮定することが多いです。

到着間隔と同様に、サービス時間が指数分布にしがたう場合、サービス数はポアソン過程にしがたいます

サーバー数

待ち行列モデルを決定付ける3つ目の要素はサーバー数です。

これは単純に

サービスを提供できるサーバーがいくつあるか

という数です。

到着の確率分布・確率過程やサービス時間の確率分布とは異なり、サーバー数は設定によって様々です。

また、サーバーが十分多く存在する場合は∞として扱うこともあります。

待ち行列モデルを表すケンドールの記号

ケンドールの記号

以上の3要素

  1. 到着の確率分布・確率過程
  2. サービス時間の確率分布
  3. サーバー数

で待ち行列モデルは分類されますが、それぞれのモデルを表すためにはケンドールの記号という表現方法が使用されます。

ケンドールの記号は、列を

到着の確率分布/サービス時間の確率分布/サーバー数

のように表します。

それぞれのフィールドは、記号を使って例えば「M/M/1」のように表現します。

とみー
とみー

以下ではどの分布がどの記号で表されるかを見ていきましょう。

到着の確率分布を表す記号

到着の確率分布は、次の表にしたがって表します。

記号 到着間隔の確率分布 到着数の確率過程 説明
M 指数分布 ポアソン過程 M は Markovian(マルコフ連鎖)を表す
G 一般分布 G は General(一般)を表す

指数分布は、連続型確率分布の中で唯一マルコフ性を持っています。

とみー
とみー

そのため、M(Markovchain)と書けば指数分布を表します。

一般分布というのは任意の分布を表します。一般分布という確率分布が存在するわけではないので注意しましょう。

サービス時間の確率分布を表す記号

サービス時間の確率分布は、次の表にしたがって表します。

記号 サービス時間の確率分布 サービス数の確率過程 説明
M 指数分布 ポアソン過程 M は Markovian(マルコフ連鎖)を表す
G 一般分布 G は General(一般)を表す

到着の確率分布・確率過程もサービス時間の確率分布も他の記号がありますが、ほとんどの場合 M と G だけを押さえておけば十分です。

サーバー数を表す記号

サーバー数は数字をそのまま使います。

とみー
とみー

サーバー数が1なら1,十分多くあるなら∞です。

ケンドールの記号を使った待ち行列モデルの表記例

以上が整理できたら、いくつか例を確認しておきましょう。

待ち行列モデルの表記例
  • M/M/1
    • 到着間隔、サービス時間が指数分布にしたがい、サーバーが1つの待ち行列モデル
  • M/M/∞
    • 到着間隔、サービス時間が指数分布にしたがい、サーバーが十分多く存在する待ち行列モデル
  • M/G/1
    • 到着間隔が指数分布、サービス時間が一般分布にしたがい、サーバーが1つの待ち行列モデル

M/M/1 待ち行列は、待ち行列理論における最も基本的なモデルとして扱われています。

確率過程のおすすめ本
わかりやすい待ち行列理論のおすすめ本
詳細に学ぶならこちら

まとめ

今回は、待ち行列理論のイントロダクションとして待ち行列とケンドールの記号についてご紹介しました。

とみー
とみー

待ち行列理論の記事は今後追加していく予定です!

スポンサーリンク

コメント

タイトルとURLをコピーしました