1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phuong pháp hàm sinh

8 41 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 137,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHƯƠNG PHÁP HÀM SINHTÁP DỤNG THUẬT TOÁN PHƯƠNG PHÁP SINH ĐỂ GIẢI QUYẾT CÁC BÀI TOÁN LIỆT KÊ TỔ HỢP I.. Phương pháp hàm sinh là một phương pháp hiện đại, sử dụng các kiến thức về chuỗi, c

Trang 1

PHƯƠNG PHÁP HÀM SINH

TÁP DỤNG THUẬT TOÁN PHƯƠNG PHÁP SINH ĐỂ GIẢI QUYẾT CÁC

BÀI TOÁN LIỆT KÊ TỔ HỢP

I Giới thiệu về phương pháp sinh

Phương pháp sinh có thể áp dụng để giải bài toán liệt kê tổ hợp đặt ra nếu như hai điều kiện sau thoả mãn:

1 Có thể xác định được một thứ tự trên tập các cấu hình tổ hợp cần liệt kê.

Từ đó có thể xác định được cấu hình đầu tiên và cấu hình cuối cùng trong thứ tự đã xác định

2 Xây dựng được thuật toán từ cấu hình chưa phải cấu hình cuối, sinh ra được cấu hình kế tiếp nó.

Phương pháp sinh có thể mô tả như sau:

<Xây dựng cấu hình đầu tiên>;

Repeat

<Đưa ra cấu hình đang có>;

<Từ cấu hình đang có sinh ra cấu hình kế tiếp nếu còn>;

Until <hết cấu hình>;

II Một số bài toán cơ bản được cài đặt bằng phương pháp sinh

1 LIỆT KÊ CÁC TẬP CON K PHẦN TỬ

Ta sẽ lập chương trình liệt kê các tập con k phần tử của tập {1, 2, , n} theo thứ tự từ điển

Ví dụ: với n = 5, k = 3, ta phải liệt kê đủ 10 tập con:

1 {1, 2, 3}

2 {1, 2, 4}

3 {1, 2, 5}

4 {1, 3, 4}

5 {1, 3, 5}

Trang 2

6 {1, 4, 5}

7 {2, 3, 4}

8 {2, 3, 5}

9 {2, 4, 5}

10 {3, 4, 5}

rong bài viết này mình muốn giới thiệu với các bạn một phương pháp đếm các cấu hình ổ hợp rất đắc lực , đó là phương pháp hàm sinh Vì kiến thức có hạn và chủ yếu là do mình cóp nhặt được từ một số tài liệu nên có gì sai sót mong quý bạn thông cảm hen

Phương pháp hàm sinh là một phương pháp hiện đại, sử dụng các kiến thức về chuỗi, chuỗi hàm (đặc biệt là công thức Taylor) Trước hết ta có định nghĩa sau

Ta gọi đó là chuỗi hình thức vì ta không xét đến tính hội tụ hay tính giá trị của chuỗi mà ta chỉ xem đó như là một cách viết thuận tiện vậy Ta đưa vào một số phép toán trên các chuỗi

để xác định các hệ số cho các lũy thừa biến

Ta định nghĩa:

a) Phép cộng:

b) Phép nhân với một số:

c) Tích hai chuỗi:

Trong phương pháp này ta thường hay sử dụng công thức khai triển Newton mở rộng sau:

Với là một số hữu tỉ,

Trang 3

Ta xét một số trường hợp đặc biệt.

*

Từ đây

*

*

Tư tưởng sử dụng hàm sinh để tìm CTTQ của dãy số có thể tóm tắt như sau

Để tìm CTTQ của dãy , ta xét hàm sinh của dãy Khi đó do tính chất của dãy nên phải thỏa mãn một số hệ thức nhất định Giải các hệ thức đó ta tìm được

trong đó là một hàm số chứa các biểu thức số học (cộng, trừ nhân, chia, lũy thừa, ), ta tìm cách khai triển thành chuỗi và so sánh hệ số của ta tìm được

Ví dụ 3.1: Cho dãy Tìm CTTQ của dãy

Giải: Xét là hàm sinh của dãy

Khi đó:

Trang 4

Ta có:

Giải:

Xét là hàm sinh của dãy

Khi đó:

Ta có:

Ví dụ 3.3: Tìm CTTQ của dãy số:

Giải: Ta có

Xét là hàm sinh của dãy

Trang 5

Khi đó:

Ta có:

Giải phương trình này đối với , ta được:

Ta có:

hệ số của trong khai triển thành chuỗi lũy thừa của bằng:

không thể bằng vì các hệ số của

trong là các số nguyên dương Do đó:

Vậy

Chú ý : ở bài toán trên ta thường gọi là số catalan

Đang tiếp tục

Trang 6

I Cơ sở lí thuyết hàm sinh

1.Định nghĩa: Hàm sinh của dãy số vô hạn a0,a1,a2, ,an, là là một chuỗi hình thức được xác định bởi G(x)=a0+a1x+a2x2+ +anxn+ :

2.Một số đẳng thức thường dùng trong hàm sinh:

a, 11−x=1+x+x2+x3+

b, 1(1−x)2=1+2x+3x2+4x3+

c, 1(1−x)n=1+nx+n(n+1)2!x2+n(n+1)(n+2)3!

x3+ =∑∞i=0Cii+n−1xi với n∈N

d, 11+x=1−x+x2−x3+

e, 1(1−ax)2=1+2ax+3a2x2+4a3x3+

f, 11−xr=1+xr+x2r+x3r+

g, 11+xr=1−xr+x2r−x3r+

II.Ứng dụng hàm sinh vào các bài toán xác định công thức tổng quát của dãy số điển hình.

Thông thường các bạn biết đến phương pháp chứng minh quy nạp hoặc phương pháp giải phương trình sai phân để tìm công thức tổng quát của dãy số Bài viết này nhằm cung cấp cho các bạn thêm một phương pháp nữa cũng khá hay để tìm công thức tổng quát của dãy

số dựa trên cơ sở hàm sinh.Hi vọng rằng qua 8 ví dụ minh họa sau bạn đọc sẽ nắm chắc và vận dụng phương pháp sử dụng hàm sinh tìm công thức tổng quát của dãy số

Ví dụ 1:

Tìm công thức tổng quát của dãy số Fibonacci(Fn )với :

{F1=F2=1Fn=Fn−1+Fn−2n≥3

Lời Giải

Đặt G(x) là hàm sinh cho dãy (Fn), và giả sử F0 =0 chúng ta có:

G(x)=F0 +F1x+F2x2+F3x3+

−xG(x)=−F0x−F1x2−F2x3−

−x2G(x)=−F0x2−F1x3−F2x4−

Từ 3 đẳng thức trên, ta có :

(1−x−x2)G(x)=F0+(F1−F0)x+(F2−F1−F0)x2+ =x

Với α=1+5√2;β=1−5√2 là hai nghiệm của phương trình 1−x−x2=0\\

Trang 7

Quy đồng và đồng nhất hệ số, chúng ta được A=15√ ;B=−15√.

Vậy G(x)=x1−x−x2=15√(11−αx−11−βx)

⇔5√G(x)=(11−αx−11−βx)=∑k=1∞(αx)n−∑k=1∞(βx)n=∑k=1∞

n−βn)xn

Vậy G(x)=∑∞k=1αn−βn5√xn

Hệ số của trong khai triển là

Fnn−βn5√=15√⎡⎣(1+5√2)n−(1−5√2)n⎤⎦

Vậy dãy số cần tìm có công thức tổng quát dạng

Fn=15√[(1+5√2)n−(1−5√2)n],n≥0

Nhận xét: Vậy với cách sử dụng hàm sinh chúng ta cũng đã tìm ra được công thức tổng

quát của dãy số Fibonacci nổi tiếng

Bây giờ chúng ta cùng tìm hiểu thêm một số ví dụ tương tự như dãy trên để thấy rõ tính hiệu quả của phương pháp hàm sinh Chũng ta cùng đi đến ví dụ sau:

Ví dụ 2

Tìm công thức tổng quát của dãy số (an )với :

{a0=1;a1=2an+2=5an+1−4ann≥0(∗)

Lời Giải

Đặt G(x) là hàm sinh cho dãy (an ), chúng ta có:

G(x)=a0+a1x+a2x2+

−5xG(x)=−5a0x−5a1x2−5a2x3+

4x2G(x)=4a0x2+4a1x3+

Cộng ba đẳng thức trên và kết hợp (*) ta có:

G(x)−5xG(x)+4x2G(x)=a0+(a1−5a0)x+

(a2−5a1+4a0)x2+ =1−3x

=23(1+x+x2+ )+13[1+(4x)+(4x)2+ ]

Do đó hệ số của xn trong khai triển của G(x) là 23+134n nên

an=23+134n,n≥0

Vậy dãy số cần tìm có công thức tổng quát dạng an=23+134n,n≥0

Nhận xét:Như vậy hàm sinh đã giải quyết tốt bài toán xác định công thức tổng quát của

dãy số cho bởi công thức truy hồi:

{a0=a;a1=ban+2=p.an+1+q.ann≥0

Để ý với bài toán ở ví dụ1 và ví dụ 2, chúng ta thấy hàm G(x) có mẫu số là tam thức bậc hai, chẳng hạn ở ví dụ 2 chúng ta có mẫu số của hàm sinh là f(x)=1−5x+4x2 có 2 nghiệm phân biệt là x=1;x=14 Vậy trong trường hợp mẫu số của G(x) là phương

Trang 8

trình bậc hai có nghiệm kép thì chúng ta làm như thế nào? Ví dụ sau đây sẽ giúp chúng ta

xử lí tình huống đó:

Ví dụ 3

Tìm công thức tổng quát của dãy số (an )với :

{a0=a1=1an+2=4an+1−4ann≥0

Lời Giải

Đặt G(x)là hàm sinh cho dãy (an ), chúng ta có:

G(x)=a0+a1x+a2x2+

−4xG(x)=−4a0x−4a1x2−4a2x3−

4x2G(x)=4a0x2+4a1x3+

Cộng ba đẳng thức trên ta có:

G(x)−4xG(x)+4x2G(x)=a0+

(a1−4a0)x=1−3x⇔(1−4x+4x2)G(x)=1−3x

Do đó

G(x)=1−3x1−4x+4x2=1−3x(1−2x)2=11−2x−x(1−2x)2

=∑n=1∞(2x)n−x∑n=1∞(2x)n−1=∑n=1∞(2n−n2n−1)xn

Hệ sô của xntrong khai triển của G(x)là 2n−n2n−1 nên an=2n−n2n−1,n≥0 Vậy dãy số cần tìm có công thức tổng quát dạng an=2n−n2n−1,n≥0

Nhận xét: Trong ví dụ 2 và ví dụ 3 chúng ta thấy mẫu số của hàm sinh G(x) đều có

nghiệm thực để chúng ta phân tích thành các nhân tử có dạng

Câu hỏi đặt ra là “Nếu mẫu số của hàm sinh G(x) vô nghiệm thì chúng ta sẽ không có phân tích thành các nhân tử có dạng Khi đó chúng ta phải giải quyết bài toán này như thế nào” Đặt ra câu hỏi này, tôi đã dành thời gian suy nghĩ và tìm hiểu vì trong trường hợp phương trình đặc trưng của dãy số vô nghiệm thì nhìn chung chúng ta chỉ biết đến phương pháp giải phương trình sai phân là giải quyết được bài toán này thông qua số phức nhưng với hàm sinh thì sao? Dựa vào ý tưởng số phức ở phương pháp sai phân tìm công thức tổng quát của dãy số thật thú vị là cũng vẫn với ý tưởng số phức, chúng ta áp dụng vào hàm sinh

và thấy rằng hàm sinh cũng giải quyết tốt bài toán xác định công thức tổng quát của dãy số trong trường hợp phương trình đặc trưng của dãy vô nghiệm

Ngày đăng: 06/12/2018, 13:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w