Professional Documents
Culture Documents
PP Sử Dụng Hàm Sinh (Đại Số Sơ Cấp) - Phạm Thế Bảo
PP Sử Dụng Hàm Sinh (Đại Số Sơ Cấp) - Phạm Thế Bảo
Hà nội, 2022-2023
Table of Contents
Type chapter title (level 1) 1
Type chapter title (level 2) 2
Type chapter title (level 3) 3
Type chapter title (level 1) 4
Type chapter title (level 2) 5
Type chapter title (level 3) 6
1
Mở đầu
Hàm sinh (Generating Function) trong toán học là một trong các công cụ mạnh để giải quyết một số dạng bài
toán khó. Lí thuyết hàm sinh đã được biết đến từ lâu và được nghiên cứu khá kĩ lưỡng.
Hàm sinh còn là một trong những sáng tạo thần kì, bất ngờ, nhiều ứng dụng của toán rời rạc. Hàm sinh chuyển
những bài toán từ dãy số thành những bài toán về hàm số. Với những điều này chúng ta có thể dễ dàng giải
quyết được một số bài toán.
Trong quá trình nghiên cứu, nhóm sinh viên chúng tôi nhận thấy có nhiều dạng bài toán nếu biết vận dụng khéo
léo công cụ hàm sinh thì lời giải rất đơn giản trong khi nếu không dùng công cụ này lời giải sẽ rất phức tạp,
2
thậm chí không thể giải được bằng các phương pháp thông thường như: Các bài toán tìm công thức tổng quát
của dãy số; các bài toán tổ hợp.
Để có thể nắm vững lí thuyết hàm sinh cũng như vận dụng được các công cụ hàm sinh để ứng dụng vào giải
toán, trong chuyên đề này nhóm sinh viên chúng tôi trình bày phương pháp sử dụng hàm sinh, bao gồm các vấn
đề:
1. Giới thiệu về hàm sinh và các phép toán trên hàm sinh
1.1 Giới thiệu về hàm sinh
Phương pháp sử dụng hàm sinh là một trong những phương pháp độc đáo và có một lịch sử lâu dài.
Định nghĩa: Hàm sinh thường của vô hạn (a n ¿ ¿ n≥ 0 là chuỗi luỹ thừa hình thức:
G(x) = a 0+ a1 x + a2 x 2 +…+a n x n +…
Ta gọi hàm sinh là chuỗi luỹ thừa hình thức bởi vì thông thường ta sẽ chỉ coi x là một kí hiệu thay thế vì
một số. Chỉ trong một số trường hợp, ta sẽ cho x nhận giá trị thực, vì thế ta gần như không để ý đến sự
hội tụ của các chuỗi. Có một số loại hàm sinh khác nhau, trong bài này chỉ xét đến hàm sinh thường.
Cơ sở lí thuyết của phương pháp này là vành A = R [[x]] các chuỗi luỹ thừa hình thức trên trường thực R
có dạng ∑
n
an x với phép cộng và phép nhân chuỗi thông thường. Đặc biệt là
n ≥0
∑ an x n =∑ bn x n khi và chỉ khi an=b n với mọi n . Với chú ý rằng trong A thì phần tử ∑ an x nkhả nghịch khi và chỉ
n ≥0 n ≥0 n≥ 0
1
khi a 0 ≠ 0. Hơn vậy tìm cũng giống như ta làm trong Giải tích, ví dụ:
u
∞
1
=∑ x n
1−x n=0
Do vậy
1
∞
=1−x
∑x n
n=0
3
Thật vậy, trong các ví dụ sau ta sẽ kí hiệu sự tương ứng giữa các dãy số và hàm sinh bằng dấu “ ↔” như
sau:
¿ a 0 , a 1 , a2 , … , an , …>↔ a 0+ a1 x + ax x2 +a n x n +…
2 n
¿ 0,0,0,0 , … .>↔ 0+0. x+0. x + …+0. x + …=0
Chú ý: Quy tắc ở đây khá đơn giản: Số hạng thứ i của dãy số (từ 0) là hệ số của x i trong hàm sinh.
Ta nhắc lại công thức tính tổng của cấp số nhân lùi vô hạn:
2 1
1 + z + z + …=
1−z
Đẳng thức này đúng với |z| ≤1 (tuỳ theo chuẩn mà ta xét).
Từ công thức trên, ta sẽ có công thức tường minh cho hàm sinh của một số các dãy số thường gặp:
2 1
¿ 1,1,1,1 , ….>↔ 1+1. x +1. x + …=
1−x
2 n 1
¿ 1 ,−1,1 ,−1 , … .>↔ 0+0. x+ 0. x + …+0. x + …=
1+ x
2 3 2 2 1
¿ 1 , c , c , c , … .>↔1+ c . x+ c . x +…=
1−ax
2 4 n 1
¿ 1,0,1,0 , … .>↔1+0. x + x + …+0. x + …=
1−x 2
Ta sẽ gặp những bài toán ở những công thức này trong ứng dụng hàm sinh ở bài toán phần sau.
Phần đặc biệt của hàm sinh nằm ở phần ta có thể chuyển tiếp các phép toán thực hiện trên dãy số thành
các phép toán thực hiện trên hàm sinh tương ứng với nó. Từ đó, ta có thể dễ dàng thực hiện các phép
toán.
Quy tắc:
Chứng minh:
2
<c f 0 , c f 1 , c f 2 , c f 3 , …> ↔ c f 0 + ( c f 1 ) x+(c f 2 ) x +… = c( f 0 +f 1 x+ f x x 2+ … ¿ = c.F(x)
Ví dụ:
1 n
<1,0,1,0, …> ↔ 2 thì <n , 0 , n , 0 , …. >
↔ 2
1−x 1−x
1
<1,a,a 2 , a3 , …> ↔ 1 + ax + a 2 x 2+ … = 1−ax = f(x)
4
2 3 2 2 3
¿ a+ a x +a x +… ↔<a , a , a , …>¿
Quy tắc: Công hai hàm sinh tương ứng với việc cộng các số hạng của dãy số theo đúng chỉ số. Nếu
< f 0 , f 1 , f 2 , f 3 ,… > ↔ F(x) và < g0 , g 1 , g2 , g 3 , …> ↔ G(x) thì < f 0 +g 0 , f 1+ g 1 , f 2+ g2 , f 3 + g3 > ↔ F(x) + G(x).
Chứng minh:
↔( f 0 +g 0 ¿+ ( f 1+ g 1) x +(f 2 + g2 ) x 2+ …
= ( f 0 +f 1 x+ f x x 2+ … ¿+¿+…)
= F(x) + G(x)
1 1
Ví dụ: Ta có: <1,1,1,1,…> ↔ và <1,-1,1,-1,…> ↔
1−x 1+ x
1 1
Hoặc ta sử dụng quy tắc cộng cho <1,0,1,0,…> ↔ 2 và <1,0,1,0,…> ↔ 2 thì ta cũng có:
1−x 1−x
1 1 2
<2,0,2,0, …> ↔ + =
1−x 1−x 1−x2
2 2
xk
<0,0,…, 0,1,1,…> ↔ x k+1 + x k+ 2+ x k +3+ …=¿ x k (1+ x+ x2 +…) ↔
1−x
Như vậy ta thêm k số 0 vào đầu dãy số tương ứng với việc hàm sinh nhân với x k . Điều này tương
đương với trường hợp tổng quát.
C/M:
= x k ( f 0 +f 1 x+ f 2 x2+…) = x k F ( x ) .
∂ F (x)
Quy tắc: Nếu < f 0 , f 1 , f 2 , f 3 ,… > ↔ F(x) thì < f 1 , 2 f 2 , 3 f 3 , …> ↔
∂x
Chứng minh:
∂ ∂ F (x )
2
< f 1 , 2 f 2 , 3 f 3 , …> ↔ f 1+ 2 f 2 x +3 f 3 x + …= ( f + f x +f 2 x 2+ … )= ∂ x .
∂x 0 1
5
∂ ∂ 1
Ta có: <1,2,3,4, …> ↔ 1 + 2x + 3 x 2 + 4 x 3 + … = (1+x+ x2 + x 3 +x 4+ …) = ( )=
∂x ∂ x 1−x
1
(1−x )2
Tìm hàm sinh cho dãy số <0,1,4,9,16, …> =
x (1+ x)
(Ans: <0,1,4,9,16,…> ↔ 3
1−x
1.2.5 Quy tắc xoắn
∞ n
Xét hàm G(x) = A(x).B(x) = ∑ ∑ ai bn−i
n=0 i =0
n
Ta đặt d n=∑ ai bn−i. Ta có hàm sinh cho dãy {d n} ∀ n ≥0 là hàm G(x). Quy tắc này được gọi là
i=0
VD2(Dãy Catalan)
1.3 Dùng hàm sinh chuỗi luỹ thừa vô hạn
Cơ sở lý thuyết:
A = R[[ x ]] các chuỗi luỹ thừa trên trường thực R có dạng ∑
n
an x là một vành với phép cộng và
n ≥0
k∑ an x =∑ k an x , k ∈ R
n n
n≥ 0 n ≥0
∑ an x n =∑ an x n ⟺ a n=b n
n ≥0 n ≥0
1 1
Chú ý : trong A, phần tử u = ∑
n
an x khả nghịch (a 0 ≠ 0 ¿ và u =
n ≥0 ∑ an x n
u ≥0
Câu 1: Tìm số hạng tổng quát của dãy (a n). a =50a −41 a , n ≥0
n +2 n +1 n
{ a =1, a =2
Sgg: Nhận thấy a n+2−5 a n+1 +4 an=0 nên ta cần cho xuất hiện a n+2−5 a n+1 +4 an .
Lời giải: Thật vậy, ta đặt G(x) là hàm sinh cho dãy (a n) ta có:
6
1−3 x
= a 0+ ( a1−5 a0 )=1−3 x ⟺ G ( x )= 2
1−5 x +4 x
Phân tích:
1−3 x A B
G(x) = 2= +
1−x 1−4 x
1−5 x+4 x
2 1
Ta quy đồng và quy nhất hệ số được: A = 3 ; B = 3
( )
∞ ∞ ∞ n
2 1 1 1
⇒G ( x )= + ( ) = 2 ∑ x n + 1 ∑ (4 x )n=∑ 2+4 x n
3 1− x 3 1−4 x 3 n=0 3 n=0 n=0 3
2+ 4 n 2+ 4 n
Hệ số của x n trong khai triển là nên a n= ∀ n ≥0.
3 3
{
1
a0 =1, a 1= , n≥ 0
2
a n+2=an+1 −an
Sgg: Trong quá trình tính ta cần cho xuất hiện a n+2−an+1 +a n. Hơn nữa, khi tính toán G(x) ta cần
sử dụng thêm công thức Moivre.
Lời giải:
Lời giải: Trong phương trình (1) thì ta có x 1 , x 2 , x 3 ,… , x d có vai trò như nhau nên ta chỉ cần tìm
hàm sinh cho cách chọn một số x i (1≤ i≤ d ) bất kì. Do x i là số nguyên dương lẻ nên x i nhận các
giá trị như: 1,3,5,…
f ( x )=x + x + x + …=∑ x
3 5 2 k+ 1
k ≥0
x
Ta có f ( x )=∑ x =
2 k +1
2
k ≥0 1−x
xd
Áp dụng quy tắc xoắn ta xác định được hàm sinh cho cách chọn bộ số ( x 1 , x 2 , … , x d) là 2 d
(1−x )
Câu 4: Xác định các dãy số (un )n ≥0 biết u0 =u1=¿1 và un =a un−1 +b un−2 ¿) trong các trường hợp
sau: (a,b) = (1,2); (a,b) = (3,-4)
F(x) = u0 +u1 x+ ∑
n
un x
n ≥2
7
=1+x+∑
n
(a un−1 +b u n−2 ) x
n ≥2
= 1 + x + a∑
n≥ 2
u n−2 x n+ b ∑ un−2 xn
n ≥2
( ∑ u x −u )+ b x ∑ u x
n 2 n
= 1 + x + ax n≥ 0
n 0
n≥ 0
n
= 1 + x + axF ( x )−ax +b x 2 F ( x)
1−ax+ x
⟹ F(x) = 2.
1−ax−b x
n n
(−1) −2
= ∑ 3 xn .
n ≥0
n n
(−1) −2
Đồng nhất hệ số ⟹ un= , ∀n≥ 2
3
TH2: (a,b) = (3,-4)
1−2 x
Ta có: F(x) = 2
1−3 x+ 4 x
=
Câu 5. Xác định dãy số (un )n ≥0 biết u0 =u1=u2 = 1 và un =a un−1 +b un−2 +c un−3, ∀ n ≥3 trong các
trường hợp sau: (a,b,c) = (6,-11,6) ; (a,b,c) = (5,1,-5)
Lời giải:
Xét G(x) = ∑
n
u n x (1) là hàm sinh của dãy (un )n ≥0 .
n ≥0
G(x) = u0 +u1 x +u 2 x + ∑
2 n
Ta có: un x
n ≥0
= u0 +u1 x+ u2 x 2 + ∑
n
(a un−1 +b u n−2 + c un−3 )x
n ≥3
= u0 +u1 x+ u2 x 2 +ax ¿ + c x
3
∑ un xn
n ≥0
= 1 + x + x + ax ( G ( x )−x−1 ) + b x 2 ( G ( x ) −1 ) + c x 3G(x)
2
( 1−a−b ) x 2+ ( 1−a ) x +1
⟹ G(x) = 2 3
1−ax−b x −c x
8
⟹ G(x) = ∑ x (2)
n
n ≥0
⇒ G(x) = ∑ x (3)
n
n ≥0
2.3. Ứng dụng của hàm sinh trong các bài toán đếm
https://cuuduongthancong.com/toan/chuyen-de-toan-logic---roi-rac/phuong-phap ham-sinh.pdf?
src=detail
https://math.libretexts.org/Bookshelves/Combinatorics_and_Discrete_Mathemati
cs/Combinatorics_(Morris)/02%3A_Enumeration/07%3A_Generating_Functions/
7.03%3A_Using_Generating_Functions_To_Count_Things
https://math.berkeley.edu/~shiyu/s15math53/generating_functions.pdf
https://www.youtube.com/watch?v=n9FFBXBccow
https://www.youtube.com/watch?v=vhnWx4kbNPU
https://thuvientoan.net/ham-sinh-va-ung-dung-vao-giai-toan-to-hop-roi-rac
https://123docz.net/document/2842853-su-dung-ham-sinh-giai-bai-toan-to hop.htm
https://www2.math.binghamton.edu/lib/exe/fetch.php/people/grads/abawonse/lect ure_4.pdf
https://www.d.umn.edu/~jgreene/Combinatorics/Fall_2017/Exam_2_Review_sol. pdf
https://cse.iitkgp.ac.in/~animeshm/generating_funct.pdf
https://www.math.cmu.edu/~lohp/docs/math/2011-228/mit-ocw-generating func.pdf
https://math.stackexchange.com/questions/2925451/generating-function-problem and-
distributing-candy-to-kids