考研相關文章參考資料為 wjungle 大神提供的筆記

L5 遞迴關係

L5-2 常係數線性遞迴

定義

若數列 (an)(a_n) 滿足 c0an+c1an1++ckank=f(n)c_0a_n+c_1a_{n-1}+\cdots+c_ka_{n-k}=f(n)

其中 c0,c1,,ckc_0,c_1,\ldots,c_k 為常數,且 c00c_0\ne0ck0c_k\ne0,則稱為 kk 階常係數線性遞迴關係。

  • ana_n 時,需給定前 kk 項初始值。
  • f(n)=0f(n)=0 時,稱為 homogeneous (齊次) 遞迴關係。
  • f(n)0f(n)\ne0 時,稱為 nonhomogeneous (非齊次) 遞迴關係。

齊次解

方法

對齊次遞迴關係,設 an=Aαna_n=A\alpha^n,代入 c0an+c1an1++ckank=0c_0a_n+c_1a_{n-1}+\cdots+c_ka_{n-k}=0

可得 Aαnk(c0αk+c1αk1++ck)=0A\alpha^{n-k}(c_0\alpha^k+c_1\alpha^{k-1}+\cdots+c_k)=0

因此特徵方程c0αk+c1αk1++ck=0c_0\alpha^k+c_1\alpha^{k-1}+\cdots+c_k=0
其根的重數總和為 kk

相異根

若特徵方程有 kk 個相異根 α1,α2,,αk\alpha_1,\alpha_2,\ldots,\alpha_k,則

an=d1α1n+d2α2n++dkαkna_n=d_1\alpha_1^n+d_2\alpha_2^n+\cdots+d_k\alpha_k^n

其中 d1,d2,,dkd_1,d_2,\ldots,d_k 由前 kk 項初始值決定。

重根

若相異根為 α1,α2,,αr\alpha_1,\alpha_2,\ldots,\alpha_r,且 αi\alpha_i 的重數為 mim_i,則

an=i=1r(di,0+di,1n++di,mi1nmi1)αina_n=\sum_{i=1}^{r}\left(d_{i,0}+d_{i,1}n+\cdots+d_{i,m_i-1}n^{m_i-1}\right)\alpha_i^n

其中 m1+m2++mr=km_1+m_2+\cdots+m_r=k,所有常數由前 kk 項初始值決定。重複 mm 次的根會額外乘上 1,n,,nm11,n,\ldots,n^{m-1}

共軛複根

若特徵方程有一對共軛複根
α1=δ+iω,α2=δiω,ω0\alpha_1=\delta+i\omega,\quad \alpha_2=\delta-i\omega,\quad \omega\ne0

ρ=δ2+ω2\rho=\sqrt{\delta^2+\omega^2},並令 α1=ρeiθ\alpha_1=\rho e^{i\theta}α2=ρeiθ\alpha_2=\rho e^{-i\theta}。由 Euler 公式可得實數通解

an=ρn(B1cos(nθ)+B2sin(nθ))a_n=\rho^n\left(B_1\cos(n\theta)+B_2\sin(n\theta)\right)
其中 B1,B2B_1,B_2 由初始值決定。

非齊次解

非齊次遞迴關係的通解為 an=an(h)+an(p)a_n=a_n^{(h)}+a_n^{(p)}

其中 an(h)a_n^{(h)} 為對應齊次遞迴關係的通解,an(p)a_n^{(p)} 為與 f(n)f(n) 有關的一個特解。

多項式

f(n)=C0+C1n++Cmnm,Cm0f(n)=C_0+C_1n+\cdots+C_mn^m,\quad C_m\ne0

則可設特解為 an(p)=nr(d0+d1n++dmnm)a_n^{(p)}=n^r\left(d_0+d_1n+\cdots+d_mn^m\right)

其中 rr 為特徵方程中根 11 的重數;若 11 不是特徵根,則 r=0r=0。將此式代回原遞迴關係,可解出 d0,d1,,dmd_0,d_1,\ldots,d_m

  • 指數型式取 α=1\alpha=1 的特例
指數

f(n)=(C0+C1n++Cmnm)αn,Cm0f(n)=\left(C_0+C_1n+\cdots+C_mn^m\right)\alpha^n,\quad C_m\ne0

則可設特解為 an(p)=nr(d0+d1n++dmnm)αna_n^{(p)}=n^r\left(d_0+d_1n+\cdots+d_mn^m\right)\alpha^n

其中 rr 為特徵方程中根 α\alpha 的重數;若 α\alpha 不是特徵根,則 r=0r=0。將此式代回原遞迴關係,可解出 d0,d1,,dmd_0,d_1,\ldots,d_m

三角函數

f(n)=C1ρncos(nθ)f(n)=C2ρnsin(nθ)f(n)=C_1\rho^n\cos(n\theta)\quad\text{或}\quad f(n)=C_2\rho^n\sin(n\theta)

則可設特解為 an(p)=nrρn(B1cos(nθ)+B2sin(nθ))a_n^{(p)}=n^r\rho^n\left(B_1\cos(n\theta)+B_2\sin(n\theta)\right)

其中 rr 為特徵方程中 ρeiθ\rho e^{i\theta}ρeiθ\rho e^{-i\theta} 的重數;若兩者皆非特徵根,則 r=0r=0

Note

求非齊次解流程:

  1. 求對應齊次遞迴關係的特徵方程根 α\alpha,並判斷相關根的重數 rr
  2. f(n)f(n) 的型式設特解 an(p)a_n^{(p)},將其代入原遞迴關係,求出特解中的待定係數。
  3. 組合 an=an(h)+an(p)a_n=a_n^{(h)}+a_n^{(p)},再代入前 kk 項初始值,求出齊次解 an(h)a_n^{(h)} 的係數。

L5-4 生成函數法

Note

令數列 (an)(a_n) 的 GF 為 A(x)=a0+a1x+a2x2+=n=0anxnA(x)=a_0+a_1x+a_2x^2+\cdots=\sum_{n=0}^{\infty}a_nx^n

調整求和下標時,可先以 xx 的冪次配合數列下標做位移。

  • ana_n

    • n=1anxn=A(x)a0\sum_{n=1}^{\infty}a_nx^n=A(x)-a_0
    • n=2anxn=A(x)a0a1x\sum_{n=2}^{\infty}a_nx^n=A(x)-a_0-a_1x
  • an1a_{n-1}

    • n=1an1xn=xA(x)\sum_{n=1}^{\infty}a_{n-1}x^n=xA(x)
    • n=2an1xn=x(A(x)a0)\sum_{n=2}^{\infty}a_{n-1}x^n=x\left(A(x)-a_0\right)
  • an2a_{n-2}

    • n=2an2xn=x2A(x)\sum_{n=2}^{\infty}a_{n-2}x^n=x^2A(x)
    • n=3an2xn=x2(A(x)a0)\sum_{n=3}^{\infty}a_{n-2}x^n=x^2\left(A(x)-a_0\right)
範例

L5-5 應用問題

範例

L5-6 特殊型遞迴

定理

(an)(a_n)(bn)(b_n) 為兩數列,定義

cn=(ab)n=k=0nakbnkc_n=(a\otimes b)_n=\sum_{k=0}^{n}a_kb_{n-k}

稱數列 (cn)(c_n)(an)(a_n)(bn)(b_n)convolution (卷積)。

Note

(an)(a_n)(bn)(b_n)(cn)(c_n) 的 GF 分別為 A(x)A(x)B(x)B(x)C(x)C(x),且 cn=(ab)nc_n=(a\otimes b)_n,則 C(x)=A(x)B(x)C(x)=A(x)B(x)

cn=(aa)nc_n=(a\otimes a)_n,則 C(x)=A(x)2C(x)=A(x)^2

Catalan 數

範例

求有 nn 個節點的 binary ordered tree (二元有序樹) 數量。

其數量為第 nnCatalan 數,記為 CnC_n,具有下列兩種表現形式:

C0=1,Cn=k=0n1CkCnk1(n1)C_0=1,\quad C_n=\sum_{k=0}^{n-1}C_kC_{n-k-1}\quad(n\ge1)

Cn=1n+1(2nn)C_n=\frac{1}{n+1}\binom{2n}{n}

Note

Catalan 數遞迴式的索引平移:

  • a0=1a_0=1,且 an=k=0n1akank1\displaystyle a_n=\sum_{k=0}^{n-1}a_ka_{n-k-1},則 an=Cna_n=C_n
  • a1=1a_1=1,且 an=k=1n1akank\displaystyle a_n=\sum_{k=1}^{n-1}a_ka_{n-k},則 an=Cn1a_n=C_{n-1}
  • a2=1a_2=1,且 an=k=2n1akan+1k\displaystyle a_n=\sum_{k=2}^{n-1}a_ka_{n+1-k},則 an=Cn2a_n=C_{n-2}
範例

nn 個變數 x1,x2,,xnx_1,x_2,\ldots,x_n 的合法括號放置方法數為 Cn1=1n(2(n1)n1)C_{n-1}=\frac{1}{n}\binom{2(n-1)}{n-1}

  • 分變數的時候,左右兩邊至少都要有一數
範例 Note

nn 對括號的合法配對方法數為 Catalan 數 CnC_n

全部: (2nn)\binom{2n}{n},不合法: (2nn1)\binom{2n}{n-1}

合法: (2nn)(2nn1)=1n+1(2nn)=Cn\binom{2n}{n}-\binom{2n}{n-1}=\frac{1}{n+1}\binom{2n}{n}=C_n