待ち行列理論 ~利用率とかその辺のやつ~

前回の続きします。
待ち行列理論の話です。

ちょっとおさらいですが、待ち行列理論には主に以下の用語が出てきます。

  • ケンドールの記法
  • 平均到着率(λ)
  • 平均処理率(μ)
  • 利用率(ρ)
  • 平均サービス時間
  • 平均待ち時間
  • 平均応答時間

で、最初のケンドール記法については前回まとましたので、その次から。

平均到着率とは何か?ですが、前回コンビニで例えたと思うので、今回もコンビニで例えます。
コンビニで言うと、単位時間当たりにレジに何人お客さんが来るか、ってことです。
例えば、あるコンビニでは1時間あたりに平均で6人ぐらいお客さん来ます、としたら6/時間で、0.1/分って数値です。


つづいて平均処理率ですが、これもコンビニで例えましょう。ってか、全部コンビニで例えます。
これは単位時間あたりにレジが何人のお客さんをさばけるか、ってことです。
1分間で4人のお客さんをさばけるなら、平均処理率4人/分になります。
で、このついでに平均サービス時間の話をしておきます。平均サービス時間は一人のお客さんをどれぐらいの時間でさばけるか、ってことです。
上の例えで、平均処理率4人/分ならば、1分÷4人で15秒。1人のお客さんを15秒でさばけるので、平均サービス時間は15秒です。


では次、利用率についての説明です。このへんから少し難しくなってきます。
結果から言うと、利用率平均到着率÷平均処理率で求められるのですが、これだとちょっとイメージ湧かないので、ちょっと掘り下げます。

上の式よりイメージが湧く式は平均サービス時間÷平均到着間隔です。
平均到着間隔をリストに挙げるの忘れてましたが、こちらも待ち行列理論の用語です。
これは、平均到着率が3人/分とすると、平均到着間隔20秒になります。1分に3人来るってことは20秒に1人お客さんが来るってことだよね、って考え方です。

で、利用率の話に戻りますが、平均到着間隔20秒で、平均サービス時間15秒だったとき、レジの利用率は15÷20で0.75です。20秒に1人お客さんが来て、15秒でさばけたとき、次のお客さんが来るまで5秒余りますよね。ということは1分のうち、お客さんを相手してる時間は45秒です。45秒は60秒の75%ですので、1分のうちに75%レジが利用されているということです。
こんな感じ。ちょっとややこい。


残るは平均待ち時間平均応答時間ですが、長くなってきたので次回に。
では。

情報技術者試験編!~待ち行列理論~

どうもキットです。
昨日、cakePHPをやっていきますと高らかに宣言しましたが、撤回します。
情報技術者試験の勉強をやっていかないと本気でやばいことに気づきました。

ということで、今日からはドットインスール編を一時休止し、情報技術者試験編に突入していきます!

さて、さっそくですが今日は応用情報のテキストを読んでおりました。
Amazon.co.jp: 情報処理教科書 応用情報技術者 2014年版 (EXAMPRESS): 日高 哲郎: 本
f:id:bird_cage313:20140304220307j:plain
これですね。

この本で勉強しておりました。
コンピュータの基礎知識のところを読んでたんですが、この本、個人的にはちょっとわかりにくいかなー。
待ち行列理論とかいっつも混乱するんですが、この本サラッと公式しか書いてないんですよね。
公式覚えるのも大切なんですが、なんでそうゆう公式になるのか、っていう概念というか、背景がわかってないと覚えにくいし応用も効かないと思うんですが。

こちらのサイト様がわかりやすく書いていただいてたのですが
待ち行列理論(M/M/1モデル)がようやく分かった(情報処理技術者試験レベルで) - pmekyky385の日記


ます、待ち行列理論で出てくる用語を整理しましょう。

  • ケンドールの記法
  • 平均到着率(λ)
  • 平均処理率(μ)
  • 利用率(ρ)
  • 平均サービス時間
  • 平均待ち時間

まあこれだけありまして、さらにケンドールの記法では下記の単語もでてきます。

  • サービス要求の発生頻度分布
  • サービス時間分布
  • サービス窓口の数

ではまずケンドールの記法から見ていきます。
これはどんなものかっていうと、M/M/1とかって表記されるようなやつなんですが、

最初のMがサービス要求の発生頻度分布
次のMがサービス時間分布
最後の1がサービス窓口の数

です。

待ち行列理論をコンビニで例えてみますと、
サービス窓口の数っていうのがレジの数です。1個って少ないですねー。
で、サービス時間分布っていうのは1回の処理時間の分布です。Mっていうのはランダムですよってことなんですが、
コンビニでいうと1人のお客さんにかかるレジの時間はランダムですってことです。全てのお客さんを1分でこなせます!って言えないですもんね。レジに持ってくる商品の量もわからないのに。それと同じでサーバーでも1回でどれぐらいの処理要求があるかわからないので、大抵ランダムだと思います。
んで、サービス要求の発生頻度分布がコンビニでいうとお客さんがレジに来る頻度です。こちらもMはランダムですってことです。
1時間でお客さんが20人絶対来ます!とはいえなくて、1時間で5人来るか、10人来るかわかりませんよ、ってのがランダムってことです。

ケンドールの記法は基本はこのM/M/1を覚えときゃいいかな、って思ってます。

ちょっと長くなってきたので、続きは次回やります。