Còn các câu 4 và 5 không phải là mệnh đề vì chúng chẳng đúng cũng chẳng sai bởi các biến x, N trong những câu này còn chƣa đƣợc gán cho giá trị cụ thể nào.. Mục đích của các phép toán mệ
Trang 1TRƯỜNG ĐẠI HỌC AN GIANG
KHOA KỸ THUẬT – CÔNG NGHỆ – MÔI TRƯỜNG
Tài liệu giảng dạy TOÁN RỜI RẠC
ThS Lê Văn Toán ThS Trương Thị Diễm
An Giang, 07-2016
Trang 3Tài liệu giảng dạy “Toán rời rạc”, do tác giả Lê Văn Toán và Trương Thị Diễm, công tác tại Khoa Kỹ thuật – Công nghệ – Môi trường thực hiện Tác giả đã báo cáo nội dung và được Hội đồng Khoa học và đào tạo Khoa thông qua ngày 20/07/2016
Tác giả biên soạn
ThS Lê Văn Toán, ThS Trương Thị Diễm
Hiệu trưởng
An Giang, 07-2016
Trang 5LỜI NÓI ĐẦU
Toán rời rạc là một lĩnh vực của toán học nghiên cứu các đối tượng rời rạc
Nó được ứng dụng trong nhiều ngành khoa học khác nhau, đặc biệt là trong tin học bởi quá trình xử lý thông tin trên máy tính bản chất là các quá trình rời rạc Phạm vi nghiên cứu của Toán rời rạc rất rộng, có thể chia thành các môn học khác nhau Tài liệu này đề cập đến các kiến thức cơ bản như: Cơ sở logic, Bài toán đếm và Đại số Boole Nội dung tài liệu được chia thành 3 chương:
- Chương 1: trình bày những vấn đề cơ bản nhất của logic học bao gồm: mệnh đề; các quy luật logic; vị từ và lượng từ; suy luận toán học
- Chương 2: trình bày các vấn đề cơ bản của phép đếm và giải tích tổ hợp; nguyên lý Dirichlet dùng để chứng minh sự tồn tại của cấu hình tổ hợp thỏa mãn điều kiện cho trước
- Chương 3: trình bày các vấn đề cơ bản về hàm Boole, biểu thức Boole; vấn
đề tổ hợp các cổng logic theo biểu thức Boole cho trước; vấn đề tối thiểu hóa hàm Boole bằng phương pháp biến đổi đại số, phương pháp Karnaugh, phương pháp Quine – Mc.Cluskey
Trong mỗi chương chúng tôi cố gắng trình bày các kiến thức cơ bản nhất của chương đó cùng các ví dụ minh họa cụ thể Cuối mỗi chương đều có các bài tập để người học ứng dụng, kiểm chứng các lý thuyết đã học
Trong quá trình biên soạn tác giả đã có nhiều cố gắng nhưng chắc chắn tài liệu vẫn còn nhiều thiếu sót Tác giả rất mong nhận được các ý kiến đóng góp của các đồng nghiệp và bạn đọc để tài liệu được hoàn thiện hơn
Cuối cùng tác giả xin chân thành cảm ơn các bạn đồng nghiệp đã động viên
và góp ý cho việc biên soạn tài liệu giảng dạy Toán rời rạc Đặc biệt chúng tôi xin cảm ơn Tiến sĩ Nguyễn Văn Hòa đã hiệu chỉnh và cho nhiều ý kiến đóng góp bổ ích
và thiết thực
Ngày 15 tháng 06 năm 2016 Nhóm thực hiện
ThS Lê Văn Toán, ThS Trương Thị Diễm
Trang 7MỤC LỤC
Trang
LỜI NÓI ĐẦU i
LỜI CAM KẾT ii
MỤC LỤC iii
DANH SÁCH BẢNG vi
DANH SÁCH HÌNH vii
CHƯƠNG 1 CƠ SỞ LOGIC 1
1.1 MỆNH ĐỀ 1
1.1.1 Khái niệm mệnh đề 1
1.1.2 Một số quy ước 2
1.1.3 Phân loại mệnh đề 2
1.2 CÁC PHÉP TOÁN TRÊN MỆNH ĐỀ 3
1.2.1 Bảng chân trị 3
1.2.2 Phép phủ định 3
1.2.3 Phép hội 4
1.2.4 Phép tuyển 6
1.2.5 Phéo kéo theo 8
1.2.6 Phép tương đương 10
1.3 BIỂU THỨC LOGIC 11
1.3.1 Ðịnh nghĩa 11
1.3.2 Bảng chân trị của biểu thức logic 11
1.3.3 Biểu thức hằng đúng, biểu thức hằng sai 13
1.3.4 Biểu thức tiếp liên 14
1.3.5 Mệnh đề hệ quả 14
1.3.6 Sự tương đương logic 15
1.3.7 Ðộ ưu tiên của các phép toán 16
1.4 CÁC QUI LUẬT LOGIC 17
1.4.1 Các luật logic 17
1.4.2 Các qui tắc thay thế 19
1.5 DỊCH NHỮNG CÂU THÔNG THƯỜNG 22
1.6 CÁC ỨNG DỤNG CỦA LOGIC 23
1.7 VỊ TỪ VÀ LƯỢNG TỪ 24
1.7.1 Vị từ 25
Trang 81.7.2 Các phép toán trên vị từ 26
1.7.3 Lượng từ 26
1.7.4 Phủ định của mệnh đề 28
1.7.5 Quy tắc đặc biệt hóa phổ dụng 29
1.7.6 Quy tắc tổng quát hóa phổ dụng 29
1.7.7 Dịch các câu thông thường thành biểu thức logic 30
1.8 QUI TẮC SUY DIỄN 30
1.8.1 Ðịnh nghĩa qui tắc suy diễn 31
1.8.2 Kiểm tra một qui tắc suy diễn 32
1.8.3 Các qui tắc suy diễn cơ bản 33
1.8.4 Kiểm tra các phép suy luận cụ thể 37
BÀI TẬP CHƯƠNG 1 39
CHƯƠNG 2 BÀI TOÁN ĐẾM 47
2.1 NHỮNG NGUYÊN LÝ ĐẾM CƠ BẢN 47
2.1.1 Nguyên lý cộng 47
2.1.2 Nguyên lý nhân 49
2.1.3 Những bài toán đếm phức tạp hơn 52
2.2 NGUYÊN LÝ BÙ TRỪ 54
2.3 GIẢI TÍCH TỔ HỢP 56
2.3.1 Hoán vị, chỉnh hợp và tổ hợp 56
2.3.2 Hoán vị, chỉnh hợp và tổ hợp lặp 60
2.4 NGUYÊN LÝ DIRICHLET (NGUYÊN LÝ CHUỒNG BỒ CÂU) 63
2.4.1 Nguyên lý Dirichlet 64
2.4.2 Nguyên lý Dirichlet tổng quát 65
BÀI TẬP CHƯƠNG 2 68
CHƯƠNG 3 ĐẠI SỐ BOOLE 72
3.1 HÀM BOOLE 72
3.1.1 Mở đầu 72
3.1.2 Hàm Boole 73
3.2 BIỂU THỨC BOOLE 76
3.2.1 Định nghĩa 76
3.2.2 Các hằng đẳng thức của đại số Boole 77
3.2.3 Tính đối ngẫu 79
3.2.4 Quy tắc thay thế 80
3.3 ĐỊNH NGHĨA TRỪU TƯỢNG CỦA ĐẠI SỐ BOOLE 80
3.4 BIỂU DIỄN CÁC HÀM BOOLE 81
3.4.1 Khai triển tổng các tích 82
Trang 93.4.2 Định nghĩa 83
3.5 CÁC CỔNG LOGIC VÀ TỔ HỢP CÁC CỔNG LOGIC 87
3.5.1 Các cổng logic 87
3.5.2 Tổ hợp các cổng logic 88
3.6 TỐI THIỂU HÓA HÀM BOOLE 92
3.6.1 Phương pháp biến đổi đại số 92
3.6.2 Phương pháp bảng Karnaugh 94
3.6.3 Phương pháp Quine – McCluskey 101
BÀI TẬP CHƯƠNG 3 106
TÀI LIỆU THAM KHẢO 109
Trang 10DANH SÁCH BẢNG
Bảng 1.1 Bảng chân trị của phép phủ định đối với một mệnh đề 3
Bảng 1.2 Bảng chân trị của mệnh đề p 4
Bảng 1.3 Bảng chân trị đối với hội của hai mệnh đề 5
Bảng 1.4 Bảng chân trị đối với phép tuyển của hai mệnh đề 6
Bảng 1.5 Bảng chân trị của mệnh đề p p 7
Bảng 1.6 Bảng chân trị của mệnh đề p q 8
Bảng 1.7 Bảng chân trị đối với phép kéo theo p q 9
Bảng 1.8 Bảng chân trị đối với mệnh đề tương đương p q 10
Bảng 1.9 Bảng minh họa số trường hợp chân trị theo số biến n 11
Bảng 1.10 Bảng chân trị đối với các mệnh đề p q và pq 12
Bảng 1.11 Bảng chân trị đối với mệnh đề p (q r) 12
Bảng 1.12 Bảng chân trị đối với các mệnh đề pp và pp 13
Bảng 1.13 Bảng chân trị đối với mệnh đề pqq 14
Bảng 1.14 Bảng chân trị của E = ( p → q ) ∧ ( q → r ) và F = (p → r) 14
Bảng 1.15 Bảng chân trị của biểu thức p q và p q 15
Bảng 1.16 Bảng chân trị của biểu thức E = p q và F = p q 16
Bảng 1.17 Độ ưu tiên của các phép toán logic 16
Bảng 1.18 Các tương đương logic 17
Bảng 1.19 Bảng chân trị đối với cặp vị từ P(a,b) 27
Bảng 1.20 Bảng chân trị đối với biểu thức ((p q) p) q 32
Bảng 3.1 Bảng chân trị của hàm Boole f(x, y) 74
Bảng 3.2 Bảng chân trị của hàm Boole f (x 1 , x 2 , x 3 ) 74
Bảng 3.3 Số các hàm Boole bậc n 75
Bảng 3.4 Số các hàm Boole bậc 1 76
Bảng 3.5 Số hàm Boole bậc 2 76
Bảng 3.6 Các giá trị của hàm Boole f(x, y, z) = xy+z 77
Bảng 3.7 Các hằng đẳng thức của đại số Boole 77
Bảng 3.8 Bảng giá trị của 3 ngắt điện f(a,b,c) 82
Bảng 3.9 Bảng giá trị của hàm f x y z( , , ) (x y z) 85
Bảng 3.10 Bảng các giá trị của hàm f x y z( , , ) (x y z) 86
Bảng 3.11: Bảng Karnaugh hàm Boole 2 biến 94
Bảng 3.12: Bảng Karnaugh hàm Boole 3 biến 96
Bảng 3.13: Bảng Karnaugh hàm Boole 4 biến 99
Trang 11DANH SÁCH HÌNH
Hình 3.1 Sơ đồ mạch điện gồm 3 ngắt điện 81
Hình 3.2 Các cổng logic 87
Hình 3.3 Cổng NOT 88
Hình 3.4 Cổng OR 88
Hình 3.5 Cổng AND 88
Hình 3.6 Mạch tổ hợp có đầu ra xy + x y 89
Hình 3.7 Mạch tổ hợp có đầu ra x.y + yz 89
Hình 3.8 Mạch tổ hợp có đầu ra (x+y) x 90
Hình 3.9 Mạch tổ hợp có đầu ra x y( z) 90
Hình 3.10 Mạch tổ hợp có đầu ra xy + xz + yz 91
Hình 3.11 Mạch tổ hợp có đầu ra f(x, y) = xy + x y 91
Hình 3.12 Mạch tổ hợp của f(x, y, z) = xyzx yz 93
Hình 3.13 Mạch tổ hợp của f(x, y) = xz 93
Hình 3.14 Mạch tổ hợp của f(x, y) = xyxyx y 93
Hình 3.15 Mạch tổ hợp của f(x, y) = x + y 94
Trang 131.1 MỆNH ĐỀ
1.1.1 Khái niệm mệnh đề
Chúng ta sẽ bắt đầu bằng việc xem xét những viên gạch cơ sở xây dựng nên toán logic – đó là các mệnh đề
Một mệnh đề là một khẳng định có giá trị chân lý xác định (đúng hoặc sai
nhưng không thể vừa đúng vừa sai)
Ví dụ 1: Các khẳng định sau là mệnh đề
1 Hà Nội là thủ đô của Việt Nam
2 Môn Toán rời rạc là môn bắt buộc cho ngành Tin học
Một mệnh đề không thể vừa đúng vừa sai
Logic mệnh đề không quan tâm đến các mệnh đề không đủ nghĩa để khẳng định kết quả là đúng hay sai Hay nói cách khác, các câu hỏi, các khẳng định dưới dạng cảm thán hoặc mệnh lệnh,… không phải là mệnh đề vì tính đúng sai của chúng không xác định
Ví dụ 2: Các phát biểu sau đây không phải là các mệnh đề vì tính đúng sai
của chúng không xác định
1 Bạn có khỏe không? (Câu hỏi)
2 Hôm nay trời đẹp quá! (Câu cảm thán)
3 Học bài đi! (Câu mệnh lệnh)
Trang 144 x + 1 = 2
5 N là số nguyên tố
Các câu 1, 2 và 3 không phải là mệnh đề vì tính đúng sai của chúng không xác định, do đó là các câu hỏi, cảm thán và mệnh lệnh Còn các câu 4 và 5 không phải là mệnh đề vì chúng chẳng đúng cũng chẳng sai bởi các biến x, N trong những câu này còn chƣa đƣợc gán cho giá trị cụ thể nào Tuy nhiên, trong câu 5 nếu thay N bởi một số nguyên cố định nào đó thì ta sẽ đƣợc một mệnh đề: chẳng hạn với N = 3
ta đƣợc một mệnh đề đúng, trong khi với N = 4 ta đƣợc một mệnh đề sai Khẳng định này đƣợc gọi là một vị từ và cũng là đối tƣợng chúng ta sẽ thảo luận tiếp sau phần mệnh đề
1.1.2 Một số quy ƣớc
Các chữ cái sẽ đƣợc dùng để ký hiệu các mệnh đề, cũng nhƣ để ký hiệu các
biến Những chữ cái quy ƣớc đƣợc dùng vào mục đích này là: p, q, r, s…
Giá trị đúng hoặc sai của một mệnh đề đƣợc gọi là giá trị chân trị (hay chân
lý của mệnh đề) Giá trị chân trị của một mệnh đề là đúng nếu đó là mệnh đề đúng
và sẽ đƣợc ký hiệu là 1 hoặc T (True) Ngƣợc lại, mệnh đề sai đƣợc nói là có giá trị chân trị sai, ký hiệu là 0 hoặc F (False)
Mệnh đề sơ cấp: Các mệnh đề hoặc đúng, hoặc sai đƣợc gọi là mệnh đề sơ
cấp hay còn gọi là biến mệnh đề, đó là các mệnh đề mà theo nghĩa là nó không thể phân tích thành một hay nhiều mệnh đề thành phần đơn giản hơn
Mệnh đề phức hợp: là mệnh đề đƣợc tạo thành từ một hay nhiều mệnh đề sơ
cấp khác bằng cách sử dụng các liên kết logic nhƣ từ “không” dùng trong việc phủ định một mệnh đề, các liên kết logic khác nhƣ: “và”, “hay”, “hoặc”,
Trang 15“2 là một số nguyên tố” và “2 là một số lẻ” nhờ vào liên kết logic “và”
Định nghĩa: Hai mệnh đề sơ cấp p và q được gọi là tương đương logic với
nhau nếu chúng cùng đúng hoặc cùng sai
Hai mệnh đề p và q tương đương với nhau được ký hiệu là p q
Ví dụ 2: “Số 6 không phải là số nguyên tố” và “10 : 2 = 5” là hai mệnh đề
tương đương, trong khi đó “1 + 2 = 5” và “6 chia hết cho 3” là hai mệnh đề không tương đương
1.2 CÁC PHÉP TOÁN TRÊN MỆNH ĐỀ
Phép toán mệnh đề là phương pháp tạo ra các mệnh đề mới từ các mệnh đề đã
có Hay nói cách khác, từ một hay nhiều mệnh đề, có thể xây dựng những mệnh đề mới ngày càng phức tạp hơn nhờ các phép toán logic
Mục đích của các phép toán mệnh đề là nghiên cứu chân trị của một mệnh đề phức hợp theo chân trị của các mệnh đề sơ cấp cấu thành mệnh đề phức hợp đó nhờ vào các phép toán logic Các phép toán logic ở đây là các ký hiệu được dùng thay cho các từ liên kết logic như "không", "và", "hay", "hoặc", "suy ra" hay "nếu thì ", "nếu và chỉ nếu"
Ký hiệu là p (hoặc p) (đọc là “không” p hay “phủ định của” p)
Bảng 1.1 Bảng chân trị của phép phủ định đối với một mệnh đề
Trang 16Trong cột thứ nhất của bảng chân trị, ta liệt kê đầy đủ các trường hợp chân trị
có thể có của mệnh đề p Ở cột thứ hai kê ra chân trị tương ứng của mệnh đề p theo từng trường hợp chân trị của mệnh đề p Mệnh đề phủ định p có chân trị là đúng (1) khi mệnh đề p có chân trị sai (0), ngược lại p có chân trị sai (0) khi p có chân trị
đúng (1)
Qui tắc: Nếu p có giá trị là 1 thì phủ định p có giá trị là 0 và ngược lại
Ví dụ 1: Nếu ta ký hiệu p = “2 > 0” thì p = “2 0”
Trong trường hợp này p đúng, p sai Ta có thể viết p = 1, p = 0
Ví dụ 2: Tìm phủ định của mệnh đề: “Hôm nay là chủ nhật”
Trên mỗi dòng giá trị trong bảng chân trị ta có chân trị của p và p đều bằng
nhau (so sánh cột 1 và cột 3 trong bảng)
Vậy p và p có cùng chân trị Ta cũng nói rằng p tương đương logic với p
Phủ định của một mệnh đề cũng có thể được xem như là kết quả tác dụng của toán tử phủ định lên một mệnh đề Toán tử phủ định xây dựng một mệnh đề mới từ một mệnh đề đơn hiện có Bây giờ chúng ta sẽ đưa vào các toán tử logic được dùng
để tạo ra các mệnh đề mới từ hai hoặc nhiều hơn các mệnh đề hiện có
1.2.3 Phép hội
Giả sử p và q là hai mệnh đề Mệnh đề “p và q”, được ký hiệu bởi p q, là
đúng khi cả p và q đều đúng, còn sai trong các trường hợp còn lại
Mệnh đề p q được gọi là hội của 2 mệnh đề p và q
Trang 17Bảng 1.3 Bảng chân trị đối với hội của hai mệnh đề
Chân trị của mệnh đề p q phụ thuộc vào các chân trị của 2 mệnh đề p, q Ta
có 4 trường hợp chân trị của p q ứng với 4 trường hợp chân trị của cặp mệnh đề (p, q) là (0,0), (0,1), (1,0), (1,1) Trong 4 trường hợp chỉ có một trường hợp mệnh đề p
Ví dụ 2: Giả sử p là mệnh đề “Hôm nay là chủ nhật” và q là mệnh đề “Hôm
nay trời mưa” Tìm hội của các mệnh đề p và q
Giải
Hội của hai mệnh đề p q là mệnh đề “Hôm nay là chủ nhật và trời mưa” Mệnh đề này là đúng vào hôm chủ nhật trời mưa và là sai vào bất kỳ ngày nào không phải là chủ nhật và vào ngày chủ nhật nhưng trời không mưa
Ví dụ 3: Giả sử p là mệnh đề “Hôm nay cô ấy đẹp” và q là mệnh đề “Hôm
nay cô ấy thông minh” Tìm hội của các mệnh đề p và q
Giải
Hội của hai mệnh đề p q là mệnh đề “Hôm nay, cô ấy đẹp và thông minh” Mệnh đề này chỉ được xem là mệnh đề đúng khi cả hai điều kiện “cô ấy đẹp” và “cô
ấy thông minh” đều xảy ra Ngược lại, nếu chỉ có 1 trong 2 điều kiện trên đúng, hoặc
cả hai đều sai thì mệnh đề là một mệnh đề sai
Trang 18 Chú ý:
- Khi nối hai mệnh đề bởi từ “và” để diễn tả phép hội ta thường bỏ bớt một
số từ trùng lặp hoặc sửa đổi một số ít ở câu văn Ví dụ trong các mệnh đề dưới đây các từ trong dấu ngoặc được lược bỏ:
“Số 2 (là số chẵn) và số 4 là số chẵn”
“Hùng rất thích học Toán và (Hùng rất thích học) Tin học”
- Phép hội có thể được diễn đạt bởi các liên từ như: đồng thời, nhưng,…hoặc bởi dấu phẩy
“Minh yếu Anh văn nhưng giỏi Toán”
“Lan vừa yếu Toán vừa yếu Anh văn”
“Chồng cày, vợ cấy, con trâu đi bừa” (Ca dao)
- Mặt khác, không phải bao giờ từ và cũng có ý nghĩa của phép hội
“Nói và làm đi đôi với nhau”
“Hùng có 12 cây bút màu xanh và màu vàng”
Mệnh đề p q được gọi là tuyển của p và q
Bảng 1.4 Bảng chân trị đối với phép tuyển của hai mệnh đề
Chân trị của mệnh đề phức hợp p q phụ thuộc vào các chân trị của 2 mệnh
đề sơ cấp p và q Trong 4 trường hợp chỉ có một trường hợp mệnh đề p q sai, đó là trường hợp p sai và q sai
Qui tắc: mệnh đề p q sai khi cả p và q đều sai và đúng trong các trường
hợp còn lại
Trang 19p: “Nam đang học bài”
q: “Nam đang sử dụng máy tính”
Ta có p q: “Nam đang học bài hoặc sử dụng máy tính”
p q là mệnh đề đúng nếu lúc này Nam học bài hoặc sử dụng máy tính hoặc đang thực hiện cả hai vừa học bài vừa sử dụng máy tính Ngược lại, nếu cả hai việc trên đều không xảy ra, chẳng hạn Nam đi chơi, thì mệnh đề p q là sai
Trong mệnh đề p q, từ “hoặc” trong phép tuyển được dùng theo nghĩa bao
hàm, nghĩa là phép tuyển là đúng khi một trong hai mệnh đề là đúng hoặc cả hai mệnh đề đều đúng
Tuy nhiên, trong ngôn ngữ tự nhiên thì liên từ hoặc thường được dùng theo
hai nghĩa Ví dụ với mệnh đề:
“Cô Lan đi đến Huế hoặc Nha Trang”
người ta có thể hiểu theo hai cách khác nhau:
Cô Lan đi đến Huế hoặc Nha Trang và có thể đến cả hai nơi đó
Cô Lan đi đến Huế hoặc Nha Trang và chỉ đến một trong hai nơi đó
Trang 20Để chính xác, khi cần thiết, người ta dùng:
- p và/hoặc q: để chỉ p hoặc q và có thể cả p lẫn q, và dùng kí hiệu , gọi là
- Thuốc này có thể gây phản ứng sốt và/hoặc nhức đầu
- Cô Lan đi đến Huế và/hoặc Nha Trang
- Cô Lan đi đến Huế hoặc Nha Trang
Trong tài liệu này, khi nói đến phép tuyển thì ta luôn hiểu đó là phép tuyển không chặt
Tiếp theo chúng ta sẽ xem xét một số phép toán quan trọng khác có thể tạo nên các mệnh đề
1.2.5 Phéo kéo theo
Giả sử p và q là hai mệnh đề Mệnh đề kéo theo, được kí hiệu p q, là sai khi p đúng và q sai, là đúng trong các trường hợp còn lại Trong phép kéo theo này p
được gọi là giả thuyết (hay nguyên nhân) còn q được gọi là kết luận(hay kết quả)
Vì phép kéo theo xuất hiện ở nhiều chỗ trong các suy luận toán học, nên có rất nhiều thuật ngữ được dùng để biểu đạt p q Dưới đây là một số ví dụ thường gặp nhất:
- “Nếu p thì q”;
- “p kéo theo q”;
- “p là điều kiện đủ của q”
- “q là điều kiện cần của p”
Trang 21Bảng 1.7 Bảng chân trị đối với phép kéo theo p q
- trời nắng và tác giả ngồi nhà: mệnh đề rõ ràng là sai
- trời mưa và tác giả đi ra bãi biển: mệnh đề vẫn đúng
- trời mưa và tác giả ngồi nhà: mặc dù ngồi nhà, nhưng tác giả không vi
phạm khẳng định của mình nên mệnh đề vẫn phải được xem là đúng
p: “Nếu hôm nay trời nắng, chúng tôi sẽ đi ra bãi biển”
là một phép kéo theo được dùng trong ngôn ngữ thông thường, vì ở đây có mối quan hệ giữa giả thuyết và kết luận Hơn nữa, phép kéo theo này được xem là đúng trừ phi hôm nay trời thực sự nắng, nhưng chúng tôi không đi ra bãi biển
Trang 22Trái lại, phép kéo theo
q: “Nếu hôm nay là thứ sáu, thì 2 + 3 = 5”
là đúng theo định nghĩa của phép toán kéo theo, vì kết luận là đúng (khi đó giá trị chân trị của giả thuyết là không quan trọng)
Phép kéo theo
r: “Nếu hôm nay là thứ sáu, thì 2 + 3 = 6”
là đúng với mọi ngày trừ thứ sáu, vì 2 + 3 = 6 là sai
Trong ngôn ngữ tự nhiên chúng ta thường không dùng hai phép kéo theo q, r trong ba ví dụ nêu ở trên, vì không có mối quan hệ giữa giả thuyết và kết luận trong hai phép kéo theo đó Trong suy luận toán học chúng ta xét các phép kéo theo thuộc loại tổng quát hơn trong ngôn ngữ thông thường Khái niệm toán học về phép kéo theo độc lập với mối quan hệ nhân – quả giữa giả thuyết và kết luận
1.2.6 Phép tương đương
Giả sử p và q là hai mệnh đề Mệnh đề tương đương, được kí hiệu bởi p q,
là đúng khi p và q có cùng giá trị chân trị, là sai trong các trường hợp còn lại
Mệnh đề p q còn được gọi là mệnh đề hai điều kiện
Trong các suy luận toán học phép tương đương p q được dùng để diễn đạt
“p nếu và chỉ nếu q”; “p khi và chỉ khi q”; “p là cần và đủ đối với q” hay “Nếu p thì q và ngược lại”
Bảng 1.8 Bảng chân trị đối với mệnh đề tương đương p q
Qui tắc: Mệnh đề p q có chân trị đúng trong các trường hợp p và q có
cùng chân trị, còn sai trong các trường hợp còn lại
Ví dụ:
- Một số chia hết cho 3 khi và chỉ khi nó có tổng các chữ số chia hết cho 3
- Mệnh đề “Tam giác ABC vuông tại A khi và chỉ khi BC2 = AB2 + AC2”
là mệnh đề đúng vì nếu tam giác ABC vuông tại A thì ta luôn luôn có BC2
= AB2 + AC2 và ngược lại (định lý Pitagore)
Trang 23là một biểu thức logic trong đó p, q, r là các biến mệnh đề
1.3.2 Bảng chân trị của biểu thức logic
Bảng chân trị của một biểu thức logic là bảng liệt kê chân trị của biểu thức logic theo các trường hợp về chân trị của tất cả các biến mệnh đề trong biểu thức logic hay theo các bộ giá trị của bộ biến mệnh đề
Với một biến mệnh đề, ta có 2 trường hợp là 0 (sai) hoặc 1 (đúng) Với 2 biến mệnh đề p, q ta có 4 trường hợp chân trị của bộ biến (p, q) là các bộ giá trị (0,0), (0,1), (1,0), và (1,1)
Trong trường hợp tổng quát, với n biến mệnh đề thì ta có 2n
trường hợp chân trị cho bộ n biến đó
Bảng 1.9 cho tương ứng với số biến mệnh đề thì ta có số trường hợp chân trị ứng với xâu nhị phân và các số nguyên
Bảng 1.9 Bảng minh họa số trường hợp chân trị theo số biến n
Số biến Số trường
hợp chân trị
Xâu nhị phân tương ứng Số nguyên
Trang 24Số biến Số trường
hợp chân trị
Xâu nhị phân tương ứng Số nguyên
Trang 25p q r q r p (q r)
1.3.3 Biểu thức hằng đúng, biểu thức hằng sai
Biểu thức logic E được gọi là hằng đúng nếu chân trị của E luôn luôn bằng 1 (đúng) trong mọi trường hợp về chân trị của các biến mệnh đề trong biểu thức E Nói một cách khác, E là một hằng đúng khi ta có: E 1
Biểu thức logic E được gọi là hằng sai nếu chân trị của E luôn luôn bằng 0 (sai) trong mọi trường hợp về chân trị của các biến mệnh đề trong biểu thức E Nói một cách khác, E là một hằng sai khi ta có: E 0
Như vậy, ta có thể kiểm tra xem một biểu thức logic có phải là hằng đúng (hằng sai) hay không bằng cách lập bảng chân trị của biểu thức logic đó
Ví dụ: Cho mệnh đề p Xét bảng chân trị của các mệnh đề pp và pp
Bảng 1.12 Bảng chân trị đối với các mệnh đề pp và pp
- Giả sử E và F là 2 biểu thức logic Khi đó, E tương đương logic với F (tức
là ta có E F) khi và chỉ khi biểu thức logic E F là hằng đúng
- Quan hệ "tương đương logic với", ký hiệu bởi , là một quan hệ tương đương trên tập hợp các biểu thức logic theo các biến mệnh đề p1, p2, … ,
pn Ta chú ý đến tính chất sau đây: Nếu E F và F G thì E G
Trang 261.3.4 Biểu thức tiếp liên
Một tiếp liên là một biểu thức logic không phải là hằng đúng và cũng không phải là hằng sai
Ví dụ: Tìm chân trị của biểu thức logic pqq
Bảng 1.13 Bảng chân trị đối với mệnh đề pqq
Trang 27Nhận xét: Nếu F là hệ quả của E thì khi E là đúng, bắt buộc F phải đúng
Ngược lại, nếu F là đúng thì chưa có kết luận gì về chân trị của E Vậy, F là hệ quả của E
1.3.6 Sự tương đương logic
Định nghĩa 1: Hai biểu thức logic E và F theo các biến mệnh đề nào đó được gọi là tương đương logic khi E và F luôn luôn có cùng chân trị trong mọi trường
hợp chân trị của bộ biến mệnh đề
Khi đó ta viết: E F (hay E F)
đọc là "E tương đương với F"
Như vậy, theo định nghĩa ta có thể kiểm tra xem 2 biểu thức logic có tương đương hay không bằng cách lập bảng chân trị của các biểu thức logic Dựa vào bảng nếu các cột cho giá trị của chúng phù hợp với nhau, từ đó kết luận rằng các mệnh đề
đó là tương đương logic Sau đây là các ví dụ minh họa
Ví dụ 1: Kiểm tra 2 biểu thức logic sau có đương đương không?
Định nghĩa 2 Hai dạng mệnh đề E và F được gọi là tương đương logic với
nhau khi và chỉ khi E F là một hằng đúng
Ví dụ 2 Cho E = p q và F = p q Hỏi hai mệnh đề trên có tương đương logic không ?
Trang 28Vậy E và F là tương đương logic với nhau, hay E = F hay p q =p q
1.3.7 Ðộ ưu tiên của các phép toán
Ta đã biết trong số học để giảm thiểu việc viết dấu ngoặc cho một biểu thức
số học thông thường là nhân, chia trước và cộng, trừ sau, và các phép toán có cùng mức ưu tiên được thực hiện từ trái qua phải
Trong các biểu thức logic cũng tương tự, người ta đã đưa ra một số thứ tự ưu tiên trong việc tính toán như trong bảng 1.17:
Bảng 1.17 Độ ưu tiên của các phép toán logic Cấp ưu tiên Thực hiện
Trong các phép toán có cùng cấp ưu tiên, phép toán nào đứng trước được thực hiện trước
Chú ý: hai phép toán cuối cùng xuất hiện nhiều lần liên tiếp thì lập ngoặc
từ trái qua phải, chẳng hạn: a b c thì phải lập ngoặc đúng là ((a b) c)
Ví dụ: Chúng ta lập ngoặc cho công thức
- p q có nghĩa là ((p ) q)
- p q r s có nghĩa là (((p ) q) (r s))
Trang 29- p q r s có nghĩa là p q r s
- a ∨ b → c ↔ a có nghĩa là:
a ∨ ( b ) → c ↔ a (a ∨ ( b )) → c ↔ a ((a ∨ ( b )) → c) ↔ a (((a ∨ ( b )) → c) ↔ a)
1.4 CÁC QUI LUẬT LOGIC
1.4.1 Các luật logic
Các luật logic là cơ sở để ta thực hiện các biến đổi trên một biểu thức logic để
có được một biểu thức logic mới tương đương logic với biểu thức logic có trước Mỗi biểu thức logic cho ta một sự khẳng định về sự tương đương của 2 biểu thức logic Ta sẽ sử dụng các qui tắc thay thế và các luật logic đã biết để thực hiện các phép biến đổi tương đương trên các biểu thức logic
Dưới đây, chúng ta sẽ liệt kê ra một số qui luật logic thường được sử dụng trong lập luận và chứng minh Các luật này có thể được suy ra trực tiếp từ các bảng chân trị của các biểu thức logic
Định lý
Với p, q, r là các mệnh đề bất kỳ, 1 là một hằng đúng và 0 là một hằng sai, ta
có các tương đương logic
Bảng 1.18 Các tương đương logic
Trang 30STT Tương đương Tên gọi
11 p q p q Luật kéo theo
12 p q (p q) (q p) Luật tương đương
Các luật kết hợp trình bày ở trên còn được gọi là tính chất kết hợp của phép
toán và phép toán Do tính chất này, ta có thể viết các biểu thức logic hội và các biểu thức tuyển dưới các dạng sau:
- E1 E2 … En
- E1 E2 … En
Trang 31Việc tính toán chân trị cho các biểu thức trên có thể được thực hiện dựa trên một sự phân bố các cặp dấu ngoặc vào biểu thức một cách tùy ý để xác định một trình tự thực hiện các phép toán
Ví dụ: Biểu thức E1 E2 E3 E4 có thể được tính toán chân trị bởi biểu thức sau:
Ví dụ: Cho biểu thức logic E = q p Thay thế q trong biểu thức E bởi biểu
thức q (tương đương với q) ta được một biểu thức mới E' = q p Theo qui tắc thay thế 1 ta có:
q p q p
Qui tắc 2
Giả sử biểu thức logic E là một hằng đúng Nếu ta thay thế một biến mệnh đề
p bởi một biểu thức logic tuỳ ý thì ta sẽ được một biểu thức logic mới E' cũng là một hằng đúng
Ví dụ: Ta có biểu thức E(p,q) = pqpq là một hằng đúng Thay thế biến q trong biểu thức E bởi biểu thức qr ta được biểu thức logic mới:
E'(p,q,r) = pqr pqr
Theo qui tắc thay thế 2 ta có biểu thức E'(p,q,r) cũng là một hằng đúng
Trang 32Biến đổi vế trái ta có:
(p q) p q (luật kéo theo)
q p (luật giao hoán) q p (luật phủ định) q p (luật kéo theo)
Trang 33 (q p) p (luật giao hoán)
Trang 34Giả sử trong chương trình có câu lệnh sau :
While (NOT(A[i] != 0 AND NOT(A[i] >= 10)))
Ta có thể viết lại câu lệnh này một cách đơn giản hơn bằng cách sử dụng quy luật logic De Morgan
While ( A[i] == 0 OR A[i] >= 10)
1.5 DỊCH NHỮNG CÂU THÔNG THƯỜNG
Có nhiều lý do để phải dịch những câu thông thường thành những biểu thức liên quan đến các biến mệnh đề và các liên từ logic Chẳng hạn việc xây dựng một ngôn ngữ lập trình như chương trình dịch hay xử lý ngôn ngữ tự nhiên thì vấn đề dịch một câu nói được phát biểu bằng ngôn ngữ tự nhiên thành một biểu thức logic
có vai trò rất quan trọng Tiếng Anh (cũng như tất cả các thứ tiếng khác của loài người) đều thường không rõ ràng Dịch một câu thông thường ra các biểu thức logic
là làm mất đi tính không rõ ràng đó Muốn vậy, phải tách các câu nói thông thường thành các mệnh đề sơ cấp dựa trên ý nghĩa hàm định của câu đó, sau đó dùng các toán tử logic để liên kết chúng lại Một khi câu nói đã được chuyển thành biểu thức logic, chúng ta có thể xác định được giá trị chân lý của biểu thức logic, thao tác trên biểu thức logic và biến đổi tương đương trên biểu thức logic
Để minh họa quá trình dịch một câu thông thường thành các biểu thức logic,
ta hãy xét các ví dụ sau:
Ví dụ 1: Đối với câu “Bạn không được lái xe máy nếu bạn chưa cao tới 1,5m
trừ khi bạn đã đủ 18 tuổi”, ta có thể định nghĩa các biến mệnh đề như sau:
p: “Bạn được lái xe máy”
q: “Bạn cao dưới 1,5m”
r: “Bạn từ 18 tuổi trở lên”
Khi đó câu đã cho có thể viết dưới dạng biểu thức logic: (q r ) p
Ví dụ 2: Dịch câu thông thường sau ra biểu thức logic
“Nếu Michelle thắng trong kỳ thi Olympic, mọi người sẽ khâm phục cô ấy, và
cô ta sẽ trở nên giàu có Nhưng, nếu cô ta không thắng thì cô ta sẽ mất tất cả.”
Giải
Đây là một biểu thức logic và phép toán chính là phép hội Có thể viết lại như sau:
“Nếu Michelle thắng trong kỳ thi Olympic, mọi người sẽ khâm phục cô ấy, và
cô ta sẽ trở nên giàu có
Nhưng,
Trang 35nếu cô ta không thắng thì cô ta sẽ mất tất cả.”
Cả hai mệnh đề chính trong biểu thức logic này là mệnh đề phức hợp Có thể định nghĩa các biến mệnh đề như sau:
p: Michelle thắng trong kỳ thi Olympic
q: mọi người sẽ khâm phục cô ấy
r: cô ta sẽ trở nên giàu có
Ví dụ 1: Logic trong tìm kiếm trên mạng
Đặt vấn đề: Bạn muốn tìm tài liệu trên mạng có liên quan đến hai từ "disc golf" Nếu bạn gõ vào ô tìm kiếm hai từ "disc golf" này, bạn sẽ tìm thấy các tài liệu
về disc và các tài liệu về golf nhưng không tìm thấy các tài liệu về "disc golf"
Cách giải quyết: Bạn chỉ cần gõ vào ô tìm kiếm là "disc AND golf"
Ví dụ 2: Logic trong lập trình (Logic in programming)
Đặt vấn đề : Bạn muốn đặt điều kiện là nếu 0 < x < 10 hay x = 10 thì tăng x lên 1 đơn vị
IF (0 < x < 10 OR x = 10) x++;
Cách giải quyết : Bạn có thể viết lại câu lệnh như sau
IF ( x>0 AND x < = 10 ) x++ ;
Ví dụ 3: Logic trong tính toán
Đặt vấn đề: Bạn có 3 lần kiểm tra trong lớp học Nếu bạn đạt được 2 lần điểm
A, hoặc chỉ một lần điểm A nhưng không được có một lần nào rớt trong 3 lần kiểm tra đó thì bạn sẽ đạt điểm A cho toàn khóa học Bạn là người không được siêng năng lắm, vậy thì bạn sẽ chọn cách nào để đạt điểm A cho toàn khóa học ?
Cách giải quyết: Bởi vì điều kiện là OR nên cách giải quyết là bạn có thể đạt
2 điểm A và rớt lần 3, hay là chỉ cần đạt một điểm A và không rớt lần nào Bạn sẽ lựa chọn đạt một điểm A và không rớt lần nào
Trang 36Ví dụ 4: Logic trong đời sống
Đặt vấn đề: Sau khi nướng 1 chiếc bánh cho 2 đứa cháu trai và 2 đứa cháu gái đến thăm, Dì Nellie lấy bánh ra khỏi lò nướng và để nguội Sau đó, cô rời khỏi nhà
để đến đóng cửa hàng ở gần đó Lúc trở về thì có ai đó đã ăn 1/4 chiếc bánh và thậm chí còn đặt lại cái dĩa dơ bên phần bánh còn lại Vì không còn ai đến nhà Dì ngày hôm đó trừ 4 đứa cháu nên Dì biết ngay là 1 trong 4 đứa đã ăn mà chưa được cho phép Dì Nellie bèn hỏi 4 đứa thì được các câu trả lời như sau:
- Charles : Kelly đã ăn phần bánh
- Dawn : Con không ăn bánh
- Kelly : Tyler ăn bánh
- Tyler : Con không ăn, Kelly nói chơi khi bảo rằng con ăn bánh
Nếu chỉ 1 trong 4 câu trả lời trên là đúng và chỉ 1 trong 4 đứa cháu là thủ phạm, hãy tìm ra người mà Dì Nellie phải phạt ?
- Giả sử Dawn nói đúng nghĩa là Dawn không ăn bánh và 3 câu còn lại là sai Nhận thấy có mâu thuẫn giữa Kelly và Tyler Bởi vì Kelly nói "Tyler
ăn bánh" là sai nghĩa là Tyler không ăn Trong khi đó, Tyler lại nói rằng
"Con không ăn " là sai, vậy thực tế là nó có ăn Giả thuyết này là không chấp nhận được
- Giả sử Kelly nói đúng nghĩa là Tyler ăn bánh và 3 câu còn lại là sai Như vậy, cũng có 2 thủ phạm là Kelly và Dawn Mâu thuẫn giả thiết
- Giả sử sau cùng là Tyler nói đúng nghĩa là nó không ăn bánh và 3 câu còn lại là sai Nhận thấy chỉ có một người ăn bánh chính là Dawn Vậy giả thuyết này là hợp lý và thủ phạm chính là Dawn
Trên đây là vài ví dụ đơn giản Hy vọng rằng các ví dụ này cho chúng ta thấy được sự quan trọng của logic không chỉ trong toán học, khoa học máy tính mà còn trong cuộc sống hàng ngày
1.7 VỊ TỪ VÀ LƯỢNG TỪ
Trong toán học hay trong chương trình của máy tính, chúng ta thường gặp những câu khẳng định không phải là mệnh đề Những khẳng định đó đều có liên quan đến các biến Chẳng hạn như khẳng định P(n) = “n > 5” không phải là một
Trang 37mệnh đề Nhưng nếu ta thế n bằng một giá trị cụ thể nào đó n = a thì P(a) lại là một mệnh đề
Hay trong đoạn chương trình ta gặp câu lệnh “If (n > 5) Then n := n + 1” thì chương trình sẽ đặt giá trị cụ thể của biến n vào P(n) Nếu mệnh đề P(n) cho giá trị đúng thì n sẽ tăng lên 1 bởi câu lệnh n := n+1, P(n) có giá trị sai thì giá trị n sẽ được giữ nguyên sau khi thực hiện câu lệnh If
Các câu này không đúng cũng không sai vì các biến chưa được gán cho những giá trị xác định Trong chương này, chúng ta sẽ xem xét cách tạo ra những mệnh đề từ những câu như vậy
1.7.1 Vị từ
Định nghĩa: Một vị từ là một khẳng định P(x, y, ) trong đó có chứa một số
biến x, y, lấy giá trị trong những tập hợp cho trước A, B, sao cho :
- Bản thân P(x, y, ) không phải là mệnh đề
- Nếu thay x, y, bằng những phần tử cố định nhưng tùy ý a A, b B,…
ta sẽ được một mệnh đề P(a, b,…), nghĩa là khi đó chân trị của P(x, y, ) hoàn toàn xác định Các biến x, y, được gọi là các biến tự do của vị từ
Ví dụ 1: Các câu có liên quan đến các biến như: "x>3", "x + y = 5" rất
thường gặp trong toán học và trong các chương trình của máy tính Các câu này không đúng cũng không sai vì các biến chưa được cho những giá trị xác định
Nói cách khác, vị từ có thể xem là một hàm mệnh đề có nhiều biến hoặc không có biến nào, nó có thể đúng hoặc sai tùy thuộc vào giá trị của biến và lập luận của vị từ
Ví dụ 2: Câu {n là chẳn} là một vị từ Nhưng, khi cho n là một số cụ thể là
Ví dụ 4: Cho Q(x,y) = “y = 2x+1” là một hàm mệnh đề theo hai biến x, y
R Hãy xác định chân trị của các mệnh đề Q(1,3), Q(2,0)
Trang 38Giải
Ta có: Q(1,3) = “3 = 2.1 + 1” là mệnh đề có chân trị đúng
Q(2,0) = “0 = 2.2 + 1” là mệnh đề có chân trị sai
1.7.2 Các phép toán trên vị từ
Cho P(x, y, …) là một vị từ theo các biến x, y, … Phủ định của P, ký hiệu
là P, là một vị từ mà khi thay các biến x, y, … bởi các phần tử cụ thể a, b, … tương ứng thì ta được mệnh đề P a b , , Nói một cách khác, vị từ P được định nghĩa bởi:
Ngoài việc thay thế giá trị cụ thể cho các biến trong vị từ để được một mệnh
đề ta còn có một cách quan trọng khác để chuyển từ vị từ sang mệnh đề Ðó là cách
sử dụng các lượng từ "với mọi" và "tồn tại" (hay "có ít nhất một") Lượng từ được sử dụng để nói lên rằng vị từ đúng đối với mọi giá trị thuộc miền xác định hay chỉ đúng với một phần các giá trị thuộc miền xác định
Định nghĩa:
Cho P(x) là một vị từ theo một biến xác định trên A Ta định nghĩa các mệnh
đề lượng từ hóa của P(x) như sau:
- ∀xA, P(x) (đọc: “với mọi x thuộc A, P(x)”) là một mệnh đề, nó nhận giá trị đúng khi và chỉ khi P(a) luôn đúng với mọi giá trị a A
- ∃xA, P(x) (đọc: “tồn tại (ít nhất) x thuộc A, P(x)”) là một mệnh đề, nó nhận giá trị đúng khi và chỉ khi có ít nhất một giá trị x = a0 nào đó sao cho mệnh đề P(a0) đúng
Trang 39Các toán tử ∀, ∃ được gọi là các lượng từ ∀ được gọi là lượng từ chung (hay lượng từ với mọi), ∃ được gọi là lượng từ riêng (hay lượng từ tồn tại)
Chú ý: các mệnh đề lượng từ hóa ở trên đều là các mệnh đề có chân trị
xác định chứ không còn là các vị từ theo biến x nữa
Nếu A là một tập hữu hạn n phần tử: A = { a1, a2, an } thì
- ∀x A, P(x) ⇔ P(a1) ∧ P(a2) ∧ ∧ P(an) là đúng
- ∃x A, p(x) ⇔ P(a1) ∨ P(a2) ∨ ∨ P(an) là đúng
Ví dụ 1: Cho vị từ P(x) = {số nguyên tự nhiên x là số chẵn}
Xét chân trị của hai mệnh đề ∀xP(x) và ∃xP(x)
Giải:
∀x P(x) = {tất cả số nguyên tự nhiên x là số chẵn} là mệnh đề sai khi x = 5
∃x P(x) ={hiện hữu một số nguyên tự nhiên x là số chẵn} là mệnh đề đúng khi x=
10
Ví dụ 2: Cho P(a,b) = {cặp số nguyên tương ứng thỏa a + b = 5}
Hãy xác định chân trị của các mệnh đề sau:
Bảng 1.19 Bảng chân trị đối với cặp vị từ P(a,b)
Định lí:
Nếu P(x, y) là một vị từ theo hai biến x A, y B thì các mệnh đề sau là hằng đúng:
∃(a,b) P(a,b) {Hiện hữu một cặp số nguyên tương ứng (a,b) sao cho a + b