Bé gi¸o dôc vµ ®µo t¹o
®¹i häc huÕ
trêng ®¹i häc khoa häc
nguyÔn gia ®Þnh
gi¸o tr×nh
To¸n rêi r¹c
000
100
010
001
011
101
111110
huÕ 2003
LI NÓI ĐẦU
Được s động viên mnh m ca các đồng nghip trong các Khoa Toán-Cơ-Tin
hc, Công ngh Thông tin và Vt lý (Trường Đại hc Khoa hc-Đại hc Huế), các Khoa
Toán và Tin hc (Trường Đại hc Sư phm-Đại hc Huế) và đặc bit do nhu cu hc tp
ca các sinh viên trong Đại hc Huế các Khoa nói trên và các hc viên cao hc ngành
Phương pháp ging dy Toán, chúng tôi mnh dn viết giáo trình Toán ri rc trong khi
trên th trường sách có khá nhiu tài liu liên quan đến Toán ri rc. Điu mà chúng tôi
mong mun là các kiến thc ca hc phn này phi được đưa vào đầy đủ, cô đọng,
chính xác, cp nht, bám sát theo yêu cu đào to sinh viên các ngành Công ngh Thông
tin, Toán-Tin, Vt lý-Tin và mt s ngành k thut khác ca các trường đại hc và cao
đẳng.
Vi s n lc hết mình ca bn thân, chúng tôi thiết nghĩ đây s là tài liu tham
kho tt cho các giáo viên ging dy hc phn toán ri rc, các hc viên cao hc ngành
Phương pháp ging dy Toán, các thí sinh thi vào cao hc ngành công ngh thông tin,
các sinh viên thuc các ngành được đề cp trên và các hc sinh thuc khi chuyên
Toán, chuyên Tin.
Ni dung ca tài liu này được b trí trong 4 phn, không k li nói đầu, mc lc,
tài liu tham kho và phn ph lc:
-- Phn 1 được dành cho Chương I đề cp đến Thut toán;
-- Phn 2 được dành cho Chương II nói đến bài toán đếm;
-- Phn 3, đây là phn chiếm nhiu trang nht trong giáo trình, bàn v Lý thuyết đồ th
các ng dng gm 5 chương: Đồ th, Đồ th Euler và đồ th Hamilton, Mt s bài toán
ti ưu trên đồ th, Cây, Đồ th phng và tô màu đồ th;
-- Phn 4 được dành cho Chương 8, chương cui cùng, đề cp đến Đại s Boole.
Trong mi chương, các chng minh ca các định lý, mnh đề được trình bày chi tiết,
ngoi tr mt s định lý có phn chng minh quá phc tp thì được chúng tôi b qua.
Trong các phn ca mi chương có nhiu ví d c th minh ho cho nhng khái nim
cũng như nhng kết qu ca chúng. Cui ca mi chương là nhng bài tp được chn
lc t d đến khó, bám theo ni dung ca chương đó.
Chúng tôi xin chân thành cám ơn các đồng nghip đã động viên và góp ý cho
công vic viết giáo trình Toán ri rc này và li cám ơn đặc bit xin dành cho Khoa
Công ngh Thông tin v s giúp đỡ quý báu và to điu kin thun li cho vic xut bn
giáo trình này.
Tác gi mong nhn được s ch giáo ca các đồng nghip và độc gi v nhng
thiếu sót khó tránh khi ca cun sách.
Mùa Thu năm 2003
Toán ri rc - Nguyn Gia Định 1
MC LC
Li nói đầu......................................................................................................................1
Mc lc............................................................................................................................2
Chương I: Thut toán ....................................................................................................4
1.1. Khái nim thut toán .................................................................................................4
1.2. Thut toán tìm kiếm...................................................................................................5
1.3. Độ phc tp ca thut toán........................................................................................7
1.4. S nguyên và thut toán ...........................................................................................12
1.5. Thut toán đệ quy .....................................................................................................17
Bài tp Chương I .............................................................................................................19
Chương II: Bài toán đếm..............................................................................................22
2.1. Cơ s ca phép đếm .................................................................................................22
2.2. Nguyên lý Dirichlet ..................................................................................................25
2.3. Chnh hp và t hp suy rng ..................................................................................28
2.4. Sinh các hoán v và t hp........................................................................................30
2.5. H thc truy hi........................................................................................................32
2.6. Quan h chia để tr....................................................................................................34
Bài tp Chương II ............................................................................................................35
Chương III: Đồ th.........................................................................................................37
3.1. Định nghĩa và thí d.................................................................................................37
3.2. Bc ca đỉnh .............................................................................................................39
3.3. Nhng đơn đồ th đặc bit ........................................................................................41
3.4. Biu din đồ th bng ma trn và s đẳng cu đồ th...............................................44
3.5. Các đồ th mi t đồ th cũ.......................................................................................46
3.6. Tính liên thông .........................................................................................................47
Bài tp Chương III...........................................................................................................51
Chương IV: Đồ th Euler và Đồ th Hamilton ............................................................54
4.1. Đường đi Euler và đồ th Euler ................................................................................54
4.2. Đường đi Hamilton và đồ th Hamilton....................................................................58
Bài tp Chương IV...........................................................................................................64
Chương V: Mt s bài toán ti ưu trên đồ th............................................................67
5.1. Đồ th có trng s và bài toán đường đi ngn nht ..................................................67
5.2. Bài toán lung cc đại..............................................................................................72
5.3. Bài toán du lch.........................................................................................................79
Bài tp Chương V............................................................................................................84
Toán ri rc - Nguyn Gia Định 2
Chương VI: Cây.............................................................................................................87
6.1. Định nghĩa và các tính cht cơ bn...........................................................................87
6.2. Cây khung và bài toán tìm cây khung nh nht .......................................................88
6.3. Cây có gc ................................................................................................................93
6.4. Duyt cây nh phân...................................................................................................94
Bài tp Chương VI......................................................................................................... 101
Chương VII: Đồ th phng và tô màu đồ th............................................................. 104
7.1. Đồ th phng ........................................................................................................... 104
7.2. Đồ th không phng ................................................................................................ 106
7.3. Tô màu đồ th.......................................................................................................... 107
Bài tp Chương VII ....................................................................................................... 112
Chương VIII: Đại s Boole ......................................................................................... 114
8.1. Khái nim đại s Boole .......................................................................................... 114
8.2. Hàm Boole.............................................................................................................. 117
8.3. Mch lôgic .............................................................................................................. 120
8.4. Cc tiu hoá các mch lôgic................................................................................... 125
Bài tp Chương VIII...................................................................................................... 132
Tài liu tham kho....................................................................................................... 134
Phn ph lc................................................................................................................ 135
Ph lc 1 ....................................................................................................................... 135
Ph lc 2 ....................................................................................................................... 158
Toán ri rc - Nguyn Gia Định 3
CHƯƠNG I:
THUT TOÁN
1.1. KHÁI NIM THUT TOÁN.
1.1.1. M đầu:
Có nhiu lp bài toán tng quát xut hin trong toán hc ri rc. Chng hn, cho
mt dãy các s nguyên, tìm s ln nht; cho mt tp hp, lit kê các tp con ca nó; cho
tp hp các s nguyên, xếp chúng theo th t tăng dn; cho mt mng, tìm đường đi
ngn nht gia hai đỉnh ca nó. Khi được giao cho mt bài toán như vy thì vic đầu
tiên phi làm là xây dng mt mô hình dch bài toán đó thành ng cnh toán hc. Các
cu trúc ri rc được dùng trong các mô hình này là tp hp, dãy, hàm, hoán v, quan h,
cùng vi các cu trúc khác như đồ th, cây, mng - nhng khái nim s được nghiên cu
các chương sau.
Lp được mt mô hình toán hc thích hp ch là mt phn ca quá trình gii. Để
hoàn tt quá trình gii, còn cn phi có mt phương pháp dùng mô hình để gii bài toán
tng quát. Nói mt cách lý tưởng, cái được đòi hi là mt th tc, đó là dãy các bước
dn ti đáp s mong mun. Mt dãy các bước như vy, được gi là mt thut toán.
Khi thiết kế và cài đặt mt phn mm tin hc cho mt vn đề nào đó, ta cn phi
đưa ra phương pháp gii quyết mà thc cht đó là thut toán gii quyết vn đề này. Rõ
ràng rng, nếu không tìm được mt phương pháp gii quyết thì không th lp trình
được. Chính vì thế, thut toán là khái nim nn tng ca hu hết các lĩnh vc ca tin
hc.
1.1.2. Định nghĩa: Thut toán là mt bng lit kê các ch dn (hay quy tc) cn thc
hin theo tng bước xác định nhm gii mt bài toán đã cho.
Thut ng “Algorithm” (thut toán) là xut phát t tên nhà toán hc Rp Al-
Khowarizmi. Ban đầu, t algorism được dùng để ch các quy tc thc hin các phép tính
s hc trên các s thp phân. Sau đó, algorism chuyn thành algorithm vào thế k 19.
Vi s quan tâm ngày càng tăng đối vi các máy tính, khái nim thut toán đã được cho
mt ý nghĩa chung hơn, bao hàm c các th tc xác định để gii các bài toán, ch không
phi ch là th tc để thc hin các phép tính s hc.
nhiu cách trình bày thut toán: dùng ngôn ng t nhiên, ngôn ng lưu đồ (sơ
đồ khi), ngôn ng lp trình. Tuy nhiên, mt khi dùng ngôn ng lp trình thì ch nhng
lnh được phép trong ngôn ng đó mi có th dùng được và điu này thường làm cho s
mô t các thut toán tr nên ri rm và khó hiu. Hơn na, vì nhiu ngôn ng lp trình
đều được dùng rng rãi, nên chn mt ngôn ng đặc bit nào đó là điu người ta không
mun. Vì vy đây các thut toán ngoài vic được trình bày bng ngôn ng t nhiên
cùng vi nhng ký hiu toán hc quen thuc còn dùng mt dng giđể mô t thut
Toán ri rc - Nguyn Gia Định 4