Mímisbrunnr知恵の泉

← 確率過程 一覧

🎓 レベル:標準 | 重要度:A(待ち行列の土台) 📎 前提:連続時間マルコフ連鎖と生成行列

要点(BLUF)

概念

人口の増減、窓口に並ぶ客数、化学種の分子数 — 「1個増えるか1個減るか」で動く量は出生死亡過程でモデル化できます。状態0,1,2,… を一直線に並べ、隣へ行き来する梯子のような構造です。この単純な構造のおかげで定常分布が手で書け、待ち行列理論の出発点になります。

数式による定式化

状態空間 {0,1,2,}\{0,1,2,\dots\}、状態 nn からの出生率 λn\lambda_nnn+1n\to n+1)、死亡率 μn\mu_nnn1n\to n-1μ0=0\mu_0=0)。生成行列は三重対角で

qn,n+1=λn,qn,n1=μn,qn,n=(λn+μn)q_{n,n+1}=\lambda_n,\quad q_{n,n-1}=\mu_n,\quad q_{n,n}=-(\lambda_n+\mu_n)

定常分布は釣り合い式 πnλn=πn+1μn+1\pi_n\lambda_n=\pi_{n+1}\mu_{n+1}(隣接の確率流の均衡=詳細釣り合い)より

πn=π0k=1nλk1μk,π0=(1+n1k=1nλk1μk)1\pi_n = \pi_0 \prod_{k=1}^{n} \frac{\lambda_{k-1}}{\mu_k}, \qquad \pi_0=\left(1+\sum_{n\ge1}\prod_{k=1}^n\frac{\lambda_{k-1}}{\mu_k}\right)^{-1}

M/M/1λn=λ, μn=μ\lambda_n=\lambda,\ \mu_n=\mu)では ρ=λ/μ\rho=\lambda/\mu として

πn=(1ρ)ρn(ρ<1)\pi_n = (1-\rho)\,\rho^n \quad (\rho<1)

直観

要するに「梯子の各段の確率流が隣同士で釣り合う」。段 nn から n+1n+1 へ上る流れ πnλn\pi_n\lambda_n と、n+1n+1 から nn へ下る流れ πn+1μn+1\pi_{n+1}\mu_{n+1} が等しい。これを下から順に解くと、各段の確率が「上り率/下り率」の積で決まります。M/M/1 では各段で同じ比 ρ\rho がかかるので、等比数列(幾何分布)になります。ρ<1\rho<1(来る客より捌く速さが上)でないと行列が発散して定常分布が存在しません。

具体例

M/M/1 型(λ=1, μ=1.5, ρ=2/3\lambda=1,\ \mu=1.5,\ \rho=2/3)の出生死亡過程をシミュレートし、各状態の長期滞在割合が幾何分布 (1ρ)ρn(1-\rho)\rho^n に一致することを確認します。

import numpy as np
lam_b, mu_d = 1.0, 1.5
rho = lam_b/mu_d
rng = np.random.default_rng(7)
T = 300000.0
s, t = 0, 0.0
time_in = np.zeros(80)
while t < T:
    birth = lam_b
    death = mu_d if s > 0 else 0.0
    rate = birth + death
    dt = rng.exponential(1.0/rate)               # 指数滞在
    if s < 80:
        time_in[s] += dt
    t += dt
    s = s+1 if rng.random() < birth/rate else s-1
emp = time_in/time_in.sum()
print(f"rho = lam/mu = {rho:.4f}")
for k in range(6):
    print(f"状態{k}: 滞在割合={emp[k]:.4f} 理論(1-rho)rho^k={(1-rho)*rho**k:.4f}")
# rho = lam/mu = 0.6667
# 状態0: 滞在割合=0.3325 理論(1-rho)rho^k=0.3333
# 状態1: 滞在割合=0.2217 理論(1-rho)rho^k=0.2222
# 状態2: 滞在割合=0.1480 理論(1-rho)rho^k=0.1481
# 状態3: 滞在割合=0.0986 理論(1-rho)rho^k=0.0988
# 状態4: 滞在割合=0.0654 理論(1-rho)rho^k=0.0658
# 状態5: 滞在割合=0.0445 理論(1-rho)rho^k=0.0439

長期の滞在割合が幾何分布に一致。ρ=2/3\rho=2/3 なので段が1つ上がるごとに確率が 2/32/3 倍に減っていきます。

他過程との関係

数式の直観的意味

定常分布が積形式になるのは、隣接遷移しかない一次元の連鎖が**常に詳細釣り合いを満たす(可逆)**からです(詳細釣り合いと可逆連鎖の連続時間版)。閉路がないので局所的な釣り合いが自動的に大域的な定常を生みます。ρ1\rho\ge1 で定常分布が消えるのは、確率が無限遠へ漏れ続ける(系が不安定)ことの数学的表現です。

⚠️ よくある誤解

対応シミュレーション

本文コードの λ,μ\lambda,\muρ1\rho\to1 に近づけると、滞在分布の裾が重くなり収束が遅くなる(混雑する)様子が見えます。stochastic-processes-study/simulations/ に状態軌道の可視化を置きます。

関連