• ベストアンサー

待ち行列

M/M/1の待ち行列について 「平均利用率」を「平均の利用してないない率」で割るとなぜ待っている人の人数になるのか分かりません。p/(1-p) 考え方が間違ってるでしょうか? どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.4

>>>>> >すると計算の結果、P1(t)=P0(t) λ/μ となる。 の部分がよくわかりませんでした・・・。 なぜ、「t時間での患者の人数が0人のときの確率」に「利用率」を掛けると「t時間での患者の人数が1人のときの確率」がでるのか、わからなかったです。 私は専門家でもなく経験者でもなく、実は、あなたのご質問を見て面白そうだと思って、付け焼刃で勉強しただけで、そもそも、待ち行列理論という言葉を見たのも初めてでした。 ですから、あなたの方が先輩なんですけど・・・・・   ・・・・・・別に怒ってないので気にしないでください(笑) 今、トリノ五輪フィギュアスケート女子の生中継見てますが、まだ日本人選手が登場する前なので、まーちょっと、あなたに、お付き合いするとしましょーかー ご質問への答えは、前回お教えしたリンクの文中では、えーと 2ページ目 http://www.geocities.co.jp/Technopolis-Mars/5427/math/sw_waitque2.html の中の 「(ア) n=0 の場合  この場合、「時刻 t+Δt に・・・・・・・」 のところからになりますね。 『「時刻 t+Δt に系内に客が1人もいない確率」は P0( t+Δt ) です。』 これは、当たり前なので(Pnの定義はn人いる確率ですから)、問題ないかと思います。 そして、さらに、P0というのは、「2つの場合分け確率の和」であって、それは 場合A: P( A ) = P0( t ) ×( 1 - λΔt ) 場合B: P( B ) = P1( t ) ×μΔt という、たった2つの場合だけしか存在しません。 Δ(でるた)で書くと、わかりにくいかもしれないので、Δt=1分、t=9時30分としましょうか。 (厳密にはこう書くとダメかもしれませんから、真似しないでください) すると、9時31分に病院内に患者がゼロ人である確率は、たった2つのケースに場合分けされて 「9時31分に病院内に患者がゼロ人であるケース」 場合A:   9時30分時点で患者ゼロ、9時31分時点でもゼロ 場合B:   9時30分には患者が1名だけいたけど、その人はその時点で診察中で、9時31分までに診察が終わっちゃった この2つしかないですよね? 場合Aのほうは、わかりやすいと思うので解説しませんが。 もしも場合Bで、患者1名だけなのに、医者が突如便意を催して診察が実際に行なわれていなかったとしても、それは、待ち行列理論では「診察中」として扱います。胃腸のコントロールも医者の診察能力(患者を速くさばく能力)のうちです。 勿論、前の患者の診察を終えて、カルテその他の作業をして、次の患者が呼ばれるまで少し時間がかかっても、それもやはり「診察時間」として扱います。 それから、 場合Bは「患者1名だけだったが9時31分までに診察が終わっちゃった」わけですが、仮にその時点で待ちが1名いたとしたら、すぐに待ち患者が診察に入りまして病院内の患者数はゼロ人になりませんけど、それは、そもそもPnの定義からしてP0の仲間になりませんよね? そして、次が問題なのですが・・・ 「もしも、9時30分~31分に次の患者が来ちゃったら・・・・・?! あるいは(これは、場合Bに限りませんが) 「もしも、ある瞬間に患者2名が同時にやってきたら・・・・・?!」 あと、これは今の計算の段階では問題になりませんが 「もしも、ある瞬間に医者が2名の患者をあっという間に診察したら・・・・・?!」 ここで、リンクの中に書いている「ポアソン分布」の考え方が登場します。 ちょっと長くなりますが、ポアソン分布のイメージを解説します。 最近も「世界一受けたい授業」というテレビ番組で、ちょくちょく出演している秋山仁先生という数学者がいらっしゃいます。 ずっと昔、民放の深夜TVで毎週数学の話をするカルト系の番組がありまして、ある週「ポアソン分布」の説明をしていました。 私は、なかなかうまい例を出すなあ、と感心したんですが、その「例」とは、 「甲子園で行なわれる高校野球で、1試合の中で起こった逆転の回数」 でした。 野球の逆転というのは、毎試合のように頻繁に起こるわけではなく、1回逆転があるものでさえ小さい確率で、さらに1試合の中で再逆転(2回)、3回、4回のシーソーゲーム・・・となると、非常に小さい確率になっていきます。 秋山先生は、甲子園で実際に行なわれた高校野球の試合の記録から、逆転0回の試合数、1回の試合数、2回の試合数・・・を統計し、横軸に逆転回数、縦軸に該当試合数という棒グラフ(ヒストグラム)を作りました。 そして、その上に、OHPシートで、ポアソンの理論で予言されている折れ線グラフを重ねました。すると・・・ 見事一致! 選手達は、一生懸命プレーしていますが、統計してみると確率論にしたがっているのです。 要は、「起こりにくい」ことがらの確率というのは、ポアソン分布に従うのです。 身近な例ですと、例えば、センター試験などの学力試験の成績分布というのは、おおむね50~60点あたりに平均値があり、そこを中心に左右両側に、だいたい対称な分布になりまして、それを「正規分布」(ガウス分布とも言う)と呼びます。 そして「標準偏差(σ)」を計算し、各受験者の「偏差値」(←平均値を50として、±標準偏差σが±10になるように規格化(=適当な数を掛けたり割ったりしてσが10になるように調節すること)した指標)を求めます。 このとき、偏差値が40以下と60以上の人数は、だいたい同じになり、どちらも総受験者数の16%ぐらいになります。 受験生も一生懸命勉強して、一生懸命問題に取り組んでいますが、結果として正規分布という確率論にしたがいます。 ところが、試験の問題が全て超難問で、平均値が著しく低い場合ですと、グラフは左右対称にならず、ポアソン分布になります。 例え話が長くなりましたが リンクの中の説明にも書かれていますが、このM/M/1理論というのは、短い時間経過Δtの間に、いきなり患者が2人以上来ちゃうとか、いきなり2人の診察が終わるいうことがないという前提のもとに組み立てられている理論なのです。 (逆に言えば、そうでない場合は、あまり適用するのは好ましくないのでしょう。) ですから、結局、P0は、場合Aと場合Bという2種類のケース以外のことは考えなくてもよい、ということになります。 P0(t+Δt)=P(A)+P(B)  = P0(t) ×(1 - λΔt)+ P1(t) ×μΔt ・・・・・・お、 ミキティ登場! ちょっと中断。(笑) ジャンプを4回失敗しちゃって・・・・・ ・・・・・だけど、その4回目の後から、会場から大拍手が沸きあがりました。 感動した! やっぱり、スター性あるなー えーと、 P0(t+Δt) = P0(t) ×(1 - λΔt)+ P1(t) ×μΔt ここまで来ましたね。 ここで式を簡単にするため P0( t+Δt ) = P0( t ) と書き換えます。 ここで、また、リンクでの説明で 「P0( t+Δt ) は「時刻  t+Δt に」1人もいない・・・・・・・・・いるという仮定のもとです。少し下の「注意」をご覧下さい)。」 とありまして、その注意書きで 「実際には Δt→0 の極限をとった微分方程式」とか「limt→∞ Pn( t )の極限値」 とか書いてますが、 その辺の知識がない場合は、 P0( t+Δt ) = P0( t ) を 「9時30分にゼロ人であれば9時31分もゼロ人、ということができるんだなー」 ぐらいに解釈しておけばよいでしょう。 つまり、待ち行列人数は増えたり減ったりするけれども、開業時間からある程度時間が経ってくると、待ち行列人数は安定してきて、だいたい一定になり、それと同じ考え方で、安定した後の時刻tにおける患者ゼロの確率P0(t)もだいたい一定になる・・・というイメージです。 というわけで、あとは簡単。 P0(t)= P0(t) ×(1 - λΔt)+ P1(t) ×μΔt  =P0(t) -P0(t)× λΔt+ P1(t) ×μΔt 両辺から P0(t) -P0× λΔt を引いて P0(t)・λ・Δt = P1(t) ・μ・Δt 両辺を μΔt で割って P0(t)・λ/μ = P1(t) λ/μ は ρ なので P1(t) = ρ・P0(t) となりました。 あなたの補足に書かれた疑問はもっともで、私自身も、結果の式だけを見ても、信じられませんでした。 逆に言えば、それが、この理論の面白いところですね。 私も勉強になりました。 もう、この辺で勘弁してください。(笑) 今さっきミキティへのインタビューが終わりました。 なかなか良かったです。 荒川 村主 頑張れ!

その他の回答 (3)

  • age_momo
  • ベストアンサー率52% (327/622)
回答No.3

>>すると計算の結果、P1(t)=P0(t) λ/μ となる。 >の部分がよくわかりませんでした・・・。 >なぜ、「t時間での患者の人数が0人のときの確率」に「利用率」を掛けると >「t時間での患者の人数が1人のときの確率」がでるのか、わからなかったです。 元の質問同様、この等式も変形後の式を見て理由を考えるのではなく 元の計算まで戻って理解されるほうがいいですよ。 #2さんが示されたサイトBがどのようなものかこちらでは確認できないので (海外在住のためgeoやwikiはIPで弾かれます。泣) こちらも紹介しておきます。 http://www.kogures.com/hitoshi/webtext/que-mm1/index.html 待ち行列に限らず平衡に達している場合は出入りが等しくなっていると して等式を立てることができます。 P0⇔P1 という平衡が成り立っているので 誰もいないところから一人いる状態になるのは誰もいない確率P0に 単位時間にやってくる人数λをかけて求まります。(P0→P1への変化量) λP0 一人いるところから誰もいなくなるのは一人いる確率P1に 単位時間で処理される人数μをかけて求まります。(P0←P1への変化量) μP1 この二つが等しいので λP0=μP1 よって P1=λ/μ*P0=ρP0  (ここでρ=λ/μ) P0⇔P1⇔P2⇔P3⇔・・・・・・ λP0=μP1,λP1=μP2,λP2=μP3,・・・・ Pn=ρ^n*P0 です。

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.2

病院の待ち行列に例えて書きます。 まず最初に2点。 ・平均利用率の記号はp(ぴー)ではなくρ(ロー)です。 ・ρ/(1-ρ)は、待っている患者数ではなく、病院にいる患者数です。 (待っている患者数は、ρ^2/(1-ρ)です。) では、本題。 簡単で直感に訴える説明ができればよいのですが、それはかなり無理があるので、導出過程の説明は、末尾にリンクを書いてある、サイトB「待ち行列の講座」に譲るとします。 サイトBの内容に沿って、ポイントだけ解説します。 ・時間当たりにやってくる患者数をλ(らむだ)と置く。 ・時間当たりに医者がさばく患者数をμ(みゅー)と置く。 (時間の次元は任意。hrでも分でも何でも良い) ・λとμは、あくまでも時間当たりの平均であり、規則的に患者がやって来るとか、医者が1人を診察する時間が一定とかを意味するものではない。 ・時刻tにおいて、病院に患者がn人いる確率をPn(t)と置く。 ・すると計算の結果、P1(t)=P0(t) λ/μ となる。  ここで、ρ=λ/μ と置けば  P1(t)=P0(t)ρ ・さらに計算を進めると、漸化式  Pn(t )-Pn-1(t)= ρ^(n-1)・(ρ-1)・P0(t)  が得られる。 ・上記漸化式から、数列が求まる。  Pn(t)=P0(t)・ρ^n ・ところが、上記の数列は確率であるから、0≦n<+∞ について和を取ると、合計は1にならなくてはいけない。  すなわち  1 = Σ[n=0~+∞]Pn(t)   =Σ[n=0~+∞]{P0(t)・ρ^n}   =P0(t)・Σ[n=0~+∞]ρ^n  となり、Σ以降は高校で習う等比級数ρ^n の和になる。  1 =P0(t)・{1/(1-ρ)}  結局、  P0(t)= 1-ρ ・ここで、上記の P0(t)= 1-ρ の意味を考える。  P0(t)の定義は「その時間に患者数ゼロである確率」であった。  「患者数ゼロ」ということは、つまり「待たされない確率」であり、それが 1-ρ  ということは、ρ(=λ/μ)は、実は「待たされる確率」そのものであることがわかった!!!   ・先程のPn(t)の定義を、もう一度振り返る。  Pn:病院に患者がn人いる確率  (時間tの表記を省略します。) ・病院内にいる患者の数は、「患者数の期待値」であるから、  病院内の患者の数 = Σ[n=0→+∞]{n・Pn}  これを解く。  (計算過程は、サイトBの3ページ目の「式変形のみで解く方法」または「微積分を用いる方法」を参照)  結果、  病院内の患者の数 = ρ/(1-ρ)  となる。 ---------------------- 以上で、病院内の患者数の話は終わりですが、 待っている患者数が ρ^2/(1-ρ) になることについても触れておきましょう。 -------- 【待っている患者数(待ち行列)】 これも期待値を求めれば良い。 (待ち行列は、患者数ゼロでは発生しないので、n=1からの足し算になる) 待ち行列の人数 = Σ[n=1→+∞]{(n-1)・Pn}  = Σ[n=1→+∞]{(n-1)・P0(t)・ρ^n } ここで、P0(t)= 1-ρ であったから  = Σ[n=1→+∞]{(n-1)(1-ρ)ρ^n }  = ρ・Σ[n=1→+∞]{(n-1)(1-ρ)ρ^(n-1) } m=n-1 と置けば  =ρ・Σ[m=0→+∞]{m(1-ρ)ρ^m } と書き直せるが、この式を良く見ると、ρ の後ろは、さっき解いていた「病院内の患者の数」の途中の式ソックリそのままである! よって、 待っている患者数 = ρ ×[病院内の患者数]   = ρ^2/(1-ρ) となる。 なお、ご存知とは思いますが、ρ ≧1ですと、患者が増える一方で破綻しますので、M/M/1 の待ち行列理論では、そのようなケースは扱いません。 (説明終わり) サイトA(サルでもわかる待ち行列) http://www.objectclub.jp/technicaldoc/monkey/s_wait サイトB(待ち行列の講座1) http://www.geocities.co.jp/Technopolis-Mars/5427/math/sw_waitque1.html ↑「.html」の直前の数字を2,3,4・・・と書き換えれば全ページ見れます。

hirohiro8888
質問者

補足

丁寧にお答えいただきありがとうございます。 >すると計算の結果、P1(t)=P0(t) λ/μ となる。 の部分がよくわかりませんでした・・・。 なぜ、「t時間での患者の人数が0人のときの確率」に「利用率」を掛けると「t時間での患者の人数が1人のときの確率」がでるのか、わからなかったです。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

それを導き出すのは結構大変なのですよ。 結果がたまたまきれいな形になっているだけです。 これは平均待ち行列長ですから、 0人待っている確率 1人待っている確率 2人待っている確率 ・ ・ ・ を全部加味したものになります。 求め方が必要な人以外は結果の式だけを覚えます。 なお利用率はρ(ギリシャ文字のロー)です。

関連するQ&A