Giáo trình tin học lý thuyết

56 183 1
Giáo trình tin học lý thuyết

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 • Tập hợp • Quan hệ • Phép chứng minh quy nạp • ðồ thị và cây 2 • Mon, Tue, Wed, Thu, Fri, Sat, Sun • Tập hợp là tập các ñối tượng không có sự lặp lại • Tập các ñối tượng rời rạc • Không trùng lắp Phần tử 3 • 1, 2, 3 • x x là một ngày trong tuần 4 • Ký hiệu: ∅ ∅∅ ∅ hoặc • Ký hiệu: ⊂ ⊂⊂ ⊂ (Ngược lại: ⊄ ⊄⊄ ⊄ ) • { 1, 2, 4 } ⊂ ⊂⊂ ⊂ { 1, 2, 3, 4, 5 } • { 2, 4, 6 } ⊄ ⊄⊄ ⊄ { 1, 2, 3, 4, 5 } Printed with FinePrint - purchase at www.fineprint.com 5 • Ký hiệu: (Ngược lại: ≠ ≠≠ ≠ ) • { 1, 2 } = { 2, 1 } nhưng { 1, 2, 3 } ≠ ≠≠ ≠ { 2, 1 } : • Ký hiệu: • A = { 1, 2, 3 } thì = {∅ ∅∅ ∅, {1}, {2}, {3}, {1, 2}, {2, 3}, {3, 1}, {1, 2, 3} } 6 : • A’ = { x | x ∉ ∉∉ ∉ A } : • A ∪ ∪∪ ∪ B = { x | x ∈ ∈∈ ∈ A hoặc x ∈ ∈∈ ∈ B } • A ∩ B = { x | x ∈A và x ∈ B } 7 : • A \ B = { x | x ∈ A nhưng x ∉ ∉∉ ∉ B } • A x B = { (a,b) | a ∈ A và b ∈ B } 8 cho A = {1, 2} và B = {2, 3} • A ∪ B = { 1, 2, 3 } • A ∩ B = { 2 } • A \ B = { 1 } • A x B = { (1,2 ), (1, 3), (2, 2), (2, 3) } • 2 A = { ∅, {1}, {2}, {1, 2} } Printed with FinePrint - purchase at www.fineprint.com 9 ( A × B ) = aRb × ×× × S 10 cho S = {0, 1, 2, 3} • Quan hệ ‘thứ tự nhỏ hơn’ = { (0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3) } • Quan hệ ‘bằng’ = { (0, 0), (1, 1), (2, 2), (3, 3) } • Quan hệ ‘chẵn lẻ’ = { (0, 0), (1, 1), (2, 2), (3, 3), (0, 2), (2, 0), (1, 3), (3, 1)} 11 nếu aRa là ñúng với ∀ ∀∀ ∀a∈ ∈∈ ∈S nếu aRb thì bRa nếu aRb và bRc thì aRc : • L không là quan hệ phản xạ hay ñối xứng • E và P mang tính phản xạ, ñối xứng và bắc cầu 12 • E và P là quan hệ tương ñương • L không là quan hệ tương ñương Printed with FinePrint - purchase at www.fineprint.com 13 ∪ ∪∪ ∪ ∪ ∪∪ ∪ • S i ∩ S j = ∅ ∅∅ ∅ • Nếu a, b cùng thuộc S i thì a b ñúng • Nếu a ∈ ∈∈ ∈ S i và b ∈ ∈∈ ∈ S j thì a b sai P có 2 lớp tương ñương {0, 2} và {1, 3} 14 • Nếu (a,b) ∈ R thì (a,b) ∈R + • Nếu (a,b) ∈ ∈∈ ∈ R + và (b,c) ∈ ∈∈ ∈ R thì (a,c) ∈ ∈∈ ∈ R + • Không còn gì thêm trong R + • R* = R + ∪ { (a, a)  a ∈ S } 15 R = { (1, 2), (2, 2), (2, 3) } trên S = {1, 2, 3} • R + = { (1, 2), (2, 2), (2, 3), (1, 3) } • R* = { (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3) } 16 chứng minh giả sử ⇒ ⇒⇒ ⇒ ∀ ∀∀ ∀ ≥ ≥≥ ≥ chứng minh 6 )1n2)(1n(n i n 0i 2 ++ = ∑ = Printed with FinePrint - purchase at www.fineprint.com 17 • V : tập các ñỉnh (nút) • E : tập các cạnh nối giữa 2 nút ñồ thị G = (V, E) • V = { 1, 2, 3, 4, 5 } • E = { (n, m) | n+m = 4 hoặc n+m = 7}                18 • V : tập các ñỉnh (nút) • E : tập các cung có hướng → →→ → ñồ thị G = (V, E) • V = { 1, 2, 3, 4 } • E = { i → j  i < j } 19 là ñồ thị có hướng • 1 nút gốc • Nút trung gian (nút trong) • Nút lá: không dẫn ra nút con • Thứ tự duyệt trên cây: → →→ → 20 cây minh họa cấu trúc cú pháp câu ‘An là sinh viên giỏi’ Chủ ngữ Vị ngữ Danh từ ðộng từ Bổ ngữ Danh từ Tính từ Printed with FinePrint - purchase at www.fineprint.com 1 • Khái niệm ngôn ngữ • Cách biểu diễn ngôn ngữ • Văn phạm • Sự phân lớp văn phạm 2 là một thực thể trừu tượng mà ta không ñịnh nghĩa ñược một cách hình thức • Các chữ cái a, b, c … hoặc các số 1, 2, 3 … • Là một tập (không rỗng) các ký hiệu nào ñó • Bộ chữ cái Latin {A, B, C, …, a, b, c, …, z} một chuỗi (hay một từ - word) trên bộ chữ cái Σ • Là một dãy hữu hạn các ký hiệu của Σ • Một ký hiệu có thể xuất hiện nhiều lần 3 là số các ký hiệu tạo thành chuỗi • abca = 4 ký hiệu , là chuỗi không có ký hiệu nào • |ε| = 0 chuỗi v là chuỗi con của w nếu v ñược tạo bởi các ký hiệu liền kề nhau trong chuỗi w. • Chuỗi 10 là chuỗi con của chuỗi 0 001 là chuỗi con bất kỳ nằm ở ñầu chuỗi là chuỗi con bất kỳ nằm ở cuối chuỗi • Chuỗi abc có các tiền tố a, ab, abc • Chuỗi 0246 có các hậu tố 6, 46, 246, 0246 4 là chuỗi ñược tạo thành bằng cách viết chuỗi thứ nhất, sau ñó viết chuỗi thứ hai, • Nối ghép của chuỗi Long và Int là LongInt • Nối kết của chuỗi rỗng: εw = wε = w (với mọi w) → ε là ñơn vị của phép nối kết của chuỗi w, ký hiệu w R , là chuỗi w ñược viết theo thứ tự ngược lại. • w = abcd → w R = dcba ε R = ε Printed with FinePrint - purchase at www.fineprint.com 5 • Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, … • Ngôn ngữ lập trình: Pascal, C/C++, … • Là tập hợp các câu theo cấu trúc quy ñịnh nào ñó • Biểu thị các ý nghĩ, các sự kiện hay các khái niệm • Bao gồm một tập các ký hiệu và các quy tắc ñể vận dụng chúng 6 Một ngôn ngữ (hình thức) L là một của các ký hiệu từ một bộ chữ cái Σ nào ñó. Ø và {ε} cũng ñược coi là ngôn ngữ Ø ≠ {ε} và {Ø} ≠ {ε} Σ ΣΣ Σ Σ ΣΣ Σ ● Σ* : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng ε, sinh ra từ bộ chữ cái Σ. ● Σ + : tập hợp tất cả các chuỗi con, ngoại trừ chuỗi rỗng ε, sinh ra từ bộ chữ cái Σ. Σ* = Σ + + {ε} Σ+ = Σ* - {ε} ● Σ = {0,1} thì Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, …} và Σ + = {0, 1, 00, 01, 10, 11, 000, …} 7 = Σ* - L L 1 L 2 = {w 1 w 2 | w 1 ∈ L 1 và w 2 ∈ L 2 } trên bộ chữ cái Σ 1 ∪ Σ 2 • LLL…LL = L (kết nối i lần trên cùng ngôn ngữ L) • L = {ε} L 8 thành lập một ngôn ngữ bằng cách kết nối các chuỗi (với số lượng bất kỳ) các chuỗi của một ngôn ngữ L cho trước  Bao ñóng Kleene: L* = ∪ L i  Bao ñóng dương (positive): L* = ∪ L i L = L*L = LL* L* = L ∪ {ε} cho L = {a, ba} • L = {aa, aba, baa, baba} • L = { aaa, aaba, abaa, ababa, baaa,baaba, babaa, bababa } • L* = {ε, a, ba, aa, aba, baa, baba, aaa, aaba, …} ∞ ∞∞ ∞ ∞ ∞∞ ∞ Printed with FinePrint - purchase at www.fineprint.com 9 L = {aa, aba, baa, baba} L = {a i | i là số nguyên tố} • Cho phép biểu diễn ngôn ngữ một cách tổng quát • Văn phạm: cơ chế sản sinh ra mọi chuỗi của ngôn ngữ • Automata: cơ chế cho phép ñoán nhận một chuỗi bất kỳ có thuộc một ngôn ngữ L hay không 10 Theo từ ñiển, văn phạm là một tập các quy tắc về cấu tạo từ và các quy tắc về cách thức liên kết từ lại thành câu văn phạm cấu trúc G là một hệ thống gồm 4 thành phần G(V, T, P, S) • V (variables): tập các biến (VD: A, B, C, …) • T (terminal): tập các ký hiệu kết thúc (V ∩ T = Ø) (VD: a, b, c, …, w, x, y, ) • P (production): tập luật sinh, dạng α→β với α, β ∈ (V ∪ T)* • S (start): ký hiệu bắt ñầu (S ⊂ ⊂⊂ ⊂ V) 11 nếu α→β là một luật sinh thì γ α αα α δ ⇒ ⇒⇒ ⇒ γ β ββ βδ nếu các chuỗi α 1 , α 2 , , α m ∈ Σ* và α 1 ⇒ α 2 , α 2 ⇒ α 3 , , α m-1 ⇒ α m thì α m có thể ñược dẫn xuất từ α 1 α 1 ⇒* α m L (G) = {w | w ∈ T * và S ⇒* w} là 2 văn phạm sinh ra cùng một ngôn ngữ (G 1 tương ñương G 2 ⇔ L(G 1 )=L(G 2 ) ) 12 Bằng cách áp ñặt một số quy tắc hạn chế trên các luật sinh, Noam Chomsky ñề nghị một hệ thống phân loại các văn phạm dựa vào tính chất của các luật sinh . không cần thỏa ñiều kiện ràng buộc nào trên tập các luật sinh nếu văn phạm G có các luật sinh dạng α→β và |β| ≥ |α| có luật sinh dạng A→α với A là một biến ñơn và α là chuỗi các ký hiệu thuộc (V ∪ T)* Printed with FinePrint - purchase at www.fineprint.com 13 có mọi luật sinh dạng tuyến tính phải hoặc tuyến tính trái . • Tuyến tính phải: A → wB hoặc A → w • Tuyến tính trái: A → Bw hoặc A → w Với A, B là các biến ñơn, w là chuỗi ký hiệu kết thúc (có thể là rỗng) Nếu ký hiệu L , L , L , L là các ngôn ngữ ñược sinh ra bởi văn phạm loại 0, 1, 2, 3, ta có: L ⊂ L ⊂ L ⊂ L 14 văn phạm G( {S, A}, {a, b}, P, S ) ðây là văn phạm loại 3 (dạng tuyến tính phải) Một dẫn xuất từ S có dạng: S → aS → aaS → aaaA → aaabA → aaabbA → aaabbbA → aaabbbb = a 3 b 4 ⇒ L(G) = a b = {a n b m | n,m ≥ 1} S → aS S → aA A → bA A → b P = 15 văn phạm G( {S}, {a, b}, P, S ) ðây là văn phạm loại 2 (dạng A→α ) Một dẫn xuất từ S có dạng: S → aSb → aaSbb → aaaSbbb → aaaabbbb = a 4 b 4 ⇒ L(G) = {a n b n | n ≥ 1} S → aSb S → ab P = 16 văn phạm G( {S, B, C}, {a, b, c}, P, S ) ðây là văn phạm loại 1 Một dẫn xuất từ S: S → aSBC → aaBCBC → aabCBC → aabBCC → aabbCC → aabbcC → aabbcc=a 2 b 2 c 2 ⇒ L(G) = {a n b n c n | n ≥ 1} S → aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC → cc P = Printed with FinePrint - purchase at www.fineprint.com 17 là máy trừu tượng có cơ cấu và hoạt ñộng ñơn giản nhưng có khả năng ñoán nhận ngôn ngữ • Con người phải lập trình sẵn cho máy một ‘lộ trình’ ñể thực hiện 18 • Mỗi bước di chuyển chỉ ñược xác ñịnh duy nhất bởi cấu hình hiện tại (hàm chuyển của automata là ñơn trị) • Tại mỗi bước di chuyển, nó có vài khả năng ñể lựa chọn (hàm chuyển của automata là ña trị) Printed with FinePrint - purchase at www.fineprint.com [...]... 3 r = q6 q4 5 r q5 1 Start 1 q3 * 0 1 Start 1 * + 1 = r Start 1 q2 2 1 r r = + 0 q1 q9 q3 0 q 4 q7 q5 1 q 6 Printed with FinePrint - purchase at www.fineprint.com q8 q10 26 Gi s ta cú ủ nh lý ủỳng v i k-1, t c l t n t i BTCQ rk-1lm sao cho L(rk-1lm) = Rk-1lm V y ủ i v i rkij ta cú th ch n BTCQ (rk-1ik)(rk-1kk)*(rk-1kj) + rk-1ij Ta cú nh n xột: L(M) = qj F Rn1j V y L cú th ủ c ký hi u b ng... B Nullable xõy d ng t p lu t sinh P' V i m i lu t sinh A X1X2 Xn trong P, ta xõy d ng lu t sinh A 12 n v i ủi u ki n: ủ t L=L(G) l CFL khụng ch a v ủ c sinh ra b i vn ph m G(V, T, P, S) Theo ủ nh lý 3, ta cú th lo i b t t c lu t sinh trong G r Ô B Cho CFG G(V, T, P, S) v L l ngụn ng sinh ra b i G Khi ủú L {} l ngụn ng sinh ra b i CFG G'(V, T, P', S) khụng cú ký hi u vụ ớch v khụng cú lu t sinh... lu t sinh cú ủ di v ph i > 2: CaA a CbB b A A CaA a CbB b B CbB b Ca a Cb b c B B c B gi s CFL L=L(G) v i CFG G(V, T, P, S) : thay th t t c cỏc lu t sinh cú ủ di v ph i l 1 p d ng ủ nh lý 4.4 ủ lo i b lu t sinh ủn v v : thay th t t c lu t sinh cú ủ di v ph i l n hn 1 v cú ch a ký hi u k t thỳc A X1X2 Ca Xn A X1X2 Xi Xn Ca a a : thay th cỏc lu t sinh m v ph i cú nhi u hn 2 ký hi . cấu và hoạt ñộng ñơn giản nhưng có khả năng ñoán nhận ngôn ngữ • Con người phải lập trình sẵn cho máy một ‘lộ trình ñể thực hiện 18 • Mỗi bước di chuyển chỉ ñược xác ñịnh duy nhất bởi cấu hình. - purchase at www.fineprint.com 5 • Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, … • Ngôn ngữ lập trình: Pascal, C/C++, … • Là tập hợp các câu theo cấu trúc quy ñịnh nào ñó • Biểu thị các ý nghĩ,. Chomsky ñề nghị một hệ thống phân loại các văn phạm dựa vào tính chất của các luật sinh . không cần thỏa ñiều kiện ràng buộc nào trên tập các luật sinh nếu văn phạm G có các luật sinh dạng

Ngày đăng: 11/09/2014, 15:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan