Tổng hợp bài tập toán rời rạc | Trường Đại Học Thủy Lợi

Tổng hợp bài tập toán rời rạc | Trường Đại Học Thủy Lợi. Tài liệu gồm 38 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

2011
BÀI TP
Toán ri rc
TƠi liu hc tp theo hc ch tín chỉ
dành cho sinh viên Khoa CNTT
Phiên bản 1.0
1
MC LC
CHNG 1: C S LOGIC ...................................................................................... 2
CHNG 2: PHNG PHÁP ĐM ........................................................................ 5
CHNG 3: QUAN H .............................................................................................. 6
CHNG 4: ĐI S BOOLE .................................................................................... 7
NI DUNG B SUNG: PHNG PHÁP HÀM SINH ........................................... 8
Đ THI TRC NGHIM GIA Kǵ (THAM KHO) ......................................... 24
Đ THI KT THÚC MỌN HC (THAM KHO) ................................................ 25
MT S Đ THI THAM KHO  TRNG KHÁC ........................................ 26
Bài tập toán ri rc
2
CHNG 1: C S LOGIC
1. Lập bảng chân trị và chỉ ra các mệnh đề luôn đúng:
a.
()x y z x
b.
[( ) ( )] ( )a b c b a c
c.
[ ( )] ( )m n p m p
d.
[ ( )] [( ) ( )]p r p p q r p
2. Áp dụng các luật logic để rút gọn các mệnh đề và chỉ ra đâu là công thức hằng:
a.
( ) ( ) ( )a c b c a b
b.
[( ) ( )] ( )x y y z x z
c.
( ) ( )m n p m n p
d.
3. Một x thủ bắn cung vào một mục tiêu, kết quả được thể hiện theo các mệnh đề sau:
P
k
= { Phát thứ k trúng đích} k = 1, 2, 3
Hãy giải thích các mệnh đề phức hợp sau:
a.
1 2 3
P P P
b.
1 2 3
P P P
c.
1
1 2 3 1 3 1 2 3
( ) ( ) ( )P P P P P P P P P
d.
1 2 1 2 3 1 2 3
( ) ( ) ( )P P P P P P P P
4. Cho 4 thí sinh A, B, C, D tham gia thi đấu xếp hng. Kết quả xếp hng như thế nào
nếu:
- Ngưi thứ 1 dự đoán: B hng nhì, C hng ba.
- Ngưi thứ 2 dự đoán: A hng nhì, C hng tư.
- Ngưi thứ 3 dự đoán: B hng nhất, D hng nhì.
- Được biết là mỗi ngưi có phần đúng phần sai.
5. Trong một chatroom, tổng công 5 ngưi An, Bình, Chinh, Dung, Yến đang thảo
luận về đề tài logic toán vi nhau trên mng.
Biết rằng:
- Hoặc An, hoặc Bình hoặc là cả 2 đang thảo luận.
- Hoặc Chinh, hoặc Dung, nhưng không phải cả 2 cùng thảo luận.
- Nếu Yến đang thảo luận thì Chinh cũng vậy.
Bài tập toán ri rc
3
- Dung và An, hoặc cả 2 cùng thảo luận, hoặc không ai thảo luận.
- Nếu Bình đang thảo luận thì Yến và An cũng vậy.
Hãy giải thích xem nếu tất cả khẳng định trên đều đúng thì hiện ti ai đang thảo luận?
6. Sau khi thu gọn, y tìm các bộ nghiệm (x, y, z, t ) để các công thức m sau đt giá
là 0:
a.
[( ) ( )] [ ( )]F yt xz xt y z x yt y z xt
b.
[( ) ( )] [( ) ( )]zF x y zt yz xt xz yt y xt
c.
)[( ) ( )] [( ]z y xz yF x y yt xt z yt x z
7. Chuyển tất cả các công thức sau thành dng chuẩn tuyển hoàn toàn chuẩn hội hoàn
toàn:
a.
( ) ( )m n n p
b.
[ ( )] ( )m n p n p
c.
( ( ))n m m n p
d.
[( ) ( )] ( )m n n m m n
e.
( ) ( )m n p m n p
f.
[ ( )] [( ) ( )]m n p m p n p
8. Tìm chân trị của các vị từ ứng vi các giá trị tương ứng sau:
m(x): “x > 2”
n(x): “ x-1 lẻ ”
p(x): “ x < 0 ”
a. m(2)
b. n(2
10
)
c.
( 1) (3)mn
d.
(0) (4)mn
e.
[ (7) (1)] (1)m n p
f.
[ ( 1) ( 1)] ( 1)m n p
g.
[ (3) (3)] (3)m n p
h.
(1) [ (1) (1)]m n p
9. Xác định chân trị của vị từ sau:
p(x,y) : x là ưc của y
a. p(1,5)
b. p(3,4)
c.
, ( , )x p x x
d.
, ( , )y p y y
Bài tập toán ri rc
4
e.
, ( , )x y p x y
f.
, ( , )y x p x y
g.
,( ( , ) ( , )) ( )x y p x y p y x x y
h.
,( ( , ) ( , )) ( , )x y z p x y p y z p x z
10. Xác định chân trị của các mệnh đề sau :
a.
2
,[( 6 5 0) ( 5 0)]x R x x x
b.
, ,[( 2 1) ( 3)]x R y R x y x y
c.
2 2 2
, , ,[( ) ( )]x R y R z R x y z x z
d.
2
, , ,[( 2 ) (2 0)]x R y R z R x y z x y z
e.
2 2 2
, , ,[( ) ( )]x R y R z R x y z x z
f.
, , ,[( 2 ) (2 0)]x y z x y z x y z
g.
2 2 2
, , ,[( ) ( )]x R y R z R x y z x z
11. Xác định các suy luận đúng và cho biết qui tắc suy diễn đã được áp dụng:
a. Nếu Bình đi chơi thì Bình không học logic toán. Nếu Bình không học bài thì sẽ
thi trượt môn logic toán. Mà Bình li đi chơi nên Bình thi trượt môn logic toán.
b. Nếu sinh viên CNTT của trưng Đi học Phm thì phải học toán ri rc.
Hùng không học Toán ri rc nên Hùng không phải sinh viên ngành công
CNTT của trưng Đi học Sư Phm.
c. Mọi sinh viên nghiêm túc đều không nộp bài chưa m xong. Minh không nộp
bài chưa làm xong. Vậy Minh là sinh viên nghiêm túc.
d. Mọi sinh viên lưi học đều không chịu đến lp học thưng xuyên.
Tân đã đến lp học thưng xuyên.
Vì thế Vân là sinh viên không lưi học.
12. Dùng các qui tắc suy diễn để chứng minh các kết luận sau:
a. {p q , (s q) , (r s) , p u }
r, u
b. {(x y) z , z(w u) , (t w) , w t }
x
13. Trong 1 trận thi đấu đối kháng thuật Vovinam, thí sinh sẽ được tính 1 điểm nếu
như ít nhất 2 trong số 3 trọng tài phất c. Ngưi ta thiết kế 1 máy chấm điểm cho
các trận đấu vi thể thức thi đấu như vậy.
a. Tìm công thức logic tương ứng vi máy chấm điểm này.
b. Hãy vẽ mch điện tử tương ứng vi công thức này (không rút gọn công thức).
Bài tập toán ri rc
5
CHNG 2: PHNG PHÁP ĐM
1. Cho tp X={5, 6, ..., 200}
a. Có bao nhiêu s chẵn, lẻ.
b. Có bao nhiêu s chia ht cho 5.
c. Có bao nhiêu s gm nhng ch s phơn bit.
d. Có bao nhiêu s không chứa s 0.
e. Có bao nhiêu s ln hn 101 vƠ không chứa s 6.
f. Có bao nhiêu s có các ch s đc sp tăng thực sự.
g. Có bao nhiêu s có dng xyz trong đó
0,x y y z
2. Có 10 cun sách khác nhau, trong đó có 5 cun sách thuc lĩnh vực tin hc, 3
cun sách thuc lĩnh vực toán hc, 2 cun sách thuc lĩnh vực văn hc.
a. Có bao nhiêu cách lấy ra 4 cun sách bất kǶ?
b. bao nhiêu cách lấy ra 4 cun sách trong đó có ít nhất 2 cun sách tin hc?
c. Có bao nhiêu cách lấy ra 4 cun sách vi đủ c 3 loi sách?
d. Có bao nhiêu cách xp các cun sách nƠy trên 1 giá sách?
e. Có bao nhiêu cách xp các cun sách nƠy trên 1 giá sách sao cho đúng theo thứ
tự đƣ lit kê?
f. Có bao nhiêu cách xp các cun sách nƠy trên 1 giá sách sao cho 3 cun sách
toán hc không đc xp cnh nhau?
3. Mt ngi lƠm vic trên máy tính đƣ quên mất mt khẩu đăng nhp vƠo tƠi
khon s dng, anh ta chỉ còn nh mt khẩu có dng XXXX-YYY trong đó
XXXX lƠ các ch s khác nhau lấy từ 10 s, vƠ YYY lƠ các ch cái khác nhau lấy
từ 26 ch cái. Hi trong trng hp xấu nhất phi th bao nhiêu lần để có đc
mt khẩu ban đầu?
4. Có 6 ngi cùng mt lúc đăng ký th tƠi tin hc lƠ A, B, C, D, E, F:
a. Có bao nhiêu cách xp thứ tự thi đấu để DEF đứng cnh nhau?
b. Có bao nhiêu cách xp thứ tự thi đấu để luôn bt đầu bi A vƠ kt thúc bi F
5. Có bao nhiêu chui 8 bit bt đầu bằng 1100?
6. Có bao nhiêu chui 8 bit trong đó bit thứ 2 vƠ bit thứ 4 lƠ 1?
7. Có bao nhiêu chui 8 bit đc xuôi hay ngc đu ging nhau?
8. Có bao nhiêu xơu nh phơn có đ dƠi 8 bt đầu bi 110 vƠ 101?
9. Có bao nhiêu chui 8 bit hoặc bt đầu bằng 100 hoặc có bit thứ 4 bằng 1?
10. Có bao nhiêu chui 8 bit hoặc bt đầu bằng 10 hoặc kt thúc bi 01?
11. Có bao nhiêu xơu nh phơn đ dƠi 16 mƠ trong đó có đúng 4 s 1?
12. Các ký thự ABCDEF dùng để to thƠnh các chui có đ dƠi lƠ 3?
a. Có bao nhiêu chui nh vy nu cho phép lặp.
b. Có bao nhiêu chui nh vy nu không cho phép lặp.
c. Có bao nhiêu chui bt đầu bằng A nu cho phép lặp.
d. Có bao nhiêu chui bt đầu bằng A nu không cho phép lặp.
e. Có bao nhiêu chui không chứa A nu cho phép lặp.
f. Có bao nhiêu chui không chứa A nu không cho phép lặp.
13. Có bao nhiêu xơu ký tự có thể đc to từ các ch cái Telecommunication?
14. Phng trình
1 2 3 4
23x x x x
Có bao nhiêu b nghim tự nhiên (
1 2 3 4
, , ,x x x x
) sao cho
1
25x
15. Phng trình
1 2 10
... 100x x x
Có bao nhiêu b nghim tự nhiên (
1 2 10
, ,...,x x x
) sao cho
1 2 10
1, 2,..., 10x x x
Bài tập toán ri rc
6
CHNG 3: QUAN H
1. Cho 2 tập hợp X={a, b, c} và Y = {b, c, d, e}
a. Tính X x Y
b. Tìm số quan hệ 2 ngôi trên Y
c. Tìm số quan hệ giữa X và Y chứa (b, c), (b, d)
d. Hãy tìm 1 quan hệ trên X có tính phản x và bắc cầu nhưng không đối xứng
e. Hãy tìm 1 quan hệ trên Y có tính phản x và đối xứng nhưng không bắc cầu.
2. R là một quan hệ trên A = {1, 2, 3, 4, 5} vi:
R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 1), (2, 2), (2, 4), (2, 5), (3, 1), (3, 3) , (4, 1), (4, 2), (4,
4), (5, 2), (5, 5)}
R có phải là 1 quan hệ tương đương hay không?
3. Cho R là 1 quan hệ trên tập hợp các số tự nhiên vi R = {(x, y): x+y chẵn}
Chứng minh R là 1 quan hệ tương đương
4. Cho R là 1 quan hệ trên A x A vi A= {1, 3, 5, 7, 8, 9} sao cho :
(a, b) R (c, d) b = d
a. Chứng minh R là 1 quan hệ tương đương
b. Tìm lp tương đương chứa (1, 3)
c. Phân hoch A x A thành các lp tương đương tách biệt phân hoch trên R
5. R là một quan hệ trên A x A vi A = {1, 2, 3, 4, 5}:
R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 4), (2, 5), (3, 3), (3, 5) , (4, 4), (4, 5), (5, 5)}
R có phải là 1 quan hệ thứ tự hay không?
6. Cho
là 1 quan hệ trên X={ 2, 3, 4, 5, 12, 15, 60} xác định bởi:
, , ,x y X x y y kx k Z
a. Chứng minh
là 1 quan hệ thứ tự
b. m các phần tử tối đi, tối tiểu, ln nhất, nhỏ nhất xác định bởi quan hệ trên
c. Vẽ biểu đồ Hasse tương ứng
7. Cho
là 1 quan hệ trên A x A vi A ={2, 4, 6, 12, 24} xác định bởi:
( , ),( , ) ,( , ) ( , )x y z t A x y z t x y z t
có phải là 1 quan hệ thứ tự hay không? Nếu là 1 quan hệ thứ tự thì xác định các
phần tử tối đi, tối tiểu, ln nhất, nhỏ nhất xác định bởi quan hệ trên
Bài tập toán ri rc
7
CHNG 4: ĐI S BOOLE
1. Cho (A, , ) là 1 Đi số Boole hãy chứng minh:
a.
,x A x x x
b.
,x A x x x
c.
,x A x x
d.
,1x A x x
e.
,,x y A x y x y
f.
,,x y A x y x y
g.
, , ( )x y A x x y x
h.
, , ( )x y A x x y x
2. Cho U
30
= (1, 2, 3, 5, 6, 10, 15, 30)
Trên U
30
ta định nghĩa 2 phép toán như sau:
30
, , ( , )x y U x y UCLN x y
30
, , ( , )x y U x y BCLN x y
Chứng minh (U
30
, , ) là 1 Đi số Boole
3. Đơn giản các hàm Bool sau và vẽ mch của hàm đã đơn giản:
a.
( , , )f x y z x y z x y z x y z x y z x y z
b.
( , , , )f x y z t x y zt x y zt x y zt x y zt x y zt x y zt x y zt x y zt x y z t
c.
( , , , )f x y z t x y zt x y zt x y zt x y zt x y zt x y zt x y zt x y zt x y z t
d.
( , , , )f x y z t x y z x y z x y zt x y zt x y zt y zt x y zt x y zt x y t
e.
( , , , )f x y z t x y zt x y zt x y zt x y z x y zt y zt x y z y zt
Bài tập toán ri rc
8
PHNG PHÁP HÀM SINH
Hàm sinh một trong những sáng to thần tình, bất ng, nhiều ứng dụng của toán ri
rc. Nói một cách nôm na, hàm sinh chuyển những bài toán về dãy số thành những bài toán
về hàm số. Điều y rất tuyệt vi chúng ta đã trong tay cả một cỗ y ln để làm
việc vi các hàm số. Nh vào hàm sinh, chúng ta có thể áp dụng cỗ máy này vào các bài toán
dãy số. Bằng cách này, chúng ta có thể sử dụng hàm sinh trong việc giải tất cả các dng toán
về phép đếm. cả một ngành toán học ln nghiên cứu về hàm sinh, thế, trong bài này,
chúng ta chỉ tìm hiểu những vấn đề căn bản nhất về chủ đề này.
Trong bài viết y, các dãy số sẽ được để trong ngoặc < > để phân biệt vi các đối tượng
toán học khác.
1. Hàm sinh
Hàm sinh thường của dãy số vô hng <g
0
, g
1
, g
2
, g
3
,…> là chuỗi luỹ thừa hình thức
G(x) = g
0
+ g
1
x + g
2
x
2
+ g
3
x
3
Ta gọi làm sinh là chuỗi hình thức bởi vì thông thưng ta sẽ chỉ coi x là một ký hiệu thay thế
thay một số. Chỉ trong một vài trưng hợp ta sẽ cho x nhận các giá trị thực, thế ta gần
như cũng không để ý đến sự hội tụ của các chuỗi. một số loi hàm sinh khác nhưng trong
bài này, ta sẽ chỉ xét đến hàm sinh thưng.
Trong bài này, ta sẽ ký hiệu sự tương ứng giữa một dãy số hàm sinh bằng dấu mũi tên hai
chiều như sau
<g
0
, g
1
, g
2
, g
3
, …> g
0
+ g
1
x + g
2
x
2
+ g
3
x
3
+…
Ví dụ, dưi đây là một số dãy số và hàm sinh của chúng
<0, 0, 0, 0, …> 0 + 0.x + 0.x
2
+ 0.x
3
+ … = 0
<1, 0, 0, 0, …> 1 + 0.x + 0.x
2
+ 0.x
3
+ … = 1
<3, 2, 1, 0, …> 3 + 2x + x
2
+ 0.x
3
+ … = x
2
+ 2x + 3
Quy tắc đây rất đơn giản: Số hng thứ i của dãy số (đánh số từ 0) là hệ số của x
i
trong hàm
sinh.
Nhắc li công thức tính tổng của các số nhân lùi vô hn là
.
1
1
...1
32
z
zzz
Đẳng thức y không đúng vi |z| 1, nhưng một lần nữa ta không quan m đến vấn đề hội
tụ. Công thức này cho chúng ta công thức tưng minh cho hàm sinh của hàng lot các dãy số
<1, 1, 1, 1, …> 1 + x + x
2
+ x
3
+ … = 1/(1-x)
Bài tập toán ri rc
9
<1, -1, 1, -1, …> 1 - x + x
2
- x
3
+ … = 1/(1+x)
<1, a, a
2
, a
3
, …> 1 + ax + a
2
x
2
+ a
3
x
3
+ … = 1/(1-ax)
<1, 0, 1, 0, 1, 0, ...> 1 + x
2
+ x
4
+ … = 1/(1-x
2
)
Các phép toán trên hàm sinh
Phép màu của hàm sinh nằm chỗ ta thể chuyển các phép toán thực hiện trên y s
thành các phép toán thực hiện trên các m sinh tương ứng của chúng. Chúng ta cùng xem
xét các phép toán và các tác động của chúng trong thuật ngữ dãy số.
2.1. Nhơn vi hằng s
Khi nhân hàm sinh vi một hằng số thì trong dãy số tương ứng, các số hng sẽ được nhân
vi hằng số đó. Ví dụ
<1, 0, 1, 0, 1, 0, ...> 1 + x
2
+ x
4
+ … = 1/(1-x
2
)
Nhân hàm sinh vi 2, ta được
2/(1-x
2
) = 2 + 2x
2
+ 2x
4
+ …
là hàm sinh của dãy số
<2, 0, 2, 0, 2, 0, …>
Quy tc 1. (Quy tắc nhân vi hằng số)
Nếu <f
0
, f
1
, f
2
, f
3
, …> F(x) thì <cf
0
, cf
1
, cf
2
, cf
3
, …> cF(x)
Chứng minh.
<cf
0
, cf
1
, cf
2
, cf
3
, …> cf
0
+ (cf
1
)x + (cf
2
)x
2
+ (cf
3
)x
3
+ …
= c(f
0
+ f
1
x+f
2
x
2
+ f
3
x
3
+ …)
= cF(x).
2.2. Cng
Cộng hai hàm sinh ơng ứng vi việc cộng các số hng của y số theo đúng chỉ số. dụ,
ta cộng hai dãy số trưc đó
<1, 1, 1, 1, …> 1/(1-x)
+ <1, -1, 1, -1, …> 1/(1+x)
<2, 0, 2, 0, …> 1/(1-x) + 1/(1+x)
Bây gi ta thu được hai biểu thức khác nhau cùng sinh ra dãy (2, 0, 2, 0, …). Nhưng điều
này không có gì ngc nhiên vì thực ra chúng bằng nhau:
1/(1-x) + 1/(1+x) = [(1+x) + (1-x)]/(1-x)(1+x) = 2/(1-x
2
)
Quy tc 2. (Quy tắc cộng)
Nếu <f
0
, f
1
, f
2
, …> F(x), <g
0
, g
1
, g
2
, …> G(x)
Bài tập toán ri rc
10
thì <f
0
+g
0
, f
1
+g
1
, f
2
+g
2
, …> F(x) + G(x)
Chứng minh.
<f
0
+g
0
, f
1
+g
1
, f
2
+g
2
, …> f
0
+g
0
+ (f
1
+g
1
)x + (f
2
+g
2
)x
2
+ …
= (f
0
+ f
1
x + f
2
x
2
+ …) + (g
0
+ g
1
x + g
2
x
2
+ …)
= F(x) + G(x)
2.3. Dch chuyển sang phi
Ta bắt đầu từ một dãy số đơn giản và hàm sinh của nó
<1, 1, 1, 1, …> 1/(1-x)
Bây gi ta dịch chuyển dãy số sang phải bằng cách thêm k số 0 vào đầu
<0, 0, …, 0, 1, 1, 1, …> x
k
+ x
k+1
+ x
k+2
+ …
= x
k
(1+x+x2 + …)
= x
k
/(1-x)
Như vậy, thêm k số 0 vào đầu dãy số tương ứng vi việc nhân hàm sinh vi x
k
. Điều này
cũng đúng trong trưng hợp tổng quát.
Quy tc 3. (Quy tắc dịch chuyển phải)
Nếu <f
0
, f
1
, f
2
, …> F(x)
thì <0, …, 0, f
0
, f
1
, f
2
, …> x
k
.F(x) (có k số 0)
Chứng minh.
<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
x
2
+ …)
= x
k
F(x)
2.4. Đo hƠm
Điều sẽ xảy ra nếu ta lấy đo hàm của hàm sinh? Chúng ta y bắt đầu từ việc lấy đo
hàm của một hàm sinh đã trở nên quen thuộc của dãy số toàn 1:
2
2
32
432
)1(
1
,...4,3,2,1
)1(
1
...4321
)
1
1
(...)1(
x
x
xxx
xdx
d
xxxx
dx
d

Ta tìm được hàm sinh cho dãy số <1, 2, 3, 4, …> !
Tổng quát, việc lấy đo hàm của hàm sinh có hai tác động lên dãy số tương ứng: các số hng
được nhân vi chỉ số và toàn bộ dãy số được dịch chuyển trái sang 1 vị trí.
Quy tc 4. (Quy tắc đo hàm)
Nếu <f
0
, f
1
, f
2
, …> F(x)
thì <f
1
, 2f
2
, 3f
3
, ..> dF(x)/dx
Bài tập toán ri rc
11
Chứng minh.
<f
1
, 2f
2
, 3f
3
, ..> f
1
+ 2f
2
x + 3f
3
x
2
+ …
= (d/dx)(f
0
+ f
1
x + f
2
x
2
+ f
3
x
3
+ …)
= dF(x)/dx
Quy tắc đo m một quy tắc rất hữu hiệu. Trong thực tế, ta thưng xuyên cần đến một
trong hai tác động của phép đo hàm, nhân số hng vi chsố dịch chuyển sang trái. Một
cách điển hình, ta chỉ muốn một tác động tìm cách “vô hiệu hoá” tác động n li.
dụ, ta thử tìm hàm sinh cho dãy số <0, 1, 4, 9, 16, …>. Nếu ta có thể bắt đầu từ y <1, 1, 1,
1, …> thì bằng cách nhân vi chỉ số 2 lần, ta sẽ được kết quả mong muốn
<0.0, 1.1, 2.2, 3.3, …> = <0, 1, 4, 9, …>
Vấn đề là ở chỗ phép đo hàm không chỉ nhân số hng dãy số vi chỉ số mà còn dịch chuyển
sang trái 1 vị trí. Thế nhưng, quy tắc 3 dịch chuyển phải cho chúng ta cách để hiệu hoá
tác động này: nhân hàm sinh thu được cho x.
Như vậy cách làm của chúng ta bắt đầu từ dãy số <1, 1, 1, 1, …>, lấy đo m, nhân vi
x, lấy đo hàm rồi li nhân vi x.
<1, 1, 1, 1, …> 1/(1-x)
<1, 2, 3, 4, …> (d/dx)(1/(1-x)) = 1/(1-x)
2
<0, 1, 2, 3, 4, …> x/(1-x)
2
<1, 4, 9, 16, …> (d/dx)( x/(1-x)
2
) = (1+x)/(1-x)
3
<0, 1, 4, 9, 16, …> x(1+x)/(1-x)
3
Như vậy hàm sinh cho dãy các bình phương là x(1+x)/(1-x)
3
.
3. Dƣy s Fibonacci
Đôi khi chúng ta có thể tìm được hàm sinh cho các dãy số phức tp hơn. Chẳng hn dưi đây
là hàm sinh cho dãy số Fibonacci:
<0, 1, 1, 2, 3, 5, 8, 13, …> x/(1-x-x
2
)
Chúng ta thấy y số Fibonacci biến đổi khá khó chịu, nhưng m sinh của thì rất đơn
giản.
Chúng ta sẽ thiết lập công thức tính hàm sinh này và qua đó, tìm được công thức tưng minh
tính các số hng tổng quát của dãy số Fibonacci. nhiên, chúng ta đã biết công thức tính số
hng tổng quát của dãy Fibonacci trong phần phương pháp giải các phương trình sai phân
tuyến tính hệ số hằng. Nhưng điều y không ngăn cản chúng ta một lần nữa m cách giải
thích sự xuất hiện của phương trình đặc trưng, cách xử trưng hợp nghiệm kép thông qua
công cụ hàm sinh. Hơn nữa, phương pháp hàm sinh còn giúp chúng ta giải quyết hàng lot
các bài toán về y số đệ quy khác nữa, trong đó những phương trình chúng ta hoàn
toàn bó tay vi các phương pháp khác.
3.1. Tìm hàm sinh
Ta bắt đầu bằng cách nhắc li định nghĩa của dãy Fibonacci:
f
0
= 0
Bài tập toán ri rc
12
f
1
= 1
f
n
= f
n-1
+ f
n-2
vi n 2
Ta thể khai triển đẳng thức cuối cùng thành y hn c đẳng thức. Như thế y số
Fibonacci xác định bởi
f
0
= 0
f
1
= 1
f
2
= f
1
+ f
0
f
3
= f
2
+ f
1
f
4
= f
3
+ f
2
Bây gi, cách làm tổng quát của chúng ta là: định nghĩa F(x) m sinh của dãy số bên
trái của các đẳng thức, chính là các số Fibonacci. Sau đó chúng ta m được m sinh cho dãy
số vế phải. Cho hai vế bằng nhau ta giải ra được hàm sinh F(x). Ta y cùng làm điều
này. Đầu tiên ta định nghĩa
F(x) = f
0
+ f
1
x + f
2
x
2
+ f
3
x
3
+ f
4
x
4
+ …
Bây gi, ta cần tìm hàm sinh cho dãy số
<0, 1, f
1
+f
0
, f
2
+f
1
, f
3
+f
2
, …>
Một trong những cách tiếp cận tách các dãy số của chúng ta thành cách dãy chúng ta
đã biết hàm sinh, sau đó áp dụng Quy tắc cộng
<0, 1, 0, 0, 0, …> x
<0, f
0
, f
1
, f
2
, f
3
, …> xF(x)
+ <0, 0, f
0
, f
1
, f
2
, ...> x
2
F(x)
<0, 1+f
0
, f
1
+f
0
, f
2
+f
1
, f
3
+f
2
, …> x + xF(x) + x
2
F(x)
Dãy số này gần như dãy số nằm vế phải của dãy Fibonacci, chỉ 1 khác biệt duy nhất
là 1+f
0
ở vị trí thứ hai. Nhưng do f
0
= 0 nên điều này không có ý nghĩa gì.
Như vậy, ta F(x) = x + xF(x) + x
2
F(x) từ đó F(x) = x/(1-x-x
2
), đó chính công thức
mà chúng ta đã nói đến ở phần đầu.
3.2. Tìm công thức tng minh
Ti sao chúng ta li phải tìm hàm sinh của một y số? một vài câu trả li cho câu hỏi
này, nhưng dưi đây một trong những câu trả li đó: nếu ta tìm được hàm sinh cho một
dãy số, trong nhiều trưng hợp, ta thể tìm được ng thức tưng minh cho các số hng
của dãy sđó, đây điều rất cần thiết. dụ công thức tưng minh cho hệ số của x
n
trong khai triển của x/(1-x-x
2
) chính công thức tưng minh cho số hng thứ n của y s
Fibonacci.
Như vậy công việc tiếp theo của chúng ta tìm các hệ số từ m sinh. một vài cách tiếp
cận cho bài toán y. Đối vi các hàm phân thức, là tỷ số của các đa thức, chúng tathể sử
dụng phương pháp phân tích thành các phân thức cấp chúng ta đã biết phần tích
Bài tập toán ri rc
13
phân các hàm hữu tỷ. Ta thể tìm được dễ dàng các hsố cho các phân thức cấp, từ đó
tìm được các hệ số cần tìm.
Ta sẽ thử làm cho hàm sinh của dãy số Fibonacci. Đầu tiên, ta phân tích mẫu số ra thừa số
x/(1-x-x
2
) = x/(1-
1
x)(1-
2
x)
trong đó
2
51
,
2
51
21
. Tiếp theo, ta tìm các hằng số A
1
, A
2
sao cho
x
A
x
A
xx
x
2
2
1
1
2
11
1
Ta có thể làm điều này bằng phương pháp hệ số bất định hoặc thay x các giá trị khác nhau để
thu được các phương trình tuyến tính đối vi A
1
, A
2
. Ta thể tìm được A
1
, A
2
từ c
phương trình này. Thực hiện điều này, ta được
.
5
11
,
5
11
21
1
21
1
AA
Thay vào đẳng thức nói trên, ta được khai triển của F(x) thành các phân thức sơ cấp
xx
xx
x
21
2
1
1
1
1
5
1
1
Mỗi một số hng trong khai triển có chuỗi luỹ thừa đơn giản cho bởi công thức
...1
1
1
...1
1
1
22
22
2
22
11
1
xx
x
xx
x
Thay các công thức này vào, ta được chuỗi luỹ thừa cho hàm sinh
...))1(...)1((
5
1
1
1
1
1
5
1
)(
22
22
22
11
21
xxxx
xx
xF
Từ đó suy ra
.
2
51
2
51
5
1
5
21
nn
nn
n
f
Đây chính công thức ta cũng đã m được trong phần giải c phương trình sai phân
tuyến tính hệ số hằng. Cách tiếp cận mi này làm sáng tỏ thêm một số vấn của phương pháp
đã đề cập ti. Nói riêng, quy tắc m nghiệm của phương trình sai phân trong trưng hợp
phương trình đặc trưng có nghiệm kép là hệ quả của quy tắc tìm khai triển phân thức sơ cấp!
4. Đm bằng hƠm sinh
Hàm sinh có thể được áp dụng trong các bài toán đếm. Nói riêng, các bài toán chọn các phần
tử từ một tập hợp thông thưng sẽ dẫn đến các hàm sinh. Khi m sinh được áp dụng theo
cách này, hệ số của x
n
chính là số cách chọn n phần tử.
Bài tập toán ri rc
14
4.1. Chn các phần t khác nhau
Hàm sinh cho dãy các hệ số nhị thức được suy ra trực tiếp từ định lý nhị thức
kkk
kkk
k
kkkk
xxCxCCCCCC )1(...,...0,0,,...,,,
10210

Như vậy hệ số của x
n
trong (1+x)
k
bằng số cách chọn n phần tử phân biệt từ một tập hợp
gồm k phần tử. dụ, hệ số của x
2
C
2
k
, số cách chọn 2 phần tử từ tập hợp k phần tử.
Tương tự, hệ số của x
k+1
số cách chọn k+1 phần tử từ tập hợp k phần tử như thế, bằng
0.
4.2. Xơy dựng các hƠm sinh để đm
Thông thưng ta thể dịch tả của bài toán đếm thẳng sang ngôn ngữ hàm sinh để giải.
dụ, ta thể chứng tỏ rằng (1+x)
k
sẽ sinh ra số các cách chọn n phần tử phân biệt từ tập
hợp k phần tử mà không cần dùng đến định lý nhị thức hay các hệ số nhị thức!
Ta làm như sau. Đầu tiên, ta hãy xét tập hợp một phần tử {a
1
}. Hàm sinh cho số cách
chọn n phần tử từ tập hợp này đơn giản 1 + x. Ta 1 cách chọn không phần tử nào, 1
cách chọn 1 phần tử 0 cách chọn hai phần tử trở lên. Tương tự, số cách chọn n phần tử từ
tập hợp {a
2
} cũng cho bởi hàm sinh 1 + x. Sự khác biệt của các phần tử trong hai trưng hợp
trên là không quan trọng.
bây giý tưởng chính: hàm sinh cho số cách chọn các phần tử từ hợp của hai tập hợp
bằng tích các m sinh cho số cách chọn các phần tử từ mỗi tập hợp. Chúng ta sẽ giải thích
chặt chẽ điều y, nhưng trưc hết, hãy xem xét một dụ. Theo nguyên này, m sinh
cho số cách chọn các phần tử từ tập hợp {a
1
, a
2
} là
(1+x). (1+x) = (1+x)
2
= 1 + 2x + x
2
thể kiểm chứng rằng đối vi tập hợp {a
1
, a
2
} ta 1 cách chọn 0 phần tử, 2 cách chọn 1
phần tử, 1 cách chọn 2 phần tử và 0 cách chọn 3 phần tử trở lên.
Tiếp tục áp dụng quy tắc này, ta sẽ được hàm sinh cho số cách chọn n phần tử từ tập hợp k
phần tử
(1+x).(1+x)…(1+x) = (1+x)
k
Đây chính công thức hàm sinh ta đã nhận được bằng cách sử dụng định nhị thức.
Nhưng lần này, chúng ta đã đi thẳng từ bài toán đếm đến hàm sinh.
Chúng ta có thể mở rộng điều y thành một nguyên lý tổng quát.
Quy tc 5 (Quy tắc xoắn). Gọi A(x) hàm sinh cho cách chọn các phần tử từ tập hợp A
B(x) m sinh cho cách chọn các phần tử từ tập hợp B. Nếu A B ri nhau thì hàm
sinh cho cách chọn các phần tử từ A B là A(x).B(x).
Quy tắc này khá đa nghĩa, cần hiểu chính xác cách chọn các phần tử từ một tập hợp
nghĩa thế nào? Rất đáng chú ý Quy tắc xoắn vẫn đúng cho nhiều cách hiểu khác nhau
của từ cách chọn. dụ, ta thể đòi hỏi chọn các phần tử phân biệt, cũng thể cho phép
được chọn một số lần có gii hn nào đó, hoặc cho chọn lặp li tuỳ ý. Một cách nôm na, gii
hn duy nhất (1) thứ tự chọn các phần tử không quan trọng (2) những gii hn áp dụng
cho việc chọn các phần tử của A B cũng áp dụng cho việc chọn các phần tử của A B
(Chặt chẽ hơn, cần có một song ánh giữa các cách chọn n phần tử từ A B vi bộ sắp thứ tự
các cách chọn từ A và B chứa tổng thể n phần tử)
Bài tập toán ri rc
15
Chứng minh. Định nghĩa
000
.)().()(,)(,)(
n
n
n
n
n
n
n
n
n
xcxBxAxCxbxBxaxA
Đầu tiên ta hãy tính tích A(x).B(x) và biểu diễn hệ số c
n
thông qua các hệ số a và b. Ta có thể
sắp xếp các số hng này thành dng bảng
b
0
b
1
x
b
2
x
2
b
3
x
3
a
0
a
0
b
0
a
0
b
1
x
a
0
b
2
x
2
a
0
b
3
x
3
a
1
x
a
1
b
0
x
a
1
b
1
x
2
a
1
b
2
x
3
a
2
x
2
a
2
b
0
x
2
a
2
b
1
x
3
a
3
x
3
a
3
b
0
x
3
Chú ý rằng các số hng có cùng luỹ thừa của x xếp trên các đưng chéo /. Nhóm tất cả các số
hng này li, ta thấy rằng hệ số của x
n
trong tích bằng
c
n
= a
0
b
n
+ a
1
b
n-1
+ … + a
n
b
0
Bây gi ta chứng minh rằng đây cũng chính số cách chọn n phần tử từ A B. Một cách
tổng quát, ta thể chọn n phần tử từ A B bằng cách chọn j phần tử từ A và n-j phần tử từ
B, trong đó j một số từ 0 đến n. Điều y thể được thực hiện bằng a
j
b
n-j
cách. Lấy tổng
từ 0 đến n, ta có
a
0
b
n
+ a
1
b
n-1
+ … + a
n
b
0
cách chọn n phần tử từ A B. Đó chính xác là giá trị c
n
đã được tính ở trên.
Biểu thức c
n
= a
0
b
n
+ a
1
b
n-1
+ … + a
n
b
0
đã được biết đến trong môn xử lý tín hiệu số; dãy <c
0
,
c
1
, c
2
, c
3
, …> là xoắn (convolution) của hai dãy <a
0
, a
1
, a
2
, a
3
, …> và <b
0
, b
1
, b
2
, b
3
, …>.
4.3. Chn các phần t có lặp
Xét bài toán: Có bao nhiêu cách chọn 12 cây kẹo từ 5 loi kẹo? Bài toán này có thể tổng quát
hoá như sau: bao nhiêu cách chọn ra k phần tử từ tập hợp n phần tử, trong đó ta cho
phép một phần tử có thể được chọn nhiều lần? Trong thuật ngữ này, bài toán chọn kẹo có thể
phát biểu có bao nhiêu cách chọn 12 cây kẹo từ tập hợp
{kẹo sữa, kẹo sô--la, kẹo chanh, kẹo dâu, kẹo cà-phê}
nếu ta cho phép lấy nhiều viên kẹo cùng loi. Ta sẽ tiếp cận li giải bài toán y từ góc nhìn
của hàm sinh.
Giả sử ta chọn n phần tử (có lặp) từ tập hợp chỉ duy nhất một phần tử. Khi đó 1 cách
chọn 0 phần tử, 1 cách chọn 1 phần tử, 1 cách chọn 2 phần tử … Như thế, hàm sinh của cách
chọn có lặp từ tập hợp có 1 phần tử bằng
<1, 1, 1, 1, …> 1 + x + x
2
+ x
3
+ … = 1/(1-x)
Bài tập toán ri rc
16
Quy tắc xoắn nói rằng m sinh của cách chọn các phần tử từ hợp của các tập hợp ri nhau
bằng tích của các hàm sinh của cách chọn các phần tử từ mỗi tập hợp:
n
x
xxx
)1(
1
1
1
...
1
1
.
1
1
Như thế, hàm sinh của cách chọn các phần tử từ tập hợp n phần tử có lặp là 1/(1-x)
n
.
Bây gi ta cần tính c hệ số của hàm sinh này. Để m điều y, ta sử dụng công thức
Taylor:
Đnh lý 1 (Đnh lý Taylor)
...
!
)0(
...
!3
)0('''
!2
)0(''
!1
)0('
)0()(
)(
32
k
k
x
k
f
x
f
x
f
x
f
fxf
Định y nói rằng hệ số của x
k
trong 1/(1-x)
n
bằng đo hàm bậc k của ti điểm 0 chia
cho k!. Tính đo hàm bậc k của hàm số này không khó. Đặt
g(x) = 1/(1-x)
n
= (1-x)
-n
Ta có
g’(x) = n(1-x)
-n-1
g’’(x) = n(n+1)(1-x)
-n-2
g’’’(x) = n(n+1)(n+2)(1-x)
-n-3
g
(k)
(x) = n(n+1)…(n+k-1)(1-x)
-n-k
Từ đó, hệ số của x
k
trong hàm sinh bằng
k
kn
k
C
nk
kn
k
knnn
k
g
1
)(
)!1(!
)!1(
!
)1)...(1(
!
)0(
Như vậy số cách chọn k phần tử có lặp từ n phần tử bằng
.
1
k
kn
C
5. Mt bƠi toán đm ắbất kh thi”
Từ đầu bài đến gi ta đã thấy những ứng dụng của hàm sinh. Tuy nhiên, những điều y ta
cũng thể m được bằng những cách khác. y gi ta xét một bài toán đếm rất kchịu.
Có bao nhiêu nhiêu cách sắp một giỏ n trái cây thoả mãn các điều kiện ràng buộc sau:
Số táo phải chẵn
Số chuối phải chia hết cho 5
Chỉ có thể có nhiều nhất 4 quả cam
Chỉ có thể có nhiều nhất 1 quả đào
Ví dụ, ta có 7 cách sắp giỏ trái cây có 6 trái:
Táo 6 4 4 2 2 0 0
Chuối 0 0 0 0 0 5 5
Cam 0 2 1 4 3 1 0
Đào 0 0 1 0 1 0 1
Các điều kiện ràng buộc này quá phức tp và có cảm giác như việc đi tìm li giải là vô vọng.
Nhưng ta hãy xem hàm sinh sẽ xử lý bài toán này thế nào.
Bài tập toán ri rc
17
Trưc hết, ta đi tìm hàm sinh cho số cách chọn táo. Có 1 cách chọn 0 quả táo, có 0 cách chọn
1 quả táo (vì số táo phải chẵn), có 1 cách chọn 2 quả táo, có 0 cách chọn 3 quả táo …Như thế
ta có
A(x) = 1 + x
2
+ x
4
+ … = 1/(1-x
2
)
Tương tự, hàm sinh cho số cách chọn chuối là
B(x) = 1 + x
5
+ x
10
+ … = 1/(1-x
5
)
Bây gi, ta thể chọn 0 quả cam bằng 1 ch, 1 quả cam bằng 1 cách, Nhưng ta không
thể chọn hơn 4 quả cam, vì thế ta có
C(x) = 1 + x + x
2
+ x
3
+ x
4
= (1-x
5
)/(1-x)
Và tương tự, hàm sinh cho số cách chọn đào là
D(x) = 1 + x = (1-x
2
)/(1-x)
Theo quy tắc xoắn, hàm sinh cho cách chọn từ cả 4 loi trái cây bằng
...4321
)1(
1
1
1
.
1
1
.
1
1
.
1
1
)().().().(
32
2
25
52
xxx
x
x
x
x
x
xx
xDxCxBxA
Gần như tất cả được giản ưc vi nhau! Chỉ còn li 1/(1-x)2 ta đã tìm được chuỗi lu
thừa từ trưc đó. Như thế số cách sắp giỏ trái cây gồm n trái y đơn giản bằng n+1. Điều
này phù hợp vi kết quả mà ta đã tìm ra trưc đó, có 7 cách sắp cho giỏ 6 trái cây. Thật là
thú vị!
6. Các hƠm sinh thng gặp
6.1. Đnh lý nh thức m rng.
Vi u một số thực k số nguyên không âm. Lúc đó hệ số nhị thức mở rộng
k
u
được
định nghĩa như sau
0,1
0,!/)1)...(1(
k
kkkuuu
k
u
Đnh lý 2. Cho x là số thực vi |x| < 1 và u là một số thực. Lúc đó
0
.)1(
k
ku
x
k
u
x
Định lý này có thể được chứng minh khá dễ dàng bằng cách sử dụng định lý Taylor.
Ví dụ. Tìm khai triển luỹ thừa của các hàm sinh (1+x)
-n
và (1-x)
-n
Giải: Theo định lý nhị thức mở rộng, có thể suy ra
0
.)1(
k
kn
x
k
n
x
Theo định nghĩa
k
kn
kk
C
k
knnn
k
knnn
k
n
1
)1(
!
)1)...(1(
)1(
!
)1)...(1)((
Bài tập toán ri rc
18
Từ đó
0
1
.)1()1(
k
kk
kn
kn
xCx
Thay x bằng –x, ta được
0
1
.)1(
k
kk
kn
n
xCx
Ví dụ. Tìm khai triển luỹ thừa của (1-x)
-1/2
Giải: Theo định lý nhị thức mở rộng, ta có
0
2/1
.
2/1
)1(
k
k
x
k
x
Theo định nghĩa
k
k
k
k
k
C
k
k
k
k
k
4
)1(
!
2
12
...
2
3
2
1
)1(
!
1
2
1
...1
2
1
.
2
1
2/1
2
Từ đó
0
2
2/1
.
4
)1()1(
k
k
k
k
k
k
x
C
x
Thay x bằng –x, ta được
0
2
2/1
.
4
)1(
k
k
k
k
k
x
C
x
6.2. Bng các hƠm sinh thng gặp
HƠm s
Khai triển luỹ thừa
a
k
1/(1-x)
1 + x + x
2
+ x
3
+ …
1
1/(1+x)
1 x + x
2
x
3
+ …
(-1)
k
1/(1-ax)
1 + ax + a
2
x
2
+ a
3
x
3
+ …
a
k
(1-x
n+1
)/(1-x)
1 + x + x
2
+ …+ x
n
1 nếu k n, 0 nếu k >
n
(1+x)
n
nn
nnn
xCxCxC ...1
221
k
n
C
1/(1-x)
n
...
!3
)2)(1(
2
)1(
1
32
x
nnn
x
nn
nx
k
kn
C
1
1/(1-x)
2
1 + 2x + 3x
2
+ 4x
3
+ …
k+1
1/(1-ax)
2
1 + 2ax + 3a
2
x
2
+ 4a
3
x
3
+ …
(k+1)a
k
1/(1-x
r
)
1 + x
r
+ x
2r
+ x
3r
+ …
1 nếu r | k 0 trong
Bài tập toán ri rc
19
trưng hợp ngược li
1/(1+x
r
)
1 - x
r
+ x
2r
- x
3r
+ …
(-1)
s
nếu k=sr 0
trong trưng hợp
ngược li
ln(1+x)
x x
2
/2 + x
3
/3 x
4
/4 + …
0 khi k = 0 và (-1)
k
/k
ln(1-x)
- x x
2
/2 x
3
/3 x
4
/4
0 khi k = 0 và -1/k
arctgx
x + x
3
/3 + x
5
/5 + …
0 vi k chẵn và
1/k vi k lẻ
7. Các ví d có li gii
7.1. Cấp s nhơn cng
Ta thử tìm li công thức tính số hng tổng quát cho cấp số nhân cộng, tức dãy số xác định
bởi a
0
= a, a
n
= ax
n-1
+ d vi mọi n = 1, 2, 3,
Đặt F(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ …
Ta có F(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ …
= a
0
+ (qa
0
+ d)x + (qa
1
+d)x
2
+ (qa
2
+d)x
3
+ …
= a
0
+ qx(a
0
+a
1
x+a
2
x
2
+…) + dx(1+x+x
2
+…)
= a + qxF(x) + dx/(1-x)
Từ đó suy ra
)1)(1(
)(
)(
qxx
xada
xF
Ta tìm phân tích dng
qx
B
x
A
qxx
xada
11)1)(1(
)(
Quy đồng mẫu số chung, ta được a + (d-a)x = A + B (B+qA)x. Từ đó
A + B = a, B + qA = a d
Suy ra A = d/(1-q) và B = a d/(1-q).
Cuối cùng, áp dụng các công thức khai triển quen thuộc, ta được
q
d
q
q
d
aa
n
n
11
.
7.2. Phng trình sai phơn không thuần nhất
Tiếp theo, ta xem m sinh “làm việc” thế nào đối vi các phương trình sai phân không
thuần nhất.
Xét bài toán: Tìm công thức tổng quát của dãy số cho bởi a
0
= 1, a
n
= 2a
n-1
+ 3
n
vi n = 1, 2,
3, ..
Theo đúng sơ đồ trên, ta xét F(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ …
| 1/38

Preview text:

BÀI T P Toán r i r c
TƠi li u h c t p theo h c ch tín chỉ
dành cho sinh viên Khoa CNTT
Phiên bản 1.0 2011 M C L C CH
NG 1: C S LOGIC ...................................................................................... 2 CH NG 2: PH
NG PHÁP Đ M ........................................................................ 5 CH
NG 3: QUAN H .............................................................................................. 6 CH
NG 4: Đ I S BOOLE .................................................................................... 7 N I DUNG B SUNG: PH
NG PHÁP HÀM SINH ........................................... 8
Đ THI TR C NGHI M GI A Kǵ (THAM KH O) ......................................... 24
Đ THI K T THÚC MỌN H C (THAM KH O) ................................................ 25
M T S Đ THI THAM KH O TR
NG KHÁC ........................................ 26 1 Bài tập toán r i r c CH NG 1: C S LOGIC
1. Lập bảng chân trị và chỉ ra các mệnh đề luôn đúng:
a. x  (y  ) z x b. [(a  ) b  (c  ) b ]  (a  ) c
c. [m  (n  ) p ]  (m  ) p
d. [p  (r  ) p ] [(p  ) q  (r  ) p ]
2. Áp dụng các luật logic để rút gọn các mệnh đề và chỉ ra đâu là công thức hằng: a. (a  ) c  (b  ) c  (a  ) b
b. [(x y)  (y  ) z ]  (x  ) z
c. m  (n  )
p  (m n  ) p d. [[(m  ) n  ] p [(m  ) p  ] p ] n
3. Một x thủ bắn cung vào một mục tiêu, kết quả được thể hiện theo các mệnh đề sau:
P = { Phát thứ k trúng đích} k = 1, 2, 3 k
Hãy giải thích các mệnh đề phức hợp sau:
P P P a. 1 2 3 b. 1 P  2 P  3 P
c. (P P P )  ( 1
P P P )  (P P P ) 1 2 3 1 3 1 2 3
d. (P P )  (P P P )  (P P P ) 1 2 1 2 3 1 2 3
4. Cho 4 thí sinh A, B, C, D tham gia thi đấu xếp h ng. Kết quả xếp h ng như thế nào nếu:
- Ngư i thứ 1 dự đoán: B h ng nhì, C h ng ba.
- Ngư i thứ 2 dự đoán: A h ng nhì, C h ng tư.
- Ngư i thứ 3 dự đoán: B h ng nhất, D h ng nhì.
- Được biết là mỗi ngư i có phần đúng phần sai.
5. Trong một chatroom, có tổng công 5 ngư i An, Bình, Chinh, Dung, Yến đang thảo
luận về đề tài logic toán v i nhau trên m ng. Biết rằng:
- Hoặc An, hoặc Bình hoặc là cả 2 đang thảo luận.
- Hoặc Chinh, hoặc Dung, nhưng không phải cả 2 cùng thảo luận.
- Nếu Yến đang thảo luận thì Chinh cũng vậy. 2 Bài tập toán r i r c
- Dung và An, hoặc cả 2 cùng thảo luận, hoặc không ai thảo luận.
- Nếu Bình đang thảo luận thì Yến và An cũng vậy.
Hãy giải thích xem nếu tất cả khẳng định trên đều đúng thì hiện t i ai đang thảo luận?
6. Sau khi thu gọn, hãy tìm các bộ nghiệm (x, y, z, t ) để các công thức hàm sau đ t giá là 0:
a. F [(yt xz)  (xt y z)] [x yt  (y z xt)]
b. F [(x y zt)  (yz xt)] [(xz yt)  ( y z xt )]
c. F [(x y z yt)  (xt y z)] [(yt xz)  x y z]
7. Chuyển tất cả các công thức sau thành d ng chuẩn tuyển hoàn toàn và chuẩn hội hoàn toàn: a. (m  ) n  (n  ) p
b. [m  (n  ) p ]  (n  ) p
c. n  (m  (m n p)) d. [(m  ) n  (n  ) m ]  (m  ) n
e. m  (n  )
p  (m n  ) p
f. [m  (n  ) p ] [(m  ) p  (n  ) p ]
8. Tìm chân trị của các vị từ ứng v i các giá trị tương ứng sau: m(x): “x > 2” n(x): “ x-1 lẻ ” p(x): “ x < 0 ” a. m(2) b. n(210) c. ( m 1  ) ( n 3) d. ( m 0)  ( n 4) e. [ (7 m )  ( n 1)] ( p 1) f. [ ( m 1  ) ( n 1  )]  ( p 1  ) g. [ ( m 3)  ( n 3)] ( p 3) h. ( m 1) [ ( n 1)  ( p 1)]
9. Xác định chân trị của vị từ sau:
p(x,y) : x là ư c của y a. p(1,5) b. p(3,4) c. x  , ( p x, x) d. y  , ( p y, y) 3 Bài tập toán r i r c e. xy  , ( p x, y) f. yx  , ( p x, y) g. x   , y ( ( p x, y)  ( p ,
y x))  (x y) h. xy   ,z( ( p x,y)  ( p y, ) z )  ( p x, ) z
10. Xác định chân trị của các mệnh đề sau : a. 2 x   ,
R [(x  6x  5  0)  (x  5  0)] b. x   , R y   ,
R [(x  2y 1)  (x y  3  )] c. 2 2 2 x   , R y   , R z   ,
R [(x y z )  (x z)] d. 2 x   , R y   , R z   ,
R [(x  2y z)  (2x y z  0)] e. 2 2 2 x   , R y   , R z   ,
R [(x y z )  (x z)] f. x   , y   , z
  ,[(x 2y z)(2x y z  0)] g. 2 2 2 x   , R y   , R z   ,
R [(x y z )  (x z)]
11. Xác định các suy luận đúng và cho biết qui tắc suy diễn đã được áp dụng:
a. Nếu Bình đi chơi thì Bình không học logic toán. Nếu Bình không học bài thì sẽ
thi trượt môn logic toán. Mà Bình l i đi chơi nên Bình thi trượt môn logic toán.
b. Nếu là sinh viên CNTT của trư ng Đ i học Sư Ph m thì phải học toán r i r c.
Hùng không học Toán r i r c nên Hùng không phải là sinh viên ngành công
CNTT của trư ng Đ i học Sư Ph m.
c. Mọi sinh viên nghiêm túc đều không nộp bài chưa làm xong. Minh không nộp
bài chưa làm xong. Vậy Minh là sinh viên nghiêm túc.
d. Mọi sinh viên lư i học đều không chịu đến l p học thư ng xuyên.
Tân đã đến l p học thư ng xuyên.
Vì thế Vân là sinh viên không lư i học.
12. Dùng các qui tắc suy diễn để chứng minh các kết luận sau:
a. {p  q , (s   q) , (r  s) , p  u }  r, u
b. {(x  y) z , z(w  u) , (t w) , w  t }  x
13. Trong 1 trận thi đấu đối kháng võ thuật Vovinam, thí sinh sẽ được tính là 1 điểm nếu
như có ít nhất 2 trong số 3 trọng tài phất c . Ngư i ta thiết kế 1 máy chấm điểm cho
các trận đấu v i thể thức thi đấu như vậy.
a. Tìm công thức logic tương ứng v i máy chấm điểm này.
b. Hãy vẽ m ch điện tử tương ứng v i công thức này (không rút gọn công thức). 4 Bài tập toán r i r c CH NG 2: PH NG PHÁP Đ M
1. Cho t p X={5, 6, ..., 200}
a. Có bao nhiêu s chẵn, lẻ.
b. Có bao nhiêu s chia h t cho 5.
c. Có bao nhiêu s g m nh ng ch s phơn bi t.
d. Có bao nhiêu s không chứa s 0.
e. Có bao nhiêu s l n h n 101 vƠ không chứa s 6.
f. Có bao nhiêu s có các ch s đ

c s p tăng thực sự.
g. Có bao nhiêu s có d ng xyz trong đó 0  x  ,
y y z
2. Có 10 cu n sách khác nhau, trong đó có 5 cu n sách thu c lĩnh vực tin h c, 3
cu n sách thu c lĩnh vực toán h c, 2 cu n sách thu c lĩnh vực văn h c.
a. Có bao nhiêu cách lấy ra 4 cu n sách bất kǶ?
b. Có bao nhiêu cách lấy ra 4 cu n sách trong đó có ít nhất 2 cu n sách tin h c?
c. Có bao nhiêu cách lấy ra 4 cu n sách v i đủ c 3 lo i sách?
d. Có bao nhiêu cách x p các cu n sách nƠy trên 1 giá sách?
e. Có bao nhiêu cách x p các cu n sách nƠy trên 1 giá sách sao cho đúng theo thứ
tự đƣ li t kê?
f. Có bao nhiêu cách x p các cu n sách nƠy trên 1 giá sách sao cho 3 cu n sách
toán h c không đ c x p c nh nhau? 3. M t ng
i lƠm vi c trên máy tính đƣ quên mất m t khẩu đăng nh p vƠo tƠi
kho n s d ng, anh ta chỉ còn nh m t khẩu có d ng XXXX-YYY trong đó
XXXX lƠ các ch s khác nhau lấy từ 10 s , vƠ YYY lƠ các ch cái khác nhau lấy
từ 26 ch cái. H i trong tr ng h p xấu nhất ph i th bao nhiêu lần để có đ c m t khẩu ban đầu? 4. Có 6 ng
i cùng m t lúc đăng ký th tƠi tin h c lƠ A, B, C, D, E, F:
a. Có bao nhiêu cách x p thứ tự thi đấu để DEF đứng c nh nhau?
b. Có bao nhiêu cách x p thứ tự thi đấu để luôn b t đầu b i A vƠ k t thúc b i F
5. Có bao nhiêu chu i 8 bit b t đầu bằng 1100?
6. Có bao nhiêu chu i 8 bit trong đó bit thứ 2 vƠ bit thứ 4 lƠ 1?
7. Có bao nhiêu chu i 8 bit đ c xuôi hay ng
c đ u gi ng nhau?
8. Có bao nhiêu xơu nh phơn có đ dƠi 8 b t đầu b i 110 vƠ 101?
9. Có bao nhiêu chu i 8 bit hoặc b t đầu bằng 100 hoặc có bit thứ 4 bằng 1?
10. Có bao nhiêu chu i 8 bit hoặc b t đầu bằng 10 hoặc k t thúc b i 01?
11. Có bao nhiêu xơu nh phơn đ dƠi 16 mƠ trong đó có đúng 4 s 1?
12. Các ký thự ABCDEF dùng để t o thƠnh các chu i có đ dƠi lƠ 3?

a. Có bao nhiêu chu i nh v y n u cho phép lặp.
b. Có bao nhiêu chu i nh v y n u không cho phép lặp.
c. Có bao nhiêu chu i b t đầu bằng A n u cho phép lặp.
d. Có bao nhiêu chu i b t đầu bằng A n u không cho phép lặp.
e. Có bao nhiêu chu i không chứa A n u cho phép lặp.
f. Có bao nhiêu chu i không chứa A n u không cho phép lặp.

13. Có bao nhiêu xơu ký tự có thể đ
c t o từ các ch cái Telecommunication? 14. Ph
ng trình x x x x  23 1 2 3 4
Có bao nhiêu b nghi m tự nhiên ( x , x , x , x ) sao cho 2  x  5 1 2 3 4 1 15. Ph
ng trình x x ... x 100 1 2 10
Có bao nhiêu b nghi m tự nhiên ( x , x ,..., x ) sao cho x 1, x  2,..., x 10 1 2 10 1 2 10 5 Bài tập toán r i r c CH NG 3: QUAN H
1. Cho 2 tập hợp X={a, b, c} và Y = {b, c, d, e} a. Tính X x Y
b. Tìm số quan hệ 2 ngôi trên Y
c. Tìm số quan hệ giữa X và Y chứa (b, c), (b, d)
d. Hãy tìm 1 quan hệ trên X có tính phản x và bắc cầu nhưng không đối xứng
e. Hãy tìm 1 quan hệ trên Y có tính phản x và đối xứng nhưng không bắc cầu.
2. R là một quan hệ trên A = {1, 2, 3, 4, 5} v i:
R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 1), (2, 2), (2, 4), (2, 5), (3, 1), (3, 3) , (4, 1), (4, 2), (4, 4), (5, 2), (5, 5)}
R có phải là 1 quan hệ tương đương hay không?
3. Cho R là 1 quan hệ trên tập hợp các số tự nhiên v i R = {(x, y): x+y chẵn}
Chứng minh R là 1 quan hệ tương đương
4. Cho R là 1 quan hệ trên A x A v i A= {1, 3, 5, 7, 8, 9} sao cho : (a, b) R (c, d)  b = d
a. Chứng minh R là 1 quan hệ tương đương
b. Tìm l p tương đương chứa (1, 3)
c. Phân ho ch A x A thành các l p tương đương tách biệt phân ho ch trên R
5. R là một quan hệ trên A x A v i A = {1, 2, 3, 4, 5}:
R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 4), (2, 5), (3, 3), (3, 5) , (4, 4), (4, 5), (5, 5)}
R có phải là 1 quan hệ thứ tự hay không?
6. Cho là 1 quan hệ trên X={ 2, 3, 4, 5, 12, 15, 60} xác định bởi: , x y X , x y y k , x k Z      
a. Chứng minh là 1 quan hệ thứ tự
b. Tìm các phần tử tối đ i, tối tiểu, l n nhất, nhỏ nhất xác định bởi quan hệ trên
c. Vẽ biểu đồ Hasse tương ứng
7. Cho là 1 quan hệ trên A x A v i A ={2, 4, 6, 12, 24} xác định bởi: (
 ,x y),(z,t) , A ( , x y) ( ,
z t)  x y z t
có phải là 1 quan hệ thứ tự hay không? Nếu là 1 quan hệ thứ tự thì xác định các
phần tử tối đ i, tối tiểu, l n nhất, nhỏ nhất xác định bởi quan hệ trên 6 Bài tập toán r i r c CH NG 4: Đ I S BOOLE
1. Cho (A, , ) là 1 Đ i số Boole hãy chứng minh: a. x   ,
A x x x b. x   ,
A x x x c. x   ,
A x   x d. x   , A x 1  x e.  , x y  ,
A x y x y f.  , x y  ,
A x y x y g.  , x y  ,
A x  (x y)  x h.  , x y  ,
A x  (x y)  x
2. Cho U30 = (1, 2, 3, 5, 6, 10, 15, 30)
Trên U30 ta định nghĩa 2 phép toán  và  như sau:
 ,x yU , x y UCLN( ,x y) 30
 ,x yU , x y BCLN( ,x y) 30
Chứng minh (U30, , ) là 1 Đ i số Boole
3. Đơn giản các hàm Bool sau và vẽ m ch của hàm đã đơn giản: a. f ( ,
x y, z)  x y z x y z x y z x y z x y z b. f ( ,
x y, z,t)  x y zt x y z t x y z t x y z t x y zt x y zt x y zt x y z t x y z t c. f ( ,
x y, z,t)  x y z t x y z t x y z t x y z t x y zt x y zt x y zt x y z t x y z t d. f ( ,
x y, z,t)  x y z x y z x y z t x y z t x y zt y zt x y zt x y z t x y t e. f ( ,
x y, z,t)  x y z t x y z t x y z t x y z x y zt y zt x y z y z t 7 Bài tập toán r i r c PH NG PHÁP HÀM SINH
Hàm sinh là một trong những sáng t o thần tình, bất ng , nhiều ứng dụng của toán r i
r c. Nói một cách nôm na, hàm sinh chuyển những bài toán về dãy số thành những bài toán
về hàm số. Điều này là rất tuyệt v i vì chúng ta đã có trong tay cả một cỗ máy l n để làm
việc v i các hàm số. Nh vào hàm sinh, chúng ta có thể áp dụng cỗ máy này vào các bài toán
dãy số. Bằng cách này, chúng ta có thể sử dụng hàm sinh trong việc giải tất cả các d ng toán
về phép đếm. Có cả một ngành toán học l n nghiên cứu về hàm sinh, vì thế, trong bài này,
chúng ta chỉ tìm hiểu những vấn đề căn bản nhất về chủ đề này.
Trong bài viết này, các dãy số sẽ được để trong ngoặc < > để phân biệt v i các đối tượng toán học khác. 1. Hàm sinh
Hàm sinh thường
của dãy số vô h ng ,…> là chuỗi luỹ thừa hình thức 0, g1, g2, g3
G(x) = g0 + g1x + g2x2 + g3x3 …
Ta gọi làm sinh là chuỗi hình thức bởi vì thông thư ng ta sẽ chỉ coi x là một ký hiệu thay thế
thay vì một số. Chỉ trong một vài trư ng hợp ta sẽ cho x nhận các giá trị thực, vì thế ta gần
như cũng không để ý đến sự hội tụ của các chuỗi. Có một số lo i hàm sinh khác nhưng trong
bài này, ta sẽ chỉ xét đến hàm sinh thư ng.
Trong bài này, ta sẽ ký hiệu sự tương ứng giữa một dãy số và hàm sinh bằng dấu mũi tên hai chiều như sau , …>  0, g1, g2, g3 g0 + g1x + g2x2 + g3x3 +…
Ví dụ, dư i đây là một số dãy số và hàm sinh của chúng
<0, 0, 0, 0, …>  0 + 0.x + 0.x2 + 0.x3 + … = 0
<1, 0, 0, 0, …>  1 + 0.x + 0.x2 + 0.x3 + … = 1
<3, 2, 1, 0, …>  3 + 2x + x2 + 0.x3 + … = x2 + 2x + 3
Quy tắc ở đây rất đơn giản: Số h ng thứ i của dãy số (đánh số từ 0) là hệ số của xi trong hàm sinh.
Nhắc l i công thức tính tổng của các số nhân lùi vô h n là 2 1 1 3
z z z ...  . 1  z
Đẳng thức này không đúng v i |z|  1, nhưng một lần nữa ta không quan tâm đến vấn đề hội
tụ. Công thức này cho chúng ta công thức tư ng minh cho hàm sinh của hàng lo t các dãy số
<1, 1, 1, 1, …>  1 + x + x2 + x3 + … = 1/(1-x) 8 Bài tập toán r i r c
<1, -1, 1, -1, …>  1 - x + x2 - x3 + … = 1/(1+x)
<1, a, a2, a3, …>  1 + ax + a2x2 + a3x3 + … = 1/(1-ax)
<1, 0, 1, 0, 1, 0, ...>  1 + x2 + x4 + … = 1/(1-x2)
Các phép toán trên hàm sinh
Phép màu của hàm sinh nằm ở chỗ ta có thể chuyển 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 các hàm sinh tương ứng của chúng. Chúng ta cùng xem
xét các phép toán và các tác động của chúng trong thuật ngữ dãy số. 2.1. Nhơn v i hằng s
Khi nhân hàm sinh v i một hằng số thì trong dãy số tương ứng, các số h ng sẽ được nhân
v i hằng số đó. Ví dụ
<1, 0, 1, 0, 1, 0, ...>  1 + x2 + x4 + … = 1/(1-x2)
Nhân hàm sinh v i 2, ta được
2/(1-x2) = 2 + 2x2 + 2x4 + … là hàm sinh của dãy số <2, 0, 2, 0, 2, 0, …>
Quy t c 1. (Quy tắc nhân v i hằng số) Nếu , …>  , …>  0, f1, f2, f3 F(x) thì cF(x) Chứng minh. , …>  0, cf1, cf2, cf3
cf0 + (cf1)x + (cf2)x2 + (cf3)x3 + …
= c(f0 + f1x+f2x2 + f3x3 + …) = cF(x). 2.2. C ng
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ố. Ví dụ,
ta cộng hai dãy số trư c đó
<1, 1, 1, 1, …>  1/(1-x)
+ <1, -1, 1, -1, …>  1/(1+x)
<2, 0, 2, 0, …>  1/(1-x) + 1/(1+x)
Bây gi ta thu được hai biểu thức khác nhau cùng sinh ra dãy (2, 0, 2, 0, …). Nhưng điều
này không có gì ng c nhiên vì thực ra chúng bằng nhau:
1/(1-x) + 1/(1+x) = [(1+x) + (1-x)]/(1-x)(1+x) = 2/(1-x2)
Quy t c 2. (Quy tắc cộng) Nếu , …>  , …>  0, f1, f2 F(x), G(x) 9 Bài tập toán r i r c thì , …>  0+g0, f1+g1, f2+g2 F(x) + G(x) Chứng minh. , …>  0+g0, f1+g1, f2+g2
f0+g0+ (f1+g1)x + (f2+g2)x2 + …
= (f0 + f1x + f2x2 + …) + (g0 + g1x + g2x2 + …) = F(x) + G(x)
2.3. D ch chuyển sang ph i
Ta bắt đầu từ một dãy số đơn giản và hàm sinh của nó
<1, 1, 1, 1, …>  1/(1-x)
Bây gi ta dịch chuyển dãy số sang phải bằng cách thêm k số 0 vào đầu
<0, 0, …, 0, 1, 1, 1, …>  xk + xk+1 + xk+2 + … = xk(1+x+x2 + …) = xk/(1-x)
Như vậy, thêm k số 0 vào đầu dãy số tương ứng v i việc nhân hàm sinh v i xk. Điều này
cũng đúng trong trư ng hợp tổng quát.
Quy t c 3. (Quy tắc dịch chuyển phải) Nếu , …>  0, f1, f2 F(x) thì <0, …, 0, f , …>  0, f1, f2 xk.F(x) (có k số 0) Chứng minh. <0, …, 0, f , …>  0, f1, f2 f0xk + f1xk+1 + f2xk+2 + … = xk(f0 + f1x + f2x2 + …) = xkF(x) 2.4. Đ o hƠm
Điều gì sẽ xảy ra nếu ta lấy đ o hàm của hàm sinh? Chúng ta hãy bắt đầu từ việc lấy đ o
hàm của một hàm sinh đã trở nên quen thuộc của dãy số toàn 1: d d 1 2 3 4 1
(  x x x x  ...)  ( ) dx dx 1  x 1 2 3
1  2x  3x  4x  ...  2 1 (  x) 1  ,1 , 2 , 3 ,... 4  2 1 (  x)
Ta tìm được hàm sinh cho dãy số <1, 2, 3, 4, …> !
Tổng quát, việc lấy đ o hàm của hàm sinh có hai tác động lên dãy số tương ứng: các số h ng
được nhân v i chỉ số và toàn bộ dãy số được dịch chuyển trái sang 1 vị trí.
Quy t c 4. (Quy tắc đ o hàm) Nếu , …>  0, f1, f2 F(x) thì  dF(x)/dx 10 Bài tập toán r i r c Chứng minh.  f1 + 2f2x + 3f3x2 + …
= (d/dx)(f0 + f1x + f2x2 + f3x3 + …) = dF(x)/dx
Quy tắc đ o hàm là một quy tắc rất hữu hiệu. Trong thực tế, ta thư ng xuyên cần đến một
trong hai tác động của phép đ o hàm, nhân số h ng v i chỉ số và dịch chuyển sang trái. Một
cách điển hình, ta chỉ muốn có một tác động và tìm cách “vô hiệu hoá” tác động còn l i. Ví
dụ, ta thử tìm hàm sinh cho dãy số <0, 1, 4, 9, 16, …>. Nếu ta có thể bắt đầu từ dãy <1, 1, 1,
1, …> thì bằng cách nhân v i chỉ số 2 lần, ta sẽ được kết quả mong muốn
<0.0, 1.1, 2.2, 3.3, …> = <0, 1, 4, 9, …>
Vấn đề là ở chỗ phép đ o hàm không chỉ nhân số h ng dãy số v i chỉ số mà còn dịch chuyển
sang trái 1 vị trí. Thế nhưng, quy tắc 3 dịch chuyển phải cho chúng ta cách để vô hiệu hoá
tác động này: nhân hàm sinh thu được cho x.
Như vậy cách làm của chúng ta là bắt đầu từ dãy số <1, 1, 1, 1, …>, lấy đ o hàm, nhân v i
x, lấy đ o hàm rồi l i nhân v i x.
<1, 1, 1, 1, …>  1/(1-x)
<1, 2, 3, 4, …>  (d/dx)(1/(1-x)) = 1/(1-x)2
<0, 1, 2, 3, 4, …>  x/(1-x)2
<1, 4, 9, 16, …>  (d/dx)( x/(1-x)2) = (1+x)/(1-x)3
<0, 1, 4, 9, 16, …>  x(1+x)/(1-x)3
Như vậy hàm sinh cho dãy các bình phương là x(1+x)/(1-x)3. 3. Dƣy s Fibonacci
Đôi khi chúng ta có thể tìm được hàm sinh cho các dãy số phức t p hơn. Chẳng h n dư i đây
là hàm sinh cho dãy số Fibonacci:
<0, 1, 1, 2, 3, 5, 8, 13, …>  x/(1-x-x2)
Chúng ta thấy dãy số Fibonacci biến đổi khá khó chịu, nhưng hàm sinh của nó thì rất đơn giản.
Chúng ta sẽ thiết lập công thức tính hàm sinh này và qua đó, tìm được công thức tư ng minh
tính các số h ng tổng quát của dãy số Fibonacci. Dĩ nhiên, chúng ta đã biết công thức tính số
h ng tổng quát của dãy Fibonacci trong phần phương pháp giải các phương trình sai phân
tuyến tính hệ số hằng. Nhưng điều này không ngăn cản chúng ta một lần nữa tìm cách giải
thích sự xuất hiện của phương trình đặc trưng, cách xử lý trư ng hợp nghiệm kép thông qua
công cụ hàm sinh. Hơn nữa, phương pháp hàm sinh còn giúp chúng ta giải quyết hàng lo t
các bài toán về dãy số đệ quy khác nữa, trong đó có những phương trình mà chúng ta hoàn
toàn bó tay v i các phương pháp khác. 3.1. Tìm hàm sinh
Ta bắt đầu bằng cách nhắc l i định nghĩa của dãy Fibonacci: f0 = 0 11 Bài tập toán r i r c f1 = 1 fn = fn-1 + fn-2 v i n  2
Ta có thể khai triển đẳng thức cuối cùng thành dãy vô h n các đẳng thức. Như thế dãy số Fibonacci xác định bởi f0 = 0 f1 = 1 f2 = f1 + f0 f3 = f2 + f1 f4 = f3 + f2 …
Bây gi , cách làm tổng quát của chúng ta là: định nghĩa F(x) là hàm sinh của dãy số ở bên
trái của các đẳng thức, chính là các số Fibonacci. Sau đó chúng ta tìm được hàm sinh cho dãy
số ở vế phải. Cho hai vế bằng nhau và ta giải ra được hàm sinh F(x). Ta hãy cùng làm điều
này. Đầu tiên ta định nghĩa
F(x) = f0 + f1x + f2x2 + f3x3 + f4x4 + …
Bây gi , ta cần tìm hàm sinh cho dãy số <0, 1, f , …> 1+f0, f2+f1, f3+f2
Một trong những cách tiếp cận là tách các dãy số của chúng ta thành cách dãy mà chúng ta
đã biết hàm sinh, sau đó áp dụng Quy tắc cộng
<0, 1, 0, 0, 0, …>  x <0, f , …>  0, f1, f2, f3 xF(x) +
<0, 0, f0, f1, f2, ...>  x2F(x) <0, 1+f , …> x + xF(x) + x2 0, f1+f0, f2+f1, f3+f2 F(x)
Dãy số này gần như là dãy số nằm ở vế phải của dãy Fibonacci, chỉ có 1 khác biệt duy nhất
là 1+f0 ở vị trí thứ hai. Nhưng do f0 = 0 nên điều này không có ý nghĩa gì.
Như vậy, ta có F(x) = x + xF(x) + x2F(x) và từ đó F(x) = x/(1-x-x2), đó chính là công thức
mà chúng ta đã nói đến ở phần đầu.
3.2. Tìm công thức t ng minh
T i sao chúng ta l i phải tìm hàm sinh của một dãy số? Có một vài câu trả l i cho câu hỏi
này, nhưng dư i đây là một trong những câu trả l i đó: nếu ta tìm được hàm sinh cho một
dãy số, trong nhiều trư ng hợp, ta có thể tìm được công thức tư ng minh cho các số h ng
của dãy số đó, và đây là điều rất cần thiết. Ví dụ công thức tư ng minh cho hệ số của xn
trong khai triển của x/(1-x-x2) chính là công thức tư ng minh cho số h ng thứ n của dãy số Fibonacci.
Như vậy công việc tiếp theo của chúng ta là tìm các hệ số từ hàm sinh. Có một vài cách tiếp
cận cho bài toán này. Đối v i các hàm phân thức, là tỷ số của các đa thức, chúng ta có thể sử
dụng phương pháp phân tích thành các phân thức sơ cấp mà chúng ta đã biết ở phần tích 12 Bài tập toán r i r c
phân các hàm hữu tỷ. Ta có thể tìm được dễ dàng các hệ số cho các phân thức sơ cấp, từ đó
tìm được các hệ số cần tìm.
Ta sẽ thử làm cho hàm sinh của dãy số Fibonacci. Đầu tiên, ta phân tích mẫu số ra thừa số
x/(1-x-x2) = x/(1-1x)(1-2x) trong đó 1  5 1  5   ,  
. Tiếp theo, ta tìm các hằng số A 1 1, A2 sao cho 2 2 2 x A A 1 2   1  x x2
1   x 1  x 1 2
Ta có thể làm điều này bằng phương pháp hệ số bất định hoặc thay x các giá trị khác nhau để
thu được các phương trình tuyến tính đối v i A . Ta có thể tìm được A 1, A2 1, A2 từ các
phương trình này. Thực hiện điều này, ta được 1 1 1 1 A   , A   . 1 1     1 2 5 1 2 5
Thay vào đẳng thức nói trên, ta được khai triển của F(x) thành các phân thức sơ cấp x 1  1 1  2     1  x x 5 1 x 1  1  x 2 
Mỗi một số h ng trong khai triển có chuỗi luỹ thừa đơn giản cho bởi công thức 1  1 2 2
 x  x  ... 1 1 1  x 1 1  1 2 2
 x  x  ... 1 2 2  x 2
Thay các công thức này vào, ta được chuỗi luỹ thừa cho hàm sinh 1  1 1  F (x)     5 1   x 1   x  1 2  1  1 (( 2 2
 x  x  ...)  1 ( 2 2
 x  x  ...)) 1 1 2 2 5 Từ đó suy ra n      n n   n  1 1 5 1 5 1 2   f n    .     5 5  2 2      
Đây chính là công thức mà ta cũng đã tìm được trong phần giải các phương trình sai phân
tuyến tính hệ số hằng. Cách tiếp cận m i này làm sáng tỏ thêm một số vấn của phương pháp
đã đề cập t i. Nói riêng, quy tắc tìm nghiệm của phương trình sai phân trong trư ng hợp
phương trình đặc trưng có nghiệm kép là hệ quả của quy tắc tìm khai triển phân thức sơ cấp! 4. Đ m bằng hƠm sinh
Hàm sinh có thể được áp dụng trong các bài toán đếm. Nói riêng, các bài toán chọn các phần
tử từ một tập hợp thông thư ng sẽ dẫn đến các hàm sinh. Khi hàm sinh được áp dụng theo
cách này, hệ số của xn chính là số cách chọn n phần tử. 13 Bài tập toán r i r c
4.1. Ch n các phần t khác nhau

Hàm sinh cho dãy các hệ số nhị thức được suy ra trực tiếp từ định lý nhị thức 0 1 2 k 0 1 k k k
C ,C ,C ,...,C ,... 0 , 0 ,
 C C x ... C x  1 (  x) k k k k k k k
Như vậy hệ số của xn trong (1+x)k bằng số cách chọn n phần tử phân biệt từ một tập hợp
gồm k phần tử. Ví dụ, hệ số của x
, số cách chọn 2 phần tử từ tập hợp k phần tử. 2 là C2k
Tương tự, hệ số của xk+1 là số cách chọn k+1 phần tử từ tập hợp k phần tử và như thế, bằng 0.
4.2. Xơy dựng các hƠm sinh để đ m
Thông thư ng ta có thể dịch mô tả của bài toán đếm thẳng sang ngôn ngữ hàm sinh để giải.
Ví dụ, ta có thể chứng tỏ rằng (1+x)k sẽ sinh ra số các cách chọn n phần tử phân biệt từ tập
hợp k phần tử mà không cần dùng đến định lý nhị thức hay các hệ số nhị thức!
Ta làm như sau. Đầu tiên, ta hãy xét tập hợp có một phần tử {a }. Hàm sinh cho số cách 1
chọn n phần tử từ tập hợp này đơn giản là 1 + x. Ta có 1 cách chọn không phần tử nào, 1
cách chọn 1 phần tử và 0 cách chọn hai phần tử trở lên. Tương tự, số cách chọn n phần tử từ
tập hợp {a } cũng cho bởi hàm sinh 1 + x. Sự khác biệt của các phần tử trong hai trư ng hợp 2
trên là không quan trọng.
Và bây gi là ý tưởng chính: hàm sinh cho số cách chọn các phần tử từ hợp của hai tập hợp
bằng tích các hàm sinh cho số cách chọn các phần tử từ mỗi tập hợp. Chúng ta sẽ giải thích
chặt chẽ điều này, nhưng trư c hết, hãy xem xét một ví dụ. Theo nguyên lý này, hàm sinh
cho số cách chọn các phần tử từ tập hợp {a1, a2} là
(1+x). (1+x) = (1+x)2 = 1 + 2x + x2
Có thể kiểm chứng rằng đối v i tập hợp {a
} ta có 1 cách chọn 0 phần tử, 2 cách chọn 1 1, a2
phần tử, 1 cách chọn 2 phần tử và 0 cách chọn 3 phần tử trở lên.
Tiếp tục áp dụng quy tắc này, ta sẽ được hàm sinh cho số cách chọn n phần tử từ tập hợp k phần tử (1+x).(1+x)…(1+x) = (1+x)k
Đây chính là công thức hàm sinh mà ta đã nhận được bằng cách sử dụng định lý nhị thức.
Nhưng lần này, chúng ta đã đi thẳng từ bài toán đếm đến hàm sinh.
Chúng ta có thể mở rộng điều này thành một nguyên lý tổng quát.
Quy t c 5 (Quy tắc xoắn). Gọi A(x) là hàm sinh cho cách chọn các phần tử từ tập hợp A và
B(x) là hàm sinh cho cách chọn các phần tử từ tập hợp B. Nếu A và B là r i nhau thì hàm
sinh cho cách chọn các phần tử từ A  B là A(x).B(x).
Quy tắc này là khá đa nghĩa, vì cần hiểu chính xác cách chọn các phần tử từ một tập hợp có
nghĩa là thế nào? Rất đáng chú ý là Quy tắc xoắn vẫn đúng cho nhiều cách hiểu khác nhau
của từ cách chọn. Ví dụ, ta có thể đòi hỏi chọn các phần tử phân biệt, cũng có thể cho phép
được chọn một số lần có gi i h n nào đó, hoặc cho chọn lặp l i tuỳ ý. Một cách nôm na, gi i
h n duy nhất là (1) thứ tự chọn các phần tử không quan trọng (2) những gi i h n áp dụng
cho việc chọn các phần tử của A và B cũng áp dụng cho việc chọn các phần tử của A  B
(Chặt chẽ hơn, cần có một song ánh giữa các cách chọn n phần tử từ A  B v i bộ sắp thứ tự
các cách chọn từ A và B chứa tổng thể n phần tử) 14 Bài tập toán r i r c Chứng minh. Định nghĩa    ( A x)   n a x , B(x) b x C x A x B x c x n   n, ( ) n  ( ). ( )   n. n n0 n0 n0
Đầu tiên ta hãy tính tích A(x).B(x) và biểu diễn hệ số c thông qua các hệ số a và b. Ta có thể n
sắp xếp các số h ng này thành d ng bảng b0 b1x b2x2 b3x3 … a0 a0b0 a0b1x a0b2x2 a0b3x3 … a1x a1b0x a1b1x2 a1b2x3 a2x2 a2b0x2 a2b1x3 a3x3 a3b0x3 …
Chú ý rằng các số h ng có cùng luỹ thừa của x xếp trên các đư ng chéo /. Nhóm tất cả các số
h ng này l i, ta thấy rằng hệ số của xn trong tích bằng
cn = a0bn + a1bn-1 + … + anb0
Bây gi ta chứng minh rằng đây cũng chính là số cách chọn n phần tử từ A  B. Một cách
tổng quát, ta có thể chọn n phần tử từ A  B bằng cách chọn j phần tử từ A và n-j phần tử từ
B, trong đó j là một số từ 0 đến n. Điều này có thể được thực hiện bằng ajbn-j cách. Lấy tổng từ 0 đến n, ta có a0bn + a1bn-1 + … + anb0
cách chọn n phần tử từ A  B. Đó chính xác là giá trị cn đã được tính ở trên.
Biểu thức cn = a0bn + a1bn-1 + … + anb0 đã được biết đến trong môn xử lý tín hiệu số; dãy c , …> là xoắn , …> và , …>. 1, c2, c3
(convolution) của hai dãy 0, b1, b2, b3
4.3. Ch n các phần t có lặp
Xét bài toán: Có bao nhiêu cách chọn 12 cây kẹo từ 5 lo i kẹo? Bài toán này có thể tổng quát
hoá như sau: Có bao nhiêu cách chọn ra k phần tử từ tập hợp có n phần tử, trong đó ta cho
phép một phần tử có thể được chọn nhiều lần? Trong thuật ngữ này, bài toán chọn kẹo có thể
phát biểu có bao nhiêu cách chọn 12 cây kẹo từ tập hợp
{kẹo sữa, kẹo sô-cô-la, kẹo chanh, kẹo dâu, kẹo cà-phê}
nếu ta cho phép lấy nhiều viên kẹo cùng lo i. Ta sẽ tiếp cận l i giải bài toán này từ góc nhìn của hàm sinh.
Giả sử ta chọn n phần tử (có lặp) từ tập hợp chỉ có duy nhất một phần tử. Khi đó có 1 cách
chọn 0 phần tử, 1 cách chọn 1 phần tử, 1 cách chọn 2 phần tử … Như thế, hàm sinh của cách
chọn có lặp từ tập hợp có 1 phần tử bằng
<1, 1, 1, 1, …>  1 + x + x2 + x3 + … = 1/(1-x) 15 Bài tập toán r i r c
Quy tắc xoắn nói rằng hàm sinh của cách chọn các phần tử từ hợp của các tập hợp r i nhau
bằng tích của các hàm sinh của cách chọn các phần tử từ mỗi tập hợp: 1 1 1 1 . ...  n 1 
x 1  x 1 x 1 (  x)
Như thế, hàm sinh của cách chọn các phần tử từ tập hợp n phần tử có lặp là 1/(1-x)n.
Bây gi ta cần tính các hệ số của hàm sinh này. Để làm điều này, ta sử dụng công thức Taylor:
Đ nh lý 1 (Đ nh lý Taylor) f '( ) 0 f ''( ) 0 k f f 2 ''' ) 0 ( ( ) 3 ) 0 (
f (x)  f ( ) 0  x x x  ...  k x  ... ! 1 ! 2 ! 3 ! k
Định lý này nói rằng hệ số của xk trong 1/(1-x)n bằng đ o hàm bậc k của nó t i điểm 0 chia
cho k!. Tính đ o hàm bậc k của hàm số này không khó. Đặt g(x) = 1/(1-x)n = (1-x)-n Ta có g’(x) = n(1-x)-n-1 g’’(x) = n(n+1)(1-x)-n-2
g’’’(x) = n(n+1)(n+2)(1-x)-n-3 …
g(k)(x) = n(n+1)…(n+k-1)(1-x)-n-k
Từ đó, hệ số của xk trong hàm sinh bằng (k g ) ( ) 0 n(n  )
1 ...(n k  ) 1 (n k  )! 1 k    C nk k! k! k!(n 1  )! 1
Như vậy số cách chọn k phần tử có lặp từ n phần tử bằng k C . nk 1 
5. M t bƠi toán đ m ắbất kh thi”
Từ đầu bài đến gi ta đã thấy những ứng dụng của hàm sinh. Tuy nhiên, những điều này ta
cũng có thể làm được bằng những cách khác. Bây gi ta xét một bài toán đếm rất khó chịu.
Có bao nhiêu nhiêu cách sắp một giỏ n trái cây thoả mãn các điều kiện ràng buộc sau:  Số táo phải chẵn
 Số chuối phải chia hết cho 5
 Chỉ có thể có nhiều nhất 4 quả cam
 Chỉ có thể có nhiều nhất 1 quả đào
Ví dụ, ta có 7 cách sắp giỏ trái cây có 6 trái: Táo 6 4 4 2 2 0 0 Chuối 0 0 0 0 0 5 5 Cam 0 2 1 4 3 1 0 Đào 0 0 1 0 1 0 1
Các điều kiện ràng buộc này quá phức t p và có cảm giác như việc đi tìm l i giải là vô vọng.
Nhưng ta hãy xem hàm sinh sẽ xử lý bài toán này thế nào. 16 Bài tập toán r i r c
Trư c hết, ta đi tìm hàm sinh cho số cách chọn táo. Có 1 cách chọn 0 quả táo, có 0 cách chọn
1 quả táo (vì số táo phải chẵn), có 1 cách chọn 2 quả táo, có 0 cách chọn 3 quả táo …Như thế ta có
A(x) = 1 + x2 + x4 + … = 1/(1-x2)
Tương tự, hàm sinh cho số cách chọn chuối là
B(x) = 1 + x5 + x10 + … = 1/(1-x5)
Bây gi , ta có thể chọn 0 quả cam bằng 1 cách, 1 quả cam bằng 1 cách, … Nhưng ta không
thể chọn hơn 4 quả cam, vì thế ta có
C(x) = 1 + x + x2 + x3 + x4 = (1-x5)/(1-x)
Và tương tự, hàm sinh cho số cách chọn đào là D(x) = 1 + x = (1-x2)/(1-x)
Theo quy tắc xoắn, hàm sinh cho cách chọn từ cả 4 lo i trái cây bằng 1 1 1 5  x 1 2  x 1 (
A x).B(x).C(x).D(x)  . . .  1 2x  3 2 x  4 3 x  ... 1 2  x 1 5
x 1 x 1 x 1 (  x)2
Gần như tất cả được giản ư c v i nhau! Chỉ còn l i 1/(1-x)2 mà ta đã tìm được chuỗi luỹ
thừa từ trư c đó. Như thế số cách sắp giỏ trái cây gồm n trái cây đơn giản bằng n+1. Điều
này phù hợp v i kết quả mà ta đã tìm ra trư c đó, vì có 7 cách sắp cho giỏ 6 trái cây. Thật là thú vị!
6. Các hƠm sinh th ng gặp
6.1. Đ nh lý nh thức m r ng.

V i u là một số thực và k là số nguyên không âm. Lúc đó hệ số nhị thức mở rộng u    được k  định nghĩa như sau
u u(u  )
1 ...(u k  ) 1 / k , ! k  0    
k   ,1 k  0
Đ nh lý 2. Cho x là số thực v i |x| < 1 và u là một số thực. Lúc đó u 1
(  x)u        k x . k k 0  
Định lý này có thể được chứng minh khá dễ dàng bằng cách sử dụng định lý Taylor.
Ví dụ. Tìm khai triển luỹ thừa của các hàm sinh (1+x)-n và (1-x)-n
Giải: Theo định lý nhị thức mở rộng, có thể suy ra n n    1 (  x)
   kx. k k 0   Theo định nghĩa
 n (n)(n  )...( 1 n k  ) 1 n(n  )...( 1 n k  ) 1 k k k   ( ) 1  ( ) 1 C n   kk k! k 1 !   17 Bài tập toán r i r c Từ đó  1
(  x) n    ( ) 1 k k k C x nk  . 1 k 0
Thay x bằng –x, ta được  1
(  x) n    k k C x nk  . 1 k 0
Ví dụ. Tìm khai triển luỹ thừa của (1-x)-1/2
Giải: Theo định lý nhị thức mở rộng, ta có 1/ 2 1/ 2    1 (  x)    k x . k k 0   Theo định nghĩa
 1 1   1   1 
 3   2k 1 k  .  1 ...  
k 1 ( )1   ...    k 1/ 2 2 2 2 2 2 2 C            k 2k    ( ) 1   k k k! k! 4   Từ đó k C  1 (  1/ 2 x)  ( k 2 ) 1 k k x . k k 0 4
Thay x bằng –x, ta được k C  1 (  1/ 2 x)   2k kx. k k 0 4
6.2. B ng các hƠm sinh th ng gặp HƠm s
Khai triển luỹ thừa ak 1/(1-x) 1 + x + x2 + x3 + … 1 1/(1+x) 1 – x + x2 – x3 + … (-1)k 1/(1-ax) 1 + ax + a2x2 + a3x3 + … ak (1-xn+1)/(1-x) 1 + x + x2 + …+ xn
1 nếu k  n, 0 nếu k > n (1+x)n 1 2 2 n n
1 C x C x  ...  C x k C n n n n 1/(1-x)n n(n  ) 1 n n n k 2 ( )( 1 ) 2 C 1 3  nx x x  ... n k 1  2 ! 3 1/(1-x)2 1 + 2x + 3x2 + 4x3 + … k+1 1/(1-ax)2 1 + 2ax + 3a2x2 + 4a3x3 + … (k+1)ak 1/(1-xr) 1 + xr + x2r + x3r + … 1 nếu r | k và 0 trong 18 Bài tập toán r i r c trư ng hợp ngược l i 1/(1+xr) 1 - xr + x2r - x3r + … (-1)s nếu k=sr và 0 trong trư ng hợp ngược l i ln(1+x)
x – x2/2 + x3/3 – x4/4 + … 0 khi k = 0 và (-1)k/k ln(1-x)
- x – x2/2 – x3/3 – x4/4 – … 0 khi k = 0 và -1/k arctgx x + x3/3 + x5/5 + … 0 v i k chẵn và 1/k v i k lẻ 7. Các ví d có l i gi i 7.1. Cấp s nhơn c ng
Ta thử tìm l i công thức tính số h ng tổng quát cho cấp số nhân cộng, tức là dãy số xác định
bởi a0 = a, an = axn-1 + d v i mọi n = 1, 2, 3, …
Đặt F(x) = a0 + a1x + a2x2 + a3x3 + …
Ta có F(x) = a0 + a1x + a2x2 + a3x3 + …
= a0 + (qa0 + d)x + (qa1+d)x2 + (qa2+d)x3 + …
= a0 + qx(a0+a1x+a2x2+…) + dx(1+x+x2+…) = a + qxF(x) + dx/(1-x) Từ đó suy ra
a  (d a)x F (x)  1 (  x 1 )(  qx) Ta tìm phân tích d ng
a  (d a)x A B   1 (  x 1 )(  qx) 1  x 1 qx
Quy đồng mẫu số chung, ta được a + (d-a)x = A + B – (B+qA)x. Từ đó A + B = a, B + qA = a – d
Suy ra A = d/(1-q) và B = a – d/(1-q).
Cuối cùng, áp dụng các công thức khai triển quen thuộc, ta được  d n d a a q  . n   1  q   1  q
7.2. Ph ng trình sai phơn không thuần nhất
Tiếp theo, ta xem hàm sinh “làm việc” thế nào đối v i các phương trình sai phân không thuần nhất.
Xét bài toán: Tìm công thức tổng quát của dãy số cho bởi a0 = 1, an = 2an-1 + 3n v i n = 1, 2, 3, ..
Theo đúng sơ đồ trên, ta xét F(x) = a0 + a1x + a2x2 + a3x3 + … 19