Các bài giảng về toán cho Mirella (7)

 

Các số Fibonacci và các dãy số lũy thừa

(Hình minh họa: Hoa camomilla. Số vòng quay màu nhạt về phía trái là 13, số vòng quay đậm hơn về phía phải là 21, và đây là hai số Fibonacci)

Đề tài của bài giảng lần này cho Mirella là các dãy số tăng nhanh kiểu lũy thừa. Ví dụ cụ thể là dãy số Fibonacci. Mirella đã từng nghe nói đến dãy số thú vị này rồi. Nó bắt đầu như sau:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

Một người kể cả chưa nghe nói đến các số Fibonacci bao giờ, nhìn vào dãy số trên chắc cũng đoán được qui luật đơn giản sau: mỗi số bằng tổng của hai số kế tiếp nó. Nói theo kiểu toán học, thì tức là ta có công thứ hồi qui

a_{n+2} = a_{n+1} + a_{n}

trong đó a_n là số Fibonacci thứ n, với hai số ban đầu là a_1 =1a_2 = 1

Thay vì lấy 1 và 1 là hai số ban đầu, ta cũng có thể lấy 0 và 1 là hai số ban đầu, tức là chẳng qua là ta thêm a_0 = 0. Điều này không làm thay đổi qui luật của dãy Fibonacci, mà chỉ thay đổi qui ước là dãy số bắt đầu từ số “thứ không” thay vì số “thứ nhất”:

a_0 = 0, a_1 = 1, a_2 = 1, a_3 = 2, a_4 = 5, a_5 = 8, \hdots

Trong bài giảng này, Mirella sẽ tìm hiểu cùng papa một số tính chất của dãy số Fibonacci, và tìm ra công thức tổng quát để tính số Fibonacci thứ n như là một hàm theo n (bằng một hàm số có thể tính trực tiếp cho nhanh, chứ không phải tính theo kiểu hồi qui như trên sẽ rất lâu khi n lớn. Ví dụ, cần tính

a_{1000} = ?

mà không phải làm đến cả nghìn phép tính.

Một chút lịch sử và giai thoại

Fibonacci (quãng 1170-1250) là một nhà toán học ở thành phố Pisa (Italia), có viết một quyển sách về số học tên là Liber Abaci (nghĩa tiếng Việt: quyển sách về các phép tính), trong đó ông có đưa ra một mô hình sinh sôi nảy nở của số con thỏ như sau:

Các đôi thỏ cứ được 2 tháng tuổi trở lên thì mỗi tháng đẻ thêm 1 đôi thỏ. Ban đầu chỉ có 1 đôi thỏ nhỏ. Đến tháng thứ 2 vẫn chỉ có 1 đôi đó. Đến tháng thứ 3 thì đôi thỏ đẻ được thêm 1 đôi thành tổng cộng 2 đôi. Đến tháng thứ tư thì đôi đầu tiên đẻ được còn đôi thứ hai chưa đẻ được, nên có thêm 1 đôi thành tổng cộng 3 đôi. Đến tháng thứ năm thì có 2 đôi đẻ được, thành tổng cộng 5 đôi. Đến tháng thứ 6 thì có 3 đôi đẻ được, thành tổng cộng 8 đôi. Và cứ thế …

Tất nhiên, mô hình trên đơn giản đến mức ngây ngô, nhưng nó ứng với một thực tế “đẻ nhanh như thỏ”, và cho ra một dãy số thú vị, mà ngày nay người ta gọi là dãy số Fibonacci, hay còn gọi là dãy số con thỏ. Thực ra, trong lịch sử, Fibonacci không phải là người đầu tiên nghĩ ra dãy số thú vị này, mà nó đã xuất hiện từ trước đó rất lâu, ví dụ như ở Ấn Độ từ trước công nguyên.

Người ta quan sát thấy rằng, dãy số Fibonacci và các dãy số tương tự xuất hiện rất nhiều trong tự nhiên. Chẳng hạn như khi nhìn vào các bông hoa có nhiều tầng cánh, hay là quả thông có nhiều múi nhỏ, người ta cũng nhận thấy các tầng cánh hay múi cũng tuân theo qui luật kiểu Fibonacci. Hay là độ dài các mức của một đường xoắn ốc ở vỏ con ốc cũng vậy. Thậm chí, người ta còn cho rằng các dãy số Fibonacci là rất quan trọng trong buôn bán chứng khoán, và có cả các chương trình đầu cơ chứng khoán dựa trên các số này, kiểu “lên 8 xuống 5″ !

Tính chất lũy thừa của dãy Fibonacci

Trước khi tìm công thức chính xác cho số Fibonacci a_n, chúng ta để ý rằng đây là dãy số tăng, và từ đó ta có bất đẳng thức

2 a_{n} \leq a_{n+2} < 2 a_{n+1}

Theo qui nạp, dễ dàng suy ra bất đẳng thức sau:

2^{n/2} \leq a_{n+2} \leq 2^n (với mọi số tự nhiên n)

Điều đó có nghĩa là dãy số Fibonacci a_n tăng tương tự như là kiểu lũy thừa “A lũy thừa bậc n”, với \sqrt{2} \leq A \leq 2 (nó tăng nhanh hơn dãy kiểu (\sqrt{2})^n và chậm hơn dãy kiểu 2^n)

Vì dãy a_n tăng kiểu lũy thừa, nên câu hỏi sau đây nảy sinh một cách tự nhiên: có thực sự là tồn tại một số A nằm giữa  \sqrt{2} và 2, sao cho dãy a_n tăng như kiểu A^n?

Ở đây, tạm hiểu “a_n tăng như kiểu A^n” theo nghĩa là tỷ lệ a_n/A^n càng ngày càng tiến gần đến một hằng số dương C nào đó, tức là

a_n / A^n \approx C khi n rất lớn

Như vậy, nếu n là số rất lớn, thì ta có

a_n / C A^n \approx 1, a_{n+1}/CA^n \approx A, a_{n+2}/CA^n \approx A^2

Bởi vậy, chia đẳng thức a_n + a_{n+1} = a_{n+2} cho CA^n, ta được một đẳng thức xấp xỉ sau

1 + A \approx A^2

Khi n càng lớn thì đẳng thức xấp xỉ trên càng chính xác. Nhưng vì đẳng thức này thực ra không hề phụ thuộc vào n, nên nó phải là đẳng thức chính xác, tức là ta có:

1 + A = A^2

Kết luận tạm thời: nếu a_n tăng kiểu A^n, thì A phải là nghiệm của phương trình bậc 2 trên.

Phương trình đặc trưng

Phương trình 1 + A = A^2 phía trên để tìm số A sao cho a_n tăng theo kiểu lỹ thừa của A gọi là phương trình đặc trưng của dãy số Fibonacci.

Bài tập cho ai tò mò: Nếu có dãy “Fibonacci phẩy” không tuân theo nguyên tắc a_{n+2} = a_{n+1} + a_n, mà là theo nguyên tắc a_{n+2} = 2a_{n+1} + 3a_n, và ta làm tương tự như trên thì được phương trình đặc trưng của nó là phương trình nào ? Còn nếu a_{n+3} = a_{n+2} + 2a_{n+1} + a_n (với chẳng hạn a_1 = a_2 = _3 = 1) thì sẽ có phương trình đặc trưng ra sao ?

Để tìm A, ta phải giải phương trình đặc trưng. Cũng may là Mirella đã được học cách giải phương trình bậc 2, và vẫn nhớ là giải thế nào: Viết phương trình dưới dạng

a x^2 + b x + c = 0, với a = 1 \neq 0, b=-1, c=-1

Biến đổi phương trình thành

(x + b/2a)^2 = (b^2 -4ac)/4a^2 rồi lấy căn bậc hai, ta được

x + b/(2a) = \pm \sqrt{b^2 - 4ac}/ (2a), từ đó suy ra là phương trình có hai nghiệm

(-b \pm \sqrt{b^2 - 4ac})/(2a)

Trong trường hợp của ta, hai nghiệm là

A_+ = (1 + \sqrt{5})/2, A_- = (1- \sqrt{5})/2

Vì A là số dương, trong khi nghiệm A_- là số âm, nên ta phải có $A = A_+ = (1 + \sqrt{5})/2.$ Như vậy ta đã tính được ra số A. Nhunwng ngoài ra còn tìm được thêm một số A_-. Số $A_-$ này có công dụng gì trong việc tìm công thức tổng quát của số Fibonacci a_n không ? Câu trả lời là có.

 Công thức của a_n

Một điều thú vị là, nếu ta đặt b_n = A_+^nc_n = A_-^n, thì cả hai dãy số b_n và $c_n$ đều thỏa mãn phương trình của Fibonacci, tức là b_{n+2} = b_{n+1} + b_nc_{n+2} = c_{n+1} + c_n

Nếu chẳng hạn bây giờ có hai số B và C sao cho

(*) a_0 = B b_0 + C c_0

(**) a_1 = B b_1 + C c_1

thì vì là a_n,b_n,c_n đều thỏa mãn phương trình Fibonacci, nên theo qui nạp ta cũng sẽ có

a_n = B b_n + C c_n với mọi n. Bởi vậy công thức tổng quát cho dãy số Fibonacci chính là

a_n = B b_n + C c_n = B ((1 + \sqrt{5})/2)^n + C ((1 - \sqrt{5})/2)^2

với B và C là hai số thỏa mãn hai phương trình (*) và (**)

Phương trình (*) chính là: B+C = 0, tức là C= -B. Thay đẳng thức này và phương trình (**), ta được:

1 = B(1 + \sqrt{5})/2 - B (1 - \sqrt{5})/2 = B \sqrt{5}, có nghĩa là B = 1/ \sqrt{5}

Kết luận: công thức của số Fibonacci a_n là:

a_n = (1/\sqrt{5})((1 + \sqrt{5})/2)^n - (1/\sqrt{5})((1 - \sqrt{5})/2)^2

Tất nhiên, một hệ quả của công thức trên là, khi $n$ tiến tới vô cùng, thì dãy a_n tăng như kiểu (1/\sqrt{5})((1 + \sqrt{5})/2)^n (vì phần (1/\sqrt{5})((1 - \sqrt{5})/2)^2 sẽ có trị tuyệt đối nhỏ hơn nhiều so với phần (1/\sqrt{5})((1 + \sqrt{5})/2)^n khi n lớn).

Hình minh họa: các ô vuông có cạnh là các số Fibonacci được xếp liền nhau theo một hình xoắn ốc:

Câu hỏi “triết lý”

Thế tại sao các dãy kiểu Fibonacci lại xuất hiện nhiều trong thực tế thế. Tạm trả lời: vì chúng cho bởi công thức nội suy đơn giản, chỉ là bậc 2. Rất nhiều cái phức tạp trong tự nhiên là tao bởi các “mầm sinh”, “nguyên tắc sinh” đơn giản như vậy. Trong tự nhiên, các phương trình càng bậc thấp thì càng gặp nhiều, càng bậc cao thì càng ít gặp.

Bài tập

Tìm công thức tương tự như trên cho các số của dãy số “Fibonacci phẩy” sau:

c_1 =1, c_2 = 2, c_{n+2} = 2c_{n+1} + 3c_{n} với mọi n.

 

Print Friendly
 

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree