CombinatoricsTopic #21 of 40

Recurrence Relations

Linear recurrences, characteristic equations, solving homogeneous and non-homogeneous recurrences.

Definition

A recurrence relation defines a sequence where each term is expressed as a function of previous terms.

an=f(an1,an2,,ank)a_n = f(a_{n-1}, a_{n-2}, \ldots, a_{n-k})

with initial conditions specifying a0,a1,,ak1a_0, a_1, \ldots, a_{k-1}.

Famous Examples

Fibonacci Sequence

Fn=Fn1+Fn2,F0=0,F1=1F_n = F_{n-1} + F_{n-2}, \quad F_0 = 0, F_1 = 1

Sequence: 0,1,1,2,3,5,8,13,21,34,0, 1, 1, 2, 3, 5, 8, 13, 21, 34, \ldots

Tower of Hanoi

Tn=2Tn1+1,T1=1T_n = 2T_{n-1} + 1, \quad T_1 = 1

Minimum moves to transfer nn disks: Tn=2n1T_n = 2^n - 1

Factorial

n!=n(n1)!,0!=1n! = n \cdot (n-1)!, \quad 0! = 1

Linear Homogeneous Recurrences

Constant Coefficients

an=c1an1+c2an2++ckanka_n = c_1 a_{n-1} + c_2 a_{n-2} + \cdots + c_k a_{n-k}

Characteristic Equation

Replace ana_n with rnr^n: rn=c1rn1+c2rn2++ckrnkr^n = c_1 r^{n-1} + c_2 r^{n-2} + \cdots + c_k r^{n-k}

Divide by rnkr^{n-k}: rkc1rk1c2rk2ck=0r^k - c_1 r^{k-1} - c_2 r^{k-2} - \cdots - c_k = 0

Solutions

Distinct roots r1,r2,,rkr_1, r_2, \ldots, r_k: an=α1r1n+α2r2n++αkrkna_n = \alpha_1 r_1^n + \alpha_2 r_2^n + \cdots + \alpha_k r_k^n

Repeated root rr with multiplicity mm: (α1+α2n+α3n2++αmnm1)rn(\alpha_1 + \alpha_2 n + \alpha_3 n^2 + \cdots + \alpha_m n^{m-1}) r^n

Use initial conditions to solve for α\alpha values.

Second-Order Examples

Example 1: Fibonacci

Fn=Fn1+Fn2F_n = F_{n-1} + F_{n-2}

Characteristic equation: r2r1=0r^2 - r - 1 = 0

Roots: r=1±52r = \frac{1 \pm \sqrt{5}}{2}

Let ϕ=1+52\phi = \frac{1 + \sqrt{5}}{2} (golden ratio) and ϕ^=152\hat{\phi} = \frac{1 - \sqrt{5}}{2}

General solution: Fn=α1ϕn+α2ϕ^nF_n = \alpha_1 \phi^n + \alpha_2 \hat{\phi}^n

Using F0=0,F1=1F_0 = 0, F_1 = 1: Fn=ϕnϕ^n5=15[(1+52)n(152)n]F_n = \frac{\phi^n - \hat{\phi}^n}{\sqrt{5}} = \frac{1}{\sqrt{5}}\left[\left(\frac{1+\sqrt{5}}{2}\right)^n - \left(\frac{1-\sqrt{5}}{2}\right)^n\right]

Example 2: Repeated Roots

an=4an14an2,a0=1,a1=4a_n = 4a_{n-1} - 4a_{n-2}, \quad a_0 = 1, a_1 = 4

Characteristic equation: r24r+4=0r^2 - 4r + 4 = 0

Root: r=2r = 2 (multiplicity 2)

General solution: an=(α1+α2n)2na_n = (\alpha_1 + \alpha_2 n) 2^n

Using initial conditions:

  • a0=1a_0 = 1: α1=1\alpha_1 = 1
  • a1=4a_1 = 4: (α1+α2)2=4α2=1(\alpha_1 + \alpha_2) \cdot 2 = 4 \Rightarrow \alpha_2 = 1

Solution: an=(1+n)2na_n = (1 + n) 2^n

Non-Homogeneous Recurrences

Form: an=c1an1++ckank+f(n)a_n = c_1 a_{n-1} + \cdots + c_k a_{n-k} + f(n)

Method: Particular + Homogeneous

  1. Find general solution to homogeneous part: an(h)a_n^{(h)}
  2. Find one particular solution: an(p)a_n^{(p)}
  3. General solution: an=an(h)+an(p)a_n = a_n^{(h)} + a_n^{(p)}

Finding Particular Solutions

f(n)f(n)Try
Constant ccan(p)=Aa_n^{(p)} = A
Polynomial ndn^dan(p)=Adnd++A0a_n^{(p)} = A_d n^d + \cdots + A_0
Exponential sns^nan(p)=Asna_n^{(p)} = A s^n

If the trial solution is already part of the homogeneous solution, multiply by nn.

Example

an=2an1+3n,a0=1a_n = 2a_{n-1} + 3^n, \quad a_0 = 1

Homogeneous solution: an(h)=α2na_n^{(h)} = \alpha \cdot 2^n

Particular solution: Try an(p)=A3na_n^{(p)} = A \cdot 3^n

Substituting: A3n=2A3n1+3nA \cdot 3^n = 2A \cdot 3^{n-1} + 3^n A=2A3+1A=3A = \frac{2A}{3} + 1 \Rightarrow A = 3

General solution: an=α2n+33na_n = \alpha \cdot 2^n + 3 \cdot 3^n

Using a0=1a_0 = 1: α+3=1α=2\alpha + 3 = 1 \Rightarrow \alpha = -2

Solution: an=22n+3n+1=3n+12n+1a_n = -2 \cdot 2^n + 3^{n+1} = 3^{n+1} - 2^{n+1}

Divide and Conquer Recurrences

Master Theorem

For T(n)=aT(n/b)+f(n)T(n) = aT(n/b) + f(n) where a1a \geq 1, b>1b > 1:

Let c=logbac = \log_b a. Compare f(n)f(n) to ncn^c:

  1. If f(n)=O(ncϵ)f(n) = O(n^{c-\epsilon}) for some ϵ>0\epsilon > 0: T(n)=Θ(nc)T(n) = \Theta(n^c)
  2. If f(n)=Θ(nc)f(n) = \Theta(n^c): T(n)=Θ(nclogn)T(n) = \Theta(n^c \log n)
  3. If f(n)=Ω(nc+ϵ)f(n) = \Omega(n^{c+\epsilon}) and regularity condition: T(n)=Θ(f(n))T(n) = \Theta(f(n))

Common Examples

RecurrenceSolution
T(n)=T(n/2)+O(1)T(n) = T(n/2) + O(1)O(logn)O(\log n) (binary search)
T(n)=2T(n/2)+O(n)T(n) = 2T(n/2) + O(n)O(nlogn)O(n \log n) (merge sort)
T(n)=2T(n/2)+O(1)T(n) = 2T(n/2) + O(1)O(n)O(n) (tree traversal)
T(n)=T(n/2)+O(n)T(n) = T(n/2) + O(n)O(n)O(n)

Generating Functions

Define G(x)=n=0anxnG(x) = \sum_{n=0}^{\infty} a_n x^n

Recurrence becomes an algebraic equation in G(x)G(x).

Example: For an=2an1+1a_n = 2a_{n-1} + 1, a0=0a_0 = 0:

G(x)=2xG(x)+11xG(x) = 2xG(x) + \frac{1}{1-x} G(x)=1(1x)(12x)G(x) = \frac{1}{(1-x)(1-2x)}

Expand using partial fractions to find ana_n.