Persamaan Kolmogorov Mundur

Persamaan Kolmogorov Mundur

Selain yang tersedia di lingkungan ilmiah Python, kuliah ini memerlukan NumPy, Matplotlib, Numba, dan SciPy.

# Dependensi unit disediakan oleh lingkungan luring yang dikunci.
# Tidak ada instalasi paket pada saat pembaca dijalankan.

Catatan adaptasi hilir. Sumber menjalankan !pip install quantecon di dalam pembaca. Instalasi saat runtime dihapus agar edisi ini dapat diputar ulang secara luring dan deterministik. Sel kode serta posisinya dipertahankan sebagai permukaan provenance, sedangkan paket quantecon tidak diperlukan oleh kode unit ini.

Gambaran umum

Ketika model menjadi semakin rumit, penurunan representasi analitis bagi semigrup Markov \((P_t)\) menjadi semakin sulit.

Hal ini serupa dengan kenyataan bahwa solusi model waktu kontinu sering kali tidak memiliki bentuk analitis.

Sebagai contoh, ketika mempelajari lintasan deterministik dalam waktu kontinu, deskripsi infinitesimal (ODE dan PDE) sering lebih intuitif dan lebih mudah dituliskan daripada solusi yang bersesuaian.

(Ini adalah salah satu wawasan cemerlang dalam matematika, yang bermula dari karya ilmuwan besar seperti Isaac Newton.)

Dalam kuliah ini kita akan melihat bahwa hal yang sama berlaku bagi rantai Markov waktu kontinu.

Agar kita dapat memusatkan perhatian pada intuisi alih-alih rincian teknis, ruang keadaan dalam kuliah ini diasumsikan berhingga, dengan \(|S|=n\).

Kelak kita akan menyelidiki kasus \(|S|=\infty\).

Kita akan memakai impor berikut.

import numpy as np
import matplotlib.pyplot as plt
from numba import njit

from scipy.linalg import expm
from scipy.stats import binom

Catatan adaptasi hilir. Impor scipy as sp dan quantecon as qe pada sumber tidak dipakai oleh unit ini dan dihapus. Impor yang diperlukan oleh setiap sel komputasi tetap dipertahankan.

Intensitas Lompatan yang Bergantung pada Keadaan

Seperti telah kita lihat, rantai Markov waktu kontinu melompat di antara keadaan-keadaan dan karena itu dapat berbentuk

\[ X_t = \sum_{k \geq 0} Y_k \mathbb 1\{J_k \leq t < J_{k+1}\} \qquad (t \geq 0) \]

di mana \((J_k)\) adalah waktu-waktu lompatan dan \((Y_k)\) adalah keadaan pada setiap lompatan.

(Kita mengasumsikan bahwa \(J_k \to \infty\) dengan probabilitas satu sehingga \(X_t\) terdefinisi untuk semua \(t \geq 0\). Hal ini selalu benar ketika waktu tinggal berdistribusi eksponensial dengan laju positif dan ruang keadaannya berhingga.)

Dalam kuliah sebelumnya,

Dalam kuliah ini kita melakukan generalisasi dengan membolehkan intensitas lompatan berubah menurut keadaan.

Perbedaan ini tampak kecil, tetapi sesungguhnya memungkinkan kita mencapai keumuman penuh dalam deskripsi rantai Markov waktu kontinu, sebagaimana akan diperjelas di bawah.

Motivasi

Sebagai contoh motivasi, ingat kembali model persediaan, tempat kita mengasumsikan bahwa waktu tunggu hingga pelanggan berikutnya datang sama dengan waktu tunggu hingga persediaan baru datang.

Asumsi ini dibuat semata-mata demi kemudahan dan tampaknya tidak realistis.

Ketika asumsi tersebut kita longgarkan, intensitas lompatan bergantung pada keadaan.

Algoritma Rantai Lompatan

Kita mulai dengan tiga objek dasar:

  1. kondisi awal \(\psi\),
  2. matriks Markov \(K\) pada \(S\) yang memenuhi \(K(x,x)=0\) untuk semua \(x\in S\), dan
  3. fungsi \(\lambda\) yang memetakan \(S\) ke \([0,\infty)\).

Proses \((X_t)\)

Selanjutnya \(y\) menjadi keadaan baru proses dan langkah-langkah tersebut diulangi.

Berikut algoritma yang sama dalam bentuk lebih eksplisit.

Algoritma Rantai Lompatan Masukan \(\psi \in \dD\), fungsi laju \(\lambda\), matriks Markov \(K\)

Keluaran rantai Markov \((X_t)\)

  1. Ambil \(Y_0\) dari \(\psi\), tetapkan \(J_0=0\) dan \(k=1\).
  2. Dengan syarat pada \(Y_{k-1}\), ambil \(W_k\) dari Exp\((\lambda(Y_{k-1}))\) bila \(\lambda(Y_{k-1})>0\); bila lajunya nol, tetapkan \(W_k=+\infty\). Pengambilan ini independen dari pengambilan sebelumnya dengan syarat pada lintasan keadaan.
  3. Tetapkan \(J_k=J_{k-1}+W_k\).
  4. Tetapkan \(X_t=Y_{k-1}\) untuk \(t\) dalam \([J_{k-1},J_k)\).
  5. Jika \(W_k=+\infty\), hentikan algoritma; jika tidak, ambil \(Y_k\) dari \(K(Y_{k-1},\cdot)\), secara independen dari \(W_k\) dengan syarat pada \(Y_{k-1}\).
  6. Tetapkan \(k=k+1\) dan kembali ke langkah 2.

Dengan syarat pada lintasan keadaan \((Y_k)\), waktu-waktu tinggal \((W_k)\) saling independen dan, pada laju positif, \(W_k\) memiliki distribusi Exp\((\lambda(Y_{k-1}))\); laju nol memberi waktu tinggal \(+\infty\). Secara umum, waktu-waktu tersebut tidak berdistribusi identik dan tidak independen dari lintasan keadaan tanpa pengondisian. Dengan syarat pada keadaan saat ini \(Y_{k-1}\), waktu tinggal berikutnya \(W_k\) dan keadaan berikutnya \(Y_k\) saling independen.

Catatan koreksi hilir. Sumber menyatakan bahwa \((W_k)\) adalah barisan IID dan independen dari \((Y_k)\). Pernyataan itu hanya benar pada kasus laju konstan sebelumnya. Pada laju \(\lambda(Y_{k-1})\) yang bergantung pada keadaan, struktur independensi yang tepat adalah struktur bersyarat yang dinyatakan di atas. Otoritas sumber tetap dipertahankan terpisah tanpa perubahan.

Syarat \(K(x,x)=0\) untuk semua \(x\) memastikan bahwa \((X_t)\) benar-benar berpindah ke keadaan lain pada setiap waktu lompatan.

Menghitung Semigrup

Untuk proses lompatan \((X_t)\) dengan intensitas bergantung keadaan yang dijelaskan oleh algoritma rantai lompatan, menghitung semigrup Markov bukanlah latihan sepele.

Catatan koreksi hilir. Sumber menyebut intensitas ini “berubah terhadap waktu”. Modelnya tetap homogen terhadap waktu; yang berubah di sepanjang lintasan adalah laju karena laju tersebut ditentukan oleh keadaan saat ini.

Pendekatan kita adalah

  1. memakai penalaran probabilistik untuk memperoleh persamaan integral yang harus dipenuhi semigrup,
  2. mengubah persamaan integral itu menjadi persamaan diferensial yang lebih mudah ditangani, dan
  3. menyelesaikan persamaan diferensial tersebut untuk memperoleh semigrup Markov \((P_t)\).

Persamaan diferensial yang dimaksud memiliki nama khusus: persamaan mundur Kolmogorov.

Sebuah Persamaan Integral

Berikut langkah pertama dalam urutan di atas.

Sebuah Persamaan Integral Semigrup \((P_t)\) dari proses lompatan dengan fungsi laju \(\lambda\) dan matriks Markov \(K\) memenuhi persamaan integral

\[ P_t(x, y) = e^{-t \lambda(x)} I(x, y) + \lambda(x) \int_0^t (K P_{t-\tau})(x, y) e^{- \tau \lambda(x)} d \tau \]

untuk semua \(t\geq0\) dan \(x,y\) dalam \(S\).

Di sini \((P_t)\) adalah semigrup Markov dari \((X_t)\), yakni proses yang dibangun melalui algoritma rantai lompatan, sedangkan \(KP_{t-\tau}\) adalah hasil kali matriks \(K\) dan \(P_{t-\tau}\).

Dengan mengondisikan secara implisit pada \(X_0=x\), semigrup \((P_t)\) harus memenuhi

\[ P_t(x, y) = \PP\{X_t = y\} = \PP\{X_t = y, \; J_1 > t \} + \PP\{X_t = y, \; J_1 \leq t \} \]

Untuk suku pertama di ruas kanan persamaan pt_split, kita mempunyai

\[ \PP\{X_t = y, \; J_1 > t \} = I(x, y) \PP\{J_1 > t \} = I(x, y) e^{- t \lambda(x)} \]

di mana \(I(x,y)=\mathbb 1\{x=y\}\).

Catatan koreksi hilir. Faktor peluang pada baris sumber ditulis \(P\{J_1>t\}\), sementara seluruh unit memakai makro probabilitas \(\PP\). Notasi tersebut dinormalkan menjadi \(\PP\{J_1>t\}\) tanpa mengubah makna.

Untuk suku kedua di ruas kanan persamaan pt_split, kita mempunyai

\[ \PP\{X_t = y, \; J_1 \leq t \} = \EE \left[ \mathbb 1\{J_1 \leq t\} \PP\{X_t = y \,|\, W_1, Y_1\} \right] = \EE \left[ \mathbb 1\{J_1 \leq t\} P_{t - J_1} (Y_1, y) \right]. \]

Dengan menghitung nilai harapan dan memakai independensi \(J_1\) dan \(Y_1\) bersyarat pada \(X_0=x\), hasil ini menjadi

\[ \begin{aligned} \PP\{X_t = y, \; J_1 \leq t \} & = \int_0^\infty \mathbb 1\{\tau \leq t\} \sum_z K(x, z) P_{t - \tau} (z, y) \lambda(x) e^{-\tau \lambda(x)} d \tau \\ & = \lambda(x) \int_0^t \sum_z K(x, z) P_{t - \tau} (z, y) e^{-\tau \lambda(x)} d \tau . \end{aligned} \]

Menggabungkan hasil ini dengan persamaan pt_split dan persamaan pt_first menghasilkan persamaan kbinteg.

Persamaan Diferensial Kolmogorov

Kita telah memastikan bahwa semigrup \((P_t)\) yang terkait dengan proses rantai lompatan \((X_t)\) memenuhi persamaan kbinteg.

Persamaan persamaan kbinteg penting, tetapi kita dapat menyederhanakannya lebih lanjut tanpa kehilangan informasi dengan mengambil turunan terhadap waktu.

Hal ini membawa kita pada hasil utama kuliah.

Persamaan Kolmogorov Mundur Semigrup \((P_t)\) dari proses lompatan dengan fungsi laju \(\lambda\) dan matriks Markov \(K\) memenuhi persamaan Kolmogorov mundur

\[ P'_t = Q P_t \quad \text{dengan } \; Q(x, y) := \lambda(x) (K(x, y) - I(x, y)). \]

Turunan di ruas kiri persamaan kolbackeq diambil unsur demi unsur terhadap \(t\), sehingga

\[ P'_t(x, y) = \left( \frac{d}{dt} P_t(x, y) \right) \qquad ((x, y) \in S \times S). \]

Pembuktian bahwa menurunkan persamaan kbinteg menghasilkan persamaan kolbackeq adalah latihan penting (lihat di bawah).

Solusi Eksponensial

Persamaan Kolmogorov mundur adalah persamaan diferensial bernilai matriks.

Ingat bahwa, untuk persamaan diferensial skalar \(y'_t=ay_t\) dengan konstanta \(a\) dan kondisi awal \(y_0\), solusinya adalah \(y_t=e^{ta}y_0\).

Hal ini, bersama \(P_0=I\), mendorong kita menduga bahwa solusi persamaan mundur Kolmogorov persamaan kolbackeq adalah

\[ P_t = e^{t Q} \]

di mana ruas kanan adalah eksponensial matriks, yang didefinisikan oleh

\[ e^{tQ} = \sum_{k \geq 0} \frac{1}{k!} (tQ)^k = I + tQ + \frac{t^2}{2!} Q^2 + \cdots . \]

Dengan bekerja unsur demi unsur, mudah diperiksa bahwa turunan fungsi eksponensial \(t\mapsto e^{tQ}\) adalah

\[ \frac{d}{dt} e^{t Q} = Q e^{t Q} = e^{t Q} Q . \]

Jadi, menurunkan persamaan expsol memberikan \(P'_t=Qe^{tQ}=QP_t\), yang meyakinkan kita bahwa solusi eksponensial memenuhi persamaan kolbackeq.

Perhatikan bahwa solusi kita

\[ P_t = e^{t Q} \quad \text{dengan } \; Q(x, y) := \lambda(x) (K(x, y) - I(x, y)) \]

untuk semigrup proses lompatan \((X_t)\) yang terkait dengan matriks lompatan \(K\) dan fungsi intensitas lompatan \(\lambda\colon S\to[0,\infty)\) konsisten dengan hasil kita sebelumnya.

Khususnya, kita telah menunjukkan bahwa, untuk model dengan intensitas lompatan konstan \(\lambda\), berlaku \(P_t=e^{t\lambda(K-I)}\).

Ini jelas merupakan kasus khusus persamaan psolq.

Sifat-sifat Solusi

Mari kita selidiki lebih lanjut sifat-sifat solusi eksponensial.

Memeriksa Sifat Semigrup Transisi

Walaupun kita telah memastikan bahwa \(P_t=e^{tQ}\) menyelesaikan persamaan Kolmogorov mundur, kita masih harus memeriksa bahwa solusi ini merupakan semigrup Markov.

Dari Rantai Lompatan ke Semigrup Misalkan \(\lambda\) memetakan \(S\) ke \(\RR_+\) dan \(K\) adalah matriks Markov pada \(S\). Jika \(P_t=e^{tQ}\) untuk semua \(t\geq0\), dengan \(Q(x,y)=\lambda(x)(K(x,y)-I(x,y))\), maka \((P_t)\) adalah semigrup Markov pada \(S\).

Pertama, perhatikan bahwa jumlah entri setiap baris \(Q\) sama dengan nol, karena

\[ \sum_y Q(x, y) = \lambda(x) \sum_y (K(x, y) - I(x, y)) = 0. \]

Sebagai latihan kecil, Anda dapat memeriksa bahwa, jika \(1\) menyatakan vektor kolom yang semua unsurnya satu, maka

\[ \text{ jumlah entri setiap baris } Q \text{ sama dengan nol } \iff Q^k 1 = 0 \text{ untuk semua } k \geq 1 . \]

Jadi \(Q^k1=0\) untuk setiap bilangan bulat \(k\geq1\). Akibatnya, untuk setiap \(t\geq0\),

\[ P_t 1 = e^{tQ} 1 = I1 + tQ1 + \frac{t^2}{2!} Q^2 1 + \cdots = I1 = 1. \]

Catatan koreksi hilir. Setelah menyatakan rentang \(k\geq1\) dengan tepat, sumber menyingkatnya menjadi “semua \(k\)”. Rentang positif dipertahankan di sini karena \(Q^0 1=I1=1\), bukan nol.

Dengan kata lain, jumlah entri setiap baris \(P_t\) sama dengan satu.

Selanjutnya kita memeriksa ketaknegatifan seluruh unsur \(P_t\) (sifat yang dengan mudah dapat gagal untuk eksponensial matriks umum).

Mengikuti argumen dari Stroock (2013), tetapkan \(m:=\max_x\lambda(x)\).

Jika \(m=0\), maka \(\lambda(x)=0\) untuk semua \(x\), sehingga \(Q=0\) dan \(P_t=e^{tQ}=I\); semua klaim lemma langsung berlaku.

Catatan koreksi hilir. Sumber langsung membagi dengan \(m\) dan tidak menangani kasus \(m=0\). Kasus nol dipisahkan di atas sebelum pembagian.

Sekarang andaikan \(m>0\) dan tetapkan \(\hat P:=I+Q/m\).

Tidak sulit diperiksa bahwa \(\hat P\) adalah matriks Markov dan \(Q=m(\hat P-I)\).

Mengingat bahwa untuk eksponensial matriks berlaku \(e^{A+B}=e^Ae^B\) ketika \(AB=BA\), kita memperoleh

\[ e^{tQ} = e^{tm (\hat P - I)} = e^{-tm I} e^{tm \hat P} = e^{-tm} \left( I + tm \hat P + \frac{(tm)^2}{2!} \hat P^2 + \cdots \right). \]

Dari representasi ini jelas bahwa semua unsur \(e^{tQ}\) tidak negatif.

Terakhir, kita perlu memeriksa syarat kekontinuan \(P_t(x,y)\to I(x,y)\) saat \(t\to0\), yang juga merupakan bagian dari definisi semigrup Markov.

Dalam kasus sekarang hal ini langsung mengikuti kekontinuan fungsi eksponensial: \(P_t=e^{tQ}\to e^0=I\).

Sekarang kita yakin bahwa solusi persamaan Kolmogorov mundur memang merupakan semigrup Markov.

Keunikan

Mungkinkah terdapat semigrup Markov lain yang sama sekali berbeda tetapi juga memenuhi persamaan Kolmogorov mundur?

Jawabannya tidak: ODE linear pada ruang vektor berdimensi hingga, dengan koefisien konstan dan kondisi awal tetap (dalam hal ini \(P_0=I\)), mempunyai solusi tunggal.

Pembuktian langsungnya juga tidak sulit—lihat latihan.

Penerapan: Model Persediaan

Mari kita perhatikan versi modifikasi model persediaan, tempat intensitas lompatan bergantung pada keadaan.

Secara khusus, waktu tunggu hingga persediaan baru datang sekarang berdistribusi eksponensial dengan laju \(\gamma\).

Laju kedatangan pelanggan tetap dinyatakan dengan \(\lambda\) dan boleh berbeda dari \(\gamma\).

Kita memakai parameter berikut.

α = 0.6
λ = 0.5
γ = 0.1
b = 10

Rencana kita adalah menyelidiki distribusi \(\psi_T\) dari \(X_T\) pada \(T=30\).

Kita akan melakukannya dengan menyimulasikan banyak realisasi \(X_T\) yang saling bebas dan membuat histogramnya.

(Dalam latihan, Anda diminta menghitung \(\psi_T\) dengan cara berbeda melalui persamaan psolq.)

@njit
def draw_X(T, X_0, max_iter=5000):
    """
    Bangkitkan satu realisasi X_T dengan syarat X_0.
    """

    J, Y = 0.0, X_0
    m = 0

    while m < max_iter:
        s = 1 / γ if Y == 0 else 1 / λ
        # W ~ Exp(γ) pada keadaan 0; W ~ Exp(λ) pada keadaan lainnya.
        W = np.random.exponential(scale=s)
        J += W
        if J >= T:
            return Y
        # Jika belum mencapai T, perbarui Y.
        if Y == 0:
            Y = b
        else:
            U = np.random.geometric(α)
            Y = Y - min(Y, U)
        m += 1

    raise RuntimeError("max_iter tercapai sebelum waktu T")


@njit
def independent_draws(T=10, num_draws=100, seed=20260824):
    "Bangkitkan vektor realisasi X_T yang saling bebas."

    np.random.seed(seed)
    draws = np.empty(num_draws, dtype=np.int64)

    for i in range(num_draws):
        X_0 = np.random.binomial(b, 0.25)
        draws[i] = draw_X(T, X_0)

    return draws

Catatan koreksi hilir.

T = 30
n = b + 1
states = np.arange(n)
draws = independent_draws(T, num_draws=100_000, seed=20260824)
prob_empiris = np.array([np.mean(draws == i) for i in states])

fig, ax = plt.subplots()
ax.bar(states, prob_empiris, width=0.8, alpha=0.6)
ax.set_xlabel("persediaan", fontsize=14)
ax.set_ylabel("probabilitas empiris", fontsize=14)
ax.set_title("Distribusi persediaan hasil simulasi pada T = 30")
fig.set_label(
    "Diagram batang probabilitas empiris persediaan untuk keadaan 0 sampai 10."
)

print("keadaan,probabilitas_empiris")
for state, probability in zip(states, prob_empiris):
    print(f"{state},{probability:.12f}")

plt.show()
Diagram batang probabilitas empiris persediaan pada waktu 30 untuk keadaan 0 sampai 10.
Diagram batang probabilitas empiris persediaan pada waktu 30 untuk keadaan 0 sampai 10.
keadaanprobabilitas empiris
00.441390000000
10.052450000000
20.052620000000
30.053180000000
40.051620000000
50.051860000000
60.053140000000
70.052510000000
80.051370000000
90.053080000000
100.086780000000

Alternatif aksesibel untuk gambar. Diagram batang memperlihatkan probabilitas empiris setiap tingkat persediaan \(0,\ldots,10\) pada \(T=30\). Sel kode mencetak pasangan keadaan,probabilitas_empiris yang memuat data gambar sebagai tabel numerik hingga dua belas angka desimal.

Catatan adaptasi hilir. Label sumbu inventory pada kedua gambar sumber dilokalkan menjadi persediaan. Kedua gambar juga memperoleh judul, label deskriptif, dan tabel data tekstual agar informasi tidak hanya tersedia melalui persepsi visual.

Jika Anda bereksperimen dengan kode di atas, Anda akan melihat bahwa besarnya massa di keadaan nol disebabkan oleh rendahnya laju \(\gamma\) bagi kedatangan persediaan baru.

Latihan

Dalam pembahasan di atas, kita menghasilkan pendekatan bagi \(\psi_T\) ketika \(T=30\), kondisi awal berdistribusi Binomial\((b,0.25)\) pada ruang keadaan \(\{0,\ldots,b\}\), dan parameter ditetapkan sebagai

α = 0.6
λ = 0.5
γ = 0.1
b = 10

Perhitungan tersebut dilakukan dengan menyimulasikan realisasi yang saling bebas dan membuat histogram.

Cobalah menghasilkan gambar yang sama dengan memakai persamaan psolq, dengan memodifikasi kode dari kuliah kita mengenai sifat Markov.

Solusi

Berikut salah satu solusi.

Catatan koreksi hilir. Sumber memakai n=b+1 sebagai banyaknya keadaan sekaligus sebagai argumen banyaknya percobaan bagi binom.pmf(states,n,0.25). Karena states hanya mencakup \(0,\ldots,b\), pilihan itu menghilangkan massa \(0.25^{b+1}\) pada hasil \(b+1\). Solusi di bawah mempertahankan n=b+1 untuk ukuran matriks, memakai \(b\) sebagai banyaknya percobaan binomial, serta mendefinisikan T, n, dan states secara lokal agar solusi tidak bergantung pada sel sebelumnya.

α = 0.6
λ = 0.5
γ = 0.1
b = 10
T = 30
n = b + 1
states = np.arange(n)
I = np.identity(n)

# Matriks rantai lompatan tertanam
K = np.zeros((n, n))
K[0, -1] = 1
for i in range(1, n):
    for j in range(0, i):
        if j == 0:
            K[i, j] = (1 - α)**(i-1)
        else:
            K[i, j] = α * (1 - α)**(i-j-1)

# Intensitas lompatan sebagai fungsi keadaan
r = np.ones(n) * λ
r[0] = γ

# Matriks Q
Q = np.empty_like(K)
for i in range(n):
    for j in range(n):
        Q[i, j] = r[i] * (K[i, j] - I[i, j])


def P_t(ψ, t):
    return ψ @ expm(t * Q)


ψ_0 = binom.pmf(states, b, 0.25)
ψ_T = P_t(ψ_0, T)

fig, ax = plt.subplots()
ax.bar(states, ψ_T, width=0.8, alpha=0.6)
ax.set_xlabel("persediaan", fontsize=14)
ax.set_ylabel("probabilitas", fontsize=14)
ax.set_title("Distribusi persediaan eksak pada T = 30")
fig.set_label(
    "Diagram batang probabilitas eksak persediaan untuk keadaan 0 sampai 10."
)

print("keadaan,probabilitas_eksak")
for state, probability in zip(states, ψ_T):
    print(f"{state},{probability:.12f}")

plt.show()
Diagram batang probabilitas eksak persediaan pada waktu 30 untuk keadaan 0 sampai 10.
Diagram batang probabilitas eksak persediaan pada waktu 30 untuk keadaan 0 sampai 10.
keadaanprobabilitas eksak
00.439589806729
10.053393021119
20.053122384965
30.052810891683
40.052516360938
50.052285046134
60.052145773080
70.052107847928
80.052162447673
90.052286743809
100.087579675942

Alternatif aksesibel untuk gambar. Diagram batang memperlihatkan probabilitas eksak setiap tingkat persediaan \(0,\ldots,10\) pada \(T=30\). Tabel teks keadaan,probabilitas_eksak yang dicetak oleh sel memuat data gambar hingga dua belas angka desimal.

Buktikan bahwa penurunan persamaan kbinteg pada setiap \((x,y)\) menghasilkan persamaan kolbackeq.

Solusi Mudah diperiksa bahwa, jika \(f\) adalah fungsi terdiferensialkan dan \(\alpha>0\), maka

\[ g(t) = e^{- t \alpha} f(t) \quad \implies \quad g'(t) = e^{- t \alpha} f'(t) - \alpha g(t). \]

Perhatikan pula bahwa, dengan penggantian variabel \(s=t-\tau\), kita dapat menulis ulang persamaan kbinteg sebagai

\[ P_t(x, y) = e^{-t \lambda(x)} \left\{ I(x, y) + \lambda(x) \int_0^t (K P_s)(x, y) e^{s \lambda(x)} d s \right\}. \]

Menerapkan persamaan gdiff memberikan

\[ P'_t(x, y) = e^{-t \lambda(x)} \left\{ \lambda(x) (K P_t)(x, y) e^{t \lambda(x)} \right\} - \lambda(x) P_t(x, y). \]

Setelah sedikit menata ulang, hasilnya menjadi

\[ P'_t(x, y) = \lambda(x) [ (K - I) P_t](x, y), \]

yang identik dengan persamaan kolbackeq.

Di atas kita menyatakan bahwa solusi \(P_t=e^{tQ}\) adalah satu-satunya semigrup Markov yang memenuhi persamaan mundur \(P'_t=QP_t\).

Cobalah memberikan pembuktian.

(Latihan ini tidak mudah, tetapi tetap layak dipikirkan.)

Solusi Berikut salah satu pembuktian keunikan.

Andaikan \((\hat P_t)\) adalah semigrup Markov lain yang memenuhi \(\hat P'_t=Q\hat P_t\).

Tetapkan \(t>0\) dan definisikan \(V_s=P_s\hat P_{t-s}\) untuk \(0\leq s\leq t\).

Perhatikan bahwa \(V_0=\hat P_t\) dan \(V_t=P_t\).

Pemetaan \(s\mapsto V_s\) terdiferensialkan, dengan turunan

\[ V'_s = P'_s \hat P_{t-s} - P_s \hat P'_{t-s} = P_s Q \hat P_{t-s} - P_s Q \hat P_{t-s} = 0, \]

di mana pada kesamaan kedua dari belakang kita memakai persamaan expoderiv.

Jadi \(V_s\) konstan. Karena \(V_0=\hat P_t\) dan \(V_t=P_t\), kita memperoleh \(\hat P_t=P_t\).

Karena \(t\) sebarang, pembuktian selesai.

Catatan koreksi hilir. Sumber menuliskan persamaan untuk semigrup kedua dengan simbol tanpa topi dan mendefinisikan \(V_s\) untuk semua \(s\geq0\), meskipun \(\hat P_{t-s}\) hanya tersedia pada interval \(0\leq s\leq t\). Simbol dan domain diperbaiki secara eksplisit tanpa mengubah argumen.