You are on page 1of 121

TOÁN RỜI RẠC

Nguyễn Văn Sơn

Nguyễn Văn Sơn Toán rời rạc 1 / 28


Nội dung

1 I. Phép đếm
1.9 Hệ thức truy hồi

Nguyễn Văn Sơn Toán rời rạc 2 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân

Nguyễn Văn Sơn Toán rời rạc 3 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân


1 Để đi từ Huế ra Hà Nội bạn có thể chọn một trong ba hình
thức: đi máy bay, tàu hỏa, xe khách. Trong một ngày có 5
chuyến bay Huế-Hà Nội, 2 chuyến tàu Huế-Hà Nội, 10 chuyến
xe khách Huế-Hà Nội. Vậy bạn có tất cả là 5+2+10 sự lựa
chọn.

Nguyễn Văn Sơn Toán rời rạc 3 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân


1 Để đi từ Huế ra Hà Nội bạn có thể chọn một trong ba hình
thức: đi máy bay, tàu hỏa, xe khách. Trong một ngày có 5
chuyến bay Huế-Hà Nội, 2 chuyến tàu Huế-Hà Nội, 10 chuyến
xe khách Huế-Hà Nội. Vậy bạn có tất cả là 5+2+10 sự lựa
chọn.
2 Giả sử để hoàn thành công việc A có tất cả k phương pháp
T1 , . . . , Tk ; trong đó với mỗi phương pháp Ti có ni cách thực
hiện. Khi đó số cách hoàn thành công việc A là
n1 + n2 + · · · + nk .

Nguyễn Văn Sơn Toán rời rạc 3 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân


1 Để đi từ Huế ra Hà Nội bạn có thể chọn một trong ba hình
thức: đi máy bay, tàu hỏa, xe khách. Trong một ngày có 5
chuyến bay Huế-Hà Nội, 2 chuyến tàu Huế-Hà Nội, 10 chuyến
xe khách Huế-Hà Nội. Vậy bạn có tất cả là 5+2+10 sự lựa
chọn.
2 Giả sử để hoàn thành công việc A có tất cả k phương pháp
T1 , . . . , Tk ; trong đó với mỗi phương pháp Ti có ni cách thực
hiện. Khi đó số cách hoàn thành công việc A là
n1 + n2 + · · · + nk .

3 Nếu A1 , A2 , . . . , Ak là các tập hợp đôi một rời nhau thì


|A1 ∪ A2 ∪ . . . ∪ Ak | = |A1 | + |A2 | + · · · |Ak |.

4 Nếu A là tập con hữu hạn của Ω thì


|Ω \ A| = |Ω| − |A|.
Nguyễn Văn Sơn Toán rời rạc 3 / 28
1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân

Nguyễn Văn Sơn Toán rời rạc 4 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân

1 Giả sử bạn muốn đi từ A đến C và đường đi chắc chắn phải


qua B. Có tất cả 3 cách đi từ A đến B và 5 cách đi từ B đến
C. Hỏi có bao nhiêu cách đi từ A đến C?

Nguyễn Văn Sơn Toán rời rạc 4 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân

1 Giả sử bạn muốn đi từ A đến C và đường đi chắc chắn phải


qua B. Có tất cả 3 cách đi từ A đến B và 5 cách đi từ B đến
C. Hỏi có bao nhiêu cách đi từ A đến C?
2 Giả sử để hoàn thành công việc A thì cần phải hoàn thành tất
cả các công đoạn A1 , A2 , . . . , Ak ; trong đó với mỗi công đoạn
Ai có tất cả ni cách thực hiện. Vậy số cách hoàn thành công
việc A là
n1 × n2 × · · · × nk .

Nguyễn Văn Sơn Toán rời rạc 4 / 28


1.9 Hệ thức truy hồi

1.1 Quy tắc cộng và quy tắc nhân

1 Giả sử bạn muốn đi từ A đến C và đường đi chắc chắn phải


qua B. Có tất cả 3 cách đi từ A đến B và 5 cách đi từ B đến
C. Hỏi có bao nhiêu cách đi từ A đến C?
2 Giả sử để hoàn thành công việc A thì cần phải hoàn thành tất
cả các công đoạn A1 , A2 , . . . , Ak ; trong đó với mỗi công đoạn
Ai có tất cả ni cách thực hiện. Vậy số cách hoàn thành công
việc A là
n1 × n2 × · · · × nk .

3 Nếu A1 , A2 , . . . , Ak là các tập hữu hạn thì

|A1 × A2 × · · · × Ak | = |A1 | × |A2 | × · · · × |Ak |.

Nguyễn Văn Sơn Toán rời rạc 4 / 28


1.9 Hệ thức truy hồi

1.2 Nguyên lý bù trừ

Nguyễn Văn Sơn Toán rời rạc 5 / 28


1.9 Hệ thức truy hồi

1.2 Nguyên lý bù trừ


1 Cho A, B là hai tập hữu hạn. Khi đó
|A ∪ B| = |A| + |B| − |A ∩ B|.

Nguyễn Văn Sơn Toán rời rạc 5 / 28


1.9 Hệ thức truy hồi

1.2 Nguyên lý bù trừ


1 Cho A, B là hai tập hữu hạn. Khi đó
|A ∪ B| = |A| + |B| − |A ∩ B|.

2 Giả sử A1 , A2 , . . . , Ak là các tập hữu hạn thì


k
X
|A1 ∪ A2 ∪ . . . ∪ Ak | = (−1)i+1 Ni ,
i=1

trong đó
X
Ni = |Aj1 ∩ Aj2 ∩ · · · ∩ Aji |.
j1 <j2 <···<ji

Nguyễn Văn Sơn Toán rời rạc 5 / 28


1.9 Hệ thức truy hồi

1.2 Nguyên lý bù trừ


1 Cho A, B là hai tập hữu hạn. Khi đó
|A ∪ B| = |A| + |B| − |A ∩ B|.

2 Giả sử A1 , A2 , . . . , Ak là các tập hữu hạn thì


k
X
|A1 ∪ A2 ∪ . . . ∪ Ak | = (−1)i+1 Ni ,
i=1

trong đó
X
Ni = |Aj1 ∩ Aj2 ∩ · · · ∩ Aji |.
j1 <j2 <···<ji

3 Có n lá thư và n phong bì ghi sẵn địa chỉ. Bỏ ngẫu nhiên các


lá thư vào các phong bì. Hỏi có bao nhiêu trường hợp không
có lá thư nào được gửi đúng địa chỉ?
Nguyễn Văn Sơn Toán rời rạc 5 / 28
1.9 Hệ thức truy hồi

1.3 Nguyên lý Dirichlet

Nguyễn Văn Sơn Toán rời rạc 6 / 28


1.9 Hệ thức truy hồi

1.3 Nguyên lý Dirichlet

1 Nếu nhốt 5 con thỏ vào 4 cái lồng một cách tùy ý thì có ít
nhất một lồng có chứa ít nhất 2 con thỏ.

Nguyễn Văn Sơn Toán rời rạc 6 / 28


1.9 Hệ thức truy hồi

1.3 Nguyên lý Dirichlet

1 Nếu nhốt 5 con thỏ vào 4 cái lồng một cách tùy ý thì có ít
nhất một lồng có chứa ít nhất 2 con thỏ.
2 Nếu có ít nhất k + 1 đồ vật được đặt vào trong k hộp thì tồn
tại tối thiểu một hộp có ít nhất hai đồ vật.

Nguyễn Văn Sơn Toán rời rạc 6 / 28


1.9 Hệ thức truy hồi

1.3 Nguyên lý Dirichlet

1 Nếu nhốt 5 con thỏ vào 4 cái lồng một cách tùy ý thì có ít
nhất một lồng có chứa ít nhất 2 con thỏ.
2 Nếu có ít nhất k + 1 đồ vật được đặt vào trong k hộp thì tồn
tại tối thiểu một hộp có ít nhất hai đồ vật.
3 Nếu có n đồ vật được đặt vào trong
  k hộp (n > k) thì sẽ tồn
tại tối thiểu một hộp có ít nhất kn đồ vật.

Nguyễn Văn Sơn Toán rời rạc 6 / 28


1.9 Hệ thức truy hồi

1.4. Chỉnh hợp và chỉnh hợp lặp

Nguyễn Văn Sơn Toán rời rạc 7 / 28


1.9 Hệ thức truy hồi

1.4. Chỉnh hợp và chỉnh hợp lặp


1 Có bao nhiêu số có 3 chữ số khác nhau được thành lập từ các
chữ số 1, 2, 4, 6, 7?

Nguyễn Văn Sơn Toán rời rạc 7 / 28


1.9 Hệ thức truy hồi

1.4. Chỉnh hợp và chỉnh hợp lặp


1 Có bao nhiêu số có 3 chữ số khác nhau được thành lập từ các
chữ số 1, 2, 4, 6, 7?
2 Có bao nhiêu số có 3 chữ số (có thể giống nhau) được thành
lập từ các chữ số 1, 2, 4, 6, 7?

Nguyễn Văn Sơn Toán rời rạc 7 / 28


1.9 Hệ thức truy hồi

1.4. Chỉnh hợp và chỉnh hợp lặp


1 Có bao nhiêu số có 3 chữ số khác nhau được thành lập từ các
chữ số 1, 2, 4, 6, 7?
2 Có bao nhiêu số có 3 chữ số (có thể giống nhau) được thành
lập từ các chữ số 1, 2, 4, 6, 7?
3 Cho tập hợp gồm n phần tử. Một bộ k phần tử khác nhau và
kể thứ tự được chọn từ n phần tử đó được gọi là một chỉnh
hợp n chập k(k ≤ n). Số chỉnh hợp n chập k là
n!
Akn = ·
(n − k)!

Nguyễn Văn Sơn Toán rời rạc 7 / 28


1.9 Hệ thức truy hồi

1.4. Chỉnh hợp và chỉnh hợp lặp


1 Có bao nhiêu số có 3 chữ số khác nhau được thành lập từ các
chữ số 1, 2, 4, 6, 7?
2 Có bao nhiêu số có 3 chữ số (có thể giống nhau) được thành
lập từ các chữ số 1, 2, 4, 6, 7?
3 Cho tập hợp gồm n phần tử. Một bộ k phần tử khác nhau và
kể thứ tự được chọn từ n phần tử đó được gọi là một chỉnh
hợp n chập k(k ≤ n). Số chỉnh hợp n chập k là
n!
Akn = ·
(n − k)!

4 Cho tập hợp Ω gồm n phần tử. Một bộ gồm k phần tử kể thứ
tự (x1 , x2 , . . . , xk ) sao cho mỗi phần tử của bộ là một phần tử
của Ω (các phần tử có thể giống nhau) được gọi là một chỉnh
hợp lặp n chập k. Số chỉnh hợp lặp n chập k là

Ākn = nk .
Nguyễn Văn Sơn Toán rời rạc 7 / 28
1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Nguyễn Văn Sơn Toán rời rạc 8 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

1 Trong mặt phẳng có 7 điểm sao cho không có 3 điểm nào


thẳng hàng. Hỏi có bao nhiêu tam giác có 3 đỉnh là 3 điểm
thuộc 7 điểm trên?

Nguyễn Văn Sơn Toán rời rạc 8 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

1 Trong mặt phẳng có 7 điểm sao cho không có 3 điểm nào


thẳng hàng. Hỏi có bao nhiêu tam giác có 3 đỉnh là 3 điểm
thuộc 7 điểm trên?
2 Giả sử bạn có 7 quả bóng giống nhau và 3 cái hộp được đánh
số 1, 2, 3. Hỏi có bao nhiêu cách sắp bóng vào hộp?

Nguyễn Văn Sơn Toán rời rạc 8 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

1 Trong mặt phẳng có 7 điểm sao cho không có 3 điểm nào


thẳng hàng. Hỏi có bao nhiêu tam giác có 3 đỉnh là 3 điểm
thuộc 7 điểm trên?
2 Giả sử bạn có 7 quả bóng giống nhau và 3 cái hộp được đánh
số 1, 2, 3. Hỏi có bao nhiêu cách sắp bóng vào hộp?
3 Cho một tập hợp có n phần tử. Một cách chọn k phần tử
khác nhau và không kể thứ tự từ n phần tử đó được gọi là
một tổ hợp n chập k. Số tổ hợp n chập p là
 
n n!
= Cnk = ·
k k!(n − k)!

Nguyễn Văn Sơn Toán rời rạc 8 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Nguyễn Văn Sơn Toán rời rạc 9 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Một số tính chất của tổ hợp

Nguyễn Văn Sơn Toán rời rạc 9 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Một số tính chất của tổ hợp

Cnk = Cnn−k ; Cn0 = Cnn = 1;

Nguyễn Văn Sơn Toán rời rạc 9 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Một số tính chất của tổ hợp

Cnk = Cnn−k ; Cn0 = Cnn = 1;


Công thức tam giác Pascal:
k−1
Cnk = Cn−1 k
+ Cn−1 ;

Nguyễn Văn Sơn Toán rời rạc 9 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Một số tính chất của tổ hợp

Cnk = Cnn−k ; Cn0 = Cnn = 1;


Công thức tam giác Pascal:
k−1
Cnk = Cn−1 k
+ Cn−1 ;

Khai triển nhị thức Newton:


n
X n
X
n
(x + y ) = Cnk x k y n−k = Cnk x n−k y k ;
k=0 k=0

n
X
Cnk = 2n .
k=0

Nguyễn Văn Sơn Toán rời rạc 9 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp

Nguyễn Văn Sơn Toán rời rạc 10 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp


1 Cho tập hợp Ω có n phần tử. Một bộ k phần tử không kể thứ
tự (a1 , a2 , . . . , ak ) sao cho mỗi phần tử của bộ là một phần tử
của Ω (các phần tử có thể giống nhau) được gọi là một tổ
hợp lặp n chập k. Số tổ hợp lặp n chập k là
 !    
n n+k −1 n+k −1
= = ·
k k n−1

Nguyễn Văn Sơn Toán rời rạc 10 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp


1 Cho tập hợp Ω có n phần tử. Một bộ k phần tử không kể thứ
tự (a1 , a2 , . . . , ak ) sao cho mỗi phần tử của bộ là một phần tử
của Ω (các phần tử có thể giống nhau) được gọi là một tổ
hợp lặp n chập k. Số tổ hợp lặp n chập k là
 !    
n n+k −1 n+k −1
= = ·
k k n−1

2 Giả sử Ω = {ω1 , ω2 , . . . , ωn }. Trong bộ (a1 , a2 , . . . , ak ) có x1


phần tử ω1 , x2 phần tử ω2 , . . . , xn phần tử ωn . Khi đó ta có
x1 + x2 + · · · + xn = k.

Nguyễn Văn Sơn Toán rời rạc 10 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp


1 Cho tập hợp Ω có n phần tử. Một bộ k phần tử không kể thứ
tự (a1 , a2 , . . . , ak ) sao cho mỗi phần tử của bộ là một phần tử
của Ω (các phần tử có thể giống nhau) được gọi là một tổ
hợp lặp n chập k. Số tổ hợp lặp n chập k là
 !    
n n+k −1 n+k −1
= = ·
k k n−1

2 Giả sử Ω = {ω1 , ω2 , . . . , ωn }. Trong bộ (a1 , a2 , . . . , ak ) có x1


phần tử ω1 , x2 phần tử ω2 , . . . , xn phần tử ωn . Khi đó ta có
x1 + x2 + · · · + xn = k.

3 Mỗi cách chọn bộ (a1 , a2 , . . . , ak ) tương ứng 1-1 với một bộ


số nguyên không âm x1 , x2 , . . . , xn thỏa mãn
x1 + x2 + · · · + xn = k.

Nguyễn Văn Sơn Toán rời rạc 10 / 28


1.9 Hệ thức truy hồi

1.5 Tổ hợp và tổ hợp lặp


1 Cho tập hợp Ω có n phần tử. Một bộ k phần tử không kể thứ
tự (a1 , a2 , . . . , ak ) sao cho mỗi phần tử của bộ là một phần tử
của Ω (các phần tử có thể giống nhau) được gọi là một tổ
hợp lặp n chập k. Số tổ hợp lặp n chập k là
 !    
n n+k −1 n+k −1
= = ·
k k n−1

2 Giả sử Ω = {ω1 , ω2 , . . . , ωn }. Trong bộ (a1 , a2 , . . . , ak ) có x1


phần tử ω1 , x2 phần tử ω2 , . . . , xn phần tử ωn . Khi đó ta có
x1 + x2 + · · · + xn = k.

3 Mỗi cách chọn bộ (a1 , a2 , . . . , ak ) tương ứng 1-1 với một bộ


số nguyên không âm x1 , x2 , . . . , xn thỏa mãn
x1 + x2 + · · · + xn = k.
4 Tìm số nghiệm nguyên không âm của phương trình
x + x + · Toán
Nguyễn 2· · +rờixnrạc= k.
1 Văn Sơn 10 / 28
1.9 Hệ thức truy hồi

1.6 Hoán vị lặp

Nguyễn Văn Sơn Toán rời rạc 11 / 28


1.9 Hệ thức truy hồi

1.6 Hoán vị lặp

1 Có bao nhiêu cách sắp 3 quyển sách Toán giống nhau, 2 quyển
sách Lý giống nhau, 4 quyển sách Hóa giống nhau lên kệ?

Nguyễn Văn Sơn Toán rời rạc 11 / 28


1.9 Hệ thức truy hồi

1.6 Hoán vị lặp

1 Có bao nhiêu cách sắp 3 quyển sách Toán giống nhau, 2 quyển
sách Lý giống nhau, 4 quyển sách Hóa giống nhau lên kệ?
2 Số hoán vị của n phần tử, trong đó có n1 phần tử loại 1 giống
nhau, n2 phần tử loại 2 giống nhau, . . . , nk phần tử loại k
giống nhau bằng
 
n n!
= ·
n1 , n2 , . . . , nk n1 !n2 ! . . . nk !

Chú ý n1 + n2 + · · · + nk = n.

Nguyễn Văn Sơn Toán rời rạc 11 / 28


1.9 Hệ thức truy hồi

1.7 Bài toán về sự phân bố của các đồ vật vào trong các hộp

Nguyễn Văn Sơn Toán rời rạc 12 / 28


1.9 Hệ thức truy hồi

1.7 Bài toán về sự phân bố của các đồ vật vào trong các hộp

1 Một người chuẩn bị đi du lịch dài ngày. Ông ta dự định mang


theo 1 balô, một vali nhỏ và 1 vali lớn. Ông ta liệt kê số vật
dụng cần mang theo gồm có 40 món khác nhau. Giả sử ba lô
có thể chứa 3 món, vali nhỏ có thể chứa 7 món và vali lớn có
thể chứa 20 món. Hỏi có bao nhiêu cách sắp đồ vào các vali
và balô?

Nguyễn Văn Sơn Toán rời rạc 12 / 28


1.9 Hệ thức truy hồi

1.7 Bài toán về sự phân bố của các đồ vật vào trong các hộp

1 Một người chuẩn bị đi du lịch dài ngày. Ông ta dự định mang


theo 1 balô, một vali nhỏ và 1 vali lớn. Ông ta liệt kê số vật
dụng cần mang theo gồm có 40 món khác nhau. Giả sử ba lô
có thể chứa 3 món, vali nhỏ có thể chứa 7 món và vali lớn có
thể chứa 20 món. Hỏi có bao nhiêu cách sắp đồ vào các vali
và balô?
2 Giả sử cần phân chia n đồ vật khác nhau vào k hộp sao cho
có ni đồ vật vào hộp thứ i; i = 1, 2, . . . , k;
n1 + n2 + · · · + nk ≤ n. Khi đó số cách chia là
n!
·
n1 !n2 ! . . . nk !(n − n1 − n2 − · · · − nk )!

Nguyễn Văn Sơn Toán rời rạc 12 / 28


1.9 Hệ thức truy hồi

1.8 Phương pháp sinh các hoán vị và tổ hợp

Nguyễn Văn Sơn Toán rời rạc 13 / 28


1.9 Hệ thức truy hồi

1.8 Phương pháp sinh các hoán vị và tổ hợp

1 Xét tập Fn = {1, 2, . . . , n}.

Nguyễn Văn Sơn Toán rời rạc 13 / 28


1.9 Hệ thức truy hồi

1.8 Phương pháp sinh các hoán vị và tổ hợp

1 Xét tập Fn = {1, 2, . . . , n}.


2 Giả sử a1 a2 . . . an , b1 b2 . . . bn là hai hoán vị của n phần tử
trong Fn . Khi đó nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói
hoán vị (a)(n) bé hơn hoán vị (b)(n) .

Nguyễn Văn Sơn Toán rời rạc 13 / 28


1.9 Hệ thức truy hồi

1.8 Phương pháp sinh các hoán vị và tổ hợp

1 Xét tập Fn = {1, 2, . . . , n}.


2 Giả sử a1 a2 . . . an , b1 b2 . . . bn là hai hoán vị của n phần tử
trong Fn . Khi đó nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói
hoán vị (a)(n) bé hơn hoán vị (b)(n) .
3 Nếu (a)(n) , (b)(n) là hai hoán vị sao cho (b)(n) là hoán vị "bé
nhất" thỏa mãn (a)(n) < (b)(n) thì (b)(n) được gọi là hoán vị
liền sau của (a)(n) trong lớp gồm tất cả các hoán vị của Fn .

Nguyễn Văn Sơn Toán rời rạc 13 / 28


1.9 Hệ thức truy hồi

1.8 Phương pháp sinh các hoán vị và tổ hợp

1 Xét tập Fn = {1, 2, . . . , n}.


2 Giả sử a1 a2 . . . an , b1 b2 . . . bn là hai hoán vị của n phần tử
trong Fn . Khi đó nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói
hoán vị (a)(n) bé hơn hoán vị (b)(n) .
3 Nếu (a)(n) , (b)(n) là hai hoán vị sao cho (b)(n) là hoán vị "bé
nhất" thỏa mãn (a)(n) < (b)(n) thì (b)(n) được gọi là hoán vị
liền sau của (a)(n) trong lớp gồm tất cả các hoán vị của Fn .
4 Hoán vị bé nhất là 123 . . . n; hoán vị lớn nhất là n(n − 1) . . . 1.

Nguyễn Văn Sơn Toán rời rạc 13 / 28


1.9 Hệ thức truy hồi

1.8 Phương pháp sinh các hoán vị và tổ hợp

1 Xét tập Fn = {1, 2, . . . , n}.


2 Giả sử a1 a2 . . . an , b1 b2 . . . bn là hai hoán vị của n phần tử
trong Fn . Khi đó nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói
hoán vị (a)(n) bé hơn hoán vị (b)(n) .
3 Nếu (a)(n) , (b)(n) là hai hoán vị sao cho (b)(n) là hoán vị "bé
nhất" thỏa mãn (a)(n) < (b)(n) thì (b)(n) được gọi là hoán vị
liền sau của (a)(n) trong lớp gồm tất cả các hoán vị của Fn .
4 Hoán vị bé nhất là 123 . . . n; hoán vị lớn nhất là n(n − 1) . . . 1.
5 Tìm hoán vị liền sau của 3475621? trong F7 .

Nguyễn Văn Sơn Toán rời rạc 13 / 28


1.9 Hệ thức truy hồi

Thuật toán sinh hoán vị liền sau

Nguyễn Văn Sơn Toán rời rạc 14 / 28


1.9 Hệ thức truy hồi

Thuật toán sinh hoán vị liền sau

1 Cần tìm hoán vị liền sau của (a)(n) = a1 a2 . . . an trong Fn .

Nguyễn Văn Sơn Toán rời rạc 14 / 28


1.9 Hệ thức truy hồi

Thuật toán sinh hoán vị liền sau

1 Cần tìm hoán vị liền sau của (a)(n) = a1 a2 . . . an trong Fn .


2 Tìm giá trị i lớn nhất sao cho ai+1 > ai . Nếu không tồn tại i
thì đó đã là hoán vị lớn nhất.

Nguyễn Văn Sơn Toán rời rạc 14 / 28


1.9 Hệ thức truy hồi

Thuật toán sinh hoán vị liền sau

1 Cần tìm hoán vị liền sau của (a)(n) = a1 a2 . . . an trong Fn .


2 Tìm giá trị i lớn nhất sao cho ai+1 > ai . Nếu không tồn tại i
thì đó đã là hoán vị lớn nhất.
3 Giữ nguyên a1 , a2 , . . . , ai−1 . Thay ai bởi giá trị bé nhất và lớn
hơn ai trong ai+1 , ai+2 , . . . , an

Nguyễn Văn Sơn Toán rời rạc 14 / 28


1.9 Hệ thức truy hồi

Thuật toán sinh hoán vị liền sau

1 Cần tìm hoán vị liền sau của (a)(n) = a1 a2 . . . an trong Fn .


2 Tìm giá trị i lớn nhất sao cho ai+1 > ai . Nếu không tồn tại i
thì đó đã là hoán vị lớn nhất.
3 Giữ nguyên a1 , a2 , . . . , ai−1 . Thay ai bởi giá trị bé nhất và lớn
hơn ai trong ai+1 , ai+2 , . . . , an
4 Sắp xếp các giá trị còn lại theo thứ tự tăng dần.

Nguyễn Văn Sơn Toán rời rạc 14 / 28


1.9 Hệ thức truy hồi

Xâu nhị phân liền sau

Nguyễn Văn Sơn Toán rời rạc 15 / 28


1.9 Hệ thức truy hồi

Xâu nhị phân liền sau

1 Xét tập Bn gồm tất cả các xâu nhị phân độ dài n :

Bn = {a1 a2 . . . an |ai = 0, 1; 1 ≤ i ≤ n}; |Bn | = 2n .

Nguyễn Văn Sơn Toán rời rạc 15 / 28


1.9 Hệ thức truy hồi

Xâu nhị phân liền sau

1 Xét tập Bn gồm tất cả các xâu nhị phân độ dài n :

Bn = {a1 a2 . . . an |ai = 0, 1; 1 ≤ i ≤ n}; |Bn | = 2n .

2 Giả sử 0 < 1. Xét hai xâu nhị phân (a)(n) , (b)(n) . Nếu
ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói (a)(n) bé hơn (b)(n) .

Nguyễn Văn Sơn Toán rời rạc 15 / 28


1.9 Hệ thức truy hồi

Xâu nhị phân liền sau

1 Xét tập Bn gồm tất cả các xâu nhị phân độ dài n :

Bn = {a1 a2 . . . an |ai = 0, 1; 1 ≤ i ≤ n}; |Bn | = 2n .

2 Giả sử 0 < 1. Xét hai xâu nhị phân (a)(n) , (b)(n) . Nếu
ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói (a)(n) bé hơn (b)(n) .
3 Xâu nhị phân bé nhất là 00 . . . 0, xâu nhị phân lớn nhất là
11 . . . 1.

Nguyễn Văn Sơn Toán rời rạc 15 / 28


1.9 Hệ thức truy hồi

Xâu nhị phân liền sau

1 Xét tập Bn gồm tất cả các xâu nhị phân độ dài n :

Bn = {a1 a2 . . . an |ai = 0, 1; 1 ≤ i ≤ n}; |Bn | = 2n .

2 Giả sử 0 < 1. Xét hai xâu nhị phân (a)(n) , (b)(n) . Nếu
ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói (a)(n) bé hơn (b)(n) .
3 Xâu nhị phân bé nhất là 00 . . . 0, xâu nhị phân lớn nhất là
11 . . . 1.
4 Nếu (b)(n) là xâu nhị phân bé nhất sao cho (a)(n) < (b)(n) thì
(b)(n) được gọi là xâu nhị phân liền sau của (a)(n) .

Nguyễn Văn Sơn Toán rời rạc 15 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm xâu nhị phân liền sau

Nguyễn Văn Sơn Toán rời rạc 16 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm xâu nhị phân liền sau

1 Tìm xâu liền sau của xâu nhị phân (a)(n) .

Nguyễn Văn Sơn Toán rời rạc 16 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm xâu nhị phân liền sau

1 Tìm xâu liền sau của xâu nhị phân (a)(n) .


2 Tìm giá trị k lớn nhất sao cho ak = 0(k ≥ 1). Nếu không có
k thì đó là xâu lớn nhất.

Nguyễn Văn Sơn Toán rời rạc 16 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm xâu nhị phân liền sau

1 Tìm xâu liền sau của xâu nhị phân (a)(n) .


2 Tìm giá trị k lớn nhất sao cho ak = 0(k ≥ 1). Nếu không có
k thì đó là xâu lớn nhất.
3 Xâu nhị phân cần tìm là xâu (b)(n) với bi = ai ∀i =
1, 2, . . . k − 1; bk = 1; bk+1 = bk+2 = · · · = bn = 0.

Nguyễn Văn Sơn Toán rời rạc 16 / 28


1.9 Hệ thức truy hồi

Tổ hợp liền sau

Nguyễn Văn Sơn Toán rời rạc 17 / 28


1.9 Hệ thức truy hồi

Tổ hợp liền sau

1 Xét Fn = {1, 2, . . . , n}. Một tổ hợp n chập k của Fn tương


ứng với một tập con có k phần tử của Fn . Trong mục này ta
sẽ xét những "tổ hợp" n chập k dạng {a1 , a2 , . . . , ak } sao cho
a1 < a2 < · · · < ak .

Nguyễn Văn Sơn Toán rời rạc 17 / 28


1.9 Hệ thức truy hồi

Tổ hợp liền sau

1 Xét Fn = {1, 2, . . . , n}. Một tổ hợp n chập k của Fn tương


ứng với một tập con có k phần tử của Fn . Trong mục này ta
sẽ xét những "tổ hợp" n chập k dạng {a1 , a2 , . . . , ak } sao cho
a1 < a2 < · · · < ak .
2 Giả sử {a1 , a2 , . . . , ak }, {b1 , b2 , . . . , bk } là hai tổ hợp n chập
k. Nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói tổ hợp
{a1 , a2 , . . . , ak } bé hơn tổ hợp {b1 , b2 , . . . , bk }.

Nguyễn Văn Sơn Toán rời rạc 17 / 28


1.9 Hệ thức truy hồi

Tổ hợp liền sau

1 Xét Fn = {1, 2, . . . , n}. Một tổ hợp n chập k của Fn tương


ứng với một tập con có k phần tử của Fn . Trong mục này ta
sẽ xét những "tổ hợp" n chập k dạng {a1 , a2 , . . . , ak } sao cho
a1 < a2 < · · · < ak .
2 Giả sử {a1 , a2 , . . . , ak }, {b1 , b2 , . . . , bk } là hai tổ hợp n chập
k. Nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói tổ hợp
{a1 , a2 , . . . , ak } bé hơn tổ hợp {b1 , b2 , . . . , bk }.
3 Tổ hợp n chập k bé nhất là {1, 2, . . . , k}; Tổ hợp n chập k
lớn nhất là {n − k + 1, n − k + 2, . . . , n}.

Nguyễn Văn Sơn Toán rời rạc 17 / 28


1.9 Hệ thức truy hồi

Tổ hợp liền sau

1 Xét Fn = {1, 2, . . . , n}. Một tổ hợp n chập k của Fn tương


ứng với một tập con có k phần tử của Fn . Trong mục này ta
sẽ xét những "tổ hợp" n chập k dạng {a1 , a2 , . . . , ak } sao cho
a1 < a2 < · · · < ak .
2 Giả sử {a1 , a2 , . . . , ak }, {b1 , b2 , . . . , bk } là hai tổ hợp n chập
k. Nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói tổ hợp
{a1 , a2 , . . . , ak } bé hơn tổ hợp {b1 , b2 , . . . , bk }.
3 Tổ hợp n chập k bé nhất là {1, 2, . . . , k}; Tổ hợp n chập k
lớn nhất là {n − k + 1, n − k + 2, . . . , n}.
4 Nếu {b1 , b2 , . . . , bk } là tổ hợp n chập k bé nhất sao cho
{a1 , a2 , . . . , ak } bé hơn {b1 , b2 , . . . , bk } thì {b1 , b2 , . . . , bk }
được gọi là tổ hợp liền sau của {a1 , a2 , . . . , ak }.

Nguyễn Văn Sơn Toán rời rạc 17 / 28


1.9 Hệ thức truy hồi

Tổ hợp liền sau

1 Xét Fn = {1, 2, . . . , n}. Một tổ hợp n chập k của Fn tương


ứng với một tập con có k phần tử của Fn . Trong mục này ta
sẽ xét những "tổ hợp" n chập k dạng {a1 , a2 , . . . , ak } sao cho
a1 < a2 < · · · < ak .
2 Giả sử {a1 , a2 , . . . , ak }, {b1 , b2 , . . . , bk } là hai tổ hợp n chập
k. Nếu ai = bi ∀i ≤ s và as+1 < bs+1 thì ta nói tổ hợp
{a1 , a2 , . . . , ak } bé hơn tổ hợp {b1 , b2 , . . . , bk }.
3 Tổ hợp n chập k bé nhất là {1, 2, . . . , k}; Tổ hợp n chập k
lớn nhất là {n − k + 1, n − k + 2, . . . , n}.
4 Nếu {b1 , b2 , . . . , bk } là tổ hợp n chập k bé nhất sao cho
{a1 , a2 , . . . , ak } bé hơn {b1 , b2 , . . . , bk } thì {b1 , b2 , . . . , bk }
được gọi là tổ hợp liền sau của {a1 , a2 , . . . , ak }.

Nguyễn Văn Sơn Toán rời rạc 17 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.


Tổ hợp liền sau của tổ hợp {1, 3, 5, 6} là {1, 3, 5, 7}.

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.


Tổ hợp liền sau của tổ hợp {1, 3, 5, 6} là {1, 3, 5, 7}.
Tổ hợp liền sau của tổ hợp {1, 3, 4, 7} là {1, 3, 5, 6}.

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.


Tổ hợp liền sau của tổ hợp {1, 3, 5, 6} là {1, 3, 5, 7}.
Tổ hợp liền sau của tổ hợp {1, 3, 4, 7} là {1, 3, 5, 6}.
(lớn hơn 7: không có, lớn hơn 4 và bé nhất là 5, số cuối cùng
cần bé nhất và lớn hơn các số trước sẽ là số 6).

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.


Tổ hợp liền sau của tổ hợp {1, 3, 5, 6} là {1, 3, 5, 7}.
Tổ hợp liền sau của tổ hợp {1, 3, 4, 7} là {1, 3, 5, 6}.
(lớn hơn 7: không có, lớn hơn 4 và bé nhất là 5, số cuối cùng
cần bé nhất và lớn hơn các số trước sẽ là số 6).
Tổ hợp liền sau của tổ hợp {1, 3, 6, 7} là

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.


Tổ hợp liền sau của tổ hợp {1, 3, 5, 6} là {1, 3, 5, 7}.
Tổ hợp liền sau của tổ hợp {1, 3, 4, 7} là {1, 3, 5, 6}.
(lớn hơn 7: không có, lớn hơn 4 và bé nhất là 5, số cuối cùng
cần bé nhất và lớn hơn các số trước sẽ là số 6).
Tổ hợp liền sau của tổ hợp {1, 3, 6, 7} là {1, 4, 5, 6}.

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Ví dụ

Xét F7 và các tổ hợp 7 chập 4.


Tổ hợp liền sau của tổ hợp {1, 3, 5, 6} là {1, 3, 5, 7}.
Tổ hợp liền sau của tổ hợp {1, 3, 4, 7} là {1, 3, 5, 6}.
(lớn hơn 7: không có, lớn hơn 4 và bé nhất là 5, số cuối cùng
cần bé nhất và lớn hơn các số trước sẽ là số 6).
Tổ hợp liền sau của tổ hợp {1, 3, 6, 7} là {1, 4, 5, 6}.
Tìm tổ hợp liền sau của tổ hợp {1, 2, 5, 6, 7} trong F7 .

Nguyễn Văn Sơn Toán rời rạc 18 / 28


1.9 Hệ thức truy hồi

Nhận xét

Nguyễn Văn Sơn Toán rời rạc 19 / 28


1.9 Hệ thức truy hồi

Nhận xét

Cần tìm tổ hợp liền sau của một tổ hợp n chập k.

Nguyễn Văn Sơn Toán rời rạc 19 / 28


1.9 Hệ thức truy hồi

Nhận xét

Cần tìm tổ hợp liền sau của một tổ hợp n chập k.


i. Nếu ak < n thì thay ak bởi ak + 1 và kết thúc. Nếu ak = n thì
sang bước tiếp theo (đánh giá ak−1 ).

Nguyễn Văn Sơn Toán rời rạc 19 / 28


1.9 Hệ thức truy hồi

Nhận xét

Cần tìm tổ hợp liền sau của một tổ hợp n chập k.


i. Nếu ak < n thì thay ak bởi ak + 1 và kết thúc. Nếu ak = n thì
sang bước tiếp theo (đánh giá ak−1 ).
ii. Nếu ak−1 < n − 1 thì thay ak−1 bởi ak−1 + 1 và ak bởi
ak−1 + 2. Nếu ak−1 = n − 1 thì đánh giá ak−2 .

Nguyễn Văn Sơn Toán rời rạc 19 / 28


1.9 Hệ thức truy hồi

Nhận xét

Cần tìm tổ hợp liền sau của một tổ hợp n chập k.


i. Nếu ak < n thì thay ak bởi ak + 1 và kết thúc. Nếu ak = n thì
sang bước tiếp theo (đánh giá ak−1 ).
ii. Nếu ak−1 < n − 1 thì thay ak−1 bởi ak−1 + 1 và ak bởi
ak−1 + 2. Nếu ak−1 = n − 1 thì đánh giá ak−2 .
Tiếp tục.

Nguyễn Văn Sơn Toán rời rạc 19 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm tổ hợp liền sau

Nguyễn Văn Sơn Toán rời rạc 20 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm tổ hợp liền sau

1 Tìm số i lớn nhất sao cho ai ̸= n − k + i (Vì sao?).

Nguyễn Văn Sơn Toán rời rạc 20 / 28


1.9 Hệ thức truy hồi

Thuật toán tìm tổ hợp liền sau

1 Tìm số i lớn nhất sao cho ai ̸= n − k + i (Vì sao?).


2 Thay ai bởi ai + 1, ai+1 bởi ai + 2, . . . , ak bởi ai + k − i + 1.

Nguyễn Văn Sơn Toán rời rạc 20 / 28


1.9 Hệ thức truy hồi

1.9 Hệ thức truy hồi

Ví dụ

Nguyễn Văn Sơn Toán rời rạc 21 / 28


1.9 Hệ thức truy hồi

1.9 Hệ thức truy hồi

Ví dụ
1 an+1 = an + d; a0 = a.

Nguyễn Văn Sơn Toán rời rạc 21 / 28


1.9 Hệ thức truy hồi

1.9 Hệ thức truy hồi

Ví dụ
1 an+1 = an + d; a0 = a.
2 an+1 = qan ; a0 = a.

Nguyễn Văn Sơn Toán rời rạc 21 / 28


1.9 Hệ thức truy hồi

1.9 Hệ thức truy hồi

Ví dụ
1 an+1 = an + d; a0 = a.
2 an+1 = qan ; a0 = a.
3 an+1 = 3an + 4; a0 = 0.

Nguyễn Văn Sơn Toán rời rạc 21 / 28


1.9 Hệ thức truy hồi

1.9 Hệ thức truy hồi

Ví dụ
1 an+1 = an + d; a0 = a.
2 an+1 = qan ; a0 = a.
3 an+1 = 3an + 4; a0 = 0.
4 an+2 = an+1 + an ; a0 = a1 = 1.

Nguyễn Văn Sơn Toán rời rạc 21 / 28


1.9 Hệ thức truy hồi

Khái niệm

Nguyễn Văn Sơn Toán rời rạc 22 / 28


1.9 Hệ thức truy hồi

Khái niệm

Định nghĩa

Nguyễn Văn Sơn Toán rời rạc 22 / 28


1.9 Hệ thức truy hồi

Khái niệm

Định nghĩa
1 Hệ thức truy hồi (hay công thức truy hồi) đối với dãy số (an )n
là công thức biểu diễn an qua 1 hay nhiều số hạng trước đó
của dãy.

Nguyễn Văn Sơn Toán rời rạc 22 / 28


1.9 Hệ thức truy hồi

Khái niệm

Định nghĩa
1 Hệ thức truy hồi (hay công thức truy hồi) đối với dãy số (an )n
là công thức biểu diễn an qua 1 hay nhiều số hạng trước đó
của dãy.
2 Một hệ thức truy hồi có thể được biểu diễn dưới dạng

an+k = f (an , an+1 , . . . , an+k−1 ) ∀n;

trong đó k là một số nguyên không âm cố định.

Nguyễn Văn Sơn Toán rời rạc 22 / 28


1.9 Hệ thức truy hồi

Khái niệm

Định nghĩa
1 Hệ thức truy hồi (hay công thức truy hồi) đối với dãy số (an )n
là công thức biểu diễn an qua 1 hay nhiều số hạng trước đó
của dãy.
2 Một hệ thức truy hồi có thể được biểu diễn dưới dạng

an+k = f (an , an+1 , . . . , an+k−1 ) ∀n;

trong đó k là một số nguyên không âm cố định.


3 Dãy số (an )n thỏa mãn hệ thức trên được gọi là nghiệm của
hệ thức truy hồi.

Nguyễn Văn Sơn Toán rời rạc 22 / 28


1.9 Hệ thức truy hồi

Khái niệm

Định nghĩa
1 Hệ thức truy hồi (hay công thức truy hồi) đối với dãy số (an )n
là công thức biểu diễn an qua 1 hay nhiều số hạng trước đó
của dãy.
2 Một hệ thức truy hồi có thể được biểu diễn dưới dạng

an+k = f (an , an+1 , . . . , an+k−1 ) ∀n;

trong đó k là một số nguyên không âm cố định.


3 Dãy số (an )n thỏa mãn hệ thức trên được gọi là nghiệm của
hệ thức truy hồi.

Giả sử an là số xâu nhị phân có độ dài n chứa xâu 01. tìm hệ


thức truy hồi cho dãy (an )n .

Nguyễn Văn Sơn Toán rời rạc 22 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính

Nguyễn Văn Sơn Toán rời rạc 23 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính


Định nghĩa

Nguyễn Văn Sơn Toán rời rạc 23 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính


Định nghĩa
1 Hệ thức truy hồi tuyến tính bậc k là hệ thức truy hồi dạng
an = c0 + c1 an−1 + c2 an−2 + · · · + ck an−k ,
trong đó c0 , c1 , . . . , ck là các hằng số; ck ̸= 0, n ≥ k.

Nguyễn Văn Sơn Toán rời rạc 23 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính


Định nghĩa
1 Hệ thức truy hồi tuyến tính bậc k là hệ thức truy hồi dạng
an = c0 + c1 an−1 + c2 an−2 + · · · + ck an−k ,
trong đó c0 , c1 , . . . , ck là các hằng số; ck ̸= 0, n ≥ k.
2 Hệ thức truy hồi tuyến tính thuần nhất bậc k là hệ thức truy
hồi dạng an = c1 an−1 + c2 an−2 + · · · + ck an−k .

Nguyễn Văn Sơn Toán rời rạc 23 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính


Định nghĩa
1 Hệ thức truy hồi tuyến tính bậc k là hệ thức truy hồi dạng
an = c0 + c1 an−1 + c2 an−2 + · · · + ck an−k ,
trong đó c0 , c1 , . . . , ck là các hằng số; ck ̸= 0, n ≥ k.
2 Hệ thức truy hồi tuyến tính thuần nhất bậc k là hệ thức truy
hồi dạng an = c1 an−1 + c2 an−2 + · · · + ck an−k .

Chú ý:

Nguyễn Văn Sơn Toán rời rạc 23 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính


Định nghĩa
1 Hệ thức truy hồi tuyến tính bậc k là hệ thức truy hồi dạng
an = c0 + c1 an−1 + c2 an−2 + · · · + ck an−k ,
trong đó c0 , c1 , . . . , ck là các hằng số; ck ̸= 0, n ≥ k.
2 Hệ thức truy hồi tuyến tính thuần nhất bậc k là hệ thức truy
hồi dạng an = c1 an−1 + c2 an−2 + · · · + ck an−k .

Chú ý:
1 Nếu dãy (an )n được biểu diễn qua hệ thức truy hồi tuyến tính
thì có thể biến đổi sang dạng hệ thức truy hồi tuyến tính
thuần nhất.

Nguyễn Văn Sơn Toán rời rạc 23 / 28


1.9 Hệ thức truy hồi

Hệ thức truy hồi tuyến tính


Định nghĩa
1 Hệ thức truy hồi tuyến tính bậc k là hệ thức truy hồi dạng
an = c0 + c1 an−1 + c2 an−2 + · · · + ck an−k ,
trong đó c0 , c1 , . . . , ck là các hằng số; ck ̸= 0, n ≥ k.
2 Hệ thức truy hồi tuyến tính thuần nhất bậc k là hệ thức truy
hồi dạng an = c1 an−1 + c2 an−2 + · · · + ck an−k .

Chú ý:
1 Nếu dãy (an )n được biểu diễn qua hệ thức truy hồi tuyến tính
thì có thể biến đổi sang dạng hệ thức truy hồi tuyến tính
thuần nhất.
2 Nếu dãy (an )n được biểu diễn qua hệ thức truy hồi tuyến tính
thuần nhất bậc k và các điều kiện đầu
a0 = C0 , a1 = C1 , . . . , ak−1 = Ck−1 đã biết thì tồn tại duy
nhất nghiệm của hệ thức truy hồi.
Nguyễn Văn Sơn Toán rời rạc 23 / 28
1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

Nguyễn Văn Sơn Toán rời rạc 24 / 28


1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

1 Ví dụ: tìm dãy (an )n : an = 5an−1 − 6an−2 ; a0 = 1; a1 = 4.

Nguyễn Văn Sơn Toán rời rạc 24 / 28


1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

1 Ví dụ: tìm dãy (an )n : an = 5an−1 − 6an−2 ; a0 = 1; a1 = 4.


2

an − 2an−1 = 3(an−1 − 2an−2 ).

Nguyễn Văn Sơn Toán rời rạc 24 / 28


1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

1 Ví dụ: tìm dãy (an )n : an = 5an−1 − 6an−2 ; a0 = 1; a1 = 4.


2

an − 2an−1 = 3(an−1 − 2an−2 ).

3 Đặt bn = an+1 − 2an ; b0 = 2; bn = 3bn−1 .

Nguyễn Văn Sơn Toán rời rạc 24 / 28


1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

1 Ví dụ: tìm dãy (an )n : an = 5an−1 − 6an−2 ; a0 = 1; a1 = 4.


2

an − 2an−1 = 3(an−1 − 2an−2 ).

3 Đặt bn = an+1 − 2an ; b0 = 2; bn = 3bn−1 .


4

an − 3an−1 = 2(an−1 − 3an−2 ).

Nguyễn Văn Sơn Toán rời rạc 24 / 28


1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

1 Ví dụ: tìm dãy (an )n : an = 5an−1 − 6an−2 ; a0 = 1; a1 = 4.


2

an − 2an−1 = 3(an−1 − 2an−2 ).

3 Đặt bn = an+1 − 2an ; b0 = 2; bn = 3bn−1 .


4

an − 3an−1 = 2(an−1 − 3an−2 ).

5 Đặt cn = an+1 − 3an ; c0 = 1; cn = 2cn−1 .

Nguyễn Văn Sơn Toán rời rạc 24 / 28


1.9 Hệ thức truy hồi

Giải hệ thức truy hồi

Mệnh đề
Giả sử (an )n được biểu diễn qua hệ thức truy hồi tuyến tính thuần
nhất bậc k :

an = c1 an−1 + c2 an−2 + · · · + ck an−k ,

và phương trình đặc trưng

z k − c1 z k−1 − c2 z k−2 − · · · − ck = 0

có k nghiệm phân biệt z1 , z2 , . . . , zk .


Khi đó tồn tại các hằng số α1 , α2 , . . . , αk sao cho

an = α1 z1n + α2 z2n + · · · + αk zkn , ∀n = 1, 2, . . . .

Nguyễn Văn Sơn Toán rời rạc 25 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân


1 Giả sử có dãy số tăng a1 , a2 , . . . , a2n . Ta cần tìm vị trí của số
hạng có giá trị bằng A(a1 ≤ A ≤ a2n ). Gọi f (2n) là số phép
so sánh (số công việc) cần phải làm để giải quyết bài toán.

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân


1 Giả sử có dãy số tăng a1 , a2 , . . . , a2n . Ta cần tìm vị trí của số
hạng có giá trị bằng A(a1 ≤ A ≤ a2n ). Gọi f (2n) là số phép
so sánh (số công việc) cần phải làm để giải quyết bài toán.
2 Chia dãy a1 , a2 , . . . , a2n thành 2 dãy a1 , a2 , . . . , an và
an+1 , an+2 , . . . , a2n .

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân


1 Giả sử có dãy số tăng a1 , a2 , . . . , a2n . Ta cần tìm vị trí của số
hạng có giá trị bằng A(a1 ≤ A ≤ a2n ). Gọi f (2n) là số phép
so sánh (số công việc) cần phải làm để giải quyết bài toán.
2 Chia dãy a1 , a2 , . . . , a2n thành 2 dãy a1 , a2 , . . . , an và
an+1 , an+2 , . . . , a2n .
3 Nếu an > A thì ta tìm kiếm A trong dãy a1 , a2 , . . . , an : số
phép so sánh cần làm là f (n).

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân


1 Giả sử có dãy số tăng a1 , a2 , . . . , a2n . Ta cần tìm vị trí của số
hạng có giá trị bằng A(a1 ≤ A ≤ a2n ). Gọi f (2n) là số phép
so sánh (số công việc) cần phải làm để giải quyết bài toán.
2 Chia dãy a1 , a2 , . . . , a2n thành 2 dãy a1 , a2 , . . . , an và
an+1 , an+2 , . . . , a2n .
3 Nếu an > A thì ta tìm kiếm A trong dãy a1 , a2 , . . . , an : số
phép so sánh cần làm là f (n).
4 Nếu an = A : kết luận.

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân


1 Giả sử có dãy số tăng a1 , a2 , . . . , a2n . Ta cần tìm vị trí của số
hạng có giá trị bằng A(a1 ≤ A ≤ a2n ). Gọi f (2n) là số phép
so sánh (số công việc) cần phải làm để giải quyết bài toán.
2 Chia dãy a1 , a2 , . . . , a2n thành 2 dãy a1 , a2 , . . . , an và
an+1 , an+2 , . . . , a2n .
3 Nếu an > A thì ta tìm kiếm A trong dãy a1 , a2 , . . . , an : số
phép so sánh cần làm là f (n).
4 Nếu an = A : kết luận.
5 Nếu hai trường hợp trên không xẩy ra thì tìm kiếm A trong
dãy an+1 , an+2 , . . . , a2n : số phép so sánh cần làm là f (n).

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Quan hệ chia để trị

Ví dụ: thuật toán tìm kiếm nhị phân


1 Giả sử có dãy số tăng a1 , a2 , . . . , a2n . Ta cần tìm vị trí của số
hạng có giá trị bằng A(a1 ≤ A ≤ a2n ). Gọi f (2n) là số phép
so sánh (số công việc) cần phải làm để giải quyết bài toán.
2 Chia dãy a1 , a2 , . . . , a2n thành 2 dãy a1 , a2 , . . . , an và
an+1 , an+2 , . . . , a2n .
3 Nếu an > A thì ta tìm kiếm A trong dãy a1 , a2 , . . . , an : số
phép so sánh cần làm là f (n).
4 Nếu an = A : kết luận.
5 Nếu hai trường hợp trên không xẩy ra thì tìm kiếm A trong
dãy an+1 , an+2 , . . . , a2n : số phép so sánh cần làm là f (n).
6 Vậy nếu tìm kiếm bằng thuật toán này với điều kiện ban đầu
thì f (2n) = f (n) + 2.

Nguyễn Văn Sơn Toán rời rạc 26 / 28


1.9 Hệ thức truy hồi

Hệ thức chia để trị

Xét một thuật toán phân chia bài toán cỡ n thành a bài toán
cỡ bn (để đơn giản giả sử n mod b = 0 ). Nếu f (n) là số phép
toán cần thiết để giải bài toán cỡ n và g (n) là số phép toán cần
thiết để chia bài toán cỡ n thành a bài toán cỡ bn thì
n
f (n) = af + g (n).
b

Nguyễn Văn Sơn Toán rời rạc 27 / 28


1.9 Hệ thức truy hồi

Tính chất

Nguyễn Văn Sơn Toán rời rạc 28 / 28


1.9 Hệ thức truy hồi

Tính chất
Mệnh đề
Giả sử f là hàm tăng thỏa mãn f (n) = af bn + c với mọi n chia


hết cho b với b là số nguyên lớn hơn 1 và a ≥ 1, c ≥ 0. Khi đó


(
O(nlogb a ), a > 1;
f (n) =
O(log n), a = 1.

Nguyễn Văn Sơn Toán rời rạc 28 / 28


1.9 Hệ thức truy hồi

Tính chất
Mệnh đề
Giả sử f là hàm tăng thỏa mãn f (n) = af bn + c với mọi n chia


hết cho b với b là số nguyên lớn hơn 1 và a ≥ 1, c ≥ 0. Khi đó


(
O(nlogb a ), a > 1;
f (n) =
O(log n), a = 1.

Mệnh đề
Giả sử f là hàm tăng thỏa mãn f (n) = af bn + cnd với mọi


n = b k , trong đó k ∈ Z+ , a ≥ 1, c > 0, d > 0, và b là số nguyên


lớn hơn 1. Khi đó

log a d
O(n b ), a > b ;

f (n) = O(nd log n), a = b d ;

O(nd ), a < b d .

Nguyễn Văn Sơn Toán rời rạc 28 / 28

You might also like