You are on page 1of 12

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

KHOA TOÁN – TIN


************

Sản phẩm học phần: Đại số sơ cấp


Chủ đề 9: Phương pháp sử dụng hàm sinh

Giảng viên hướng dẫn : TS. Nguyễn Đạt Đăng


Sinh viên thực hiện : Phạm Thế Bảo – MSV: 705101046
Nguyễn Tuấn Đạt – MSV:705101097
Lê Vũ Việt Anh – MSV:705101
Tạ Lê Tùng Anh – MSV:705101032

Hà nội, 2022-2023

1
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

2
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, 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 đề:

 Giới thiệu hàm sinh và các phép toán


 Dùng hàm sinh là đa thức
 Dùng hàm sinh là các chuỗi luỹ thừa vô hạn

3
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
n ≥0

thông thường. Đặc biệt là


∑ 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 n
n ≥0 n ≥0 n≥ 0
1
khả nghịch khi và chỉ khi a 0 ≠ 0. Hơn vậy tìm cũng giống như ta làm trong
u
Giải tích, ví dụ:

1
=∑ x n
1−x n=0

Do vậy
1

=1−x
∑x n

n=0

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:

4
¿ 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

¿ 1,0,0,0 , … .>↔1+0. x+ 0. x 2 +…+ 0. x n +…=1


2 n 2
¿ 4,3,1,0 , … .>↔ 4 +3. x +1. x +…+ 0. x +…=x + 3 x + 4

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
1
¿ 1 ,−1,1 ,−1 , … .>↔ 0+0. x+ 0. x 2+ …+0. x n+ …=
1+ x
1
¿ 1 , c , c 2 , c3 , … .>↔1+ c . x+ c2 . x2 +…=
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.

1.2 Các phép toán trên hàm sinh

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.

1.2.1 Nhân với hằng số

Quy tắc:

Nếu < f 0 , f 1 , f 2 , f 3 ,…> ¿ ↔ F(x) thì <c f 0 ,c f 1 , c f 2 , c f 3> ↔ cF(x).

Chứng minh:

5
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 , …. >

1−x 1−x 2
1
 <1,a,a 2 , a3 , …> ↔ 1 + ax + a 2 x 2+ … = 1−ax = f(x)

PP: Nhân hàm sinh trên với a ta được:


a
a . f ( x )=
1−ax
2 2
⟺ af ( x )=a (1+ ax +a x + …)

¿ a+ a2 x +a 3 x 2 +… ↔<a , a2 , a3 , …>¿

1.2.2 Cộng hai hàm sinh

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:

Ta có: < f 0 +g 0 , f 1 + g1 , f 2 +g 2 , f 3 +g 3 ,… >

↔( 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

Áp dụng quy tắc cộng ta có:


1 1 2
<2,0,2,0,…> ↔ 1−x + 1+ x =
1−x 2

1
Hoặc ta sử dụng quy tắc cộng cho <1,0,1,0,…> ↔ 2 và <1,0,1,0,…> ↔
1−x
1
2 thì ta cũng có:
1−x

6
1 1 2
<2,0,2,0, …> ↔ 2
+ 2
= 2
1−x 1−x 1−x

1.2.3 Dịch chuyển sang phải


1
Ta bắt đầu từ dãy số đơn giản và hàm sinh của nó: <1,1,1,1, …> ↔ .
1−x
Do đó, ta dịch chuyển sang phải bằng cách thêm k số 0 vào đầu:

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.

Quy tắc: Nếu < f 0 , f 1 , f 2 , f 3>↔ F(x) thì <0,0,..,0, f 0 , f 1 , f 2 , f 3 ,… > ↔ xk F ( x)

C/M:

<0,0,…,0, f 0 , f 1 , f 2 ,…> ↔ f 0 x k + f 1 x k +1+ f 2 x k +2+ …

= x k ( f 0 +f 1 x+ f 2 x2+…) = x k F ( x ) .

1.2.4 Đạo hàm

∂ 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 + …=
∂x
( f 0 + f 1 x +f 2 x + … )=
2

∂x
.

 Ví dụ: Tìm hàm sinh cho dãy số <1,2,3,4, …>



Ta có: <1,2,3,4, …> ↔ 1 + 2x + 3 x 2 + 4 x 3 + … = ( 2 3 4
∂ x 1+x+ x + x +x
∂ 1 1
+ …) = ( )= 2
∂ x 1−x (1−x )
 Tìm hàm sinh cho dãy số <0,1,4,9,16, …> =
x (1+ x)
(Ans: <0,1,4,9,16,…> ↔
1−x3
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).
i=0

Quy tắc này được gọi là phép xoắn hay quy tắc xoắn.
7
Rõ hơn: Coi A(x) là hàm sinh cho số cách chọn các phần tử tập A và
B(x) là hàm sinh cho số cách chọn các phần tử từ tập B. Nếu A và B
rời nhau thì hàm sinh số cách chọn các phần từ từ tập A(x).B(x) (A∪
B).

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à
n ≥0

một vành với phép cộng và nhân chuỗi thông thường:


 ∑ an x n +¿ ∑ bn x n=∑ (an +bn ) x n ¿
n ≥0 n≥ 0 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

 Chú ý : trong A, phần tử u = ∑


n
an x khả nghịch (a 0 ≠ 0 ¿ và
n ≥0
1 1
=
u ∑ an x n
u ≥0

2. Hàm sinh và ứng dụng


2.1. Kỹ thuật sử dụng hàm sinh là đa thức
2.2. Hàm sinh là các chuỗi luỹ thừa vô hạn (CTTQoDS)
2.2.1. Dãy truy hồi tuyến tính bậc 2 và bậc cao

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ó:

G(x) = a 0+ a1 x + a2 x 2 +…+a n x n +a n+1 x n +1+ an+ 2 x n+2 +…

-5xG(x) = -5a 0 x−5 a 1 x 2−…−5 an−1 xn −5 an xn +1−5 a n+1 x n +2−…

4 x 2G(x) = 4a 0 x 2 +…+ 4 an−2 x n+ 4 a n−1 x n+1 + 4 an x n+2 +…

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

8
n+2
(1-5x+4 x 2)G(x) = a 0+ ( a1−5 a0 ) x+ …+ ( an +2−5 a n+1 +4 an ) x +…
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

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

{
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:

2.2.2. Dãy truy hồi có chứa F(n)

Câu 3: Dùng chuỗi f ( x )=∑


2 k +1
x để xác định hàm sinh cho số
k ≥0

nghiệm nguyên dương lẻ của phương trình x 1+ x2 +…+ x d =n .(1)

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,…

Do vậy hàm sinh cho cách chọn một x i là:

f ( x )=x + x 3 + x 5+ …=∑ x 2 k+ 1
k ≥0

9
x
Ta có f ( x )=∑ x =
2 k +1
2
k ≥0 1−x

Áp dụng quy tắc xoắn ta xác định được hàm sinh cho cách chọn bộ số (
xd
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)

Lời giải: Ta có hàm sinh của dãy ((un )n ≥0 là F(x) = ∑


n
un x
n ≥0

Theo đề bài ta xét:

F(x) = u0 +u1 x+ ∑
n
un x
n ≥2

=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) =
1−ax−b x 2
.

 TH1: (a,b) = (1,2)


1
Ta có: F(x) = 2
1−x−2 x
1
= ( 1+ x ) ( 1−2 x )
1 2
= −
3(1+ x) 3(1−2 x )
1 2
= ∑
3 n≥ 0
(−1)n x n− ∑ 2n x n
3 n≥ 0
n n
(−1) −2
= ∑ 3 xn .
n ≥0

n n
(−1) −2
Đồng nhất hệ số ⟹ un= , ∀n≥ 2
3

10
 TH2: (a,b) = (3,-4)
1−2 x
Ta có: F(x) =
1−3 x+ 4 x 2
=

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
Ta có: un x n
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 ) +
2

c x 3G(x)

( 1−a−b ) x 2+ ( 1−a ) x +1
⟹ G(x) = 2 3
1−ax−b x −c x

 TH với (a,b,c) = (6,-11,6)


2
6 x −5 x+ 1 (2 x−1)(3 x−1)
G(x) = 2 3 =
(1−x )(1−3 x )(1−2 x)
=
1−6 x +11 x −6 x
1
1−x
⟹ G(x) = ∑ x (2)
n

n ≥0

Ta đồng nhất hệ số từ (1) và (2) ta có: un = 1, ∀ n ≥0

 TH với (a,b,c) = (5,-1,5)1


2
−5 x −4 x +1 (1−5 x)(1+ x )
Ta có: G(x) = = =¿
1−5 x−x +5 x ( x −1 ) (5 x−1)(x +1)
2 3

1
1−x
⇒ G(x) = ∑ x (3)
n

n ≥0

Ta đồng nhất hệ số (1) và (3) ta được: un =1, ∀ n ≥ 0


11
2.3. Ứng dụng của hàm sinh trong các bài toán đếm
Câu 6. Có 20 học sinh được ôn thi để tuyển chọn vào đội tuyển
APMO. 6 học sinh trong số đó sẽ được chọn để đại diện Việt
Nam thi APMO. Hỏi có bao nhiêu cách chọn 6 học sinh đó?
Lời giải:

3. Tài liệu tham khảo


Giáo trình Đại số sơ cấp (Dương Quốc Việt – Đàm Văn Nhỉ)
Bài tập Đại số sơ cấp (Dương Quốc Việt – Lê Văn Đính)

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_F
unctions/ 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

12

You might also like