---
# System prepended metadata

title: Queueing Theory - 3.1 Birth-Death Processes
tags: [Queueing Theory]

---

# Queueing Theory - 3.1 Birth-Death Processes

contributed by <[`kaeteyaruyo`](https://github.com/kaeteyaruyo)>

###### tags: `Queueing Theory`

![](https://i.imgur.com/LLxjuEf.png)
> Figure 3.1 Rate transition diagram for a birth death process.

* 第三章開始我們都只討論排隊系統的 steady state，不會有 steady state 的就沒有什麼探討價值了
* Birth-Death Processes 是 M/M/1 的通式，他的每一個狀態代表系統內還存有的事件數，每個時間區間會發生的狀態轉移就只有可能是 +1 （往後一個狀態）、 0 （維持在當前狀態）、 -1 （往前一個狀態）這三種可能性而已，如 Fig. 3.1 所示
    * 在第 $n$ 個狀態往後一個狀態的**遷移率 (transition rate)** 是 $\lambda_n$
    * 在第 $n$ 個狀態往前一個狀態的遷移率是 $\mu_n$，因為第 0 個狀態無法再往前遷移了，所以 $\mu_0 = 0$
    * 依照這樣的規範，我們可以得知一個 birth-death process 的  intensity matrix $\textbf{Q}$（從某狀態變化到另一個狀態的速率矩陣）會有以下的規律
        $$
        q_{n, n+1} = \lambda_n, \; q_{n, n-1} = \mu_n, \; q_{r, j} = 0 \text{ if } |r - j| \geq 2 \\
        v_n = \lambda_n + \mu_n, \; \mu_0 = 0
        $$
        也就是只有對角線和對角線上下的斜線內有數字，其他都是 0。看起來會像
        $$
        \textbf{Q} =
        \begin{bmatrix}
        -(\lambda_0 + \mu_0) & \lambda_0 & 0 & \dots \\
        \mu_1 & -(\lambda_1 + \mu_1) & \lambda_1 & 0 \\
        0 & \mu_2 & -(\lambda_2 + \mu_2) & \lambda_2 \\
        \vdots & 0 & \mu_3 & \ddots
        \end{bmatrix}
        $$
* 我們想要知道 birth-death process 的穩定態會有什麼樣的分佈，因此可以透過 Theorem 2.13 和 Theorem 2.15 列出 stationary equation，然後求得 $p_n$ 在穩定態的數值
    * **Birth-death process 是一個連續時間馬可夫鍊**，根據 Theorem 2.15，在穩定態時必須符合 $\textbf{p}^{'}(t) = \textbf{p}(t)\textbf{Q}$ 的等式，也就是
    $$
    0 = -v_n p_n + \sum_{r \neq n}p_r q_{rn}
    $$
    * 將上式代入實際的遷移率，會得到
    $$
    \begin{cases}
    0 = -(\lambda_n + \mu_n)p_n + \lambda_{n-1}p_{n-1} + \mu_{n+1}p_{n+1}, \quad n \geq 1 \\
    0 = -\lambda_0 p_0 + \mu_1 p_1, \quad n = 0
    \end{cases}
    $$
    * 我們想要得到 $p_n$ 的通式，這個式子裏面不可以有未知項。因為 birth-death process 的 stationary equation 還算規律，可以簡單的用暴力法求得 $p_n$ 的通式
        $$
        \begin{align}
        & \Rightarrow \begin{cases}
        p_{n+1} = \frac{\lambda_n + \mu_n}{\mu_{n+1}}p_n - \frac{\lambda_{n-1}}{\mu_{n+1}}p_{n-1}, \quad n \geq 1 \\
        p_1 = \frac{\lambda_0}{\mu_1}p_0, \quad n = 0 \\
        \end{cases} \\
        & \Rightarrow p_2 = \frac{\lambda_1 \lambda_0}{\mu_2 \mu_1}p_0, \; p_3 = \frac{\lambda_2 \lambda_1 \lambda_0}{\mu_3 \mu_2 \mu_1}p_0, \; \dots \\
        & \Rightarrow p_n = p_0 \cdot \prod_{i=0}^{n} \frac{\lambda_{i-1}}{\mu_i} \tag{3.3}
        \end{align}
        $$
    * 再加上 $\sum_{\forall n} p_n = 1$ 的 boundary condition，可以得知
        $$
        \begin{align}
        & \sum_{\forall n} p_n = 1 \\
        & \Rightarrow \Big( 1 + \sum_{n=1}^{\infty} \prod_{i=0}^{n} \frac{\lambda_{i-1}}{\mu_i}\Big)p_0 = 1 \\
        & \Rightarrow p_0 = \Big( 1 + \sum_{n=1}^{\infty} \prod_{i=0}^{n} \frac{\lambda_{i-1}}{\mu_i}\Big)^{-1}
        \end{align}
        $$
        將 $p_0$ 代回 $(3.3)$ 式，即可獲得 $p_n$ 的通式
    * **注意！！** 等號右邊的分式，其**分母必須要收斂**才代表 $p_0$ 有解，否則這個系統就是無法達到 steady state 的系統
    * 上述方法叫作**疊代法 (iterative method)**，僅適用在 stationary equation 較規律的 birth-death process 當中。面對 stationary equation 不規律的系統，疊代法會變得很難用，所以稍後在 M/M/1 系統當中，還會再另外介紹兩種方法來得到 $p_n$ 的通式
* 透過 Theorem 2.15 的方式列出 stationary equation 有時候很麻煩，我們可以改從 **flow balance** 的角度來看待 stationary equation（此時，又可以將其稱為 **balance equation**），如此一來在面對轉移行為不規則的系統時，也可以輕鬆的列出 stationary equation
    ![](https://i.imgur.com/bYkEohM.png)
    > Figure 3.2 狀態之間的 Flow balance。切線處代表從狀態 $n$ 往右看的 flow balance 會牽涉到哪些 flow。
    * 當我們僅關注一個狀態和他其中一邊（右邊或左邊）的鄰居之間的流量平衡時，所列出的式子叫作 **Local balance equation**
        * 對於狀態 $n$ 來說，從自己**流出**到右邊鄰居的流量（是損耗，以負的流量表示）和從右邊鄰居**流入**自己的流量（是收入，以正的流量表示）需要達到平衡，因此往右看的 local balance equation 就是
            $$
            0 = -\lambda_n p_n + \mu_{n+1} p_{n+1}
            $$
        * 同理，往左邊看的 local balance equation 則是
            $$
            0 = -\mu_n p_n + \lambda_{n-1} p_{n-1}
            $$
    * 當我們不特別關注是往左邊還是往右邊看，只在乎對於某個狀態來說，總流入和總流出必須達到收支平衡，所列出的式子叫作 **Global balance equation**。以 Fig. 3.2 來說，狀態 $n$ 的 global balance equation 是
        $$
        0 = -(\lambda_n + \mu_n)p_n + \lambda_{n-1}p_{n-1} + \mu_{n+1} p_{n+1}
        $$
    * 在較複雜的系統當中，每一個狀態牽涉到的轉移（也就上圖中的有向邊）數量可能不規律。在面對這樣的系統時，使用 global balance equation 的觀點會比起使用 $\textbf{p}^{'}(t) = \textbf{p}(t)\textbf{Q}$ 的觀點還要容易列出系統的 stationary equation