• Nenhum resultado encontrado

P hương pháp đếm bằng hàm sinh thông thường

Giả sử (Ij, j = 0 , 1 , 2 , . . . , là các số phức. Ta nói rằng phần từ b{x) s C N là hàm sinh cho dãy số ao, a i, Ũ2, . .. , a , mà ta sẽ thường đơn giản

ký hiệu là (aj)o°, nếu tồn tại một tự đẳng cấu <p của không gian véc tơ

CO

C N sao cho íp(a(x)) = b(x), ờ đây a(x) = CLjX^.

3= 0

Hiển nhiên là với mỗi dãy (aj)o°, có nhiều hàm sinh khác nhau cho nó. Tuy nhiên, ta chú ý tới hai hàm sinh thường dùng hiện nay là hàm sinh thông thường và hàm sinh mũ.

2.2. Phương pháp đếm bằng hàm sinh thông thuờng 87 Nếu tp là tự đẳng cấu đồng nhặt .của không gian véc tơ C N , tức là

ự>(c(xj) ĩ= c(x) cho mọi c(x).€ C N; thì tp{a{x)) được gọi là hàm sinh thông thường cho dãy (dj)ỗ°. Như vậy, hàm sinh thông thường cho dãy

(ữj)ỗ° là chuỗi luỹ thừa hình thức a(x) = CLjxi.

Nếu (p : C N -> C N : ^ 2 cúx^ l-> cho mọi ^ Cjxi e C N , thì

j=0 j=0 J 3=0

dễ thấy rằng (p là một tự đẳng cấu của C N . Khi đó ip (a(x)) được gọi là hàm sinh mũ cho dãy ( d j )0°. Như vậy, hàm sinh mũ cho dãy (Ọj)0°

oo

là chuỗi luỹ thừa hình thức b(x) = bjXJ, ờ đây bj = cho mọi

j =0 J j = 0,1,2,--- V í d u 2.5. Theo công thức nhị thức ta có

(l+x)n = (x + ĩ)n = f 2 ( n) x j-

j =0

V' H :

oo / thức í

(ô)l)

0 nếu j > n, nên ta có (1 + x) n chính là chuỗi luỹ thừa hình

n Ị x ĩ . Vây hàm sinh thông thường cho dãy các hê số nhi thức

ố n) ’ ( 2) ’" ’ ’ ^ p'n^n r á ~t" x )n °ủa C N . □ 0, V í d u 2.6. Nếu z e C , thì theo Mệnh đề 2.3 ta có (1 - zx) 1 = ZJV . 3=0

Vì vậy hàm sinh thông thường cho dãy zữ, z 1, z2, . .. , z i , . .. là phần từ

(1 — z x)~l của C N .

Ý tướng sử dụng hàm sinh để giải quyết bài toán đếm có thể tóm tắ t như saú. Giả sử các cấu hình tổ hợp đang cần đếm phụ thuộc vào số tự nhiên j . Ta ký hiệu số các cấu hình tổ hợp này bằng dj và muốn tính được ãj bằng một biểu thức dễ thực hiện chỉ phụ thuộc vào j ở dạng hiền. Đề làm điều đó, ta xét hàm sinh b(x) cho dãy (aj)ồ°, ờ đây

b(x) = ip (a(x)) với (p là một tự đẳng cấu của C N . Khi đó, do tính

chất của dãy (a.j)o°, b(x) cần thoả mãn các hệ thức nhất định. Giải các

88 Chương 2. Các phương pháp đếm dùng hàm sinh hệ thức này ta tìm được biểu thức fb(x) của hàm sinh b(x) cho dãy (<27)0°. Biểu thức tìm được này thường là một biểu thức với các phép toán trong CN như phép cộng, phép nhân, phép lấy phần tử đối, phép lấy phần tử nghịch đảo, phép luỹ thừa,- .... của,các hàm đã biết trong,

CN. Nói chung, biểu thức này chưẳ à dạng chuỗi luỹ thừa. VỊ vậy sau

khi tìm được biểu thức fb{x) ta tìm cách khai triển nó thành chuỗi luỹ thừa, tức là biểu diễn fb(x) thành dạng fb(x) = bjX^ bằng một cách

j =0

nào đó, ờ đây bj là một biểu thức phụ thuộc vào j ò dạng hiển. Do

b(x) = fb{x) là hàm sinh cho dãy (oj)Ỗ°, ta có

Suy ra djxi = ip 1 Ị^^= o bjxi'j. Từ đó ta tìm được công thức

cho Ọj qua j ờ dạng hiển và giải quyết được bài toán đếm-đặt ra. Trong mục này ta đề cập tới phương pháp sừ dụng hàm sinh thông thường để giải quyết bài toán đếm cho một số cấu hình tổ hợp. Phương pháp sử dụng hàm sinh mũ đề giải quyết bài toán đếm sẽ được đề cập tới ờ mục sau. Hàm sinh thông thừờng và hàm sinh mũ là hai loại hàm sinh được sử dụng khá hiệu quả cho nhiều bài toán đếm. Tuy nhiên một số loại hàm sinh khác lại tỏ ra hữu hiệu hơn trong một số bài toán đặc thù. Đọc giả quan tâm tới phương pháp đếm bằng các hàm sinh khác nhau có thề tìm đọc các cuốn sách tuyệt vời của R.p. Stanley về vấn đề này như [39], [40].

V í d u 2.7. Số Fibonacci.

Ta định nghĩa Fo = 0, Fỵ = 1, còn với j > 2 ta định nghĩa Fj là số các tập con của tập X = {1,2,... , j — 2} thoả mãn điều kiện là mỗi tập con đó đều không chứa hai số liên tiếp nào của tập X . Khi đó các số Fj, j — 0 ,1 , 2 ,... được gọi là các số Fibonacci. Cụ thể hơn, số Fj được gọi là số Fibonacci thủ j.

Bài toán: Hãy tìm công thức tỉnh Fj qua j. G iải. Trước hết ta chứng minh rằng với mọi j > 2,

00

Fi = Fi' - 1 + Fi - 2-

2.2. Phương pháp đếm bằng hàm sinh thông thường 89 Ta có F2 = 1, Fị 2. Do đó, đằng thức trên, đúng với j = 2,3. Giả

sử j > 4, X = {1,... , j — 2} và p là tập tấ t cả các tập con của X thoả mãn điều kiện là mỗi tập con đó đều không chứa hai số liên tiếp nào của X . Ký hiệu P\ = ị A e p I Ả chứa j — 2} và P2 = {A G

p Ị A không chứa j — 2}. Khi đó Pi o P2 = ® và p = Pỵ u P2. Theo

qui tắc cộng, Fj = |P | = |P]| + IF2I- Mỗi A e Pi đều không thể chứa j — 3. Do đó mỗi A £ Pị tương ứng với đ,úng một tập con của

x \ { j — 3, j — 2} = {1,2',... , j — 4} thoả man điều kiện là nó không chứa

hai Số liên tiếp nào của tập X \ {j — 3, j — 2}. Sủy ra |Pi I = F j -2- Mỗi

tập con A G P2 cũng là một tập con của X \ {j — 2} = {1 ,2,.. - , j — 3}.

Vì vậy, \p2\ = F j -1. Suy ra, Fj = Fj‐ 1 + F j - 2-

Ta muốn tìm biểu thức tính Fj qua j bằng cách sừ dụng hàm sinh thông thường. Giả sử f ( x ) là hàm sinh thông thường cho dãy (Fj)0°. Khi đó, ỉ ( $ ) = F0 + F i x + F2x2 + F3x3 H---- , Xf (x) = Fox + F1X2 + F2X3 + Fsx i -ị--- , x2f ( x ) = Fox2 + Fi x3 + F2X4 H---- . Do đó, f ( x ) - x f ( x ) - x2f ( x ) = 'Fo + (Fị - F0)X + (F2 - Fi - Fo)x2 -ị--- + { F j — F j- 1 — F j - 2) x ? + • • ■ = X

vì Fq = 0, Fi = 1 và Fị = F ị - \ + F j_2 cho mọi j > 2. Suy ra,

(1 - X - x2)f (x ) = X <£> /(* ) = —- 5 — .

4, 1 J./ X

Như vậy là ta đã tìm được hàm sinh, cho dãy (Fj)ỗ° dưới dạng biểu thức số học của các hàm hữu tỷ, cụ thể là, f (x ) = ---2" Tiếp theo, ta muốn biểu diễn f{x) dưới dạng chuỗi luỹ thừa hình thức. Để

làm điều đó, trước tiên ta phân tích ---—--- X thành tổng của các

l — x — x*

phân thức đơn giản bằng phương pháp hệ số bất định.

Xét tam thức bậc hai 1 — X — X 2 . Tam thức này có hai nghiệm phân

biệt là

_ 1 + V5 . 1 - V 5 ■ ơ = — —— và b --- —.

90 Chương 2: Các phuơng pháp đếm dùng hàm sinh Suy ra,

X —X _ A B

1 — X — X2 (x — a)(x — b) X — a X — b

A x — Ab+. B % - \ B a _ ( A + B ) x — (Ab + Ba)

( x - a ) ( x - b ) (x — a)(x — b)

Vì vậy ta nhận được hệ phương trình sau đây để xác định A và B :

Ị Á b -f- B ã ~ 0, Ị,4 + .B = - 1 . —b Giải hệ phương trình này ta tìm được A = ——— và B = , 0 - ă b - a 1 — X — X1 (6 — a)(x — a) (b — a)(x — b)' Theo Mệnh đề 2.3 ta có a , tức là (6 — a)(x — a) b 1 1 _ 1 xi a — b 1 _ ĩ. a — b ị - ' ai ’ a J=0 1 1 ^ 3 ? b j = 0 (b — a)(x — b) a — b Vì a — b = — \/5 nên từ hai đằng thức ở trên ta nhận được . o o À ^ CO À _ 1 XJ 1 ^ X3 V$f='0 aj + V Ef r' 0 bi I V 5 J 1 — X — X2 _ 1 1 Cìi — hi ai — w * * i r 7 " W “ W “ (- * ■ ' Do * Y l + V ^ v Í 1 - V 5 Ý 00 - X ^ -\ 1 1 - x - X2 XJ . Suy ra, Fj V5 , cho mọi j = 0,1,2,.„.

2.2. Phương pháp đếm bằng hàm sinh thông thường 91 Một điều lý thú trong công thức trên là ta đã dùng số vô tỷ để biểu diễn các số nguyên.

N h ận x é t. Ta thấy rằng F(x) thoả mãn phép truy toán tuyến tính thuần nhất bậc 2 với hệ thức truy hồi Fj — Fj‐ 1 — Fj‐ 2 = 0 cho mọi

j > 2. Vì vậy, ta có thể áp dụng Hệ quả 2.18 để tính Fj như sau. P h ư ơ n g tr ìn h X2 — X — 1 — 0 c ó h a i n g h iệ m p h â n b iệ t là 1 -í' V E , 1 - \/5 r\ — —--- và T2 = ---• Do đó, ai quả 2.18. Fl — Fọr2 _ 1 r i - r 2 V Ỗ ’ Oi 2 = - ( F ị - Fon) n - T2 ' V5' Theo Hệ

V í d ụ 2.8. Bài toán: Có j hình vuông rời nhau kích thước tương ứng

là 1 X 1,2 X 2 , . . . , j X j cần được lát bằng các viên gạch kích thước

l x l . Tính số viên gạch cần thiết để lát đủ j hình vuông đó (bằng công thức phụ thuộc vào j).

G iải. Gọi ũj là số viên gạch cần thiết để lát đủ j hình vuông đã cho. Khi đó dễ thấy rằng

a3 = J 2 k2-

fc=o

Do đó, ao = 0 và dj - a3‐1 = Ỵ2ị=ũ k2 - J2ị Z ọ k2 — 32 cho mọi j > 1, tức là các số ao, ai, 0,2, . . . , a,j,r.. thoả mãn hệ thức truy hồi tuyến tính bậc 1 không thuần nhất ũj — ữ j -1 j2 0.

Ta sử dụng hàm sinh thông thường để tính dj. Giả sử a(x) là hàm sinh thông thường cho dãy (aj)ồ°. Khi đọ,

a ( x ) — ao + a IX + Ũ2X2 + ữ3a;3 H--- , x a ( x ) = c l q x + a \ x 2 + a ^ x 3 + a ^ x 4 4---.

Do đó,

a(x) — xa(x) = ao + (ai — ao)a: + (a,2 — aì)x2 + (<23 — ữ2)x3 H---.

00

=

j =0

$2 Chương 2. Các phuơng pháp đếm, dùng hàm sinh

00

Suy ra, (1 — x)a{x) = j2x^. j =0

Ta muốn nhận được biểu thức số học của các hàm hữu tỷ cho chuỗi

ò bên phải trong đằng thức trên- Để ỉàm điều đó, ta xuất phát từ đằng

thức sạu đây mà đã được chựng minh ở Mệnh đề 2.3(2):

hp-gCT1)’' * ĩĩV | W

(:ì - x )

00

Suy ra 7— (7 + ì)x^+l. Áp dung toán từ đao hàm D vào cả (1 — XY

K ' j =0

hai vế của đẳng thức này, ta được

D (x(l - x)“2) = D ị I = ]T )ơ + 1f x j -

\ j= 0 / j= 0

Đằng thức cuối cùng ta có được từ định nghĩa toán tử D. Mặt khác, theo Mệnh đề 2.10(2)(4), ta có ' ' D (x (l — x)~2) — D(x)(l — x) ~ 2 + x D ((1 — x)-2 ) = (1 - x) ~ 2 + X ( —2(1 — x)~3D (ĩx)) = (1 - x)~2 + 2x(l — x)~3 = ( l + a : ) ( l - x ) ~ 3 . Do đó , ^ X3 = ỵ 2 ( j + 1 ) V . Suy ra, ^ ■ x> j=0 2 00 00 j f ± | 3 = Ị > + 1 ) V « = g Ì 2**- ^ j=0 j=0

Nhưng như ta đã chứng minh ờ trên rặng (1 — x)a(x) = YlĩLữ • Vì

X + X 2 , ` . X + X 2

vậy, (1 - aOaOc) = tức là a(x) = (1 _ .

Như vậy là ta đã tìm được hàm sinh a(cc) cho dãy số cần tìm dưới dạng hàm hữu tỷ. Tiếp tục, để nhận được biểu thức cho c t j qua j, ta

phải tìm cách khai triển hàm a{x) — 77~ ~ T 4 thành chuỗi luỹ thừa. Để (1X )

2.2. Phương pháp đếm bằng hàm, sinh thông thường 93 làm điều đó ta phân tích phân thức này thành tổng của các phân thức đơn giản bằng phương pháp hệ số b ất .định. Ta có (1 — a:)4 1 — X (1 — X ) 2 (1 — X ) 3 (1 — a:)4 A{ 1 - x f + B( 1 - X)2 + C(1 - x) + D . ~ ( l - z ) 4 A(1 - 3x + 3x2 - Xs ) + B { 1 - 2a; + X2) + C ( l ~ x ) + D (1 - x) 4 —A x3 + (3A + B ) x2 + (-3 A - 2 5 - C)x

( 1 - a : ) 4

(Ẩ + g + C + D) + (1 - a;)4 Suy ra, - A = 0 , 3A + B = 1, -3 A - 2 B - C = 1, Ẩ + S + ơ + D = 0. Giải hệ phương trình này ta tìm được A = 0, B = 1 , c = - 3 , D = 2, tức là X + X2 _ 1 3 2 a(xj " (1 - x y ~ (1 - z)2 ~ (1 - x)3 + (1 - X)4 ' Áp dụng Mệnh đề 2.3(2) ta được , 1 3 2 a{x) ~ (1 - x) 2 (1 - ®)3 + (1 - z)4

lery-sery-gery

=

E [c r )-

3

C'r)+f r ) H

co ' j ( i + l)(2j + 1) „7 _ 6 * • 3 - 0 Suy ra, = Ì Í Ĩ Ì M ì I Ĩ . fc=0 □

94 Chuơng 2. Các phương pháp đếm dùng hàm sinh V í d ụ 2.9. Số Catalan.

Ở Ví dụ 2.4 ta đã định nghĩa số Catalan thứ j, ký hiệu là C j , là số

cách chèn j cặp ngoặc tròn vào tích X \ X 2 . - • X j+ 1 của j + 1 số sao cho

mỗi lần nhân chỉ có đúng hai thừ a sp. Khi đó C\ = 1, C2 = 2. Ta cũrig định nghĩa Co = 1 và đã chứng minh được rằng

cho mọi j > 1.

Bây giờ ta đi tìm công thức tính C j qua j.

Giả sử c(x) là hàm sinh thông thường cho dãy ( C j )0°. Khi đó, c ( x ) = Co + C \ X + C2X 2 + C3X3 + C ị X A -ị--- ,

{c(x) ) 2 = cổ + (c0c 1 + C x C o ) x + (c0c2 + C1C1 + C2C0) x2 H---

Vì thế X 2 (c(x))2 = x [ c \ x + C2X 2+ C3X3 -ị---] = x [ c { x ) - 1] = x c ( x ) - X ,

tức là (xc (x ))2 — xc(x) + X = 0. Giải phương trình bậc hai trên đối với xc(x) ta tìm được

Vì S ( —4x) = 0, nên theo Mệnh đề 2.15(4) ta có hệ số của (—4xý

'

. Z . W

- 1 0 : 2 ) - 6 - ^ 0

trong ựl. - 4x bằng — ---— --- -TT--- --- —, tức là hê số của X3 trong khai triển thành chuỗi luỹ thừa của V l — 4x bằng

+ ( c o C j _ i + C \ C j—2 -ị--- 1- C j - i C ữ ) x j 1 H--- Ci + C2X + C S X2 + C ị X3 -ị--- . , . 1 + y/l — 4x xcix) = --- 2 hoặc xc(x) = 1 - y/l - 4 x

2

- ý (1.3.5 ■ ■ ■ (23 - 3))

2.2. Phương pháp đếm bằng hàm sinh thông thường 95 Vì vậy, chúng là các số nguyên âm cho mọi j > 1. Điều đó chứng tỏ rằng —t 1--- - không thể bằng xc(x) vì các hệ số của x i trong xc(x) là các số nguyên dương. Vậy xc(x) 1 - V ĩ — 4x ~ 2 1 r 2 22 2 23.1.3 o ' 2 M . 3 . .. (2j - 3) ,• = 2 [ v x + 2i x + u x + --- + --- j r - ^ x J + - 2 2 22.1.3 3 2’~1.1.3... (2j — 3) ,• = x + ị x 2 + ^ x Z + ..- + --- ---v + . . . . Suy ra 2 22.L3 2 2J’-1 .Ị-3. ■. (2j - 3) j_! c ( z ) = 1 + + - x + • • ■ + --- ~ ~ j \ --- ** + ■ ■ Do đó, 2J~.1.3 ■ ■ ■ (2j — 1) (j + l)! ỹ . l . 2 . 3 . 4 . . . ( 2 j - l ) ( 2 j ) (j + l)!2.4...(2j) ỳ ( m (j + l)!j!2* 7 7 ^ ( 2ị ơ + 1) V 3 Vì vậy, ta nhận được Cj = y r —— - ( j ) . Từ công thức trên, chằng hạn ta có C3 = ~ ~

V í d u 2.10. Hợp thành và phân hoạch của số nguyên dương.

Một biểu thức của số nguyên dương n dưới dạng tổng có thứ tự của k số nguyên dương được gọi là một hợp thành của n thành k

phan. Một hợp thành của n chính là một hợp thành của n thành k

phần với k nguyên dưạng nào đó. Chằng hạn, số 4 có 8 hạp thành là 4,3 + 1 , 2 + 2 , 2 + 1 + 1 , 1 + 3 , 1 + 2 + 1 , 1 + 1 + 2 , 1 + 1 + 1 + 1 . Cụ thể hơn, số 4 có một họp thành thành một phần là 4, có ba hợp thành thành hai phần là 3 + 1 , 2 + 2 và 1 + 3, có ba hợp thành thành ba phần l à 2 + l + l , l + 2 + l v à l + l + 2 v à c ó một hợp thành thành bốn phần là 1 + 1 + 1 + 1.

96 Chương 2. Các phương pháp đếm dùng hàm sinh

Người ta cũng thường đồng nhất hợp thành của n thành k phần với lời giải nguyên dương của phương trình

X \ + X 2 H‐l‐a) k = n .

Ký hiệu số hợp thành của n thành k phần \kC{n, /c), còn số tấ t cả các hợp thành của n là C{n). Mỗi một hợp thành a\ + ữ 2 H---ha/c ta tương ứng với một tập con lực lượng k — 1 của tập [n — 1] = {1, 2, .. . , n — 1} như sau: ạ i + ữ 2H---Vaií ^ {®1>ai + a2, ■ ■ ■ , a i + ũ2-\---- Gfc-i}- Ngược lạ i, t ậ p c o n { s i , S 2 , . . . , s * ; - i } lự c lư ợ n g k - 1 v ớ i Si < S2 < ■■■ < Sk-1 của [n - 1] xác định một hợp thành ai + 0 ,2 + ---- của n thành k phần tương ứng với nó như sau: a i — S \ , a 2 = S 2 — S \ , . . . , c i i = S ị — (2 < i < k — 1), .. . ,ãk = n — Sk-1- Dẹ chứng minh được rằng tương ứng trên là tương ứng một-một. Do đó, C ( n , t ) = ( £ : ; ) , ơ(n) = C(n, 1) + c (n , 2) H--- h C(n, n) -

( 0 M

1 ) + " - < ỉ )

= 2 .

Phân hoạch của một số nguyên n > 0 là một dãy có thứ tự A =

(Ai, Ằ2, . . . , Ak) các số nguyên dương Ai, Ả2,.. . , \ k sao cho Ai > A2 > • • • > Afc vậ À:1 + Ằ2'+'■•• + = n ■ Nếu A = (Ai, A2, . .. , Afc) là phân hoạch của n thì ta ký hiệu là À I- n và gọi Ai, À2, ... , Ah là các phần của nó.

Như vậy, một phân hoạch của một số nguyên dương chính là một hợp thành của số đó, trong đó ta không quan tâm tới thứ tự cùa các số hạng. Một phân hoạch A của n được xác định một cách duy nhất bởi số bội của các phần có thề là 1, 2, .. . , n. Nếu í xuất hiện với bội dị > 0, thì ta viết A = I“i2a2. . . riữn. Nếu ữ i + ữ 2 + - • •+an = k và A = l ai2“2 ... n°” là một

phân hoạch của n thành k phần, thì n = l.d i + 2.0,2 + 3.0,3 H---1" n.an.

Sự xuất hiện của số i với các bội số có thế được biểu diễn bằng chuỗi

ai{x) = l + {xi)1 + \ xi ) 2 + {xif + -- -.

Dễ thấy rằng dãy các chuỗi luỹ thừa hình thưc ai(ar), a,2(x), a3(x), . .. , Gbi(x) , . .. là khả tích, tức là ta có thể xác định phần tử n S i ai(x ) trong

DIỄN ĐÀN TOÁN - LÍ - HÓA 1000B TRẦN HƯNG ĐẠO TP.QUY NHƠN

2.3. Phương pháp đếm bằng hàm sinh mũ 97 CN . Hơn thế nữa, 'phân hoạch A = l ai2“2 . .. na" tương ứng với duy

nhất một số hạng (a;1)01 (x2)0,2.. . {xn)an của tích n £ i dị(x). Do đó, hệ số của x n trong tích trên chính là tổng số các phân hoạch của n, tức là hàm sinh cho dãy số các phân hoạch ciiạ các số nguyên không âm là

oo oo

p{x) = n ( 1 + ( a õ 1 + ự Ỷ + ( ^ ) 3 + ( ^ ) 4 + • • • ) = n l ĩ h r y

i=l i=l ^ x >

Với lập luận tương tự ta có thể nhận được hàm sinh cho số các phân

hoạch của số nguyên n > 0 vơi các ràng buộc khác nhau. Chẳng hạn,

- H à m s in h Pd(x) c h o s ố c á c p h â n h o ạ c h c ủ a n > 0 t h à n h c á c p h ầ n

khác nhau là

Pd(x) = (1 + x) (l + z 2)(l + X3) • • • = J J (1 + X*) i= 1

vì chỉ có các bội cho phép là 0 hoặc 1.

- H à m s in h Po(x) c h o s ố c á c p h â n h o ạ c h c ủ a n > 0 t h à n h c á c p h ầ n

là số lè là oo l

Po(x) =

n

f ^ i 2ĩ+1 2=0

vì các phần cho phép đều phải là số lè. □

Documentos relacionados