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

Bài giảng Automata và ngôn ngữ hình thức - Chương 4: Văn phạm chính quy pdf

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 (322.35 KB, 24 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 4. Văn ph m chính quyạ
(Regular grammars)
M C ĐÍCH:Ụ

Trang b nh ng khái ni m v văn ph m chính quy;ị ữ ệ ề ạ

Bi n đ i t ng đ ng gi a RG và FAế ổ ươ ươ ữ

Các tính ch t c a văn ph m tính quy.ấ ủ ạ
YÊU C U:Ầ

Sinh viên n m v ng các khái ni m.ắ ữ ệ

V nhà, c th hóa các thu t toán b ng ch ng trình.ề ụ ể ậ ằ ươ
©copyright by PhD. C.T.Ha, Le Quy Don Technical
University
Bài 4. Văn ph m chính quyạ


6/27/14
3
4.1. Văn ph m chính quyạ
4.2. S t ng đ ng gi a RG và FAự ươ ươ ữ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
4.3. B đ b m (pumching lemma) cho RSổ ề ơ
4.4. Tính đóng c a t p h p chính quyủ ậ ợ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
Bài 4. Văn ph m chính quyạ
6/27/14
4
4.1. Văn ph m chính quyạ
4.2. S t ng đ ng gi a RG và FAự ươ ươ ữ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
4.3. B đ b m (pumching lemma) cho RSổ ề ơ
4.4. Tính đóng c a t p h p chính quyủ ậ ợ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.1. Khái ni m văn ph m chính quyệ ạ
6/27/14
5
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

Nh c l i khái ni m: ắ ạ ệ 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 symbols);

Δ , Δ Σ =Ø, g i là b ng ký hi u ph (báng ch cái không k t ∩ ọ ả ệ ụ ữ ế
thúc – non-terminal symbols);

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).ọ ắ ặ ậ ế ạ
Recursively enumerable
Context-sensitive
Context-free
Regula
r
4.1. Khái ni m văn ph m chính quyệ ạ
6/27/14
6

Phân lo i theo Chomsky:ạ
4.1. Khái ni m văn ph m chính quyệ ạ
6/27/14
7

ĐN 4.1. Văn ph m chính quy (RG) ạ là văn ph m mà t t ạ ấ
c các lu t sinh c a nó đ u có d ng tuy n tính trái (ho c ả ậ ủ ề ạ ế ặ
tuy n tính ph i):ế ả

Tuy n tính tráiế : d ng A ạ → Bw ho c A ặ → w


Tuy n tính ph iế ả : d ng A ạ → wB ho c A ặ → w

Khái ni m v ngôn ng chính quy (ệ ề ữ RL), bi u th c chính quy ể ứ
(RE) và t p h p chính quy (ậ ợ RS):

ngôn ng sinh b i ữ ở RG đ c g i là ượ ọ RL;

RL có th đ c ký hi u đ n gi n b ng m t ể ượ ệ ơ ả ằ ộ RE;

T p các chu i đ c ký hi u b i m t ậ ỗ ượ ệ ở ộ RE đ c g i là ượ ọ RS.
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.1. Khái ni m văn ph m chính quyệ ạ
6/27/14
8

Ví d 4.1: ụ Ví d v văn ph m chính quy:ụ ề ạ

Văn ph m tuy n tính ph i G1({S}, {a, b}, P1, S): ạ ế ả
S abS| a →

Văn ph m tuy n tính trái G2({S, A, B}, {a, b}, P2, S):ạ ế
S Aab→ A Aab| B → B a→

Ví d 4.2: ụ Ngôn ng đ c ký hi u b i RE: ữ ượ ệ ở 0(10)*

Tuy n tính ph i: S 0A ;→ế ả A 10A | ε→

Tuy n tính trái: S S10| 0 →ế


Đ nh lý 4.1: ị N u L đ c sinh ra t m t văn ph m chính quy thì L là t p ế ượ ừ ộ ạ ậ
h p chính quy.ợ

Ý nghĩa: nh v y, m t ư ậ ộ RG có th đ c bi u di n b i m t ể ượ ể ễ ở ộ FA.
Bài 4. Văn ph m chính quyạ
6/27/14
9
4.1. Văn ph m chính quyạ
4.2. S t ng đ ng gi a RG và FAự ươ ươ ữ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
4.3. B đ b m (pumching lemma) cho RSổ ề ơ
4.4. Tính đóng c a t p h p chính quyủ ậ ợ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
6/27/14
10

Gi i thu t ả ậ xây d ng ự FA cho văn ph m tuy n tính ph iạ ế ả :

Xây d ng t p Q g m các tr ng thái có d ng [α] v i α là S ho c ự ậ ồ ạ ạ ớ ặ
chu i h u t c a v ph i m t lu t sinh nào đó trong P. ỗ ậ ố ủ ế ả ộ ậ

N u A là m t bi n và (A ế ộ ế → α) ∈ P: δ([A], ε) = {[α]}

N u a là m t ký hi u k t thúc: ế ộ ệ ế δ([aα], a) = {[α]}

Tr ng thái b t đ u ạ ắ ầ [S], tr ng thái k t thúc ạ ế [ε]


Ví d 4.3:ụ xây d ng FA cho RG:ự S → 0A ; A → 10A | ε
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
[0A] [A] [ε]
0
ε
[10A]
[S]
ε
1
ε
6/27/14
11

Gi i thu t ả ậ xây d ng ự FA cho văn ph m tuy n tính tráiạ ế đ c xây ượ
d ng d a trên tính ch t sau:ự ự ấ

Cho văn ph m G = < Σ, Δ, S, P >, và G’ = < Σ, Δ, S, P’ >, trong đó ạ
n u:ế
P’ = { A α | A αR P } ,→ → ∈
thì L(G’)R = L(G).

Nh v y ta có th xây d ng gi i thu t theo 3 b c:ư ậ ể ự ả ậ ướ

Xác đ nh văn ph m tuy n tính ph i G’ = < Σ, Δ, S, P’ >ị ạ ế ả

Xây d ng NFA cho G’;ự

Đ o ng c chi u các c nh c a NFA này, v trí k t thúc tr thành v ả ượ ề ạ ủ ị ế ở ị

trí b t đ u và ng c l i.ắ ầ ượ ạ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
6/27/14
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical Universityữ ứ
12

Ví d 4.4:ụ xét văn ph m tuy n tính trái G = < Σ, Δ, S, P > :ạ ế
P: S → S10 | 0
Xây d ng FA cho văn ph m tuy n ự ạ ế
tính ph i G’ = < Σ, Δ, S, P’ >:ả
P’: S → 01S | 0
S] [01S]
[ε]
ε
[0]
[1S]
ε
1
0
[0]
ε
ε
[01S]
[ε]
0
1
0
[S] [1S]
Bài 4. Văn ph m chính quyạ

6/27/14
13
4.1. Văn ph m chính quyạ
4.2. S t ng đ ng gi a RG và FAự ươ ươ ữ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
4.3. B đ b m (pumching lemma) cho RSổ ề ơ
4.4. Tính đóng c a t p h p chính quyủ ậ ợ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
6/27/14
14

Đ nh lý 4.2: ị N u L là m t t p h p chính quy thì L đ c sinh ế ộ ậ ợ ượ
ra t m t RG (văn ph m tuy n tính trái ho c tuy n tính ừ ộ ạ ế ặ ế
ph i) nào đó.ả

Ý nghĩa: m t FA có th đ c bi u di n b i m t RG.ộ ể ượ ể ễ ở ộ

Gi i thu t xây d ng RG tuy n tính ph i cho FAả ậ ự ế ả : xét
hàm chuy n tr ng thái ể ạ δ:

N u ế δ(p, a) = q, ta có lu t sinh: ậ p → aq

N u q là tr ng thái k t thúc, ta có lu t sinh ế ạ ế ậ p → a

N u ế q0 là tr ng thái k t thúc, thêm vào: ạ ế S → q0 | ε
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University

4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
6/27/14
15
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
A → 0B | 1D | 0
B → 0D | 1C
C → 0B | 1D | 0
D → 0D | 1D
A → 0B | 0
B → 1C
C → 0B | 0
Do D không có ích nên có th rút g n G nh sau:ể ọ ư
Ví d 4.5:ụ xét DFA cho 0(10)* sau:
A CB
0
1
0, 1
D
0
1
1
0
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
6/27/14
16

Gi i thu t xây d ng RG tuy n tính trái cho FA:ả ậ ự ế

B t đ u v i m t NFA cho LRắ ầ ớ ộ


Đ o ng c chu i v ph i cho t t c m i lu t sinh c a ả ượ ỗ ế ả ấ ả ọ ậ ủ
văn ph m v a thu đ cạ ừ ượ
Bài 4. Văn ph m chính quyạ
6/27/14
17
4.1. Văn ph m chính quyạ
4.2. S t ng đ ng gi a RG và FAự ươ ươ ữ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
4.3. B đ b m (pumching lemma) cho RSổ ề ơ
4.4. Tính đóng c a t p h p chính quyủ ậ ợ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.3. B đ b m cho t p h p chính quyổ ề ơ ậ ợ
6/27/14
18

Pumching lemma: n u L là ế RS thì có t n t i h ng s ồ ạ ằ ố n sao cho
n u ế z là m t t b t kỳ thu c L và ộ ừ ấ ộ |z| ≥ n thì ta có th vi t z d i ể ế ướ
d ng:ạ
z=uvw v i |uv| ≤ n, |v| ≥ 1, và ớ ∀i ≥ 0 ta có uviw ∈ L

Cách khác: ( L)( n)( z)[ z thu c L và | z | ≥ n ta có ( u, v, w)(z = ∀ ∃ ∀ ∃ộ
uvw, | uv | ≤ n, | v | ≥ 1 và ( i)(uviw ∀ ∈ L))]

Ch ng minh: ứ Gi s L là ngôn ng chính quy ả ử ữ → t n t i DFA A=(Q, ồ ạ
Σ, δ, q0, F) có n tr ng thái ch p nh n L.ạ ấ ậ
o
Xét chu i nh p z = a1a2…am, m ≥ n. V i m i i=1,2,…,m, ta đ t ỗ ậ ớ ỗ ặ

δ(q0, a1a2…ai) = qi, n u m>n, theo nguyên lý Dirichlet, ph i có ít ế ả
nh t 2 tr ng thái trùng nhau.ấ ạ
o
Gi s đó là hai s nguyên j và k sao cho 0 ≤ j < k ≤ n th a mãn qj ả ử ố ỏ
= qk.
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.3. B đ b m cho t p h p chính quyổ ề ơ ậ ợ
6/27/14
19
o
z ∈ L → qm ∈ F → a1…ajak+1…am ∈ L(A) →
a1…aj(aj+1…ak)iak+1…am ∈ L(A), v i i ≥ 0 ớ

Vì j < k nên chu i aj+1 ak có đ dài ít nh t b ng 1 và vì k ≤ n nên k-j ỗ ộ ấ ằ
≤ n. Chu i đó t o thành m t ỗ ạ ộ vòng l pặ :

Vòng l p trong hình trên có th đ c l p l i s l n tùy ý, do đó chu i ặ ể ượ ặ ạ ố ầ ỗ
a1 aj (aj+1 ak)i ak+1 am L(M), i ≥ 0.∈ ∀
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
q0
a1. . . aj
qj=qk
ak+1. . am
aj+1. . ak
u
v
w
qm

4.3. B đ b m cho t p h p chính quyổ ề ơ ậ ợ
6/27/14
20

ng d ng c a b đ b m: Ứ ụ ủ ổ ề ơ dùng đ ch ng t m t t p h p không ể ứ ỏ ộ ậ ợ
là RS theo ph ng pháp ươ ph n ch ngả ứ :

Ch n L mà b n c n ch ng t đó không là RL.ọ ạ ầ ứ ỏ

Ch n h ng s n, h ng s đ c đ c p đ n trong b đ b m.ọ ằ ố ằ ố ượ ề ậ ế ổ ề ơ

Ch n chu i z ọ ỗ ∈ L. Chu i z ph thu c vào h ng s n.ỗ ụ ộ ằ ố

Gi thi t phân chu i z thành các chu i con u, v, w theo ràng bu c ả ế ỗ ỗ ộ
| uv | ≤ n và | v | ≥ 1

Mâu thu n s phát sinh theo b đ b m b ng cách ch ra v i u, v ẫ ẽ ổ ề ơ ằ ỉ ớ
và w xác đ nh theo gi thi t, có t n t i m t s i mà đó uviw L. ∉ị ả ế ồ ạ ộ ố ở
T đó có th k t lu n r ng L không là ngôn ng chính quy. Ch n ừ ể ế ậ ằ ữ ọ
l a giá tr cho i có th ph thu c vào n, u, v và w.ự ị ể ụ ộ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.3. B đ b m cho t p h p chính quyổ ề ơ ậ ợ
6/27/14
21

Ví d : ụ ch ng minh t p h p ứ ậ ợ L = { | i ∈ Ν, i ≥ 1} không
làp t p h p chính quyậ ợ

Ch ng minh:ứ


Gi s L là t p chính quy ả ử ậ t n t i DFA ch p nh n L. → ồ ạ ấ ậ
G i n là s tr ng thái c a DFA.ọ ố ạ ủ

Xét chu i z = ỗ . Theo b đ b m: z=uvw v i 1≤ lvl ≤ n ổ ề ơ ớ
và uviw ∈ L

Xét i = 2, ta ph i có uv2w ả ∈ L

M t khác: n2 = lzl = luvwl < luvvwl ≤ n2 + n < (n+1)2ặ

Do n2 và (n+1)2 là 2 s chính ph ng liên ti p nên luv2wl ố ươ ế
không th là m t s chính ph ng, hay uv2w không ể ộ ố ươ
thu c L (trái gi thi t).ộ ả ế
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
2
0
i
2
0
n
Bài 4. Văn ph m chính quyạ
6/27/14
22
4.1. Văn ph m chính quyạ
4.2. S t ng đ ng gi a RG và FAự ươ ươ ữ
4.2.1. Gi i thu t bi n đ i t RG sang FAả ậ ế ổ ừ
4.2.2. Gi i thu t bi n đ i t FA sang RGả ậ ế ổ ừ
4.3. B đ b m (pumching lemma) cho RSổ ề ơ

4.4. Tính đóng c a t p h p chính quyủ ậ ợ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
4.4. Tính đóng c a t p h p chính quyủ ậ ợ
6/27/14
23

M t phép toán trên các t p RS đ c g i là ộ ậ ượ ọ đóng n u k t qu ế ế ả
c a phép toán đó là t p h p cùng lo i.ủ ậ ợ ạ

Đ nh lý 4.3: ị t p h p chính quy đóng v i các phép toán: h p, n i ậ ợ ớ ợ ố
k t và bao đóng Kleen (bao đóng sao).ế

Đ nh lý 4.4: ị t p h p chính quy đóng v i phép l y ph n bù.ậ ợ ớ ấ ầ

Đ nh lý 4.5:ị t p h p chính quy đóng v i phép giao.ậ ợ ớ

Đ nh lý 4.6:ị T p h p các chu i đ c ch p nh n b i FA có n ậ ợ ỗ ượ ấ ậ ở
tr ng thái là: không r ng n u và ch n u nó ch p nh n chu i có ạ ỗ ế ỉ ế ấ ậ ỗ
đ dài < n, ho c vô h n n u và ch n u nó ch p nh n m t chu i ộ ặ ạ ế ỉ ế ấ ậ ộ ỗ
có đ dài l v i n ≤ l < 2n.ộ ớ

Đ nh lý 4.7:ị Có gi i thu t đ xác đ nh hai ôtômát t ng đ ng ả ậ ể ị ươ ươ
(ch p nh n cùng m t ngôn ng ).ấ ậ ộ ữ
Automata và ngôn ng hình th c - ©copyright by PhD. C.T.Ha, Le Quy Don Technical ữ ứ
University
6/27/14
24

(ab)*c+

×