Вы находитесь на странице: 1из 5

BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI

TS.Nguyễn Long Giang (chủ biên)


ThS.Bùi Thị Thùy – KS.Nguyễn Thùy Dung

GIÁO TRÌNH
(Lưu hành nội bộ)

TOÁN RỜI RẠC


(Version 1.0)

HÀ NỘI, 2014
MỤC LỤC

MỞ ĐẦU ........................................................................................................................ 1

PHẦN I. LÝ THUYẾT TỔ HỢP ................................................................................. 2

Chương 1. NHỮNG KIẾN THỨC CƠ BẢN .............................................................. 2


1.1. Giới thiệu tổng quan lý thuyết tổ hợp .............................................................. 2
1.2. Khái niệm về lý thuyết tổ hợp .............................................................................. 3
1.3. Lý thuyết tổ hợp ................................................................................................. 19
1.4. Hai nguyên lý cơ bản .......................................................................................... 25
1.5. Bài tập chương 1 ................................................................................................. 28

Chương 2. BÀI TOÁN ĐẾM ....................................................................................... 31


2.1. Giới thiệu bài toán .......................................................................................... 31
2.2. Nguyên lý bù trừ ............................................................................................. 32
2.3. Hệ thức truy hồi .............................................................................................. 36
2.4. Bài tập chương 2 ............................................................................................ 44

Chƣơng 3. BÀI TOÁN TỒN TẠI .............................................................................. 48


3.1. Giới thiệu bài toán. ............................................................................................. 48
3.2. Nguyên lý Dirichlet ............................................................................................ 52
3.3. Bài tập chương 3 ................................................................................................. 60

Chƣơng 4. BÀI TOÁN LIỆT KÊ ............................................................................... 61


4.1. Giới thiệu bài toán .............................................................................................. 61
4.2. Giới thiệu một số thuật toán ............................................................................... 61
4.3. Bài tập chương 4 ................................................................................................. 70

Chƣơng 5. BÀI TOÁN TỐI ƢU ................................................................................. 71


5.1. Giới thiệu bài toán .............................................................................................. 71
5.2. Thuật toán Nhánh cận giải bài toán người du lịch ............................................. 75
5.3. Thuật toán JONHSON ........................................................................................ 85
5.4. Bài tập chương 5 ................................................................................................. 90

PHẦN II. LÝ THUYẾT ĐỒ THỊ .............................................................................. 92

Chƣơng 6. CÁC KHÁI NIỆM CƠ BẢN ................................................................... 92


6.1. Định nghĩa đồ thị ................................................................................................ 92
6.2. Biểu diễn đồ thị .................................................................................................. 94
6.3. Các thuật ngữ cơ bản và một số tính chất của đồ thị .......................................... 96
6.4. Một số dạng đồ thị đặc biệt .............................................................................. 105
6.5. Bài tập chương 6 ............................................................................................... 109

Chƣơng 7. BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH ............................................ 113


7.1. Ma trận kề, ma trận trọng số............................................................................ 113
7.2. Danh sách cạnh (cung) ..................................................................................... 114
7.3. Danh sách kề..................................................................................................... 115
7.4. Bài tập chương 7 ............................................................................................... 116

Chƣơng 8. CÁC THUẬT TOÁN TÌM KIẾM TRÊN ĐỒ THỊ............................. 119


8.1. Tìm kiến theo chiều sâu (Depth-first search - DFS) ........................................ 119
8.2. Tìm kiếm đồ thị theo chiều rộng (Breadth First Search-BFS) ......................... 121
8.3. Xác định các thành phần liên thông ................................................................. 123
8.4. Tìm đương đi giữa hai đỉnh bất kỳ của đồ thị ................................................. 125
8.5. Bài tập chương 8 ............................................................................................... 127

Chƣơng 9. ĐỒ THỊ EULER VÀ ĐỒ THỊ HAMILTON ....................................... 129


9.1. Đường đi Euler và Đồ thị Euler ....................................................................... 129
9.2. Đường đi Hamilton và đồ thị Hamilton ........................................................... 136
9.3. Bài tập chương 9 ............................................................................................... 143

Chƣơng 10. CÂY VÀ CÂY KHUNG CỦA ĐỒ THỊ ............................................. 147


10.1. Định nghĩa và các tính chất cơ bản ................................................................ 147
10.2. Cây khung của đồ thị ...................................................................................... 155
10.3. Xây dựng tập các chu trình của đồ thị ............................................................ 158
10.4. Bài toán tìm cây khung nhỏ nhất .................................................................... 159
10.5. Bài tập chương 10........................................................................................... 166

Chƣơng 11. BÀI TOÁN TÌM ĐƢỜNG ĐI NGẮN NHẤT .................................... 169
11.1. Các khái niệm cơ bản. .................................................................................... 169
11.2. Đường đi ngắn nhất xuất phát từ một đỉnh..................................................... 171
11.3. Thuật toán Dijkstra ......................................................................................... 173
11.4. Bài tập chương 11........................................................................................... 179

PHẦN III – LÝ THUYẾT ĐẠI SỐ BOOLE .......................................................... 182

Chƣơng 12. ĐAI SỐ MỆNH ĐỀ .............................................................................. 182


12.1. Các phép toán và công thức............................................................................ 182
12.2. Điều kiện đồng nhất đúng .............................................................................. 190
12.3. Bài tập chương 12........................................................................................... 193

Chƣơng 13. ĐẠI SỐ BOOLE ................................................................................... 196


13.1. Khái niệm đại số Boole. ................................................................................ 196
13.2. Biến Boole hàm Boole ................................................................................... 197
13.3. Bài tập chương 13........................................................................................... 208

TÀI LIỆU THAM KHẢO ........................................................................................ 210


MỞ ĐẦU

Toán rời rạc là một lĩnh vực nghiên cứu và xử lý các đối tượng rời rạc, dùng để
đếm các đối tượng, và nghiên cứu mối quan hệ giữa các tập rời rạc. Một trong những
yếu tố làm Toán rời rạc trở nên quan trọng là việc lưu trữ, xử lý thông tin trong các hệ
thống máy tính về bản chất là rời rạc. Chính vì lý do đó, Toán học rời rạc là một môn
học bắt buộc mang tính chất kinh điển của các ngành Công nghệ thông tin. Tài liệu
này được xây dựa trên kinh nghiệm giảng dạy, nghiên cứu môn học và thừa kế từ các
giáo trình “Toán rời rạc ” của Đỗ Đức Giáo, Nguyễn Đức Nghĩa-Nguyễn Tô Thành và
“Toán học rời rạc ứng dụng trong tin học” của Kenneth Rossen nhằm giúp sinh viên
ngành Tin học tại trường Đại học Tài nguyên và Môi trường Hà Nội có được giáo
trình học tập và nghiên cứu cô đọng và tổng quát nhất. Tài liệu được trình bày thành
ba phần:
Phần I trình bày những kiến thức cơ bản về lý thuyết tổ hợp thông qua việc giải
quyết bốn bài toán cơ bản đó là: Bài toán đếm; Bài toán tồn tại; Bài toán liệt kê; Bài
toán tối ưu.
Phần II trình bày những kiến thức cơ bản về Lý thuyết đồ thị: khái niệm, định
nghĩa, các thuật toán trên đồ thị, đồ thị Euler, đồ thị Hamilton, cây và các thuật toán
cây. Một số bài toán có ứng dụng thực tiễn quan trọng khác của lý thuyết đồ thị.
Phần III trình bày những kiến thức về đại số mệnh đề và đại số Boole: khái niệm,
phép toán, phương pháp và hàm ứng dụng tổ chức, sắp xếp, lưu trữ và xử lý thông tin.
Trong mỗi phần của tài liệu, chúng tôi cố gắng trình bày ngắn gọn trực tiếp vào
bản chất của vấn đề, mỗi phần có bài tập ví dụ minh họa có giải thích chi tiết và bài tập
tự giải, đồng thời cài đặt hầu hết các thuật toán bằng ngôn ngữ lập trình C nhằm đạt
được hai mục tiêu chính cho người học: Nâng cao tư duy toán học trong phân tích,
thiết kế thuật toán và rèn luyện kỹ năng lập trình với những thuật toán phức tạp. Mặc
dù đã rất cẩn trọng trong quá trình biên soạn, tuy nhiên tài liệu không tránh khỏi những
thiếu sót và hạn chế. Chúng tôi rất mong được sự góp ý quý báu của tất cả đọc giả và
các bạn đồng nghiệp. Mọi góp ý xin gửi về: Khoa Công nghệ Thông tin –Đại học Tài
nguyên và Môi trường Hà Nội.

Вам также может понравиться