Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
849,38 KB
Nội dung
Mục lục MộT Số KIếN THứC TOÁN HọC CƠ Sở I II LÔGICH I.1 Khái niệm lơgích Các phép tính lơgích I.2 Các tính chất I.3 Biểu thức lơgích II.1 II.2 II.3 II.4 II.5 III III.1 III.2 III.3 IV V V.1 V.2 Mở DầU I II II.1 II.2 II.3 II.3.1 II.3.2 II.3.3 III III.1 III.2 III.3 III.4 TậP HợP Biểu diễn tập hợp Quan hệ tập hợp Các phép toán tập hợp Ánh xạ Tính đếm tập hợp vơ hạn CÁC QUAN Hệ TRÊN TậP HợP Khái niệm Các quan hệ tương đương Bao đóng quan hệ CHứNG MINH QUY NạP 10 Đồ THị VÀ CÂY 11 Định nghĩa đồ thị 11 Cây (Tree) 11 CƠ Sở CủA MON HọC CÁC KHÁI NIệM Khái niệm toán Khái niệm chương trình Hình thức hóa tốn Bảng chữ câu Biểu diễn toán Ngôn ngữ MÔ Tả NGÔN NGữ Các phép tốn ngơn ngữ Biểu thức qui Các ngơn ngữ phi qui Vấn đề biểu diễn ngôn ngữ .10 ÔTÔMAT HữU HạN 12 I II II.1 II.2 ÔTÔMAT HữU HạN ĐƠN ĐịNH .13 Mô tả 13 Mơ hình hóa 14 Biểu diễn ôtômat sơ đồ 14 ÔTÔMAT HữU HạN KHÔNG ĐƠN ĐịNH 17 Mô tả 17 Khử bỏ tính không đơn định .19 II.3 Ơtơmat hữu hạn biểu thức qui .23 I.1 I.2 I.3 II.2.1 II.2.2 II.2.3 II.3.1 II.3.2 Nguyên tắc xây dựng 19 Hình thức hóa việc xây dựng 19 Tính đắn phương pháp 22 Xây dựng ôtômat từ biểu thức qui 24 Xây dựng ngôn ngữ quy từ ơtơmat .26 PGS TS Phan Huy Khánh biên soạn CÁC VĂN PHạM CHÍNH QUY 29 I II II.1 II.2 II.3 III III.1 III.2 III.3 III.4 III.4.1 III.4.2 III.4.3 IV Mở ĐầU 29 CÁC VĂN PHạM 31 Định nghĩa 31 Phân cấp loại văn phạm Chomsky 32 Các văn phạm qui 34 CÁC NGƠN NGữ CHÍNH QUY .36 Các tính chất ngơn ngữ quy 36 Các thuật giải .37 Nhận xét .38 Định lí "bơm" (Pumping Theorem) .39 Phát biểu định lý "bơm" 39 Phát triển định lý "bơm" 39 Ứng dụng định lí "bơm" .39 ỨNG DụNG CÁC NGƠN NGữ CHÍNH QUI 40 ÔTÔMAT ĐẩY XUốNG VÀ NGÔN NGữ PHI NGữ CảNH 42 I II I.1 I.2 I.3 II.1 II.2 II.3 III III.1 III.2 III.3 III.4 IV IV.1 IV.2 IV.3 IV.4 IV.5 CÁC ÔTÔMAT ĐẩY XUốNG 42 Mô tả 42 Mơ tả hình thức 43 Một số ví dụ 44 CÁC NGÔN NGữ PHI NGữ CảNH 45 Định nghĩa 45 Quan hệ với ôtômat đẩy xuống 45 Tính chất ngôn ngữ phi ngữ cảnh 46 LÀM VIệC VớI CÁC NGÔN NGữ PNC 47 Khái niệm phân tích 47 Định lý “bơm” .49 Ap dụng định lý “bơm” 51 Các thuật giải cho ngôn ngữ PNC 51 CÁC ÔTÔMAT ĐẩY XUốNG ĐƠN ĐịNH 55 Nguyên lý .55 Hình thức hóa 55 Các ngôn ngữ PNC đơn định .56 Tính chất ngơn ngữ PNC đơn định .56 Ứng dụng .56 CÁC MÁY TURING 58 I I.1 I.2 I.3 I.4 I.5 I.5.1 I.5.2 I.6 I.7 II II.1 II.2 II.2.1 II.2.2 II.2.3 ĐịNH NGHĨA MÁY T URING 58 Mô tả máy Turing đơn định 58 Định nghĩa hình thức 59 Ngôn ngữ thừa nhận ngôn ngữ xác định 62 Các hàm tính máy Turing 64 Các định nghĩa khác máy Turing 65 Máy Turing loại 65 Máy Turing loại 65 Các ngôn ngữ đệ quy liệt kê đệ quy .65 Luận đề Turing-Church 65 CÁC Kỹ THUậT XÂY DựNG MÁY TURING 66 Ghi nhớ điều khiển hữu hạn .66 Mở rộng máy Turing .67 Băng vơ hạn hai phía 67 Máy Turing có nhiều băng 67 Các máy Turing có nhớ truy cập trực tiếp .68 III III.1 III.2 III.3 IV IV.1 IV.2 V V.1 V.2 V.3 MÁY TURING KHÔNG ĐƠN ĐịNH 69 Khái niệm .69 Khử bỏ tính khơng đơn định .69 Các máy Turing vạn 70 MÁY TURING VÀ VĂN PHạM NGữ CảNH 70 Định nghĩa 70 Sự tương đương văn phạm ngữ cảnh máy Turing 71 ƠTƠMAT TUYếN TÍNH GIớI NộI VÀ VĂN PHạM CảM NGữ CảNH 73 Ơtơmat tuyến tính giới nội 73 Văn phạm cảm ngữ cảnh 74 Sự tương đương LBA văn phạm CNC 75 MộT Số Đề THI 77 TÀI LIệU THAM KHảO .79 CHƯƠNG Một số kiến thức Tốn học sở I Lơgich I.1 Khái niệm lơgích Lơgích sử dụng thực phép suy luận toán học (reasonin) Người ta phân biệt hai mặt lơgích : - Mặt cú pháp (syntaxe) thao tác hình thức (formal manipulation) ký hiệu - Mặt ngữ nghĩa (semantic) cho biết ý nghĩa sử dụng (meaning) đặt ký hiệu Từ người ta xây dựng mơ hình lơgích (lơgích model) dựa ngơn ngữ ký hiệu số quy tắc thao tác, hay luật Chẳng hạn mặt cú pháp, 3+4 biểu thức toán học, mặt ngữ nghĩa, phép cộng cho kết Ví dụ chương trình máy tính dãy ký hiệu, ngơn ngữ lập trình dãy quy tắc cú pháp cho phép đặt ký hiệu Một chương trình phải tuân thủ theo quy tắc cú pháp phải có nghĩa sử dụng định (ngữ nghĩa) để giải toán Cơ sở để xây dựng mơn học lơgích mệnh đề (proposition) Mệnh đề lơgích phát biểu (câu) đó, xét hồn cảnh thời gian khơng gian đó, nhận hai giá trị (true) sai (false), mà vừa vừa sai Giá trị sai gọi chân giá trị (truth value) Ví dụ I.1 : Mệnh đề lơgích Giải thích y>x+1 Tuỳ theo giá trị x y mà có giá trị sai chẳng hạn x=1 y=3 có giá trị Hôm trời mưa ! 2+3=5 Luânđô thủ nước Đức Đúng thời điểm nói trời mưa, sai khơng phải Ln ln có giá trị Ln ln có giá trị sai Hơm ngày ? Mời anh vào ! PGS TS Phan Huy Khánh biên soạn Câu hỏi mệnh đề Câu mệnh lệnh mệnh đề, v.v Ơtơmat hữu hạn Các phép tính lơgích Cho trước mệnh đề lơgích p, q, r nhận giá trị sai, ta có phép tính lơgích sau : Phép phủ định (not) hay phép đối p, ký hiệu ¬p, có giá trị sai p có giá trị Phép (and) hay nhân lơgích p q, ký hiệu p ∧ q, có giá trị p q có giá trị Phép (or) hay cộng lơgích p q, ký hiệu p ∨ q, có giá trị sai p q có giá trị sai Phép kéo theo (implication) hay phép suy ra, ký hiệu p ⇒ q, có giá trị sai p q sai, lại Phép tương đương (equivalence) p q, ký hiệu p ⇔ q, có giá trị p q sai, có giá trị sai p sai, q đúng, p đúng, q sai Biểu diễn quy ước giá trị 1, giá trị sai 0, ta có bảng chân giá trị phép tính lơgích sau : p q 0 1 1 ¬p 1 0 p∧q 0 p∨q 1 p⇒q 1 p⇔q 0 I.2 Các tính chất Cho trước mệnh đề lơgích p, q, r, ta có tính chất sau : ¬(¬ p) = p p∧1 =p p∧0 =0 p∧¬p =0 p∧q =q∧p p ∧ (q ∧ r) = (q ∧ p) ∧ r = p ∧ q ∧ r p∨1 =1 p∨0 =p p∨¬p =1 p∨q =q∨p p ∨ (q ∨ r) = (q ∨ p) ∨ r = p ∨ q ∨ r Định luật De Morgan : ¬ (p ∨ q) = ¬ p ∧ ¬ q ¬ (p ∧ q) = ¬ p ∨ ¬ q Tính chất phân phối : p ∨ (q ∧ r) = (p ∨ q) ∧ (p ∨ r) p ∧ (q ∨ r) = (p ∧ q) ∨ (p ∧ r) Chuyển đổi phép kéo theo tương đương : p ⇔ q = (p ⇒ q) ∧ (q ⇒ p) p ⇒ q = ¬ p ∨ q = (¬ q) ⇒ (¬ p) (¬ p) ⇒ = p Trong phép kéo theo p ⇒ q, ta gọi p giả thiết, q kết luận Phép q ⇒ p gọi phép đảo p ⇒ q Ta diễn tả phép kéo theo p ⇒ q cách sau : - Muốn có q, cần có p đủ, p q Ơtơmat hữu hạn - p điều kiện đủ để có q, q điều kiện cần để có p Phép tương đương p ⇔ q diễn tả sau : - Muốn có p, cần đủ phải có q, p điều kiện cần đủ để có q - p q, p q Phép suy luận phản chứng Để chứng minh mệnh đề p ⇒ q đúng, ta giả thiết p đúng, q sai, sau cần chứng minh điều dẫn đến mâu thuẫn Bởi ta chứng minh mệnh đề (p ∧ (¬ q) sai, tức mệnh đề (¬ p ∨ q) đúng, tức p ⇒ q I.3 Biểu thức lơgích Kết hợp mệnh đề lơgích phép tốn lơgích cách tuỳ ý, ta nhận biểu thức lơgích Thứ tự thực phép tính lơgích theo độ ưu tiên phép phủ định, phép và, phép hoặc, phép kéo theo cuối phép tương đương Có thể thêm cặp dấu ngoặc () vào biểu thức lơgích để thay đổi thứ tự thực phép tính để muốn dễ đọc Nếu biểu thức lơgích có chứa cặp dấu ngoặc lồng thứ tự thực từ ngoài, từ trái qua phải Để tính giá trị biểu thức, người ta thường lập bảng chân lý Ví dụ I.2 : Tính giá trị biểu thức E(p, q) = (p ∧ ¬ q) ∨ (¬ p ∧ q) : p q 0 1 1 ¬p 1 0 ¬q 1 p∧¬q 0 ¬p∧q 0 (p ∧ ¬ q) ∨ (¬ p ∧ q) 1 Kết biểu thức cột cuối cùng, chẳng hạn E(0, 0) = 0, E(0, 1) = 1, v.v Ơtơmat hữu hạn II Tập hợp II.1 Biểu diễn tập hợp Tập hợp (set) nhóm hay sưu tập đối tượng1 phân biệt, chúng gọi phần tử (elements) tập hợp Do phần tử tập hợp không xếp thứ tự nên người ta không nói đến phần tử thứ nhất, phần tử thứ hai, v.v Trong hồn cảnh xét đó, tập hợp tất phần tử có chất gọi tập hợp vũ trụ (universal set), giả sử tập hợp U Khi cho trước tập hợp Snào đo, người ta xem phần tử thuộc S thuộc U Trong giáo trình, tập hợp đặt tên chữ hoa S, A, B, , phần tử đặt tên chữ thường a, b, x, y, Các phần tử thuộc tập hợp đặt cặp dấu ngoặc { } Chẳng hạn sau tập hợp : A = { 0, 1, 2, 3, 4, 5, 6, 7, 8, } B = { ♣, ♦, ♥, ♠ } Tập hợp không chứa phần tử gọi tập hợp rỗng (empty set), ký hiệu ∅ Người ta viết A = ∅ hay A = { } Một tập hợp có phần tử x x gọi đơn tử ký hiệu { x } Người ta gọi số (cardinality) tập hợp số phần tử thuộc tập hợp đó, ký hiệu |A | card(A) Chẳng hạn tập hợp có |A| = 10, |B| = Bản số tập hợp rỗng Cho tập hợp A gồm phần tử x Ta nói phần tử x thuộc A, ký hiệu x ∈ A, phần tử x không thuộc A, ký hiệu x ∉ A, dĩ nhiên x ∈ U Khái niệm lượng tử Lượng tử phổ cập ∀ đọc «với mọi» hay «với mỗi» Lượng tử tồn ∃ đọc «tồn phần tử» Ký hiệu ∃! có nghĩa « tồn phần tử» Tên biến (đối tượng) lượng tử tác động đến lấy : ∀x, x ∈ A, P(x) ⇔ ∀y, y ∈ A, P(y) phần tử A có tính chất P ∃x, x ∈ A, P(x) ⇔ ∃y, y ∈ A, P(y) tồn phần tử A có tính chất P Phép phủ định mệnh đề lượng tử hố sau : ¬ (∀x, x ∈ A, P(x) ) ⇔ ∃x, x ∈ A, ¬ P(x) ¬ (∃x, x ∈ A, P(x) ) ⇔ ∀x, x ∈ A, ¬ P(x) Để biểu diễn tập hợp A gồm số hữu hạn phần tử, ta liệt kê hết phần tử A ví dụ Trong trường hợp A có vơ hạn phần tử, người ta khơng thể liệt kê hết phần tử A, mà dùng cách biểu diễn tính chất (property) phần tử, có dạng : A = { x | P(x) } Ví dụ II.1 : tập hợp phần tử x cho x thoả mãn tính chất P Khái niệm đối tượng có tính trực giác, nhà Tóan học Đức G Cantor đưa từ năm 1985 Lý thuyết tập hợp dẫn đến nghịch lý tóan học (paradox) hay mâu thuẫn lơgích nhà triết học người Anh B Russell năm 1902 Ví dụ Ơtơmat hữu hạn M = { i | i nguyên dương ∃j nguyên dương cho i = * j} hay viết gọn : M = { i | i ∈ N ∃j ∈ N cho i = * j } II.2 Quan hệ tập hợp Cho A, B tập hợp (có phần tử thuộc tập hợp vũ trụ U đó) Người ta xây dựng phép toán tập hợp sau : A⊆B A nằm B, hay A phận B, hay A tập hợp (subset) B, thoả mãn ∀x (x ∈ A ⇒ x ∈ B) Khi A nằm hoàn toàn B, người ta viết A ⊂ B Trường hợp ngược lại, người ta viết A ⊇ B, hay A ⊃ B A=B A B A B có phần tử : ∀x (x ∈ A ⇒ x ∈ B) ∀x (x ∈ B ⇒ x ∈ A), hay A ⊆ B B ⊆ A A≠B A khác B A B rời khơng có phần tử II.3 Các phép toán tập hợp Cho A, B tập hợp Người ta xây dựng phép toán sau : Ký hiệu Ý nghĩa A∪B hợp A B, tập hợp {x | x ∈ A ∨ x ∈B } A∩B giao A B, tập hợp {x | x ∈ A ∧ x ∈B } Nếu |A|= m, |B| = n, |A ∪ B| = m + n - | A ∩ B | phần tử A-B hay A\B, hiệu A B, tập hợp {x | x ∈ A ∧ x ∈B } A∆B hiệu đối xứng A B, tập hợp A-B ∪ B-A bù tập hợp A tập hợp {x | x ∈ U ∧ x ∉ A }, hay U - A, với U tập hợp vũ trụ A×B tích Đêcac (Cartesian product) A B, gồm cặp phần tử có thứ tự (a, b), a ∈ A b ∈ B Nếu |A|= m, |B| = n, |A × B| = m × n phần tử 2A hay ℘ (A), tập lũy thừa A, hay tập tập hợp A A Ta có |2A|= 2|A| = 2m, |A|= m Chú ý ℘(∅) = { ∅ }, ℘ ( {∅} ) = { ∅, { ∅ } } Các phép toán ∪, ∩, hiệu, hiệu đối xứng bù tập hợp minh hoạ giản đồ Venn hình A B A B A B A B A A∪B A∩B A-B A∆B A Hình II.1 Giản đồ Venn biểu diễn phép toán tập hợp Chú ý hình chữ nhật biểu diễn tập hợp vũ trụ Ví dụ II.2 : Cho A = {a, b}, B = {b, c} với U tập hợp chữ tiếng Anh a z Khi : Ơtơmat hữu hạn A ∪ B = {a, b, c} A ∩ B = {b} A - B = {a} A ∆ B = {a, c} A = { c z } A × B = {(a, b), (a, c), (b, b), (b, c)} 2A = {∅, {a}, {b}, {a, b}} Một số tính chất phép toán tập hợp Cho A, B C ba tập hợp Tính chất giao hốn (commutative) : A∪B = B∪A B = BÌA Tính chất kết hợp (associative) : (A∪B)∪C = A∪(B∪C) (B) ÌC = (BÌC) Tính chất phân phối (distributive) : A∪(B∩C) = (A∪B) ∩(A∪C) (A∩B) ∪ C = (A∪C) ∩(B∪C) A∩(B∪C) = (A∩B) ∪(A∩C) (A∪B) ∩ C = (A∩C) ∪(B∩C) Luật DeMorgan : A ∪ B=B ∩ A A ∩ B=B ∪ A II.4 Ánh xạ Cho A, B hai tập hợp tích Đêcac A × B Xét f tập hợp con, f ≠ ∅, tích Đêcac A × B, f gọi ánh xạ (mapping), hay gọi đồ thị hàm, từ A vào B sau : f: A→B Ta viết : y = f (x), y ∈ B, x ∈ A, y ảnh x Từ ánh xạ f, ta xây dựng quan hệ R(x, y) phần tử x∈A y∈B, cho : R (x, y) = { (x, y) | x ∈ A ⇒ ∃! y ∈ B, y = f (x) } Anh xạ f gọi : • Tồn ánh, hay ánh xạ lên (surjection), f (x) = y tức : ∀y ∈ B ⇒ ∃x ∈ A cho y = f (x) • Đơn ánh hay phép nhúng (injection), f (x) = f (x’) ⇒ x = x’ • Song ánh hay xánh xạ - 1, phép đặt lên (bijection) f vừa tồn ánh, vừa đơn ánh II.5 Tính đếm tập hợp vô hạn Cho A tập hợp Nếu A có hữu hạn phần tử A gọi đếm hay liệt kê (enumerable) Cho A, B hai tập hợp đếm Ta nói A B có số ∃ song ánh chúng : card(A) = card(B) Nếu A tập hợp thực B ta có card(A) < card(B) ≤ K < ∞, với K số Ơtơmat hữu hạn Trong trường hợp A có vơ hạn phần tử xảy A đếm không đếm Để chứng minh tập hợp cho vô hạn đếm được, cần xây dựng song ánh A tập hợp số tự nhiên N Ví du : Cho A = {i ∈ N | i chẵn}, B = N Khi đó, card(A) = card(B) tồn ánh xa 11 A B Trong trường hợp này, để xác định xem hai tập hợp có kích thước (có số phần tử), người ta đặt tương ứng cặp phần tử hai tập hợp Nói cách khác, tồn song ánh hai tập hợp (hay ánh xạ 1.1) Ví dụ 1.7 : Các tập hợp { 0, 1, 2, }, { a, b, c, d } { α, β, γ, δ } có kích thước Chẳng hạn đặt tương ứng cặp phần tử sau : { (0, α), (1, β), (2, γ), (3, δ) } Một tập hợp vô hạn liệt kê đếm tồn song ánh tập hợp tập hợp số tự nhiên Bản số tập hợp đếm thường ký hiệu ℵ (ℵ chữ đầu bảng chữ Do thái, đọc aleph) Ví dụ 1.8 : Tập hợp số chẵn đếm nhờ có song ánh : { (0, 0), (2, 1), (4, 2), (6, 3), } suy tập hợp vô hạn số tự nhiên đếm Các số hữu tỉ đếm Thực vậy, số hữu tỉ viết dạng a b với b≠0 a b khơng có ước số chung Ta phân loại số theo thứ tự tổng a+b tăng dần Ta có song ánh : 1 { ( , 0), ( , 1), ( , 2), ( , 3), ( , 4), ( , 5), } 1 Tập hợp câu bảng chữ { a, b } đếm Để nhận phép song ánh, người ta phân loại câu theo thứ tự tăng dần độ dài Với câu có độ dài, người ta săp xếp chúng theo thứ tự từ vựng (theo thứ tự từ điển) Ta có song ánh : { (ε, o), (a, 1), (b, 2), (aa, 3), (ab, 4), (ba, 5), (bb, 6), } Các biểu thức qui đếm Thật vậy, chúng xâu ký tự bảng chữ hữu hạn Theo ví dụ trên, tập hợp câu bảng chữ đếm Các biểu thức qui tập hợp vô hạn xâu ký tự chúng đếm theo lý luận Từ ví dụ ta tự đặt câu hỏi : có phải tập hợp vơ hạn có số ℵo ? Khơng phải có tập hợp vơ hạn có số lớn ℵo, chẳng hạn tập hợp tất tập hợp tập hợp đếm Ta có định lý sau : Định lý 1.2 : Tập hợp tất tập hợp tập hợp đếm cho trướ c không đếm Chứng minh : Ta sử dụng kỹ thuật chéo hóa (Diagonalisation) sau : Giả sử cho A tập hợp đếm : A = { a0, a1, a2, } Gọi S tập hợp tất tập hợp A Giả sử S đếm đó, S = { s0, s1, s2, } ... với ngôn ngữ { ε } ngôn ngữ chứa câu rỗng Tập hợp câu chương trình viết ngơn ngữ Pascal (hay ngơn ngữ lập trình đó) chạy thơng suốt ngôn ngữ Ta đưa vào quy cách mô tả số ngôn ngữ (hay ngôn ngữ. .. (hay ngôn ngữ đó) mà khơng phải mơ tả cho ngôn ngữ Làm để mô tả ngôn ngữ ? Nếu ngôn ngữ hữu hạn câu, cần liệt kê h ết tất câu thuộc ngôn ngữ Nếu ngôn ngữ vô hạn câu, ta khơng thể liệt kê hết Trong... chất P : tồn biểu thức qui biểu diễn ngôn ngữ với phần tử ℜ , ta lý luận sau: Chỉ ra P với ngôn ngữ ∅ , { ε } ngơn ngữ có dạng { a } Chỉ tính chất P cho ngơn ngữ A B, P cho ngôn ngữ A∪B, A.B A*