Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 152 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
152
Dung lượng
4,03 MB
Nội dung
TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐÀO TẠO QUỐC TẾ TẬP BÀI GIẢNG Mơn học: Tốn rời rạc Mã mơn học: MTH 254 Số tín chỉ: Thực hành: Lý thuyết: Dành cho sinh viên ngành: Công nghệ phần mềm, mạng máy tính, cao đẳng tin Khoa: Đào tạo quốc tế Bậc đào tạo: Đại học – Cao đẳng Học kỳ: Năm học: 2016-2017 Đà Nẵng, 2016 BỘ MƠN CMU TẬP BÀI GIẢNG TÍN CHỈ Tên mơn học: TỐN RỜI RẠC Số tín chỉ: 3TC (2LT + 1TH) Mã môn học: MTH 254 Học kỳ: Môn học: Bắt buộc 1.Thông tin giảng viên: Họ tên: Nguyễn Thị Anh Đào Chức danh, học hàm, học vị: Thạc sĩ Thời gian, địa điểm làm việc: Khoa ĐTQT - Trường ĐH Duy Tân Điện thoại: 0935861437 Email: nguyenthianhdao@duytan.edu.vn Các môn học tiên Lập trình sở, tốn A1 Các môn học Cơ sở liệu, Cấu trúc liệu, mạng máy tính LỜI NĨI ĐẦU Tốn rời rạc nhánh toán học nghiên cứu đối tượng rời rạc xem sở tốn học ngành khoa học máy tính Tốn rời rạc không cung cấp cho sinh viên kiến thức để ứng dụng việc giải toán cấu trúc rời rạc bắt nguồn từ tập hợp đối tượng, ví dụ tổ hợp, quan hệ, đồ thị…Mà cịn giúp sinh viên có điều kiện hiểu rõ chất việc lưu trữ xử lý thông tin máy tính q trình rời rạc Bài giảng phân bổ thành chương với nội dung sau: Chương 1: Các kiến thức sở Trình bày kiến thức logic mệnh đề, khái niệm cách đánh giá độ phức tạp thuật toán, quy nạp toán học đệ quy chương trình Chương 2: Lý thuyết tổ hợp Trình bày kiến thức phương pháp đếm, giải tích tổ hợp, tốn tồn tại, thuật tốn giải toán liệt kê Chương 3: Lý thuyết đồ thị Trình bày kiến thức sở đồ thị khái niệm, đường đồ thị ứng dụng đồ thị thực tế Chương 4: Đại số Boole Trình bày kiến thức Đại số Boole phương pháp cực tiểu hóa mạch hữu hiệu Bài giảng biên soạn với mong muốn chuyển tải kiến thức nhất, trọng tâm mơn Tốn rời rạc đến với bạn sinh viên quan tâm Rất mong nhận ý kiến đóng góp xây dựng để giảng hoàn thiện lần cải biên sau Nguyễn Thị Anh Đào Bộ môn CMU - Khoa ĐTQT Đà Nẵng, 2016 PHÂN BỔ THỜI GIAN GIẢNG DẠY GIỜ THỨ NỘI DUNG 1-3 CHƯƠNG 1: Logic toán quy tắc suy luận 4-6 CHƯƠNG 1: Đánh giá độ phức tạp thuật toán 7-9 CHƯƠNG 1: Quy nạp toán học giải thuật đệ quy lập trình 10-12 CHƯƠNG 2: Các nguyên lý đếm, giải tích tổ hợp 13-15 CHƯƠNG 2: Hệ thức truy hồi 16-18 CHƯƠNG 2: Bài toán tồn + Ôn tập 19- 21 CHƯƠNG 3: Các khái niệm, biểu diễn đồ thị duyệt đồ thị 22-24 CHƯƠNG 3: Khái niệm đường đi, chu trình Euler Hamilton 25-27 CHƯƠNG 3: Các toán tối ưu đồ thị 28- 30 CHƯƠNG 4: Đại số Boole, biểu diễn hàm Boole 31-33 CHƯƠNG 4: Mạch tổ hợp cực tiểu hóa mạch + Ơn tập TRANG Tập giảng: Toán rời rạc MỤC LỤC Chương CÁC KIẾN THỨC CƠ SỞ A MỤC TIÊU CHƯƠNG B NỘI DUNG CHƯƠNG HỌC 1.1 Logic mệnh đề 1.1.1 Các phép toán logic 1.1.2 Các luật tương đương logic 11 1.1.3 Logic vị từ 14 1.2 Thuật toán 16 1.2.1 Khái niệm 16 1.2.2 Đánh giá độ phức tạp thuật toán 17 1.3 Quy nạp toán học đệ quy 20 1.3.1 Quy nạp toán học 20 1.3.2 Giải thuật đệ quy 22 C TÀI LIỆU THAM KHẢO 25 D BÀI TẬP CHƯƠNG 26 Chương LÝ THUYẾT TỔ HỢP 29 A MỤC TIÊU CHƯƠNG 29 B NỘI DUNG CHƯƠNG HỌC 29 2.1 Tập hợp 29 2.1.1 Các khái niệm 29 2.1.2 Các phép toán tập hợp 30 2.2 Những nguyên lý đếm 32 2.2.1 Nguyên lý cộng 32 2.2.2 Nguyên lý nhân 34 2.2.3 Nguyên lý bù trừ 35 2.3 Giải tích tổ hợp 36 2.3.1 Chỉnh hợp (không lặp) 36 2.3.2 Chỉnh hợp lặp 37 2.3.3 Tổ hợp 38 GV: Nguyễn Thị Anh Đào Trang Tập giảng: Toán rời rạc 2.3.4 Hoán vị lặp 39 2.3.5 Tổ hợp lặp 40 2.4 Hệ thức truy hồi 42 2.4.1 Mở đầu 42 2.4.2 Giải hệ thức truy hồi phương pháp lặp 44 2.4.3 Giải hệ thức truy hồi cách sử dụng phương trình đặc trưng 44 2.5 Bài toán tồn 47 2.5.1 Phương pháp phản chứng 47 2.5.2 Nguyên lý chuồng bồ câu 47 2.6 Bài toán liệt kê 50 2.6.1 Phát biểu toán 50 2.6.2 Phương pháp sinh 50 2.6.3 Phương pháp quay lui 54 C TÀI LIỆU THAM KHẢO 58 D BÀI TẬP CHƯƠNG 59 Chương LÝ THUYẾT ĐỒ THỊ 63 A MỤC TIÊU CHƯƠNG 63 B NỘI DUNG CHƯƠNG HỌC 63 3.1 Các khái niệm 64 3.1.1 Các định nghĩa 64 3.1.2 Đường đi, chu trình đồ thị liên thơng 69 3.1.2.1 Đường chu trình 69 3.1.2.2 Đồ thị liên thông 70 3.1.3 Đồ thị phẳng – Sự đồng phân 71 3.1.3.1 Đồ thị phẳng 71 3.1.3.2 Đồng phân 73 3.2 Biểu diễn đồ thị 75 3.2.1 Dùng ma trận kề 75 3.2.2 Dùng danh sách kề (danh sách cạnh) 77 3.2.3 Đồ thị đẳng cấu 78 GV: Nguyễn Thị Anh Đào Trang Tập giảng: Toán rời rạc 3.3 Các phương pháp duyệt đồ thị 79 3.3.1 Duyệt đồ thị theo chiều sâu(Depth First Search) 79 3.3.2 Duyệt đồ thị theo chiều rộng (Breadth First Search) 81 3.4 Đồ thị Euler Hamilton 82 3.4.1 Đồ thị Euler 82 3.4.2 Đồ thị Hamilton 86 3.5 Các thuật toán tối ưu đồ thị 89 3.5.1 Tìm đường ngắn (Dijkstra) 89 3.5.2 Tìm khung nhỏ (Prim) 91 C TÀI LIỆU THAM KHẢO 95 D BÀI TẬP CHƯƠNG 95 Chương THIẾT KẾ MẠCH TỔ HỢP 99 A MỤC TIÊU CHƯƠNG 99 B NỘI DUNG CHƯƠNG 99 4.1 Đại số Boole 100 4.1.1 Định nghĩa đại số Boole 100 4.1.2 Các ví dụ .100 4.2 Biểu diễn hàm Boole 101 4.2.1 Định nghĩa 101 4.2.2 Các ví dụ .101 4.2.3 Các đẳng thức đại số Boole 103 4.2.4 Biểu diễn hàm Boole 105 4.2.5 Khai triển tổng tích 106 4.2.6 Tính đầy đủ 108 4.3 Mạch tổ hợp 110 4.3.1 Các cổng logic 110 4.3.1.1 Cổng NOT (bộ đảo) 110 4.3.1.2 Cổng AND 110 4.3.1.3 Cổng OR 110 4.3.2 Tổ hợp cổng 111 GV: Nguyễn Thị Anh Đào Trang Tập giảng: Toán rời rạc 4.3.3 Bộ cộng .111 4.3.4 Cực tiểu hóa mạch 114 4.3.4.1 Bản đồ Karnaugh 115 4.3.4.2 Phương pháp Quine- McCluskey 118 4.4 Ứng dụng mạch tổ hợp 120 4.4.1 Mạch biểu theo đa số 120 4.4.2 Mạch điều khiển nhiều công tắc 122 C TÀI LIỆU THAM KHẢO .124 D BÀI TẬP CHƯƠNG 125 GV: Nguyễn Thị Anh Đào Trang Tập giảng: Toán rời rạc Chương CÁC KIẾN THỨC CƠ SỞ A MỤC TIÊU CHƯƠNG VỀ KIẾN THỨC: Cung cấp cho sinh viên kiến thức về: Mệnh đề logic mệnh đề; Các quy tắc suy luận để xác định suy diễn hay sai; Khái niệm thuật toán cách đánh giá độ phức tạp thuật toán; Quy nạp tốn học đệ quy lập trình VỀ KỸ NĂNG: Sau học xong chương sinh viên vận dụng luật đại số mệnh đề để chứng minh rút gọn biểu thức mệnh đề Bên cạnh đó, sinh viên đánh giá thuật tốn có độ phức tạp thấp hay cao để từ có giải thuật tốt Ngồi sinh viên vận dụng kiến thức vào thực tế để giải toán sử dụng giải thuật đệ quy B NỘI DUNG CHƯƠNG HỌC 1.1 Logic mệnh đề Logic gì? Là nhánh triết học toán học, nghiên cứu nguyên tắc, phương pháp tiêu chuẩn hình thức cho hợp lệ suy luận kiến thức Ứng dụng logic: o Trong suy luận toán học o Trong khoa học máy tính: thiết kế vi mạch, xây dựng chương trình, kiểm chứng chương trình, trí tuệ nhân tạo Mệnh đề: phát biểu, câu trần thuật, nhận giá trị hoặc sai Một số ví dụ mệnh đề: o Ví dụ sau mệnh đề GV: Nguyễn Thị Anh Đào Trang Tập giảng: Toán rời rạc + = (nhận giá trị sai) Thành phố Đà Nẵng giáp với tỉnh Quảng Nam (nhận giá trị đúng) o Ví dụ sau khơng mệnh đề Hơm thứ mấy? Ơi đẹp quá! X + = (x không rõ giá trị) Việc xác định sai mệnh đề nhiệm vụ logic Câu có chứa thời gian mệnh đề thời gian xác định Một số quy ước: o p, q, r,… dùng để ký hiệu mệnh đề biến mệnh đề o Giá trị chân lý mệnh đề True(1), sai False(0) o Bảng chân trị: dùng để biểu diễn mối quan hệ giá trị chân lý mệnh đề 1.1.1 Các phép toán logic 1.1.1.1 Phép phủ định Cho mệnh đề p, phép phủ định mệnh đề p ký hiệu p (đọc phủ p không p) Chân trị mệnh đề p xác định theo bảng chân trị sau: p p 1 Ví dụ: o p: số nguyên tố Đây mệnh đề có giá trị sai o p: khơng phải số nguyên tố Đây mệnh đề có giá trị 1.1.1.2 Phép hội Cho mệnh đề p,q, phép hội mệnh đề p, q ký hiệu p q ( đọc p hội q p q) Chân trị p q p q có chân trị 1, trường hợp khác p q có chân trị Phép hội p q xác định bảng chân trị sau: GV: Nguyễn Thị Anh Đào Trang III Hệ thức truy hồi A Lý thuyết Định nghĩa hệ thức truy hồi: Hệ thức truy hồi dãy số {an} công thức biểu diễn an qua hay nhiều số hạng trước dãy, cụ thể a1, a2, …, an-1 với n n0 nguyên dương Dãy số gọi lời giải hay nghiệm hệ thức truy hồi số hạng thỏa mãn hệ thức truy hồi Giải hệ thức truy hồi: Bằng phương pháp lặp Bằng phương trình đặc trưng Giải hệ thức truy hồi máy tính: dùng giải thuật đệ quy Ví dụ 1: Viết chương trình cài đặt tốn lãi kép Ta có P0=1000000, lãi suất d=0,11 Pn=Pn-1+d*Pn-1 #include #include using namespace std; int n=10,p0=5,d=2; int a(int n){ if(n==0)return p0; else return *a(n-1); } void main() { cout