Ứng dụng hàm sinh giải toán tổ hợp - Ứng dụng hàm sinh toán tổ hợp Hàm sinh có nhiều ứng dụng: việc tìm số hạng tổng quát dãy truy hồi, tốn đếm,… Bài viết chúng tơi giới thiệu cách ngắn gọn ứng dụng hàm sinh tốn đếm ∞ ðịnh nghĩa: Cho dãy số: ( an )n =0 , kí hiệu hình thức: F ( x ) = a0 + a1 x + a2 x + + an x n + ∞ ñược gọi hàm sinh (Generating Function) dãy ( an )n =0 Ví dụ: Xét dãy Cn0 ; Cn1 ; ; Cnn ;0;0 có hàm sinh là: F ( x ) = Cn0 + Cn1 x + + Cnn x n = (1 + x ) n Ta thấy với k, số Cnk cách chọn k phần tử từ tập gồm n phần tử, khai triển hệ số x k ðây ý tưởng việc sử dụng hàm sinh tốn đếm, thay tính trực tiếp số cách chọn, ta ñưa việc tính hệ số hàm sinh sinh dãy cách chọn Quy tắc xoắn: Gọi A ( x ) hàm sinh cho dãy cách chọn phần tử từ tập A B ( x ) hàm sinh cho dãy cách chọn phần tử từ tập B Nếu A B rời hàm sinh cho dãy cách chọn phần tử từ A ∪ B A ( x ) B ( x ) Chú ý: Cho hàm số y = f ( x ) có đạo hàm cấp x=a, khai triển Taylor hàm số a là: f ( x ) = f ( a ) + f '( a ) f "( a ) ( x − a) + ( x − a ) + 1! 2! Bài toán 1: Tìm số nghiệm ngun khơng âm phương trình: x + y = n Phân tích: Bài tốn khơng khó, tính kết chặn miền giá trị n n biến, cho y chạy từ ñến , ta ñược số nghiệm là: + 2 2 Nhưng toán cho thêm biến, ví dụ phương trình: x + y + 3z = n Lúc chặn miền nghiệm không đơn giản Chúng tơi giới thiệu cách giải tốn dùng hàm sinh sau Giải ðặt y = z , ta có phương trình mới: x + z = n với x số nguyên không âm, z số tự nhiên chẵn Ta xét dãy số cách chọn biến x z -1 - Ứng dụng hàm sinh giải toán tổ hợp - Với biến x: số có cách chọn, số có cách chọn, số có cách chọn,… Vậy dãy cách chọn x là: 1, 1, 1, … Suy hàm sinh cho dãy cách chọn x là: + t + t + t + = , ( t ∈ ( 0;1) ) 1− t Với biến z: số có cách chọn, số có cách chọn, số có cách chọn,… Vậy dãy cách chọn z là: 1, 0, 1, … Suy hàm sinh cho dãy cách chọn z là: + t + t + = , ( t ∈ ( 0;1) ) 1− t2 Theo quy tắc xoắn, ta có hàm sinh cho số cách chọn x, z là: f ( t ) = 1 1− t 1− t2 Hệ số t n khai triển f ( t ) giá trị cần tìm Ta có: f ( t ) = 1 1 1 = − + (1 − t ) (1 + t ) (1 − t ) t − + t ( −1) ( n + 1)! ( −1) n ! ( −1) n ! − + (t ) = (1 − t )n + ( t − 1) n+1 ( t + 1)n +1 n Suy ra: f Hay f ( n) (n) (0) n ( n + 1)! + n! + ( −1) = n n n! 2n + + ( −1) n Theo khai triển Taylor 0, ta ñược hệ số x là: An = f ( ) ( ) = n! n n Bài toán giải ñược ta thêm biến, phương trình x + y + 3z = n hàm sinh là: f (t ) = 1 Tuy nhiên để tính đạo hàm cấp n khơng đơn giản − t − t2 − t3 Bài toán (bài VMO 2012): Cho nhóm gồm gái, kí hiệu G1, G2, G3, G4, G5 12 chàng trai Có 17 ghế xếp thành hàng ngang Người ta xếp nhóm người cho ngồi vào ghế cho điều kiện sau đồng thời thỏa mãn: 1/ Mỗi ghế có ñúng người ngồi; 2/ Thứ tự ngồi cô gái, xét từ trái qua phải, G1, G2, G3, G4, G5; -2 - Ứng dụng hàm sinh giải toán tổ hợp - 3/ Giữa G1 G2 có chàng trai; 4/ Giữa G4 G5 có chàng trai nhiều chàng trai Hỏi có tất cách xếp vậy? (Hai cách xếp ñược coi khác tồn ghế mà người ngồi ghế hai cách xếp khác nhau) Giải Gọi x1 số chàng trai ñược xếp bên trái G1, x2 số chàng trai G1 G2, x3 số chàng trai G2 G3, x4 số chàng trai G3 G4, x5 số chàng trai G4 G5, x6 số chàng trai xếp bên phải G5 Khi số ( x1; x2 ; x3 ; x4 ; x5 ; x6 ) hồn tồn xác định vị trí gái ta có i x1 + x2 + x3 + x4 + x5 + x6 = 12 ii x2 ≥ iii ≤ x5 ≤ Ta tính số cách chọn (x1, x2, …, x6) Hàm sinh cho số cách chọn x1 ; x3 ; x4 ; x6 giống nhau, là: 1− t t3 Hàm sinh cho số cách chọn x2 là: t + t + t + = 1− t Hàm sinh cho số cách chọn x5 là: t + t + t + t = t (1 + t + t + t ) Hàm sinh cho số cách chọn (x1, x2, …, x6) là: f ( t ) = = t4 (1 − t ) t4 (1 − t ) (1 + t + t + t ) + t5 (1 − t ) + t6 (1 − t ) Số cần tìm hệ số 12 khai triển f ( x ) thành lũy thừa Hay tổng hệ số t ; t ; t ; t khai triển g ( t ) = Ta có: g ( n) (t ) = ( + n )! , n+5 4! (1 − t ) suy hệ số t n là: An = ( n) ( + n )! g (0) = = Cn4+ n! n! 4! -3 - (1 − t ) + t7 (1 − t ) Ứng dụng hàm sinh giải toán tổ hợp - số cách chọn (x1, x2, …, x6) là: C124 + C114 + C104 + C94 vai trò 12 người nam nhau, nên cách xếp phải nhân thêm 12!, kết là: (C 12 + C114 + C104 + C94 ) 12! Bài tốn 3: Có số có chữ số chia hết cho 3, biết chữ số ñược lấy từ tập A = {1, 2,3, 4,5} Một tốn nghe qua đơn giản, cách mà nghĩ đến chia trường hợp, cụ thể chọn số mà tổng chia hết cho Nhưng khó là: Các chữ số khơng bắt buộc đơi khác nhau, xét trường hợp phức tạp, chẳng hạn cho số chữ số lớn hớn 4, khơng thực Tơi trình bày hướng giải sử dụng hàm sinh Số số cần tìm số X = ( x1; x2 ; x3 ; x4 ) thỏa mãn xi ∈ A ∑ x ⋮3 , ta kí hiệu i i =1 tổng phần tử X S ( X ) { } Xét tập M = X = ( x1 ; x2 ; x3 ; x4 ) xi ∈ A , M j = { X ∈ M S ( X ) ≡ j ( mod 3)} , j = 0,1, Ta có M j ∩ M k = ∅, ∀j ≠ k ; ∪ M j = M , suy ra: ∑M j = M = 54 Ta cần tính M j =0 j =0 Xét phương trình: x + x + = có nghiệm phức phân biệt Gọi α nghiệm phương trình trên, suy α nghiệm phương trình α = α k = α j j ≡ k ( mod 3) (các bạn cần xem lại kiến thức nghiệm phức phương trình) Với tập { x1 ; x2 ; x3 ; x4 } , ta xét tập gồm phần tử { xi } , xét dãy số cách chọn xi tập: Số có cách chọn, Số có cách chọn Số có cách chọn Số có cách chọn Số có cách chọn, Số có cách chọn, từ số trở lên có cách chọn Vậy ta có dãy: 0, 1, 1, 1, 1, 1, 0, 0,… Hàm sinh dãy là: x + x + x3 + x + x Với bốn phần tử vai trò nhau, suy hàm sinh số cách chọn bốn phần tử M 20 là: f ( x ) = ( x + x + x + x + x5 ) = ∑ x j j =1 -4 - Ứng dụng hàm sinh giải toán tổ hợp 20 Suy f (α ) = ∑ α j Mỗi số hạng có số mũ α tổng số (khơng bắt buộc j =1 đơi khác nhau) lấy từ A, Vì viết: f (α ) = ∑α S( X ) X ∈M =∑ Mj αj j =0 Mà ta có: f (α ) = (α + α + α + α + α ) = (α + α + + α + α ) = ( 2α + 2α + − 1) = ( −1) = 4 4 (chú ý α nghiệm x + x + = ) Nên ta có: ∑M j α j = ⇔ M α + M1 α + M − = , j =0 Do α nghiệm x + x + = nên ta có: M = M = M − , suy M = 54 + Từ ñây bạn thoải mái sáng tạo nhiều tốn đếm dạng thế, cách giải chúng giống Có thể tổng quát toán trên: Cho tập A = {a1; a2 ; ; an } Tìm số ( x1; x2 ; ; xk ) thứ tự, gồm k phần tử khơng bắt buộc đơi khác lấy từ A thỏa mãn tổng phần tử chia p dư r Trong p số ngun tố lẻ, r nhỏ p -5 - Ứng dụng hàm sinh giải toán tổ hợp - Một số tập Bài 1: Tìm số nghiệm ngun khơng âm phương trình: x + y + z = 2012 Bài 2: Tìm số số có n chữ số lập từ chữ số 3, 4, 5, chia hết cho Bài 3: Có số có 10 chữ số lập từ chữ số 1, 2,5,8,9 cho số chia hết cho Bài (Romania 2003): Có số có n chữ số lấy từ tập {2,3, 7,9} cho số chia hết cho Bài (IMO 1995): Cho p số nguyên tố lẻ Tìm số tập A tập hợp {1, 2, , p} thỏa mãn ñồng thời hai ñiều kiện sau: i A chứa ñúng p phần tử ii Tổng phần tử A chia hết cho p (trong ví dụ trên, cần ý tập hợp khơng có thứ tự) Bài (tương tự VMO 2012): Có cách chọn k người từ n người xếp thành hàng dọc cho khơng có hai người liên tiếp chọn? Hướng dẫn, ñáp số Bài 1: Hàm sinh số cách chọn x, y, z là: f ( t ) = (1 − t ) 1 = − t (1 − t ) (1 + t ) Bằng cách dùng phương pháp hệ số bất ñịnh, ta có: f (t ) = 1 1 + + + (1 − t ) (1 − t ) (1 − t ) (1 + t ) Từ tính hệ số 2012 khai triển f ( x ) , kết Bài 2: Hàm sinh là: f ( x ) = ( x3 + x + x5 + x ) Tương tự tốn 3, ta có kết là: n n ( + 2) Bài 3: Bài 5: ðặt A = {X ⊂ {1,2, ,2 p} : X = p} -6 - Ứng dụng hàm sinh giải toán tổ hợp - A j = {X ∈ A : S ( X ) ≡ j (mod p )}, j = 0,1, , p − Xét ña thức: P ( x ) = + x + x + + x p −1 p j Giả sử α nghiệm P (x ) , suy ra: x − = ∏ ( x − α ) p j =1 p −1 Bằng cách so sánh hệ số x p hai vế ta có: ∑ Aj α j =2 j=0 p −1 Suy α nghiệm ña thức Q( x) = ∑ A j x j + A0 − j =1 Cân hệ số hai ña thức, ta tính được: A0 = ðáp số: C2pp − p A −2 p +2= C2pp − p + + Bài 6: Giả sử k người ñược chọn là: a1 ; a2 ; ; ak Gọi x1 số người ñứng trước a1 , x2 số người ñứng a1 a2 ,…, xk số người ak −1 ak , xk +1 số người sau ak Mỗi cách chọn ( a1 ; a2 ; ; ak ) số cách chọn ( x1; x2 ; ; xk ; xk +1 ) thỏa mãn ñồng thời: k +1 i ∑x i = n−k i =1 ii x1 ≥ 0; xk +1 ≥ iii xi ≥ 1, ∀i = 2, k Hàm sinh cho số cách chọn ( x1; x2 ; ; xk ; xk +1 ) là: f ( x ) = Tương tự VMO2012, ta có kết tốn -7 - t k −1 (1 − t ) k +1 ... Hàm sinh cho số cách chọn x1 ; x3 ; x4 ; x6 giống nhau, là: 1− t t3 Hàm sinh cho số cách chọn x2 là: t + t + t + = 1− t Hàm sinh cho số cách chọn x5 là: t + t + t + t = t (1 + t + t + t ) Hàm sinh. .. 0,… Hàm sinh dãy là: x + x + x3 + x + x Với bốn phần tử vai trò nhau, suy hàm sinh số cách chọn bốn phần tử M 20 là: f ( x ) = ( x + x + x + x + x5 ) = ∑ x j j =1 -4 - Ứng dụng hàm sinh giải... Suy hàm sinh cho dãy cách chọn x là: + t + t + t + = , ( t ∈ ( 0;1) ) 1− t Với biến z: số có cách chọn, số có cách chọn, số có cách chọn,… Vậy dãy cách chọn z là: 1, 0, 1, … Suy hàm sinh cho