Tính đóng của lớp ngôn ngữ sinh bởi văn phạm 2.3... Tính đóng của lớp ngôn ngữ sinh bởi văn phạm 2.3... Tính đóng của lớp ngôn ngữ sinh bởi văn phạm 2.3... Tính đóng của lớp ngôn ngữ
Trang 1Automat a
Trang 2Bài 2 Văn phạm và ngôn ngữ hình
thức Grammars and formal languagues
MỤC ĐÍCH:
Trang bị những khái niệm cơ bản của môn học
TA&FL;
YÊU CẦU:
Sinh viên nắm vững các khái niệm làm cơ sở cho
các bài học tiếp theo
©copyright by PhD C.T.Ha, Le Quy Don Technical
Trang 3Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
3
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 4Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
4
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 52.1.1 Các khái niệm cơ bản
tử được gọi là một chữ cái hay một ký hiệu
∑ = {a, b, c, … , x, y, z} bảng chữ cái tiếng Anh;
Δ = {α, β, γ, δ, ε, η, ϕ, κ, μ, χ, ν, π, θ, ρ, σ, τ, ω,ξ, ψ};
Trang 62.1.1 Các khái niệm cơ bản
ĐN 2.5 Chuỗi con: 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 010001
ĐN 2.6 Chuỗi tiền tố: là chuỗi con bất kỳ nằm ở đầu chuỗi
ĐN 2.7 Chuỗi hậu tố: 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
Trang 72.1.1 Các khái niệm cơ bản
7
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Ngôn ngữ: theo từ điển, là một hệ thống thích
hợp cho việc biểu thị các ý nghĩ, các sự kiện, hay các khái niệm, bao gồm tập các ký hiệu, các qui tắc
+ : 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
* = + + {ε} + = * - {ε}
Trang 82.1.1 Các khái niệm cơ bản
8
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Ví dụ 1: Cho = {0,1} thì:
* = {ε, 0, 1, 00, 01, 10, 11, 000, …}
+ = {0, 1, 00, 01, 10, 11, 000, …}
Chuỗi 010210 * vì có số 2
Trang 92.1.1 Các khái niệm cơ bản
9
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Biểu diễn ngôn ngữ:
Liệt kê các phần tử (chuỗi): L = {aa, aba, baa, baba}
Mô tả đặc điểm chủ yếu: L = {ai | i là số nguyên tố}
Biểu diễn ngôn ngữ một cách tổng quát thông qua
văn phạm (grammar) và automata:
Văn phạm: cơ chế sản sinh ra mọi chuỗi của
Trang 10Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
10
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 112.1.2 Các phép toán trên từ
11
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
ĐN 2.8 Chuỗi nối kết (concatenation): chuỗi
được tạo thành bằng cách viết chuỗi thứ nhất, sau
đó chuỗi thứ hai,
o Nối ghép của chuỗi Long và Int là LongInt
o 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
ĐN 2.9 Chuỗi đảo ngược (reverse) : của chuỗi w,
ký hiệu wR, là chuỗi w được viết theo thứ tự ngược lại
o w = abcd → wR = dcba εR = ε
Phép cắt trái của từ α cho từ β - là phần còn lại
của từ α sau khi cắt bỏ phần đầu β trong từ α
Phép cắt phải của từ α cho từ β - là phần còn lại
của từ α sau khi cắt bỏ phần đuôi β trong từ α
Trang 12Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
12
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 132.1.3 Các phép toán trên ngôn ngữ
13
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Vì mỗi ngôn ngữ là một tập hợp nên ta có các phép toán đại số tập hợp như là phép hợp, phép giao, phép hiệu, phép lấy bù trên các ngôn ngữ
Trang 142.1.3 Các phép toán trên ngôn ngữ
14
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
ĐN 2.10 Ngôn ngữ lặp (bao đóng kleene, hoặc closure):
*-ĐN 2.11 Ngôn ngữ lặp cắt (bao đóng dương –
Trang 15Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
15
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 162.2.1 Văn phạm và các khái niệm liên quan
16
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
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í dụ đơn giản về văn phạm:
Trang 172.2.1 Văn phạm và các khái niệm liên quan
17
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
ĐN 2.15: Văn phạm G là một bộ sắp thứ tự gồm 4 thành phần G = < Σ, Δ, S, P >, trong đó:
Σ - bảng chữ cái, gọi là bảng chữ cái cơ bản (bảng chữ cái kết thúc – terminal symbol);
Δ , Δ ∩ Σ =Ø, gọi là bảng ký hiệu phụ (báng chữ cái không kết thúc – nonterminal symbol);
S ∈ Δ - ký hiệu xuất phát hay tiên đề (start
variable);
P - tập các luật sinh (production rules) dạng
α→β, α, β ∈ (Σ ∪ Δ)*, trong α chứa ít nhất một ký hiệu không kết thúc (đôi khi, ta gọi chúng là các qui tắc hoặc luật viết lại)
Trang 182.2.1 Văn phạm và các khái niệm liên quan
18
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Qui ước: Trong môn học sử dụng:
Chữ cái in hoa A, B, C,… để biểu thị các biến,
trong đó S là ký hiệu xuất phát;
X, Y, Z,… để biểu diễn các ký tự chưa biết hoặc
các biến;
a, b, c, d, e,… để biểu diễn chữ cái;
u, v, w, x, y, z,… để biểu diễn chuỗi chữ cái;
α, β, ω,… biểu thị chuỗi các biến hoặc các ký hiệu
Trang 192.2.1 Văn phạm và các khái niệm liên quan
ĐN 2.19 Văn phạm tương đương: là 2 văn
phạm sinh ra cùng một ngôn ngữ (G1 tương đương
G L(G )=L(G ))
Trang 202.2.1 Văn phạm và các khái niệm liên quan
20
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Cây dẫn xuất: Giả sử dẫn xuất của từ w= a1a2 an
là dãy qui tắc dạng:
S A11A12 A1n A21A22 A2m a1a2 an
Khi đó, ta có thể biểu diễn nó dưới dạng cây như
Trang 212.2.1 Văn phạm và các khái niệm liên
P = { S → aS, S → aA, A → bA, A → b }
Ngôn ngữ sinh bởi văn phạm G:
Trang 222.2.1 Văn phạm và các khái niệm liên
A
Trang 23Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
23
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 24 ĐN 2.20 Văn phạm loại 0 – Văn phạm không
hạn chế (UG – Unrestricted Grammar): 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 2.21 Văn phạm loại 1 – Văn phạm cảm ngữ cảnh (CSG – Context Sensitive Grammar): nếu văn phạm G có các luật sinh dạng α→β và :
Trang 252.2.2 Chomsky hierarchy -1956
08/30/2024
25
ĐN 2.23 Văn phạm loại 3 – Văn phạm chính quy
(RG – Regular Grammar): 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 → aB hoặc A → a;
Tuyến tính trái: A → Ba hoặc A → a;
Với A, B là các biến đơn, a là ký hiệu kết thúc
(có thể là rỗng)
Nếu ký hiệu L0, L1, L2, L3 là lớp các ngôn ngữ được sinh ra bởi văn phạm loại 0, 1, 2, 3 tương ứng, ta có:
L3 L2 L1 L0.
Trang 26Regula
r
Trang 2727
Ví dụ 5: Xét văn phạm sau:
G = ({a, b}, {S, A}, S, P ), trong đó:
Đâ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 = a3b4L(G) = a+b+ = {anbm | n,m ≥ 1}
Trang 28S ab
P
=
Trang 2929
Ví dụ 7: Xét văn phạm sau:
G({a, b, c}, {S, 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=a2b2c2
L(G) = {anbncn | n ≥ 1}
2.2.2 Phân loại văn phạm theo Chomsky
S → aSBC
Trang 30Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm 2.3 Sơ lược về automata
30
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 312.2.3 Tính chất của văn phạm và ngôn
ngữ
08/30/2024
31
Cho văn phạm G=(Σ, Δ, S, P) tùy ý:
Văn phạm tương đương: luôn tồn tại một văn
phạm G’=(Σ’, Δ’, S’, P’) tương đương với G, tức là L(G’)=L(G)
Nếu tồn tại trong P quy tắc chứa ký hiệu xuất phát
S ở vế phải thì tồn tại G’G mà trong P’ không
chứa S ở vế phải
Có thể xây dựng văn phạm G’ tương đương với G
mà các quy tắc của nó không chứa ký hiệu cơ bản ở
Trang 32Bài 2 Văn phạm và ngôn ngữ hình thức
2.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm
2.3 Sơ lược về automata
32
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Trang 332.2.4 Tính đóng của lớp ngôn ngữ sinh bởi VP
08/30/2024
33
Giả sử L1 và L2 là hai ngôn ngữ bất kỳ được sinh bởi văn phạm, và “◦” là một phép toán nào đó trên lớp các ngôn ngữ, Nếu L1◦L2 là ngôn ngữ cũng được
sinh bởi một văn phạm thì ta nói lớp ngôn ngữ do văn phạm sinh ra đóng đối với phép toán ◦
Lớp ngôn ngữ sinh bởi văn phạm là đóng đối với hầu hết các phép toán trên ngôn ngữ.
Lớp ngôn ngữ sinh bởi văn phạm là đóng đối với phép nhân ghép ngôn ngữ (.), phép lặp, lặp cắt, phép chia trái và chia phải, và phép hiệu của 2
ngôn ngữ
phép hợp (∪), phép giao (∩), phép lấy phần bù
đóng với ngôn ngữ loại 3
Trang 342.2.4 Tính đóng của lớp ngôn ngữ sinh bởi VP
08/30/2024
34
Tính đệ quy: Chúng ta nói rằng văn phạm G là đệ qui nếu tồn tại thuật toán xác định một từ w cho trước có thuộc L(G) hay không
Trang 352.2.1 Văn phạm và các khái niệm liên quan
2.2.2 Phân loại văn phạm theo Chomsky
2.2.3 Tính chất của văn phạm và ngôn ngữ
2.2.4 Tính đóng của lớp ngôn ngữ sinh bởi
văn phạm
2.3 Sơ lược về automata
35
08/30/2024 Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don
Bài 2 Văn phạm và ngôn ngữ hình
thức
Trang 3636
Khái niệm: là một mô hình toán học hay máy trừu tượng có
cơ cấu và hoạt động đơn giản, có khả năng đoán nhận ngôn ngữ.