Quy vμ lặp Khử các công thức truy hồi tuyến tính hệ số hằng

Một phần của tài liệu Bài giảng toán rời rạc pptx (Trang 34 - 39)

A B∩ C Tổng quát: Giả sử

2.2.3. quy vμ lặp Khử các công thức truy hồi tuyến tính hệ số hằng

Các thuật toán đệ quy vμ lập trình đệ quy có −u điểm lμ biểu diễn đơn giản, dễ viết ch−ơng trình. Tuy nhiên một điểm yếu của lập trình đệ quy (khi tính các công thức truy hồi) lμ cần sử dụng dung l−ợng lớn trong bộ nhớ của máy tính do các vùng nhớ bị chiếm dụng cho ch−ơng trình tăng nhanh trong quá trình thực hiện ch−ơng trình con đệ quy, Để khắc phục, thay thế các thuật toán đệ quy ng−ời ta th−ờng sử dụng các thuật toán lặp để tính trực tiếp giá trị của dãy theo n. Do đó trong nhiều tr−ờng hợp (có thể cho phép) ta th−ờng tìm cách để xác định dạng hiện(công thức t−ờng minh) của dãy fn, nó lμ một biểu thức chỉ phụ thuộc vμo n mμ không phụ thuộc vμo các thμnh phần tr−ớc đó của dãỵ Công việc nμy gọi lμ khử công thức truy hồị Tuy nhiên công việc nμy th−ờng rất khó vμta chỉ thực hiện đ−ợc đối với một số các công thức truy hồi đặc biệt hoặc một lớp các hệ thức truy hồi đặc biệt.

Ví dụ 1: Biểu diễn n! = n∗(n−1)! d−ới dạng hiện ta có

n! = n(n−1)(n−2)...2.1.

Ví dụ 2: Biểu diễn Dn d−ới dạng hiện Từ hệ thức Dn = (n−1)(Dn−1+Dn−2), suy ra Dn−nDn−1 = −(Dn−1−(n−1)Dn−2) do đó nếu đặt Vn = Dn−nDn−1, ta có Vn = −Vn−1 = ã ã ã = (−1)n−2V2 = (−1)n−2(D2−2D1) = (−1)n−2(1−2∗0) = (−1)n, tức lμ Dn−nDn−1 = (−1)n, chia cả hai vế cho n! ta đ−ợc

Dn n! − Dn−1 (n−1)! = (−1)n n! với mọi n = 2,3.... Cộng các hệ thức trên (với n = 2,3...) ta có Dn n! = 1− 1 1! + 1 2! − 1 3! +ã ã ã+ (−1)n 1 n! Dn = n! 1− 1 1! + 1 2! − 1 3! +ã ã ã+ (−1)n 1 n!

Ví dụ 3: Trên mặt phẳng kẻ n đ−ờng thẳng sao cho không có 2 đ−ờng nμo song song vμ không có 3 đ−ờng nμo đồng quỵ Tìm công thức truy hồi cho số miền đ−ợc chia bởi n đ−ờng thẳng nói trên. Hãy khử truy hồị

Giải: Gọi số phần của mặt phẳng đ−ợc chia bởi n đ−ờng thẳng đã cho lμ Sn, khi đó số phần của mặt phẳng đ−ợc chia bởi n−1 đ−ờng thẳng sẽ lμ

Sn−1. Giả sử ta đã có n−1 đ−ờng thẳng, nếu ta kẻ thêm một đ−ờng thẳng nữa thoả mãn điều kiện đã cho thì đ−ờng thẳng mới sẽ đ−ợc n−1 đ−ờng ban đầu chia thμnh n khúc (đoạn hoặc tia ở hai đầu). Mỗi khúc trong n khúc nμy sẽ chia mỗi phần chứa nó (thuộc Sn−1 phần ban đầu) thμnh 2 phần, do đó tổng số phần mặt phẳng sẽ đ−ợc tăng lên n so với Sn−1 phần đ−ợc chia bởi

n−1 đ−ờng ban đầụ Vậy Sn = Sn−1 +n lμ hệ thức truy hồi cần tìm, với điều kiện ban đầu lμ S0 = 1. Để tìm công thức hiện của Sn ta thấy

S0 = 1 S1 = S0 + 1 S2 = S1 + 2 . . . = . . . Sn−1 = Sn−2 + (n−1) Sn = Sn−1 +n,

cộng vế với vế vμ rút gọn các số hạng bằng nhau ở hai vế, ta có

Sn = S0+ 1 + 2 +ã ã ã+n = 1 + n(n+ 1)

2 =

n2+n+ 2

2 .

Ba ví dụ trên lμ các ví dụ riêng biệt mμ may mắn ta tìm đ−ợc cách khử truy hồi, Tuy nhiên có một lớp khá rộng các hệ thức truy hồi cho phép ta tìm đ−ợc ph−ơng pháp biểu diễn chúng d−ới dạng hiện. Đó lμ các hệ thức truy hồi tuyến tính thuần nhất hệ số hằng.

Một hệ thức truy hồi tuyến tính thuần nhất hệ số hằng cấp k lμ một hệ thức có dạng

fn = c1fn−1+c2fn−2 +ã ã ãckfn−k,

trong đó c1, c2, ...ck lμ các hằng số khác 0. Đặt

thì Pk(x) đ−ợc gọi lμ đa thức đặc tr−ng của hệ thức truy hồi tuyến tính thuần nhất đã cho vμ nghiệm của nó đ−ợc gọi lμ nghiệm đặc tr−ng của hệ thức truy hồi tuyến tính thuần nhất hệ số hằng. Ta có định lý sau đây:

Định lý 1. Giả sử ph−ơng trình x2 −c1x−c2 = 0 có hai nghiệm phân biệt

r1 vμ r2. Dãy số {fn} lμ nghiệm của hệ thức fn = c1fn−1 +c2fn−2 với điều kiện ban đầu f0, f1 khi vμ chỉ khi tồn tại các hằng số α1,α2 sao cho

fn = α1r1n+α2rn2.

Chứng minh. Cần: Ta chứng minh tồn tại các hằng số α1,α2 sao cho

fn = α1r1n +α2r2n. Thật vậy, giả sử fn lμ nghiệm của hệ thức truy hồi với điều kiện ban đầu lμ f0, f1. Đặt

f0 = α1r10+α2r02 f1 = α1r11+α2r12

ta có một hệ ph−ơng trình tuyến tính hai ẩn lμ α1 vμ α2. Giải hệ nμy ta thu đ−ợc nghiệm duy nhất

α1 = (f1 −f0r2)/(r1 −r2) α2 = (f1 −f0r1)/(r2 −r1),

ta sẽ chứng minh fn = α1r1n+α2rn2 bằng quy nạp theo n.

Rõ rμng với n = 0 hệ thức trên lμ đúng. Giả sử hệ thức hiện ở trên đúng đối với mọi k < n ta sẽ chứng minh hệ thức nμy đúng với k = n. Ta có

fn = c1fn−1 +c2fn−2

= c1(α1r1n−1+α2rn2−1) +c2(α1r1n−2+α2r2n−2) = α1rn1−2(c1r1+c2) +α2rn2−2(c1r2 +c2)

= α1rn1 +α2r2n, (do r1 vμ r2 lμ các nghiệm của ph−ơng trình đặc tr−ng). Đủ: Ta sẽ chứng minh fn = c1fn−1+c2fn−2 với điều kiện đầu f0, f1. Thật vậy, theo giả thiết ta có f0 =α1 +α2 vμ f1 =α1r1+α2r2, mặt khác

fn =α1rn1 +α2r2n

=α1rn1−2r21 +α2r2n−2r22,

do r1 vμ r2 lμ hai nghiệm của đa thức đặc tr−ng, nên

fn =α1r1n−2(c1r1+c2) +α2rn2−2(c1r2 +c2)

=c1(α1r1n−1+α2cn2−1) +c2(α1r1n−2+α2cn2−2) =c1fn−1 +c2fn−2. (điều phải chứng minh)

Ví dụ: Tìm công thức hiện cho dãy Fibonaci Fn = Fn−1+Fn−2, (n ≥ 2) với F0 = F1 = 1.

Ph−ơng trình đặc tr−ng của dãy Fibonaci x2−x−1 = 0 có hai nghiệm phân biệt r1 = 1 + √ 5 2 , r2 = 1−√5 2 .

Từ các giá trị ban đầu vμ hệ ph−ơng trình đối với các ẩn α1,α2, ta thu đ−ợc

α1 = 1 + √ 5 2√ 5 , α2 = −1− √ 5 2√ 5 do đó ta có Fn = √1 5 1 +√ 5 2 n+1 − 1− √ 5 2 n+1 .

Trong tr−ờng hợp đa thức đặc tr−ng của hệ thức truy hồi tuyến tính thuần nhất cấp 2 có nghiệm kép, ta có định lý sau:

Định lý 2. Giả sử ph−ơng trình x2 −c1x −c2 = 0 có nghiệm kép r. Dãy số {fn} lμ nghiệm của hệ thức fn = c1fn−1+c2fn−2 với điều kiện ban đầu

f0, f1 khi vμ chỉ khi tồn tại các hằng số α1,α2 sao cho fn = α1rn+nα2rn. (Tự chứng minh)

Ví dụ: Tìm công thức hiện cho hệ thức truy hồi fn = 6fn−1 −9fn−2

với điều kiện đầu f0 = 1 vμ f1 = 6. Đáp số fn = 3n +n3n.

Định lý 3. Giả sử ph−ơng trình xk − c1xk−1 −ã ã ã −ck = 0 có k nghiệm phân biệt r1, r2, ..., rk. Dãy số {fn} lμ nghiệm của hệ thức fn = c1fn−1 +

c2fn−2+ã ã ã +ckfn−k với điều kiện ban đầu f0, f1, ..., fk−1 khi vμ chỉ khi tồn tại các hằng số α1,α2, ...,αk sao cho

fn = α1rn1 +α2r2n +ã ã ã+αkrnk với mọi n = 0,1,2....

Nh− vậy khó khăn còn lại của việc tìm các công thức hiện của các hệ thức truy hồi tuyến tính hệ số hằng lμ ở chỗ giải các ph−ơng trình đa thức cấp caọ Đây lμ một khó khăn của toán học hiện đạị

Bμi tập

1. Hãy tìm nghiệm của hệ thức truy hồi với điều kiện đầu t−ơng ứng (sử dụng ph−ơng pháp lặp đã cho trong ví dụ 5 (ví dụ về khử công thức tính số lần chuyển đĩa trong bμi toán tháp Hμ nội - trang 377):

ạ an = 3an−1, a0 = 2 b. an = an−1+ 2, a0 = 3 c. an =an−1+n, a0 = 1 d. an = an−1+ 2n+ 3, a0 = 4 ẹ an = 2an−1−1, a0 = 1 f. an = 3an−1 + 1, a0 = 1 g. an = nan−1, a0 = 5 h. an = 2nan−1, a0 = 1

2. Một ng−ời gửi 1000 đô la vμo ngân hμng với lãi suất kép lμ 9% một năm. ạ Lập hệ thức truy hồi cho tổng số tiền có trong tμi khoản vμo cuối năm thứ n

b. Tìm công thức t−ờng minh cho số tiền có trong tμi khoản sau năm thứ

n.

c. Sau 100 năm tổng số có trong tμi khoản lμ bao nhiêủ

3. Một nhân viên bắt đầu lμm việc tại một công ty từ năm 1997 với mức l−ơng khởi điểm lμ 5 triệu đồng/năm. Hằng năm anh ta nhận thêm 100 ngμn đồng vμ 5% l−ơng của năm tr−ớc.

ạ Lập hệ thức truy hồi tính l−ơng của nhân viên nμy sau n năm kể từ sau 1997.

b. L−ơng năm 2005 của anh ta lμ bao nhiêu

c. Tìm công thức t−ờng minh tính số l−ơng của anh ta n năm sau 1997. 4. ạ Tìm hệ thức truy hồi cho số các xâu nhị phân dộ dμi n chứa ít nhất 2

bit 0 liên tiếp.

b. Tìm điều kiện đầụ

c. Có bao nhiêu xâu nh− vậy với độ dμi 7? 5. Hỏi nh− trên nh−ng với 3 bit 0 liên tiếp.

6. Tìm hệ thức truy hồi cho số các xâu nhị phân có độ dμi n vμ có một số chẵn bit 0.

7. Chứng minh rằng dãy các số Fibonacci thoả mãn hệ thức truy hồi

an = 5an−4 + 3an−5, với a0 = 0, a1 = 1, a2 = 1, a3 = 2, a4 = 3.

Dùng hệ thức trên để chứng tỏ rằng a5n chia hết cho 5 với mọi n = 1,2,3, . . .

8. Giải các hệ thức truy hồi với điều kiện ban đầu sau: ạ an = 5an−1−6an−2 với n ≥2, a0 = 1, a1 = 0. b. an = −4an−1−4an−2 với n≥ 2, a0 = 0, a1 = 1. c. an = 7an−1−10an−2 với n ≥ 2, a0 = 2, a1 = 1. d. an = 2an−1+ 1an−2−2an−3 với n ≥ 3, a0 = 3, a1 = 6, a2 = 0. ẹ an = 2an−1 + 5an−2 − 6an−3 với n ≥ 3, a0 = 7, a1 = −4, a2 = 8.

9. Hệ thức truy hồi tuyến tính không thuần nhất cấp k có dạng:

an = an−1+c2an−2 +ã ã ã+ckan−k +F(n).

Chứng minh rằng nếu dãy {pn} lμ một nghiệm của hệ thức trên thì mọi nghiệm đều có dạng {pn +hn} trongđó hn lμ nghiệm của hệ thức truy hồi tuyến tính thuần nhất t−ơng ứng

an = an−1 +c2an−2+ã ã ã+ckan−k.

10. Gọi An lμ ma trận vuông cấp n với các số 2 trên đ−ờng chéo chính vμ các số 1 trên tất cả các vị trí kề các phần tử trên đ−ờng chéo chính, các vị trí còn lại đều bằng 0. Tìm hệ thức truy hồi cho định thức Dn của ma trận An. Giải hệ thức truy hồi nμy để tìm công thức hiện cho Dn.

2.3. Các bμi toán tồn tại

Một phần của tài liệu Bài giảng toán rời rạc pptx (Trang 34 - 39)

Tải bản đầy đủ (PDF)

(88 trang)