Skip to content

Commit

Permalink
last modification
Browse files Browse the repository at this point in the history
  • Loading branch information
govin08 committed Apr 7, 2024
1 parent c6e1d2a commit 204ca54
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 44 deletions.
86 changes: 42 additions & 44 deletions _posts/2024-03-15-mm1_queue.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ $$\{X_j:j\in J\}$$
## 1.2 arrival process

어떤 사건(arrival)이 시간 $t\ge0$에 따라 반복적으로 일어나면 이것을 arrival process라고 부릅니다.
만약 사건이 시각 $S_1$, $S_2$, $S_3$, $\cdots$ 에서 일어난다면 다음과 같은 그림으로 arrival process의 상황을 표현할 수 있습니다.
만약 사건이 시각 $S_1$, $S_2$, $S_3$, $\cdots$ 에서 일어난다면 ($S_1<S_2<S_3<\cdots$) 다음과 같은 그림으로 arrival process의 상황을 표현할 수 있습니다.

![]({{site.url}}\images\2024-03-15-mm1_queue\Si.png){: .img-80-center}

사건이 일어나는 시점 $S_i$ 일정하게 결정되어 있지 않고 확률적으로 발생한다면, 각각의 실수 $S_i$는 확률변수로 해석될 수 있습니다.
사건이 일어나는 시점 $S_i$ 일정하게 결정되어 있지 않고 확률적으로 발생한다면, 각각의 실수 $S_i$는 확률변수로 해석될 수 있습니다.
따라서 arrival process는 확률변수 $S_i$들의 집합

$$\{S_i:i=1,2,3,\cdots\}\tag{2}$$
Expand Down Expand Up @@ -114,11 +114,11 @@ $$\{X_i:i=1,2,3,\cdots\}\tag{3}$$
$N_t$는 확률변수입니다.
따라서 arrival process는 확률변수 $N_t$들의 집합

$$\{N_t:t\ge0,\cdots\}\tag{4}$$
$$\{N_t:t\gt0\}\tag{4}$$

으로도 표현될 수 있습니다.
이때의 index set은 양의 실수의 집합입니다.
즉, 위의 그림에서는 편의상 $t$가 자연수인 경우만을 나타냈는데, 임의의 양수 $t$에 대하여 확률변수 $N_t$가 존재합니다.
즉, 위의 그림에서는 편의상 $t$가 자연수인 경우만을 나타냈는데, 임의의 양수 $t$에 대하여 확률변수 $N_t$를 생각할 수 있습니다.

종합하면, arrival process는 확률과정의 일종인데, (2), (3), (4)의 서로 다른 세 방식의 확률과정으로 해석할 수 있습니다.

Expand All @@ -138,11 +138,11 @@ $X_i$들이 서로 독립적이면서 확률분포가 일정한 (IID, independen

## 1.4 Poisson process

$X_i$들의 PDF가
모든 $i$에 대하여 $X_i$ PDF가

$$f_{X_i}(x)=\lambda e^{-\lambda x}\quad(x\ge0)$$

로 주어지는 renewal process를 Poisson process라고 부릅니다.
일정하게 주어지는 renewal process를 Poisson process라고 부릅니다.
이때, $\lambda\gt0$는 상수입니다.
이 분포를 지수분포(exponential distribution)라고 부르므로, Poisson process는 사건이 일어나는 시간의 간격이 지수분포를 이루는 경우를 말한다고 할 수 있습니다.

Expand Down Expand Up @@ -512,49 +512,39 @@ $m$이 충분히 크면, 구간 $\left[t, t+\frac1m\right]$동안 arrival 또는

$$
\begin{align*}
p_0\left(t+\frac1m\right)&=\left(1-\frac\lambda m\right)p_0(t)+\frac\mu mp_1(t)\\
p_1\left(t+\frac1m\right)&=\frac\lambda mp_0(t)+
\left(1-\frac\lambda m\right)\left(1-\frac\mu m\right)p_1(t)+\frac\mu mp_2(t)\\
p_2\left(t+\frac1m\right)&=\frac\lambda mp_1(t)+
\left(1-\frac\lambda m\right)\left(1-\frac\mu m\right)p_2(t)+\frac\mu mp_3(t)\\
p_0\left(t+\tfrac1m\right)&=\left(1-\tfrac\lambda m\right)p_0(t)+\tfrac\mu mp_1(t)\\
p_1\left(t+\tfrac1m\right)&=\tfrac\lambda mp_0(t)+
\left(1-\tfrac\lambda m\right)\left(1-\tfrac\mu m\right)p_1(t)+\tfrac\mu mp_2(t)\\
p_2\left(t+\tfrac1m\right)&=\tfrac\lambda mp_1(t)+
\left(1-\tfrac\lambda m\right)\left(1-\tfrac\mu m\right)p_2(t)+\tfrac\mu mp_3(t)\\
&\vdots
\end{align*}
$$

다시 말해, $K_{t+\frac1m}=0$인 경우는 $K_t=0$이면서 arrival이 발생하지 않는 $\left(1-\frac\lambda m\right)$ 경우이거나 $K_t=1$이면서 departure가 발생하는 $\left(\frac\mu m\right)$ 경우로 나뉠 수 있습니다.
또한, $K_{t+\frac1m}=1$인 경우는 $K_t=0$이면서 arrival이 발생한 $\left(\frac\lambda m\right)$ 경우이거나 $K_t=1$이면서 arrival이나 departure가 모두 발생하지 않거나 $\left(1-\frac\lambda m\right)\left(1-\frac\mu m\right)$ 아니면 $K_t=2$이면서 departure가 발생한 경우$\left(\frac\mu m\right)$로 나뉠 수 있습니다.
다시 말해, $K_{t+\frac1m}=0$인 경우는 $K_t=0$이면서 arrival이 발생하지 않는 $\left(1-\tfrac\lambda m\right)$ 경우이거나 $K_t=1$이면서 departure가 발생하는 $\left(\tfrac\mu m\right)$ 경우로 나뉠 수 있습니다.
또한, $K_{t+\frac1m}=1$인 경우는 $K_t=0$이면서 arrival이 발생한 $\left(\tfrac\lambda m\right)$ 경우이거나 $K_t=1$이면서 arrival이나 departure가 모두 발생하지 않거나 $\left(1-\tfrac\lambda m\right)\left(1-\tfrac\mu m\right)$ 아니면 $K_t=2$이면서 departure가 발생한 경우$\left(\tfrac\mu m\right)$로 나뉠 수 있습니다.

조금 더 일반적으로 쓰면 다음과 같습니다.
즉, $K_{t+\frac1m}$의 확률질량함수는 $K_t$의 확률질량함수로 다음과 같이 표현할 수 있습니다.

$$
\begin{align*}
p_k\left(t+\frac1m\right)
&=\left(1-\frac\lambda m\right)p_k(t)+\frac\mu mp_{k+1}(t)
p_k\left(t+\tfrac1m\right)
=&\left(1-\tfrac\lambda m\right)p_k(t)+\tfrac\mu mp_{k+1}(t)
&&(k=0)\\
p_k\left(t+\frac1m\right)
&=\frac\lambda mp_{k-1}(t)+\left(1-\frac\lambda m\right)\left(1-\frac\mu m\right)p_k(t)+\frac\mu mp_{k+1}(t)
&&(k=1,2,3,\cdots)
p_k\left(t+\tfrac1m\right)
=&\tfrac\lambda mp_{k-1}(t)+\left(1-\tfrac\lambda m\right)\left(1-\tfrac\mu m\right)p_k(t)+\tfrac\mu mp_{k+1}(t)
&&(k\ge1)
\end{align*}\tag{14}
$$

그러니까, $m$이 충분히 크면 $K_{t+\frac1m}=k$인 경우는 $K_t=k-1$, $K_t=k$, $K_t=k+1$인 경우에서만 발생할 수 있다고 가정하고 있는 것입니다.

<div class="notice--info">

그런 의미에서 wikipedia에서는 M/M/1 queue model이 다음과 같은 (tridiagonal) transition matrix $Q$로 표현할 수 있다고 서술하고 있습니다.

<div style="text-align : center; padding: 50px 1px 50px 1px;">
<img src="{{site.url}}\images\2024-03-15-mm1_queue\transition_matrix.png" alt="transition_matrix" width="500"/>
</div>

</div>

식 (13)를 변형하면 $k=0$일 때,

$$
\begin{align*}
p_k\left(t+\frac1m\right) - p_k(t)
p_k\left(t+\tfrac1m\right) - p_k(t)
&=-\frac\lambda m p_k(t) + \frac\mu mp_{k+1}(t)\\
\frac{p_k\left(t+\frac1m\right) - p_k(t)}{\frac1m}
&=-\lambda p_k(t)+\mu p_{k+1}(t)
Expand All @@ -571,10 +561,10 @@ $$

$$
\begin{align*}
p_k\left(t+\frac1m\right) - p_k(t)
&=\frac\lambda mp_{k-1}(t)+\left(-\frac\lambda m-\frac\mu m+\frac{\lambda\mu}{m^2}\right)p_k(t)+\frac\mu mp_{k+1}(t)\\
\frac{p_k\left(t+\frac1m\right) - p_k(t)}{\frac 1m}
&=\lambda p_{k-1}(t)+\left(-\lambda-\mu+\frac{\lambda\mu}m\right)p_k(t)+\mu p_{k+1}(t)
p_k\left(t+\tfrac1m\right) - p_k(t)
&=\frac\lambda mp_{k-1}(t)+\left(-\tfrac\lambda m-\tfrac\mu m+\tfrac{\lambda\mu}{m^2}\right)p_k(t)+\tfrac\mu mp_{k+1}(t)\\
\tfrac{p_k\left(t+\tfrac1m\right) - p_k(t)}{\tfrac 1m}
&=\lambda p_{k-1}(t)+\left(-\lambda-\mu+\tfrac{\lambda\mu}m\right)p_k(t)+\mu p_{k+1}(t)
\end{align*}
$$

Expand All @@ -585,7 +575,7 @@ p_k'(t)=\lambda p_{k-1}(t)+\left(-\lambda-\mu\right)p_k(t)+\mu p_{k+1}(t)
$$

입니다.
정리하면 확률변수 $K_t$에 대한 확률질량함수 $p_k(t)$는 다음과 같은 system of differential equations로 표현될 수 있습니다 ;
정리하면 확률변수 $K_t$에 대한 확률질량함수 $p_k(t)$는 다음과 같은 연립미분방정식으로 표현될 수 있습니다 ;

$$
\begin{align*}
Expand All @@ -594,10 +584,20 @@ p_k'(t)
&&(k=0)\\
p_k'(t)
&=\lambda p_{k-1}(t)+\left(-\lambda-\mu\right)p_k(t)+\mu p_{k+1}(t)
&&(k=1,2,3,\cdots)
&&(k\ge1)
\end{align*}\tag{15}
$$

<div class="notice--info">

그런 의미에서 wikipedia에서는 M/M/1 queue model이 다음과 같은 rate transition matrix $Q$로 표현할 수 있다고 서술하고 있습니다.

<div style="text-align : center; padding: 50px 1px 50px 1px;">
<img src="{{site.url}}\images\2024-03-15-mm1_queue\transition_matrix.png" alt="transition_matrix" width="500"/>
</div>

</div>

## 2.4 stationary system

연립미분방정식 (15)를 통해 $p_k(t)$의 해를 analytic하게 구할 수 있습니다.
Expand Down Expand Up @@ -678,7 +678,7 @@ $$
\pi_0+\pi_1+\pi_2+\cdots=1
$$

이고
이고 (16)을 적용하면

$$
\frac{\pi_0}{1-\rho}=1
Expand All @@ -689,19 +689,19 @@ $$
$$\pi_0=1-\rho$$

이기 때문입니다.
이것을 (16)에 적용시키면
따라서

$$
\pi_k = (1-\rho)\rho^k\quad k=0,1,2,\cdots\tag{17}
$$

을 얻을 수 있습니다.
입니다.

## 2.5 The expectation of $K$

이전 절에서 $K$는 평형상태에서의 대기열의 길이라고 했습니다.
이때, $K$는 확률변수였습니다.
$\lambda\lt\mu$인 상태를 가정하고 있으므로 대기열 없이 customer가 빠지는 경향을 보이게 되겠지만, 그렇다고 하더라도 $K$는 임의의 nonnegative 정수 값을 가질 수 있습니다.
$\lambda\lt\mu$인 상태를 가정하고 있으므로 대기열이 점점 줄어드는 경향을 보이게 되겠지만, 그렇다고 하더라도 평형상태에서 $K$는 임의의 nonnegative 정수 값을 가질 수 있습니다.
그러니까, $K$는 $0$, $1$, $2$, $\cdots$의 값을 가질 가능성이 있습니다.
그리고 각각의 값 $k$를 가질 확률을 나타내는 확률질량함수가

Expand Down Expand Up @@ -738,6 +738,7 @@ $$
\sum_{k=1}^\infty k\rho^k=\frac1{(1-\rho)^2}\tag{18}
$$

입니다.
이제 $\mathbb E[K]$를 계산하면

$$
Expand All @@ -746,10 +747,7 @@ $$
&=\sum_{k=0}^\infty kP(K=k)\\
&\stackrel{(17)}=\sum_{k=0}^\infty k(1-\rho)\rho^k\\
&=(1-\rho)\sum_{k=0}^\infty k\rho^k\\
&=(1-\rho)\sum_{k=1}^\infty k\rho^k\\
&=\rho(1-\rho)\sum_{k'=0}^\infty k'\rho^{k'}\\
&\stackrel{(18)}=\rho(1-\rho)\frac1{(1-\rho)^2}\\
&=\frac\rho{1-\rho}
&\stackrel{(18)}=\frac\rho{1-\rho}
\end{align*}
$$

Expand All @@ -759,7 +757,7 @@ $$
# 3. 마치며

지금까지 M/M/1 queue에서 대기열의 길이의 평균을 구하는 식을 유도해보았습니다.
여러 참고문헌들에 비해서 꽤 많은 내용이 빠져있고, 유튜브 영상에 비해서는 자세히 적었습니다.
여러 참고문헌들에 비해서는 꽤 많은 내용이 빠져있고, 유튜브 영상에 비해서는 자세히 적었습니다.

조금 더 글을 보완한다면 식 (15)에 대한 analytic한 해를 구해보고 관련된 Bessel function에 대한 내용을 적을 수 있을 것입니다.
또, stationary 조건에 대해 조금 더 엄밀하게 적을 필요가 있을 수도 있습니다.
Expand Down
File renamed without changes.

0 comments on commit 204ca54

Please sign in to comment.