Bài giảng Lý thuyết tính toán: Bài 1 - Phạm Xuân Cường cung cấp cho học viên các kiến thức về tập hợp; hàm; quan hệ; đồ thị, cây; chuỗi và ngôn ngữ; boolean logic; định nghĩa, định lý và chứng minh;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
LÝ THUYẾT TÍNH TỐN BÀI 1: KIẾN THỨC CƠ SỞ Phạm Xuân Cường Khoa Công nghệ thông tin cuongpx@tlu.edu.vn Nội dung giảng Tập hợp Đồ thị, Chuỗi ngôn ngữ Boolean Logic Định nghĩa, định lý chứng minh Tập hợp Tập hợp • Tập hợp: Là tập đối tượng khơng trùng lặp VD: N = {1, 2, 3, }, Z = { , −2, −1, 0, 1, 2, } • Biểu diễn: - Liệt kê: D = {a, b, c, d} - Mô tả đặc tính D = {x | x ngày tháng 9} - Biểu đồ Venn: A B Một số tập đặc biệt • Tập rỗng: Ø = {} • Tập hợp con: A ⊂ B (Ngược lại: A ⊂ B ) {1, 2, 4} ⊂ {1, 2, 3, 4, 5} {2, 4, 6} ⊂ {1, 2, 3, 4, 5} • Tập nhau: A = B (Ngược lại: A = B ) {1, 2} = {2, 1} {1, 2, 3} = {2, 1} • Tập lũy thừa: P(A) 2A A = {1, 2, 3} 2A = {Ø, {1}, {2}, {3}, {1, 2}, {2, 3}, {3, 1}, {1, 2, 3}} Các phép toán với tập hợp • Phép hợp (Union): A ∪ B = { x | x ∈ A x ∈ B } A B • Phép giao (Intersection): A ∩ B = { x | x ∈ A x ∈ B } A B • Phần bù (Complement): A = {x | x ∈ A} • Tích Đề các: A x B = {(a,b) | a ∈ A b ∈ B} • Phép trừ: A \ B = { x | x ∈ A x ∈ B } Hàm (Functions) • Hàm: ánh xạ từ miền xác định sang miền giá trị f: D → R VD: f(x) = 2x + 5, ∀ x ∈ R • Hàm ngôi: f: D → R • Hàm hai ngôi: f: A1 x A2 → R - Trung tố: a+b, a*b, a-b - Tiền tố: add(a,b), multiply(a,b), sub(a,b) • Hàm k-ngôi: f: A1 x A2 x x Ak → R • Vị từ (thuộc tính): P: D → {True, False} VD: even(4) = true, even(5) = false Quan hệ • Nếu R quan hệ hai ngơi ⇔ aRb = True • Tương tự, Nếu R quan hệ k ⇔ R(a1 , a2 , , ak ) = True VD: cho S = {0, 1, 2, 3} - Quan hệ "thứ tự nhỏ hơn" L = { (0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3) } - Quan hệ "bằng" E = { (0, 0), (1, 1), (2, 2), (3, 3)} - Quan hệ "chẵn lẻ" P = { (0, 0), (1, 1), (2, 2), (3, 3), (0, 2), (2, 0), (1, 3), (3, 1)} Các tính chất quan hệ Quan hệ tương đương phải thỏa mãn: • Phản xạ (reflexive): aRa với ∀a ∈ S • Đối xứng (symmetric): aRb ⇔ bRa • Bắc cầu (transitive): aRb bRc aRc VD: - L không quan hệ ??? - E quan hệ ??? - P quan hệ ??? Đồ thị, Chuỗi ngơn ngữ Chuỗi (Strings) • Bộ chữ: tập hợp hữu hạn không rỗng ký hiệu Σ1 = {0,1} Σ2 = {a,b,c,d} Γ = {0,1,a,b,c,d,x,y,z} • Chuỗi (xâu): dãy hữu hạn ký tự chữ, viết liền không bị ngăn cách dấu phẩy baccada xâu Σ2 • Độ dài xâu: Tổng số ký hiệu có xâu Xâu w = baccada → |w| = |baccada| = • Xâu rỗng: xâu có độ dài (Ký hiệu ε) • Xâu nghịch đảo: đảo ngược xâu gốc (Ký hiệu wR ) wR = adaccab • Ghép xâu: x = cab, y = abcad → xy = cababcad 15 Ngơn ngữ (Language) • Ngôn ngữ: tập xâu L1 = {ab,bc,ca,da} L2 = {ε, ab,abb,cabb,ddaca} • Ngơn ngữ rỗng: {} = Ø • Biểu diễn ngơn ngữ: - Liệt kê {ab,bc,ca, } Tập ký hiệu: {x|x số chẵn} Biểu thức quy (Regular Expression): c(ab)*(d|c) Văn phạm phi ngữ cảnh (CFG) 16 Boolean Logic Boolean Logic Phép toán Ký hiệu And Or Not Xor Kéo theo Tương đương ∧ ∨ ¬ ⊕ → ⇒ ⇔, ≡ = • Luật phân phối P∧(Q∨R) ≡ (P∧Q)∨(P∧R) P(QR) (PQ)(PR) 17 Boolean Logic ã Lut Demorgan ơ(AB) ≡ (¬A) ∧ (¬B) A∪B ≡ A∩B A B ¬(A∧B) (ơA) (ơB) AB AB A B ã Trên thực tế biểu diễn tất toán tử Boolean dạng toán tử And Not P∨Q ⇔ ¬(¬P∧¬Q) P→Q ⇔ ¬P∨Q P⊕Q ⇔ ¬(P↔Q) 18 Định nghĩa, định lý chứng minh Định nghĩa, định lý chứng minh • Định nghĩa: mô tả đối tượng khái niệm mà sử dụng • Mệnh đề tốn học: mệnh đề biểu diễn đối tượng tốn học • Chứng minh: lập luận logic có sức thuyết phục mệnh đề • Định lý: mệnh đề toán học chứng minh 19 Định nghĩa, định lý chứng minh • Bổ đề: mệnh đề suy từ định lý • Hệ quả: Được suy chứng minh định lý • Phỏng đốn: mệnh đề có khả chưa chứng minh • Khi khi: mệnh đề tương đương P ⇔ Q - Cần chứng minh chiều thuận: P ⇒ Q - Chứng minh chiều ngược: Q ⇒ P 20 Các cách chứng minh Chứng minh việc xây dựng Định lý: ∃ x đặc biệt nghiệm tốn Chứng minh: Chỉ cách xây dựng x Chứng minh phản chứng Định lý: “Mệnh đề P đúng” Chứng minh: - Giả sử P sai - Thực số thao tác logic - Dựa tri thức có để kết luận giả thiết phi lý 21 Các cách chứng minh Chứng minh quy nạp Định lý: “Mệnh đề P ∀ i ≥ 0” Chứng minh: Bước sở: Chỉ P(0) Bước quy nạp: Giả sử P(i) → Giả thiết quy nạp Thực biến đổi logic để P(i+1) Kết luận P ∀ i ≥ 22 Ví dụ cách chứng minh Chứng minh việc xây dựng Định lý: Nếu a b số nguyên liên tiếp a+b số lẻ Chứng minh: - Vì a b số nguyên liên tiếp → b = a + - a + b = a + a + = 2a + - Mà 2a số chẵn → 2a + số lẻ → a + b số lẻ 23 Ví dụ cách chứng minh Chứng minh phản chứng Định lý: Nếu a b số nguyên liên tiếp a+b số lẻ Chứng minh: - Giả sử a + b số lẻ → k: a + b = 2k + (1) Vì a b số nguyên liên tiếp → a + b = 2a + (2) Từ (1) (2) → Mâu thuẫn Vậy giả thiết sai → Định lý chứng minh 24 Ví dụ cách chứng minh Chứng minh quy nạp Định lý: Nếu a b số nguyên liên tiếp a+b số lẻ Chứng minh: Giả sử P(x) tổng x số nguyên liên tiếp sau x số lẻ Bước sở: Chỉ P(1) = + = số lẻ → P(x) = true x = Bước quy nạp: Giả sử P(x) → P(x) = x + x + số lẻ Tăng x x + lên đơn vị: (x+1) + (x+2) = P(x+1) Do cộng thêm đơn vị vào số nguyên không làm thay đổi giá trị chẵn lẻ Vì P(x) số lẻ → P(x+1) số lẻ Kết luận P ∀ x ≥ 25 Questions? 25 ... 4, 6} ⊂ {1, 2, 3, 4, 5} • Tập nhau: A = B (Ngược lại: A = B ) {1, 2} = {2, 1} {1, 2, 3} = {2, 1} • Tập lũy thừa: P(A) 2A A = {1, 2, 3} 2A = {Ø, {1} , {2}, {3}, {1, 2}, {2, 3}, {3, 1} , {1, 2, 3}}... R(a1 , a2 , , ak ) = True VD: cho S = {0, 1, 2, 3} - Quan hệ "thứ tự nhỏ hơn" L = { (0, 1) , (0, 2), (0, 3), (1, 2), (1, 3), (2, 3) } - Quan hệ "bằng" E = { (0, 0), (1, 1) , (2, 2), (3, 3)} -. .. f: D → R • Hàm hai ngôi: f: A1 x A2 → R - Trung tố: a+b, a*b, a-b - Tiền tố: add(a,b), multiply(a,b), sub(a,b) • Hàm k-ngơi: f: A1 x A2 x x Ak → R • Vị từ (thuộc tính) : P: D → {True, False}