Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

HỆ THỨC TRUY HỒI

• Các khái niệm


• Mô hình hóa bằng hệ thức truy hồi
• Giải hệ thức truy hồi

1
CÁC KHÁI NIỆM

• Hệ thức truy hồi đối với dãy {an} là một phương trình có
dạng an = f(an-1, an-2, ..., an-k), n  n0  0
• Ví dụ 1 an = an-1- an-2, n  2
 Nếu cho a0=3 và a1=5 thì có thể xác định a2= a1- a0 = 5-3
=2, a3= a2- a1 = 2-5 =-3,…

2
CÁC KHÁI NIỆM

• Dãy {an} được gọi là nghiệm của hệ thức truy hồi nếu các
số hạng của nó thỏa mãn hệ thức truy hồi này
• Ví dụ 2 Kiểm tra xem an=3n và an=5 với n=0, 1,… có là các
nghiệm của hệ thức an =2an-1 - an-2, n  2 hay không
 Với an=3n, ta có 2an-1 - an-2=2(3(n-1))-3(n-2)=3n=an vậy
an=3n là một nghiệm
 Với an=5, ta có 2an-1 - an-2=2.5-5=5=an nên an=5 cũng là
một nghiệm
3
CÁC KHÁI NIỆM

• Các điều kiện đầu là các giá trị của các số hạng của dãy đi
trước số hạng đầu tiên kể từ đó hệ thức truy hồi có hiệu
lực
• Ví dụ 3 a0 = 3, a1 =5 đối với hệ thức truy hồi an = an-1-an-
2, n  2, là các điều kiện đầu

4
CÁC KHÁI NIỆM

• Hệ thức truy hồi với điều kiện đầu xác định một dãy
(nghiệm) duy nhất của nó
• Điều kiện đầu và hệ thức truy hồi cung cấp một định
nghĩa đệ qui cho một dãy

5
CÁC KHÁI NIỆM

• Có thể xác định mọi số hạng của dãy sau một số lần truy
hồi nào đó khi có điều kiện đầu
• Hệ thức truy hồi an = f(an-1, an-2, ..., an-k) xác định một
dãy duy nhất khi có k điều kiện đầu a0 = C0, a1 = C1, ...,
ak-1 = Ck-1

6
MÔ HÌNH HÓA BẰNG
HỆ THỨC TRUY HỒI
• Ví dụ 1 Một người gửi 10.000$ vào tài khoản tại ngân hàng với lải
kép 11% mỗi năm. Hỏi sau 30 năm anh ta có bao nhiêu tiền trong tài
khoản.
• Giải Gọi Pn là tổng số tiền có sau n năm, vì số tiền sau n năm bằng
số tiền sau n-1 năm cộng với số tiền lải kép năm thứ n (0.11.Pn-1)
 Pn = Pn-1+ 0.11Pn-1 = 1.11Pn-1, hay Pn = 1.11Pn-1 , P0 = 10.000$
 P1 = (1.11)P0, P2 = (1.11)P1 = (1.11)2P0, ... , Pn = (1.11)nP0
 Vậy P30 = (1.11)3010.000$ = 228922,97$

7
MÔ HÌNH HÓA BẰNG
HỆ THỨC TRUY HỒI
• Ví dụ 2 Tìm tất cả các xâu nhị phân n bits không có 2 số
0 liên tiếp
• Giải ?

8
MÔ HÌNH HÓA BẰNG
HỆ THỨC TRUY HỒI
• Giải Gọi Sn là số xâu nhị phân n bits không có 2 số 0 liên tiếp. Chia
tập các xâu như vậy thành 2 tập B1= {(b1b2...bn-11) | bibi+1  00} và
B2={(b1b2...bn-10) | bibi+1  00}.
 Sn = |B1|+ |B2|
 |B1| = Sn-1
 |B2| = Sn-2 (vì bn = 0 nên bn-1 = 1, B2={(b1b2...bn-210)| bibi+1 
00})
 Vậy Sn = Sn-1+ Sn-2 , s1 = 2, s2 = 3
 S3 = S2 + S1 = 3 + 2 = 5
 S4 = S3 + S2 = 5 + 3 = 8, ….
9
MÔ HÌNH HÓA BẰNG
HỆ THỨC TRUY HỒI
• Ví dụ 3 Tìm công thức truy hồi cho Ckn
• Giải ?

10
GIẢI HỆ THỨC TRUY HỒI
• Hệ thức truy hồi tuyến tính thuần nhất
• Hệ thức truy hồi tuyến tính không thuần nhất
• Hệ thức truy hồi chia để trị

11
GIẢI HTTH TUYẾN TÍNH
• Một hệ thức truy hồi tuyến tính thuần nhất bậc k > 0 là một hệ
thức dạng
 an = c1an-1 + c2an-2 + ... + ckan-k, n  k (1)
 Với c1, c2 , ..., ck là các hằng số thực, ck  0
• Ví dụ Hệ thức Fibonacci an = an-1 + an-2, n  2 là hệ thức truy
hồi tuyến tính thuần nhất bậc 2

12
GIẢI HTTH TUYẾN TÍNH
• Dãy an = rn là nghiệm của an = c1an-1 + c2an-2 + ... + ckan-k
 rn = c1an-1 + c2an-2 + ... + ckan-k
 rk - c1rk-1 - c2rk-2 - ... - ck = 0 (2)
• Phương trình (2) được gọi là phương trình đặc trưng của (1),
và nghiệm của nó được gọi là nghiệm đặc trưng
• Lưu ý: Hệ thức bậc hai an = c1an-1 + c2an-2, n2 có PT đặc
trưng là
r2 - c1r- c2=0
13
GIẢI HTTH TUYẾN TÍNH

• Định Lý 1 Cho c1, c2 là các hằng số. Giả sử r2 - c1r - c2 = 0


có hai nghiệm phân biệt r1, r2. Khi đó dãy {an} là nghiệm của
hệ thức truy hồi an= c1an-1 + c2an-2 nếu và chỉ nếu an= 1r1n
+ 2r2n với n = 0,1, 2,.... Trong đó 1, 2 là các hằng số.

14
GIẢI HTTH TUYẾN TÍNH
Chứng minh
Giả sử an= 1r1n + 2r2n với n 0, do r1 và r2 là nghiệm của r2 - c1r -
c2 = 0 nên
c1an-1+c2an-2=c1(1r1n-1 + 2r2n-1)+ c2(1r1n-2 + 2r2n-2)
= 1r1n-2(c1r1+c2)+2r2n-2(c1r2+c2)
= 1r1n-2r12+2r2n-2r22
= 1r1n+2r2n= an
Vậy dãy an= 1r1n + 2r2n,  0 là một nghiệm cùa an= c1an-1 + c2an-2

15
GIẢI HTTH TUYẾN TÍNH
Chứng minh
Giả sử dãy an= 1r1n +2r2n là một nghiệm của an=c1an-1 + c2an-2 thỏa
điều kiện đầu a0=C0, a1=C1 khi đó
a0=C0= 1 + 2 và a1=C1= 1r1 + 2r2
nên 1=(C1-C0r2)/(r1-r2)
2=(C0r1-C1)/(r1-r2)
Vậy tồn tại 1 và 2 để an= 1r1n +2r2n  0 là một nghiệm của hệ
thức an=c1an-1 + c2an-2

16
GIẢI HTTH TUYẾN TÍNH
• Ví dụ 1 Tìm một nghiệm của hệ thức truy hồi tuyến tính thuần
nhất bậc hai an= an-1 + 2an-2, n  2 với a0 = 2, a1 = 7
• Giải Phương trình đặc trưng r2 - r - 2 =0
 Nghiệm phương trình đặc trưng r1 = 2, r2 = -1
 Nghiệm hệ thức an = 1r1n + 2r2n = 12n + 2(-1)n, n = 0,1,...
 Thế điều kiện đầu  1 + 2 = 2 và 12 + 2(-1) = 7
 suy ra 1 = 3 và 2 = -1
 Vậy nghiệm của hệ thức truy hồi là an = 3.2n - (-1)n, n  0

17
GIẢI HTTH TUYẾN TÍNH

• Ví dụ 2 Tìm nghiệm của hệ thức truy hồi Fibonacci fn= fn-1 +


fn-2, n  2, f0 = 0, f1 = 1
• Giải ?

18
GIẢI HTTH TUYẾN TÍNH

• Định Lý 2 Cho c1, c2 là các hằng số. Giả sử r2 - c1r - c2 = 0


chỉ có một nghiệm kép r0. Khi đó dãy {an} là nghiệm của hệ
thức truy hồi an= c1an-1 + c2an-2 nếu và chỉ nếu an= 1r0n +
2n r0n với n = 0,1, 2,.... Trong đó 1, 2 là các hằng số

19
GIẢI HTTH TUYẾN TÍNH
• Ví dụ 3 Tìm một nghiệm của hệ thức truy hồi tuyến tính thuần
nhất bậc hai an= 6an-1 - 9an-2, n  2 với a0 = 1, a1 = 6
• Giải Phương trình đặc trưng r2 - 6r + 9 =0
 Nghiệm kép phương trình đặc trưng r = 3
 Nghiệm hệ thức an = 1rn + 2nrn = 13n + 2n3n, n = 0,1,...
 Thế điều kiện đầu  1 = 1 và 13 + 23 = 6
 suy ra 1 = 1 và 2 = 1
 Vậy nghiệm của hệ thức truy hồi là an = 3n + n3n, n  0

20
GIẢI HTTH TUYẾN TÍNH

• Định Lý 3 Cho c1, c2, ..., ck là các hằng số. Giả sử phương
trình đặc trưng rk - c1rk-1 - ... -ck = 0 có k nghiệm phân biệt
r1, r2,,..., rk. Khi đó dãy {an} là nghiệm của hệ thức truy hồi
an= c1an-1 + c2an-2 + ... + ckan-k nếu và chỉ nếu an= 1r1n +
2r2n +...+ krkn với n= 0,1, ... Trong đó 1, 2,..., k là các
hằng số

21
GIẢI HTTH TUYẾN TÍNH
• Ví dụ 4 Tìm một nghiệm của hệ thức truy hồi bậc ba an= 6an-1 -
11an-2 + 6an-3, n  3, với a0 = 2, a1 = 5, a2 = 15
• Giải Phương trình đặc trưng r3 - 6r2 +11r - 6 = 0
 Nghiệm phương trình đặc trưng r1 = 1, r2 = 2, r3 = 3
 Nghiệm hệ thức an = 11n + 22n + 33n, n = 0,1,...
 Thế điều kiện đầu  1 + 2 + 3 = 2, 1 + 22 + 33 = 5 và 1 +
42 + 93 =15
 suy ra 1 = 1 và 2 = -1, 3 = 2
 Vậy nghiệm của hệ thức truy hồi là an = 1- 2n + 2.3n, n  0

22
GIẢI HTTH TUYẾN TÍNH

• Định Lý 4 Cho c1, c2, ..., ck là các hằng số. Giả sử phương
trình đặc trưng rk - c1rk-1 - ... -ck = 0 có t nghiệm r1, r2, …, rt
bội tương ứng m1, m2,,..., mt. Khi đó dãy {an} là nghiệm của
hệ thức truy hồi an= c1an-1 + c2an-2 + ... + ckan-k nếu và chỉ
nếu an= (1, 0+ 1, 1n+…+ 1, m1-1nm1-1)r1n + (2, 0+ 2,1n
+…+ 2, m2-1nm2-1)r2n +...+ (t, 0+ t, 1n+…+ t, mt-1nmt-1)rtn
với n= 0, 1, 2, ... Trong đó i, j , i=1,..t, j=0…, mt -1 là các
hằng số
23
GIẢI HTTH TUYẾN TÍNH
• Ví dụ 5 Giả sử phương trình đặc trưng có nghiệm là 2, 2, 2, 5, 5,
9 thì nghiệm của hệ thức truy hồi là:
an= (1, 0+ 1, 1n+ 1, 2n2 )2n + (2, 0+ 2,1n)5n +3, 09n

24
GIẢI HTTH TUYẾN TÍNH
• Ví dụ 6 Tìm một nghiệm của
an= -3an-1-3an-2-an-3, n  3, với a0=1, a1=-2, a2=-1
• Giải PT đặc trưng r3+3r2+3r+1=0
 PT đặc trưng có một nghiệm là r=-1 bội 3
 Nghiệm HT an= (1, 0+ 1, 1n+ 1,2n2)(-1)n
 Thế điều kiện đầu 1, 0=1, 1,0+ 1,1+ 1,2 =2, 1, 0+ 21, 1+
41,2=-1, suy ra 1, o=1, 1, 1=3 và 1,2=-2
 Vậy an= (1+ 3n+ -2n2)(-1)n, n  3

25
GIẢI HTTH KHÔNG THUẦN NHẤT
• Một hệ thức truy hồi tuyến tính không thuần nhất bậc k > 0 là một
hệ thức dạng
 an = c1an-1 + c2an-2 + ... + ckan-k + F(n), n  k
 Với c1, c2 , ..., ck là các hằng số thực, ck  0, F(n) là một hàm
chỉ phụ thuộc vào n
 an = c1an-1 + c2an-2 + ... + ckan-k được gọi là hệ thức truy hồi
thuần nhất kết hợp
• Ví dụ 7 Hệ thức an = 3an-1 + 2n, là hệ thức truy hồi tuyến tính
không thuần nhất bậc 1

26
GIẢI HTTH KHÔNG THUẦN NHẤT
• Định lý 5 Nếu {an(p)} là một nghiệm của hệ thức truy hồi tuyến
tính không thuần nhất an = c1an-1 + c2an-2 + ... + ckan-k + F(n), thì
mọi nghiệm của nó có dạng {an(p)+ an(h)}, trong đó {an(h)} là một
nghiệm của hệ thức truy hồi tuyến tính kết hợp an = c1an-1 + c2an-2
+ ... + ckan-k

27
GIẢI HTTH KHÔNG THUẦN NHẤT
Chứng minh
Vì {an(p)} là một nghiệm của hệ thức truy hồi tuyến tính không thuần
nhất an = c1an-1 + c2an-2 + ... + ckan-k + F(n), nên
an(p) = c1an-1(p) + c2an-2(p) + ... + ckan-k(p) + F(n) (1)
Giả sử {bn} là một nghiệm thứ 2 của hệ thức truy hồi không thuần
nhất, thì
bn = c1bn-1 + c2bn-2 + ... + ckbn-k + F(n) (2)

28
GIẢI HTTH KHÔNG THUẦN NHẤT
Chứng minh
Trừ vế theo vế của (2) cho (1) ta có
bn -an(p) = c1(bn-1 -an-1(p))+…+ ck(bn-k -an-k(p))
Nên dãy {an(h)}= {bn -an(p) } là một nghiệm của hệ thức truy hồi tuyến
tính kết hợp, suy ra
bn= an(p) +an(h)

29
GIẢI HTTH KHÔNG THUẦN NHẤT
• Ví dụ 8 Giải hệ thức an= 3an-1+2n, n  2, a1=3 (1)
• Giải Nghiệm của an= 3an-1 là an(h)= 3n
 Vì F(n)=2n là đa thức bậc nhất của n nên một nghiệm của TH không
thuần nhất (1) có dạng pn=cn +d trong đó c, d là hằng số
 Thay vào (1) cn+d=3(c(n-1)+d)+2n hay (2+2c)n +(2d-3c)=0 với mọi
n, suy ra 2+2c=0 và 2d-3c=0 nên c=-1 và d=-3/2
 Do đó an(p)=-n-3/2
 Theo ĐL 5 ta có an=an(p)+ an(h)=-n-3/2+ 3n
 Từ điều kiện đầu a1 =3, suy ra  = (11/6) và an=-n-3/2+ (11/6)3n

30
GIẢI HTTH KHÔNG THUẦN NHẤT
• Ví dụ 9 Giải hệ thức an= 5an-1- 6an-2 +7n (2)
• Giải Nghiệm của an= an= 5an-1- 6an-2 là an(h)= 13n + 22n
 Vì F(n)= 7n nên một nghiệm của (2) có dạng an(p)=C.7n trong đó C là
hằng số
 Thay vào (2) C.7n =5C.7n -1 -6C.7n-2+ 7n hay 49C=35C-6C+49 nên
C=49/20
 Do đó an(p)=(49/20)7n
 Theo ĐL 5 ta có an=an(p)+ an(h)=(49/20)7n+ 13n + 22n

31
GIẢI HTTH KHÔNG THUẦN NHẤT
• Định lý 6 Giả sử {an} thỏa mãn hệ thức truy hồi tuyến tính không
thuần nhất an = c1an-1 + c2an-2 + ... + ckan-k + F(n), (1) với F(n)=
(btnt+ bt-1nt-1 + … + b1n + b0)sn
 Nếu s không phải là nghiệm của PT đặc trưng của hệ thức truy hồi kết
hợp thì (1) có một nghiệm dạng
(ptnt+ pt-1nt-1 + … + p1n + p0)sn
 Nếu s là một nghiệm bội m của PT đặc trưng của hệ thức truy hồi kết
hợp thì (1) có một nghiệm dạng
nm(ptnt+ pt-1nt-1 + … + p1n + p0)sn

32
GIẢI HTTH KHÔNG THUẦN NHẤT
• Ví dụ 10 Tìm một nghiệm của hệ thức an= 6an-1-9an-2 +F(n) với
F(n)=n22n và F(n)=(n2+1)3n
• Giải Phương trình đặc trưng r2-6r+9=0 có một nghiệm kép r=3
(bội 2)
 Với F(n)=P(n)sn =(n2+1)3n trong đó s=3 là một nghiệm kép của pt
đặc trưng nên một nghiệm của hệ thức là n2(p2n2 +p1n+p0)3n
 Với F(n)=P(n)sn =n22n trong đó s=2 không phải là nghiệm của pt đặc
trưng nên một nghiệm của hệ thức là (p2n2+p1n+p0)2n

33
GIẢI HTTH KHÔNG THUẦN NHẤT
• Ví dụ 11 Giải hệ thức an= an-1+n, với a1=1
• Giải Phương trình đặc trưng r-1=0 có một nghiệm r=1
 Nghiệm của TH truy hồi tuyến tính an(h) = c(1)n=c
 Vì F(n)=n = n.(s)n= n.(1)n, s=1 là nghiệm PTĐT, nên một nghiệm của
hệ không thuần nhất có dạng an(p) = n(p1n+p0)1n = n2p1+np0
 Thế vào hệ thức n2p1+np0=(n-1)2p1+(n-1)p0+n hay n(2p1-1)+(p0-
p1)=0, nên p0=p1=1/2, vì vậy an(p)=n2/2+n/2
 Nghiệm của hệ thức có dạng an= an(p)+ an(h) = n2/2+n/2 + c
 Với a1=1, suy ra c=0 nên an= n2/2+n/2=n(n+1)/2, n=0, 1…

34
GIẢI HTTH CHIA ĐỂ TRỊ
• Hệ thức truy hồi dạng f(n)=af(n/b)+g(n), trong đó a, b là
các nguyên dương, được gọi là hệ truy hồi chia để trị (divide-
and-conquer)
• Ví dụ f(n)=2f(n/2)+ n

35
GIẢI HTTH CHIA ĐỂ TRỊ
• Định lý 1 (Master Theorem) Giả sử f(n) là một hàm tăng
thỏa mãn hệ thức truy hồi f(n)= af(n/b)+c khi n chia hết cho
b, a1, b là số nguyên lớn hơn 1, c là một số thực dương, thì

logb a
O(n ), a  1
f (n)  
O(log2 n), a  1

36
GIẢI HTTH CHIA ĐỂ TRỊ
• Ví dụ 1 Cho hệ thức truy hồi f(n)= 5f(n/2)+3, đánh giá f(n)
nếu là hàm tăng
• Giải a=5>1, b=2 và c=3, f(n) tăng nên theo định lý 1, ta có
f(n)= O(nlogba) =O(nlog25)

37
GIẢI HTTH CHIA ĐỂ TRỊ
• Định lý 2 (Master Theorem) Giả sử f(n) là một hàm tăng
thỏa mãn hệ thức truy hồi f(n)= af(n/b)+cnd, khi n=bk, a1,
b là số nguyên lớn hơn 1, c và d là một số thực dương, thì
O(nd ), a  bd
 d d
f (n)  O(n log2 n), a  b
 logb a d
O(n ), a  b

38
GIẢI HTTH CHIA ĐỂ TRỊ
• Ví dụ 2 Cho hệ thức truy hồi f(n)= 3f(n/2)+Cn, n chẵn, f(n)
tăng. Đánh giá f(n)
• Giải a=3, b=2 và d=1, theo định lý 2, do a =3 >21 = bd,
nên ta có
f(n)=O(nlogb a) = O(nlog2 3)  O(n1.6)

39
GIẢI HTTH CHIA ĐỂ TRỊ
• Ví dụ 3 Cho hệ thức truy hồi f(n)= 4f(n/2)+15n2/4, n chẵn,
f(n) tăng. Đánh giá f(n)
• Giải a=4, b=2 và d=2, theo định lý 2,do a =4 =22= bd, ta

f(n)=O(nd log2 n) = O(n2 log2 n)

40
BÀI TẬP VỀ NHÀ
• Đọc và làm bài tập (sách Nguyễn Hòa, Nguyễn Nhựt Đông)
 Đọc chương 4
 Làm các bài tập: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 18, 19, 21, 23, 27,
28, 29, 30

41

You might also like