Tải bản đầy đủ (.pptx) (41 trang)

Bài giảng Automata và ngôn ngữ hình thức - Chương 2: Văn phạm và NNHT potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (445.38 KB, 41 trang )

G I N G V I Ê N : T S . H À C H Í T R U N Gả
B M Ô N : K H M Tộ
k h o a c n t t , h v k t q s
Đ t : 0 1 6 8 . 5 5 8 . 2 1 . 0 2
E M A I L : H C T 2 0 0 9 @ Y A H O O . C O M
Lý thuy t automata và ế
ngôn ng hình th cữ ứ
©copyright by PhD. C.T.Ha, Le Quy Don Technical
University
Languague
Grammar
Automat
a
2
Bà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
University
Bài 2. Văn ph m và ngôn ng hình th cạ ữ ứ
2.1. Ngôn ngữ
2.1.1. Các khái ni m c b nệ ơ ả
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn ph mạ


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
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
Bài 2. Văn ph m và ngôn ng hình th cạ ữ ứ
2.1. Ngôn ngữ
2.1.1. Các khái ni m c b nệ ơ ả
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn ph mạ
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
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
2.1.1. Các khái ni m c b nệ ơ ả
5
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University


ĐN 2.1. T p Σ khác r ng g m h u h n hay vô h n các ký hi u ậ ỗ ồ ữ ạ ạ ệ
đ c g i là ượ ọ b ng ch cáiả ữ . M i ph 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;ả ữ ế

Δ = {α, β, γ, δ, ε, η, , κ, μ, χ, ν, π, θ, ρ, σ, τ, ω,ξ, ψ};ϕ

Г = {0, 1} b ng ch cái nh phân;ả ữ ị

ĐN 2.2. Cho , m t dãyộ , đ c g i là ượ ọ
m t t ộ ừ hay m t ộ xâu (chu iỗ ) trên b ng Σ.ả

ε, 0, 01, 101, 1010, 110011 là các t trên b ng ch cái Г = {0,1};ừ ả ữ

ε, beautiful, happy… là các t trên Σ = {a, b, c, …, z}.ừ
a
∈Σ
{ }
1 2
, , ,
m
a a a
Σ =
1 2

i i it
a a a
α
=

ij
a
∈Σ
2.1.1. Các khái ni m c b nệ ơ ả
6
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

ĐN 2.3. Đ dài chu i: ộ ỗ là s các ký hi u t o thành chu iố ệ ạ ỗ

|abca| = 4

ĐN 2.4. Chu i r ng: ỗ ỗ ký hi u ệ ε, chu i không có ký hi u nàoỗ ệ

|ε| = 0

Đ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 0ỗ ỗ ủ ỗ 10001

Đ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ậ ố
2.1.1. Các khái ni m c b nệ ơ ả

7
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

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 đ v n d ng chúng.ồ ậ ệ ắ ể ậ ụ

ĐN 2.8: M t ngôn ng (hình th c) L trên b ch cái ộ ữ ứ ộ ữ Σ là
m t ộ t p h p các chu iậ ợ ỗ t các ký hi u c a b ch cái ừ ệ ủ ộ ữ Σ.

Σ* : 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 ừ ộ ữ Σ.
Σ* = Σ+ + {ε} Σ+ = Σ* - {ε}
2.1.1. Các khái ni m c b nệ ơ ả
8
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Ví d v ngôn ng : ụ ề ữ Cho Σ = {0,1} thì:

Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, …}

Σ+ = {0, 1, 00, 01, 10, 11, 000, …}


Chu i 010ỗ 210 ∉ Σ* vì có s 2 ố ∉ Σ
2.1.1. Các khái ni m c b nệ ơ ả
9
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

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 ngôn ng ;ơ ế ả ọ ỗ ủ ữ

Automata: là m t máy tr u t ng, hay m t 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
Bài 2. Văn ph m và ngôn ng hình th cạ ữ ứ
2.1. Ngôn ngữ
2.1.1. Các khái ni m c b nệ ơ ả
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn ph mạ
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
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
2.1.2. Các phép toán trên từ
11
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Đ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 α.ỏ ầ ừ

2.1.2. Các phép toán trên từ
12
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
Bài 2. Văn ph m và ngôn ng hình th cạ ữ ứ
2.1. Ngôn ngữ
2.1.1. Các khái ni m c b nệ ơ ả
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn ph mạ
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ơ ượ ề
13
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
2.1.3. Các phép toán trên ngôn ngữ
14
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

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 .ữ


Phép h p: ợ

Phép giao:

Phép ph n bù (complement):ầ = Σ* \ L

Phép nhân ghép (concatenation):
L1L2 = {w1w2 | w1 ∈ L1 và w2 ∈ L2} trên b ch cái ộ ữ Σ1 ∪ Σ2
o
LLL…LL = Li (k t n i i l n trên cùng ngôn ng L)ế ố ầ ữ
o
L0 = {ε}
{ }
*
1 2 1 2
|L L L or L
ω ω ω
∪ = ∈Σ ∈ ∈
{ }
*
1 2 1 2
|L L L and L
ω ω ω
∩ = ∈Σ ∈ ∈
( )
C L
Σ
2.1.3. Các phép toán trên ngôn ngữ
15
6/27/14

Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Đ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 – positive ươ
closure):

ĐN 2.12. Ngôn ng ữ ng c:ượ

ĐN 2.13. Ngôn ng ữ c t trái ắ c a ngôn ng X cho ngôn ng ủ ữ ữ
Y:

ĐN 2.14. Ngôn ng ữ c t ph i ắ ả c a ngôn ng X cho ngôn ủ ữ
ng Y:ữ
{ }
*
|
R R
L L
ω ω
= ∈Σ ∈
{ }
* 2
0

i n
i
L L L L L
ε


=
= = ∪ ∪ ∪ ∪ ∪
U
2
1

i n
i
L L L L L

+
=
= = ∪ ∪ ∪ ∪
U
{ }
*
\ | ,Z Y X z x X y Y mà x yz
= = ∈Σ ∈ ∈ =
{ }
/ | ,Z X Y z x X y Y mà x zy

= = ∈Σ ∈ ∈ =
2.1.3. Các phép toán trên ngôn ngữ
16
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Ví d :ụ

Bài 2. Văn ph m và ngôn ng hình th cạ ữ ứ
2.1. Ngôn ngữ
2.1.1. Các khái ni m c b nệ ơ ả
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ
2.2. Văn ph mạ
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ơ ượ ề
17
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
2.2.1. Văn ph m và các khái ni m liên quanạ ệ
18
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

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:ụ ơ ả ề ạ
<câu> <ch ng ><v ng >→ ủ ữ ị ữ
<ch ng > tôi | anh | ch →ủ ữ ị
<v ng > <đ ngt ><danht >→ị ữ ộ ừ ừ
<đ ngt > ăn | u ng→ộ ừ ố
<danht > c m | ph | s a | café.→ừ ơ ở ữ

2.2.1. Văn ph m và các khái ni m liên quanạ ệ
19
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Đ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).ọ ắ ặ ậ ế ạ
2.2.1. Văn ph m và các khái ni m liên quanạ ệ
20
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

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 k t thúc.ể ị ỗ ế ặ ệ ế

Ví dụ: G = ({a, b}, {S, A, B}, S, P), trong đó:
P: S aAS|bBS|ε,→
A aaA|b,→
B aaB|a→
2.2.1. Văn ph m và các khái ni m liên quanạ ệ
21
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

ĐN 2.16. D n xu t tr c ti p: ẫ ấ ự ế n u α β là m t lu t sinh thì →ế ộ ậ
γ α δ → γ βδ

ĐN 2.17. D n xu t gián ti p: ẫ ấ ế 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 gián ti p t ẫ ấ ế ừ α1
α1 * → αm

ĐN 2.18. Ngôn ng L sinh b i văn ph m G:ữ ở ạ
L (G) = {w | w ∈ Σ* và S * w} →


Đ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 G2 ộ ữ ươ ươ ⇔ L(G1)=L(G2))
2.2.1. Văn ph m và các khái ni m liên quanạ ệ
22
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Cây d n xu t: ẫ ấ Gi s d n xu t c a t w là dãy qui t c d ng:ả ử ẫ ấ ủ ừ ắ ạ
S → A11A12 A1n → A21A22 A2m → w1w2 wl

Khi đó, ta có th bi u di n nó d i d ng cây nh sau:ể ể ễ ướ ạ ư
S
A1n
A2m
A12

A23

w4
wn
A22.
w3
w2
w1
A21
A1
2.2.1. Văn ph m và các khái ni m liên quanạ ệ
6/27/14
23


Ví d v văn ph m:ụ ề ạ
Xét văn ph m G ={{S, A}, {a, b}, S, P}, trong đóạ
P = { S aS, S aA, A bA, A b }→ → → →

Ngôn ng sinh b i văn ph m G:ữ ở ạ
2.2.1. Văn ph m và các khái ni m liên quanạ ệ
6/27/14
24

Ví d v văn ph m:ụ ề ạ
S→aAS; A→SbA ; A→SS; S→a; A→ba

Xét chu i:ỗ
S → aAS → aSbAS → aabAS → aabbaS → aabbaa
S
a
A
S
a
b b
S
a
a
A
Bài 2. Văn ph m và ngôn ng hình th cạ ữ ứ
2.1. Ngôn ngữ
2.1.1. Các khái ni m c b nệ ơ ả
2.1.2. Các phép toán trên từ
2.1.3. Các phép toán trên ngôn ngữ

2.2. Văn ph mạ
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ơ ượ ề
25
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

×