第八章 组合计数方法 第一节 递推方程的公式解法 主要内容 一、递推方程定义与实例 二、常系数线性齐次递推方程的求解 1. 常系数线性齐次递推方程的定义 2. 特征根无重根的情况 3. 特征根有重根的情况 三、非齐次情况的求解 1. 非齐次项为 n 的多项式函数 2. 非齐次项为 n 的指数函数.

Download Report

Transcript 第八章 组合计数方法 第一节 递推方程的公式解法 主要内容 一、递推方程定义与实例 二、常系数线性齐次递推方程的求解 1. 常系数线性齐次递推方程的定义 2. 特征根无重根的情况 3. 特征根有重根的情况 三、非齐次情况的求解 1. 非齐次项为 n 的多项式函数 2. 非齐次项为 n 的指数函数.

第八章 组合计数方法
第一节 递推方程的公式解法
主要内容
一、递推方程定义与实例
二、常系数线性齐次递推方程的求解
1. 常系数线性齐次递推方程的定义
2. 特征根无重根的情况
3. 特征根有重根的情况
三、非齐次情况的求解
1. 非齐次项为 n 的多项式函数
2. 非齐次项为 n 的指数函数
一、递推方程定义:
设序列 a0,a1,…,an,…, 简记为{an},
一个把 an 与某些个 ai(i<n)联系起来的等式
叫做关于序列{an}的递推方程
实例:
Fibonacci 数列
阶乘计算
fn = fn-1 + fn-2
F(n) = nF(n-1)
例 1 一个编码系统用 8 进制数字对信息编码,一个码是有效的当且
仅当含有偶数个 7, 求 n 位长的有效码字有多少个?
解
设所求有效码字为 an 个
分类处理、分步处理
an = 7an-1 + 8  an-1
n-1
n-1
an = 6an-1 + 8 , a1=7
n
n
解得 an=(6 +8 )/2
例2 Hanoi 塔 问题
T(n) = 2 T(n-1) + 1
T(1) = 1
求解得
T(n) = 2 1
n
例3
哪种排序算法在最坏情况下复杂度比较低?
插入排序、归并排序
插入排序
W(n) = W(n 1) + n 1
W(1) = 0
2
解得 W(n) = O(n ).
k
归并排序,不妨设 n = 2 .
W(n) = 2W(n/2) + n-1
W(1) = 0
解得 W(n) = O(nlogn)
二.常系数线性齐次递推方程的求解
1. 常系数线性齐次递推方程的定义
 H ( n)  a1 H ( n  1)  a2 H ( n  2)  ...  ak H ( n  k )

 H (0)  b0 , H (1)  b1 , H ( 2)  b2 , ... , H ( k  1)  bk 1
其中 a1,a2,…,ak 为常数,ak  0
称为 k 阶常系数线性齐次递推方程
b0,b1,…,bk-1 为 k 个初值
实例:Fibonacci 数列的递推方程
2.特征根无重根的情况
设递推方程
 H (n)  a1 H (n  1)  a2 H ( n  2)  ... ak H ( n  k )  0

 H (0)  b0 , H (1)  b1 , H ( 2)  b2 , ... , H ( k  1)  bk 1
k
k-1
其特征方程 x - a1x - … - ak = 0,
特征方程的根称为递推方程的特征根
实例
递推方程 fn = fn-1 + fn-2
特征方程 x2-x-1 = 0
特征根
1 5 1 5
,
2
2
求解思路:通过特征根找递推方程的通解
通过初值确定解
定理 1 q 是非零复数,则 qn 是递推方程的解
 q 是它的特征根
证:
n
q 是递推方程的解
n
 q - a1q
n-k
n-1
k
- a2q
 q (q - a1q
k
 q - a1q
k-1
k-1
n-2
n-k
- … - akq
k-2
- a2q
k-2
- a2 q
 q 是它的特征根
= 0
- … - ak) = 0
- … - ak = 0
定理 2 h1(n)和 h2(n)是递推方程的解,
c1,c2 为任意常数,
则 c1h1(n)+c2h2(n)是递推方程的解.
证明
将 c1h1(n)+c2h2(n)代入递推方程左边,
化简后等于 0
推论:若 q1,q2,…,qk 是递推方程的特征根,
n
n
n
则 c1q1 +c2q2 +…+ckqk 是递推方程的解,
其中 c1,c2,…,ck 是任意常数.
通解:若对递推方程的每个解 h(n)都存在一组常数
n
n
n
c1’,c2’,…ck’ 使得 h(n)=c1’q1 +c2’q2 +…+ck’qk 成立,
则称 c1q1n+c2q2n+…+ckqkn 为通解.
定理 3 设 q1,q2,…,qk 是不等的特征根,则
n
n
n
H(n)= c1q1 +c2q2 +…+ckqk 为通解.
证: H(n)是解.
设 h(n)是递推方程的任意解,
h(0),h(1),…,h(k-1)由初值 b0,b1,…,bk-1 唯一确定.
c1 ' c2 '...  ck '  b0

 c1 ' q1  c2 ' q2  ...  ck ' qk  b1

...

 c1 ' q1 k 1  c2 ' q2 k 1  ...  ck ' qk k 1  bk 1
系数行列式
 (qi  q j )  0 当 qiqj 时
1 i  j  k
方程组有唯一解
例4
Fibonnaci 数列
特征根为
1 5 1 5
,
,递推方程的通解为
2
2
n
1 5 
1 5 



f n  c1
 c2 
 2 
 2 




n
带入初值 f0 =1, f1=1, 得
c1  c2  1
 
 c  1  5   c  1  5   1
 1 2  2  2 



 
解得 c1 
1 1 5
1 1 5
, c2  
5 2
5 2
1  1  5 
fn 
5  2 
n 1
1  1  5 

5  2 
n 1
例 5 联立方程组
 g( t )  3 f ( t  1)  2 g( t  1)

 f ( t )  g( t  1)
 g(0)  0, f (0)  1

 g( t )  3 g( t  2)  2 g( t  1)

 g(0)  0, g(1)  3 f (0)  2 g(0)  3
特征方程 x22x3=0
特征根
q1 = 1, q2 = 3
通解 g(t) = c1(-1)n+c2 3n
3.有重根的情况
实例:H(n)-4H(n-1)+4H(n-2)=0
通解
H(0)=0, H(1)=1
n
n
n
H(n) = c12 + c22 = c2
关键:寻找线性无关的解
n2n 是另一个线性无关的解
H(n) = c1 2n + c2n2n
解得:c1=0, c2=1/2 ,
1
n
H(n) = 2 n2 = n2
n-1
引理 1 设 f0 ( x)  x n  a1 x n1  ... ak 1 x nk 1ak x nk
令 f i ( x)  xfi 1'( x), i  Z 
则 f i ( x)  ni x n  a1 (n  1)i x n1  ... ak (n  k )i x nk
证:
归纳法.
f1 ( x)  xf0 '( x)  nxn  a1 (n  1) x n1  ... ak (n  k ) x nk
假设 fi(x)为真,则
f i 1 ( x )  xf i ' ( x )
 x[n i 1 x n1  a1 ( n  1) i 1 x n 2  ...  a k ( n  k ) i 1 x n k 1 ]
 n i 1 x n  a1 ( n  1) i 1 x n1  ...  a k ( n  k ) i 1 x n k
引理 2 设 f i ( x)  ni x n  a1 (n  1)i x n1  ... ak (n  k )i x nk ,
q 是 fi(x)的 e 重根,则 q 是 fi+1(x)的 e1 重根.
证
f i ( x )  ( x  q )e P ( x )
f i 1 ( x )  xf i ' ( x )
 e ( x  q ) e 1 P ( x )  ( x  q ) e P ' ( x )
 ( x  q )e 1 [eP ( x )  ( x  q ) P ' ( x )]
(x-q)不整除 P(x), q 是 fi+1(x)的 e1 重根.
定理 4 若 q 是递推方程的 e 重特征根,则
n
n
e-1
n
q ,nq , …, n q 是递推方程的线性无关的解
证:
(1)归纳证明 q 是 fi(x)的 e-i 重根,i=0,1,…,e-1.
i=0, q 是 f0(x)的 e 重根
假设 q 是 fi(x)的 e-i 重根,则根据引理 2,
q 是 fi+1(x)的 e-i-1 重根.
(2)由引理 1,fi(x) = nixn-a1(n-1)ixn-1-…-ak(n-k)ixn-k,
代入得 niqn-a1(n-1)iqn-1-…-ak(n-k)iqn-k = 0
niqn 是解,i=0,1,…,e-1.
(3)解线性无关. 设
c1qn + c2nqn + … + cene-1qn = 0
 c1 = c2 = … = ce = 0
定理 5 设 q1,q2, …, qt 是递推方程的不相等的特征根,
且 qi 的重数为 ei,令
H i ( n)  (ci1  ci 2 n  ...  ciei nei 1 )qi n
那么通解
t
H ( n)   H i ( n)
i 1
证: 由定理 4,定理 2,H(n)是解.
代入初值后 c1,c2,…,ck 的系数行列式是
推广的范德蒙行列式,其值不为 0.
因此构成通解.
例6
H(n)+H(n-1)-3H(n-2)-5H(n-3)-2H(n-4) = 0
H(0) = 1, H(1) = 0, H(2) = 1, H(3) = 2
特征方程 x4+x3-3x2-5x-2 = 0 , 特征根-1,-1,-1,2,
通解为
H ( n)  (c1  c2 n  c3 n 2 )( 1) n  c4 2 n
c1  c4  1

  c1  c2  c3  2c4  0

c1  2c2  4c3  4c4  1
  c1  3c2  9c3  8c4  2

解得
解为
7
1
2
c1  , c2   , c3  0, c4 
9
3
9
7
1
2
H (n)  (1)n  n(1)n  2n
9
3
9
三.常系数线性非齐次递推方程
H (n)  a1 H (n  1)  ...  ak H (n  k )  f (n), n  k , ak  0, f (n)  0.
定理 6 设 H (n) 是对应齐次方程的通解,H*(n)是一个特解,则
H (n)  H (n)  H * (n)
是递推方程的通解.
证(1)H(n)是解,代入验证.
(2)设 h(n)是解,证明 h(n)为一个齐次解与特解 H*(n)之和.
h( n)  a1h( n  1)  ...  a k h( n  k )  f ( n)
 ) H * ( n)  a1 H * ( n  1)  ...  ak H * ( n  k )  f ( n)
[h( n)  H * ( n)]  a1[h( n  1)  H * ( n  1)]  ...
 a k [h( n  k )  H * ( n  k )]  0
h(n)-H*(n)是齐次解,即 h(n)是一个齐次解与 H*(n)之和.
*
求解的关键是确定一个特解 H (n), 用待定系数法.
*
1. f(n)为 n 的 t 次多项式,一般 H (n)也为 n 的 t 次多项式
例7
an + 5an-1 + 6an-2 = 3n2
设
an = P1n + P2n + P3 , 代入得
*
2
P1n2+P2n+P3 +5[P1(n-1)2+P2(n-1)+P3]+6[P1(n-2)2+P2(n-2)+P3]=3n2
12P1  3

- 34P1  12P2  0
 29P - 17P  12P  0
1
2
3

1
17
115
, P2 
, P3 
4
24
288
1
17
115
 n2 
n
4
24
288
P1 
a n*
通解为
1
17
115
an  c1 (2)n  c2 (3)n  n2  n 
4
24
288
例8
H(n)- H(n-1) = 7n
设特解为 Pn 不行,应设为 n2 高次项, 因为特征根是 1.
设 H*(n) = P1n2 + P2n, 代入 解得 P1 = P2 = 7/2,
通解为
例9
n
H(n) = c1 +
7
7
n(n+1) = c +
n(n+1)
2
2
Hanoi 塔
T(n) = 2 T(n-1)+1
T*(n) = P
P = 2 P + 1 , P = -1
T(n) = c 2n–1, 代入初值 T(1)=1, 得 c=1,
解为 T(n) = 2n –1.
2.f(n) 为指数函数 
n
(1) 若不是特征根,则特解为 H*(n) = Pn
例 10 H(n) + 5H(n-1) + 6H(n-2) = 424n
H*(n) = P4n , 代入得
n
P4 + 5P4
n-1
n-2
+ 6 P4
42P = 4216,
n
= 424
P = 16
n
n
通解为 H(n) = c1(-2) + c2(-3) + 4
例 11 通信编码问题
n-1
an = 6an-1 + 8 , a1=7
a*n = P 8n-1 , 代入得 P = 4
n
n
通解 an=c6 + 48
代入初值得 an=(6n+8n)/2
n+2
(2) 若  是 e 重特征根,则特解为 Pn 
e
n
例 11 H(n)– 5H(n-1) + 6H(n-2) = 2n,
H*(n) = Pn2n,
代入得
Pn2n– 5P(n-1)2n-1 + 6P(n-2)2n-2 = 2n
解得
P = -2
H*(n) = -n2n+1
例 12
组合形式
an - 2an-1 = n+3n
a0 = 0
*
n
设特解为 an = P1n + P2 + P33 ,代入
(P1n+P2+P33n)- 2[P1(n-1)+P2+P33n-1] = n+3n
n-1
-P1n+(2P1-P2)+P33
= n+3
n
P1 = -1, P2 = -2, P3 = 3
n
n+1
an= c2 –n-2 + 3
解得 c = -1,an= -2n –n–2 + 3n+1