Ngôn ng hình th c và ÔtômatFormal Language & Automata PGS.TS.
Trang 1Ngôn ng hình th c và Ôtômat
(Formal Language & Automata)
PGS.TS Phan Huy Khánh
khanhph@vnn.vn
Ôtômat đ y xu ng Ôtômat đ Ch Ch ng ng 4 Ôtômat đ y xu ng
2/65
Ch ng 4 Ôtômat đ Ôtômat đ y xu ng
\Ôtômat đÔtômat đ y xu ng
u Ngôn ng phi ng cnh
u Quan h v i các ôtômat đc ôtômat đ y xung
u Tính ch t c a các ngôn ng phi ng cnh
\Khái ni m v cây phân tích
u nh lý “b m”v ng dng
u Các thut gii cho các ngôn ng PNC
\Ôtômat đÔtômat đ y xu ng đ n đng đ n đnh
u Nguyên lý
u Hình th c hóa
u Các ngôn ng PNC đ n đ PNC đ n đnh
u Tính ch t c a các ngôn ng PNC đ n đ PNC đ n đnh
3/65
Mô t ôtômat đ ôtômat đ y xu ng (ôđx ôđx )
\M t ôđx không đ n đt ôđx không đ n đnh
(NSA : Non-deterministic Stack Automaton,
hay NPA : Non-deterministic Pushdown Automaton)
cóm t s ph n t t t ng tng t ôhh :
u Mt b ng vào ch a câu s đ đ c đoc đoán nh n ( mút trái nh t)
u Mt đt đ u đu đ c đc đ c l n l t các ký t c a câu trên b ng
u Mt t p h p các tr ng thái, trong đtrong đócóm t trng thái đđ u và
m t s tr ng thái cu i (tr ng thái đđt đt đ c)
u Mt quan h chuy n ti p làm thay đm thay đ i trng thái
v i m i ký t đ đ c đc đ c rên b ng
Ngoài ra, NSA còn có:
u Mt danh sách đch đ y xu ng (Stack/Pushdown List) (DS X)
cóth ch a không hn ch các ký t n o đo đó
u Mt đt đ u ghi đu ghi đ cóth ghi lên DS X
4/65
Ho t đ t đ ng c a ôđx a ôđx
Ho t đt đ ng đong đoán nh n Ôđx không đ n đn Ôđx không đ n đnh nh sau :
uTT ng tng t m t ôhh không đđt ôhh không đđ, câu vào w∈Σ* đ c đc đ t mút trái trên b ng và
uL c đc đ u, đ đ u đu đ c v trí w(1)
DS X r ng và ôđx đang ôđx đang trng thái đđ u q0
u u đu đ c đc đ c l n l t t ng ký t c a w trên b ng
uÔđx nhÔđx nhìn m t phn câu trên đn câu trên đnh DS X (Top) đ đ thay th (Pop-Push) bng cách ghi (đè) lên m t dãy ký t
uÔđx di chuyÔđx di chuy n đn đ u đu đ c qua ph i và thay đ thay đ i tr ng thái
uÔhh d ng khi m i ký t c a w đã đa w đã đ c đc đ c h t
v th a nh n câu, ho c hóc gi a ch ng
5/65
Minh ho ho t đ t đ ng c a ôđx a ôđx
Tr c : trên đ trên đnh DS X làα
Câu vào trên b ng w=anbn
a a a b b b
γ
a a a b b b
γ Sau : trên đrên đnh DS X làβ
6/65
nh ngh a hình th c ôđx c ôđx
\ M t NSA làm t b 7 : M =(Q, Σ, Γ, Δ, Z, q0, A), trong đrong đó:
u Q làt p h p h u h n các tr ng thái
u Σlà ng ch vo h u hn (Input Alphabet)
u Γlà ch đ đ y xu ng h u h n (Stack Alphabet)
u Z ∈Γlàký t đ đ u c a DS X (Initial Stack Symbol)
u q0∈Q làtrng thái đđ u
u F ⊆Q làt p các tr ng thái cu i
u Δ⊂((Q ×Σ*×Γ*) ×(Q ×Γ*)) làquan h chuy n ti p
g m m t tp h p h u h n các quan h ((p, u, β), (q, γ))
p, q ∈Q ; u ∈Σ*; β, γ∈Γ*
Trang 2Mô t
\B ch đ đ y xu ng Γc a ôđx a ôđx :
u Ch a t p h p các ký t s đ đ c đ a vc đ a vào trong DS X
u Không nh t thit phân bi t Γv i Σ(cóth Γ∩Σ≠∅)
\Ký t Z làký t đ đ u hay n i dung ban đi dung ban đ u c a DS X
\Các chuy n ti p ((p, u, β), (q, γ)) trong Δ:
uTT ng tng t m t ôhh không đđt ôhh không đđ
u Cóthêm hot đt đ ng chuy n ti p c a DS X :
¬Câu vào bt đt đu b i tin t u : w = uw’
¬Ôtômat chuyn t trng thái p sang trng thái q
¬Ph n câu β đang n đang n m trên đm trên đnh c a DS X
¬ u đu đc đc đc xong tin t u ca câu vào
¬Thay th βtrên đnh DS X b i câu phn γ
8/65
\Ng i ta c ng đng đnh ngha m t cách hình th c
t ng t
t ng t c c ôhh, nh ng cóm t c a DS X các khái ni m:
u C u hình
u Chuy n ti p m t b c
u Chuy n ti p nhiu b c
u Ôđx đoÔđx đoán nh n câu và
u NN đNN đ c th a nhn b i ôđxi ôđx
9/65
\C u hình c a ôđxa ôđx
L b ba C = (q, u, α)∈Q ×∑*×Γ*
Trong đ
Trong đó:
Q ∈Q làtrng thái c a ôtômat
u ∈∑* làmt phn ca câu vào s đ đ c x lý
α∈Γ* làni dung ca DS X
Ví d C = (q1, aabbb, AZ)
Vi t g n :
q 1 aabbbAZ
Víd C = (q1, aabbb, AZ)
Vi t g n :
q 1 aabbbAZ
a a a b b b
A Z
u ph n câu s x lý
q1
q1
10/65
\Cho ôđx MCho ôđx M, ta nói :
C u hình C’=(q’, w’, α’)nh n đn đ c t C=(q, w, α)
Kíhiu : (q, w, α) M(q’, w’, α’) n u:
¬w =uw’ ( câu w cóti n t u ∈∑*)
¬α=βδ ( tr c khi chuy n ti p, đ đnh DS X ch a β∈Γ*
nu đu đ c t trái qua ph i)
¬α’=γδ ( sau khi chuyn ti p, ph n βc a DS X
đ c thay th b i γ,
ký t đ đ u tiên c a γbây gi n m đ đnh DS X )
¬((q, u, β), (q’, γ))∈Δ
11/65
Tr c khi chuy n ti p
Ph n câu x lý w=uw’
u w’
α
δ
Sau khi chuy n ti p
p
α =βδ
Phn câu x lý w’
u w’
β δ
q
α’=γδ
M
12/65
\C u hình C’nhn đn đ c t C qua nhi u giai đou giai đo n
ký hi u : C *
MC’
n u
∃k≥0 vàk-1 c u hình trung gian C0, C1, C2, , Ck sao cho :
C =C0, C’=Ck, Ci MCi+1v i 0 ≤i <k
Trang 3Ôđx đo
Ôđx đo án nh n câu và
\Cho ôđx M vCho ôđx M vàmt câu vào cn x l w ∈∑*
\Mt đot đoán nhn (Execution)c a M trên w làdãy cu hình :
(q0, w, Z) M(q1, w1, α1) M M(qn, ε, γ)
trong đ
trong đó 0làtrng thái đi đ u, Z làký t đ đáy c a DS X vàεlàcâu rng
\Mô t :
u Lúc đc đu, DS X ch a ký t đ đáy Z (đ c xem làDS rng)
u Câu w đang nCâu w đang nm trên b ng vào, đ đ u đu đ c mút trái nht w(1)
u M tin hành đoán nhn w b ng cách th c hin liên tip
cc b cchuyn tip Ci MCi+1
u M dng đong đoán nh n :
¬ho c m t trng thái kt thúc, phn câu x lcòn l i r ng
¬ho c M bhc mt trng thái nào đo đó
14/65
Ôđx th
\Cho ôđx MCho ôđx M=(Q, ∑, Γ, Δ, Z, q0, F)v m t câu vào w∈∑*
\Ôđx thÔđx th a nh n câu wn u quátrình đonh đoán nh n đn đt đt đ n m t trong các tr ng thái k t thúc :
u Ph n câu x lcòn l i r ng
u (q0, w, Z) *
M(p, ε, γ)v i p ∈F
\Do ôđx M không đ n đDo ôđx M không đ n đnh, nên cóth có nhi u phép đop đoán nh n khác nhau trên cùng m t câu vào
15/65
Bi u di n ôtômat đ ôtômat đ y xu ng
\Cho ôtômat M =(Q, ∑, Γ, Δ, Z, q0, F)
\C th bi u di n M tn M t ng tng t c côhh nh sau :
u Bng cách li t kê h t các thành ph n c a M
u Dùng đng đ th
\Th c t , ng i ta th ng dùng c ch bi u di n đ th
khi s tr ng thái c a ôtômat không quál n
16/65
Dùng đ ng đ th bi u di n ôđx n ôđx
\Cho ôđx Cho ôđx M =(Q, ∑, Γ, Δ, Z, q0, F) quy c v M nh sau :
q
> p
q
u, α|β p
p là tr ng thái đ u, p = q0
((p, u, α), (q, β))∈Δ
q là tr ng thái cu i, q ∈ F
17/65
Ví d 1 : ôđx đ n đ ôđx đ n đ nh
\Ngôn ng { nbn| n ≥ 0 } đ c th a nh n b i ôđx Mi ôđx M1:
Q ={ s, p, q } ∑={ a, b } Γ { A }, F ={ q }
Δgm các chuyn tip :
(s, a, ε)→(s, A) (s, b, A)→(p, ε)
(s, ε, Z)→(q, ε) (p, b, A)→(p, ε) (p, ε, Z)→(q, ε)
p
b, A|ε
q
> s
ε, Z|ε
ε, Z|ε
V a đ c v a ghi nh
A vào DS X
n con a đã đ c
V a đ a đ c v a ghi nh
A vào DS X
n con a đã đ
n con a đã đ c
c t ng con b
và xoá đ nh DS X
là con A
c t ng con b
v xoá đ đ nh DS X
là con A
X lý câu r ng
ε ∈anbn
X lý câu r ng
ε∈anbn
18/65
Ôđx M
Ôđx M1 đo đo án nh n câu anbn
\Cho câu vào a3b3, ôđx Môđx M1th c hi n đon đoán nh n nh sau :
saabbbZ M1sabbbAZ M1sbbbAAZ M1sbbbAAAZ ghi nh a
\Nh vy M1th a nh n các câu anbn, n≥0, ta vit L(M1) = anbn
p
b, A|ε
q
> s
ε, Z|ε
ε, Z|ε
Trang 4Cách v khác c a ôđx M a ôđx M1
C th v ôđx M ôđx M1theo cách khác nh sau :
p
b, A|ε
q
> s
a, Z|AZ
b, A|ε
ε, Z|ε
ε, Z|ε
a, A|AAZ
20/65
Ví d 2 : ôđx không đ n đ ôđx không đ n đ nh
\Ngôn ng {wwR} đ c th a nh n b i M2 nh sau :
Q ={ s, p, q} ∑={ a, b } Γ { A, B } F ={ q }
Δch a các chuyn tip : (s, a, ε)→(s, A) (s, ε, ε)→(p, ε) (p, b, B)→(p, ε) (s, b, ε)→(s, B) (p, a, A) →(p, ε) (p, ε, z)→(q, ε)
V a đ c v a ghi nh
A, B vào DS X các con a, b đã đ c
V a đ a đ c v a ghi nh
A, B vào DS X các con a, b đã đ b đã đ c
c t ng con a, b
và xoá đ nh DS X
là con A, B
c t ng con a, b
v xoá đ đ nh DS X
là con A, B
p
ε, ε|ε
q
> s
ε, Z|ε
ε, Z|ε
X lý câu r ng
ε ∈wwR
X lý câu r ng
ε∈wwR
21/65
Ôđx M
Ôđx M2 th a nh n câu abba
\Cho câu vào abba, ôđx M ôđx M2th c hi n đon đoán nh n nh sau :
sbbaZ M1sbbaAZ M2sbaBAZ ghi nh a, b đã đ đã đ c
M2paBAZ chuy n dch không đ n đch không đ n đnh
M2paAZ M2p ki m tra a, b đ b đ xoá A, B trên DS X
p
ε, ε|ε
q
> s
ε, Z|ε
ε, Z|ε
Chuy n d ch không đ n đ nhChuyn dch
không đ n đ
không đ n đnh
22/65
Ôđx M
Ôđx M2 đo đo án nh n câu abba th t b i
\V n câu vào abba, ôđx M ôđx M2th c hi n đon đoán nh n nh sau :
sbbaZ M1sbbaAZ M2sbaBAZ ghi nh a, b đã đ đã đ c
M2sBBAZ M2sABBAZ hc : không th đ đc tip a hay b !
M2pABBAZ??? cng v n hóc : không th đ đc tip
ôtômatkhôngth a nhn câu abba !
p
ε, ε|ε
q
> s
ε, Z|ε
ε, Z|ε
Chuy n d ch không đ n đ nhChuyn dch
không đ n đ
không đ n đnh
23/65
Ví d 3 ôđx không đ n đ ôđx không đ n đ nh hai tr ng thá
\C th xây d ng ôđx Mng ôđx M3g m ch hai tr ng thái
M3th a nh n ngôn ng wwRv i DS X r ng :
Q ={ s, p } ∑={ a, b } Γ { A, B } F={ p }
Δgm các chuyn tip :
(s, a, ε)→(s, A) (s, ε, ε)→(p, ε) (p, b, B)→(p, ε)
(s, b, ε)→(s, B) (p, a, A)→(p, ε) (p, ε, Z)→(p, ε)
ε, ε|ε
b, ε|A
b, B|ε
ε, Z|ε
ε, Z|ε
p
> s
24/65
\Theo phân c p VP c a Chomsky, VP phi ng c nh (PNC) :
G =(N, ∑, R, S )
g m các s n xut d ng A →β
v i A ∈N, β∈(N∪∑)* = V*,không có n ch gìtrên β
\T G, cóth đ đnh ngha NN PNC :
L = L(G)
\M t NN L làPNC n u t n t i m t VP PNC s n sinh ra L
Trang 5\D i đây li đây làm t s VP PNC :
u G1{ S →aSb | ε} L(G1) = anbn, n≥0
u G2{ S →aSa | bSb | ε} L(G1) = wwR
u G3{ S →aB | bA | ε A →bAA | aS B →bS | aBB }
L(G3) g m các câu ch a cùng s ch a àch btrong m t
th t n o đo đó
u G4{ S →aAS | a A →SbA | SS | ba }
L(G4) = ?
26/65
\Các ngôn ng th a nh n b i các ôtômat đc ôtômat đ y xu ng cóth
đ c sinh b i các v n ph m PNC và ng c l i
\ nh lý :
M t ngôn ng làPNC n u
ngôn ng đ đó đ đ c th a nh n b i m t ôtômat đt ôtômat đ y xu ng
L = L(M) = L(G) v i G làVP2v M là ôđx ôđx
27/65
\ Cho L1v L2làhai NN PNC, ta cóc c tính ch t sau :
u Các ngôn ng sau là phi ng c nh:
¬ L1∪L2 phép h p c a hai NN PNC
¬ L1.L2 phép ghép tip hai NN PNC
¬ L1 ly bao đy bao đóng c a m t NN PNC
u Ngôn ng :
¬ L1∩L2 phép giao c a hai NN PNC
không h n là phi ng c nh !
u Tuy nhiên ngôn ng :
¬ LR∩L2làPNC vi LRlàNNCQ và 2làPNC
28/65
\Cho :
G1=(N1, ∑1, R1, S1) sao cho L1 = L(G1)
G2=(N2, ∑2, R2, S2) sao cho L2 = L(G2)
\Xây d ng VP2G sinh ra ngôn ng L1∪L2 nh sau :
G =(V, ∑, R, S )v i :
u N =N1∪N2∪{ S } S làm t ký t m i thêm và
u ∑=∑1∪∑2
u L y ký t m i thêm vào S làm ký t đ đ u
u R =R1∪R2∪{ S →S1, S →S2}
29/65
\ Cho :
G1{A →A+B | a ; B →a } L1= L(G1) = a(+a)*
G2{C →C−D | b ; D →b } L2= L(G2) = b(−b)*
\ Xây d ng VP2G :
G{ S →A | C ; A →A+B | a ;
B →a ; C →C−D | b ; D →b }
\ G sinh ra ngôn ng L1∪L2 nh sau :
L= L1∪L2= L(G) = a(+a)* ∪b(−b)*
30/65
\Cho :
G1=(N1, ∑1, R1, S1) sao cho L1 = L(G1)
G2=(N2, ∑2, R2, S2) sao cho L2 = L(G2)
\Xây d ng VP2G sinh ra ngôn ng L1 L2 nh sau :
G =(V, ∑, R, S )v i :
u N =N1∪N2∪{ S } S làm t ký t m i thêm và
u ∑=∑1∪∑2
u L y ký t m i thêm vào S làm ký t đ đ u
u R =R1∪R2∪{ S →S1S2}
Trang 6\Cho :
G1{A →aA | ε} L1= L(G1) = am m≥0
G2{B →bB | ε} L2= L(G2) = bn n≥0
\Xây d ngVP2G :
G{ S →AB ; A →aA | ε ; B →bB | ε}
\G sinh ra ngôn ng L1 L2 nh sau :
L= L1.L2= L(G) = ambn m≥0, n≥0
L g m các câu cóm t s tu ý con a ri m t s tu ý con b
32/65
\Cho v n ph m PNC G =(N, ∑, R, S) cóL = L(G)
s n sinh ra ngôn ng L = L(G)
\Xây d ng VP sinh ra ngôn ng L* nh sau :
G =(N, ∑, R ∪{ S →SS | ε}, S)
G c ng làVP phi ng c nh
\Víd :
u Cho G { S →ab } cóL(G) = { ab }
u V n ph m G { S →SS | ab | ε} sinh ra ngôn ng :
{ ε, ab, abab, ababab, } = { (ab)* }
33/65
\Cho VP PNC G =(N, ∑, R, S) cóL = L(G)
\Khi áp d ng các s n xu t đt đ t o sinh câu, th t áp d ng
làkhông quan tr ng :
u Xut phát t ký t đ đ u S, cóth áp d ng tu ý các s n xu t,
hay dùng các d n xu t khác nhau trong G đc nhau trong G đ u cóth to ra
cùng m t câu
u Tính “phi ng c nh”th hi n ch : m t ký t không k t
thúc A∈N cóth đ đ c thay th đ đ c l p v i các ký t bao
xung quanh (tr c A vàsau A), không ph thu c vào “ng
c nh”
\Tính không quan tr ng v th t khi áp d ng các s n xu t
là đ đ c tr ng c a các NN PNC
34/65
\Cho v n ph m G :
G { S →SS 1| aSa 2| bSb 3| ε4} (đánh s các sn xu t)
\V i câu w=aabaab,
cóth có10 cách suy d n khác nhau đ đ sinh ra w :
C ch 1 (dãy các SX là124324):
S ⇒ 1 SS ⇒ 2 aSaS ⇒ 4 aaS ⇒ 3 aabSb ⇒ 2 aabaSab ⇒ 4 aabaab
C ch 2 (dãy các SX là132424):
S ⇒ 1 SS ⇒ 3 SbSb ⇒ 2 SbaSab ⇒ 4 Sbaab ⇒ 2 aSabaab ⇒ 4 aabaab V.v
\S khác nhau c a các cách suy d n ra w
làth t áp d ng các s n xu t c a G
35/65
\ Ng i ta s d ng c u trúc cây đc cây đ bi u di n quátrình áp
d ng các SX c a VP đa VP đ suy d n t o sinh câu
\ Cho VP PNC G =(V, Σ, R, S)
u Cây phân tích (Parse Tree),
hay còn đgl
hay còn đgl cây suy d n (Derivation Tree) đđ đđ c
36/65
\Ng i ta s d ng c u trúc cây đc cây đ bi u di n quátrình áp
d ng các SX c a VP đa VP đ suy d n t o sinh câu
\Cho VP PNC G =(V, Σ, R, S)
uCây phân tích (Parse Tree), hay còn đgl
hay còn đgl cây suy d n (Derivation Tree) đ đ c XD nh sau :
¬Gc(Root) c a cây làký t đ đu S
¬Mi út tronglàmt ký hiu không kt thúc A∈N
¬Mi út lálàmt ký hiu kt thúc a∈Σho c ký t rng ε
¬Nu v i mi nút trong A cóA →X1X2 Xklàmt SX c a G thì(A, X1, X2, , Xk) làmt cây con tr c tip có:
•A lànt g c
• ác nút n i vi A l n l t tt t ng ng ng làX1, X2, , Xk
uCâu sinh b i CPT b ng cách ghép ti p các lát trái qua ph i
Trang 7\Cho v n ph m G { S →SS 1| aSa 2| bSb 3| ε4}
cócc cây con tc cây con t ng ng ng v i các SX nh sau :
\Phép suy dn ra câu aabaab trong G :
S ⇒1SS ⇒2aSaS ⇒4aaS ⇒3aabSb ⇒2aabaSab ⇒4aabaab
cóth biu di n bi cây phân tích :
S
S
a
S
b
S ε
S S
a ε
S
b
a ε 1 1
2
2 4
4
2
3
38/65
\Cho VPPNC G, khi đhi đóhai m nh đnh đ sau là t t ng đ ng ng đ ng :
u Câu w ∈L(G), ngha làS ⇒*
G w
u T n t i m t cây phân tích c a VP G đa VP G đ sinh ra w
\Quátrình suy dn t o sinh câu S ⇒*
G w đw đ c th c hi n theo cách ch n ký t không k t thúc N :
u Duy trìch n t trái qua ph i
u Ho c ch n t ph i qua trái
u Ho c ch n t gi a ra hai bên tu ý
\V i m i câu w ∈L(G) :
u Cóth cónhi u suy dn tn t ng ng ng v i m t cây PT duy nh t
u Cóth cónhiu cây PT tu cây PT t ng ng ng v i nhi u suy d n
39/65
Tính t nh t ng đ ng c ng đ ng c a các v n ph m
\Ta cóc c tính ch t sau :
uM t VP PNC G chcóth sn sinh m t (vàch m t) NN L(G)
uNh ng cóth cónhi u VP PNC cùng sinh ra m t NN L :
L(G1) = L(G2) = = L(Gk) vi k>0
uVíd :
L( {S →aSa | bSb | ε} ) =
L( {S →A | ε; A →aAa | bAb} ) =
L( {S →ASA | BSB | C ; A →a ; B →b ; C →ε} ) = wwR
\T c c tính ch t trên, ng i ta nói :
Hai VP G1v G2 đgl đgl t t ng đ ng đ ng ng, ký hi u G1 ~ G2
L(G1) = L(G2)
40/65
\Cho VP PNC G
\Ta cóth bi n đn đ i G đi G đ nh n đn đ c G’sao cho :
u G’tt ng đ ng vng đ ng v i G: ’~ G
u v bin đn đ i ng c l i t G’ đ đ nhn đn đ c G : G~ G’
\Sau đây ta sSau đây ta s bin đn đ i G đi G đ nh n đn đ c G’sao cho :
u G’không ch a các sn xu t d ng A→ε, còn đgl òn đgl ε-SX
u G’không ch a G các sn xut d ng A→B
41/65
\Cho VP PNC G = (N, ∑, R, S) cóch a các SX d ng A→ε
\Xây d ng VP PNC G’~ G sao cho G’không còn ε-SX :
uN u ε∈L(G), G’nhn đn đ c t G b ng cách :
¬Thêm vào G m t ký t đ đu S’v cc s n xut S’→S | ε
uLp l i các b c sau đây c sau đây :
¬Chn m t ε-SX A →ε(không chn S’→ε)
¬V i mi SX cóv phi ch a A : B→αAβ∈R, vi α, β∈(N∪∑)*
Thêm vào R mt s n xut m i →αβ(b con A)
Loi b sn xut A →εkh i R
cho đ
cho đ n khi G’không còn các ε-SX
42/65
lo i b c c ε-SX t VP PNC G = (N, ∑, R, S) : Xây d ng tp h p các ký hi u không k t thúc A sao cho
m i suy dn t A đ đ u nh n đn đ c câu r ng ε) nh sau :
E = { A ∈N | A ⇒*
Gε}
T E, c v i m i SX có ng X →X1X2 Xkv i k>1:
¬Thêm vào R các SX m i X →X1X2 Xj 1 Xj+1 Xk∀j =1 k-1
v i mi j∈E Ngha làthêm vào R nh ng SX mi sau khi đã loi sau khi đã lo i b l n l t
cc ký hiu cómt trong E
Trang 8\Cho VP PNC G1cóc c SX :
{S →ABCD ; A →CD ; B →Cb ; C →a | ε; D →bD | ε}
\XD t p E1= { A ∈N | A ⇒*
Gε} = { A, C, D }
\XD VP PNC G1’g m các SX :
{S →ABCD | BCD | ABD | ABC | BD | BC | AB | B ;
A →CD | B | D ;
B →Cb | b ;
C →a ;
D →bD | b
}
44/65
\Cho VP PNC G2cóc c SX : {S →ABC ; A →BB | ε; B →CC | a ; C →AA | b }
\XD t p E2= { A ∈N | A ⇒*
Gε} = { S, A, B, C }
\XD VP PNC G2’g m các SX : {S →ABC | BC | AC | AB | A | B | C ;
A →BB | B;
B →CC | C | a ;
C →AA | A | b }
45/65
\Cho VP PNC G = (N, ∑, R, S) cóch a các SX d ng A→B
uN u G cócác s n xut d ng A →B vàB →A, v i A, B ∈N,
cóth dn đn đ n các suy d n có đ đ d i tùy ý :
A ⇒B ⇒A ⇒B ⇒A ⇒ , hay A ⇒*A
uCác suy d n A ⇒*A làm đm đình tr hay tc ngh n vi c sinh câu
\Xây d ng G’~ G sao cho G’không còn SX d ng A→B:
uTìm các sn xu t d ng A →B
uV i m i s n xu t d ng B →α, v i α∈(N∪∑)*
thêm vào sn xu t A →α, loi b A →B
α
46/65
\Cho VP PNC G cóc c SX : { E →E+T | T ; T →T*F | F ; F →(E) | a }
\XD VP PNC G’g m các SX : { E →E+T | T*F | (E) | a ;
T →T*F | (E) | a ;
F →(E) | a }
47/65
\ Cho VP PNC G :
uVP G đgl VP G đgl nh p nh ng(Ambiguous Grammar) kh
Cóhai cây phân tích cùng suy d n cho m t câu w∈L(G)
\ Cho L làNN PNC :
uNN L đgl NN L đgl nh p nh ng c h u
(Inherently Ambiguous Language) kh
NN L đ
NN L đ c sinh b i nhi u VP khác nhau
L = L(G1) = L(G2) =
v tt c các v n ph m G1, G2 này đy đ u nh p nh ng
\ Cho VP PNC G nh p nh ng :
u Cóth bin đn đ i G v G’ t t ng đ ngng đ ng, L(G’) = L(G), sao cho
u G không còn là v n ph m nh p nh ng
48/65
\Trong NN t nhiên nói chung, ti ng Vi t nói riêng,
th ng xuyên xy ra các hi n t ng nh p nh ng
u Nh p nh ng v t loi :
¬Hc sinh h c sinh hc
u Nh p nh ng v ngha :
¬Ông già đi nhanh qu đi nhanh quá
u Nh p nh ng v phát âm :
¬BàBa b n b n bán bánh
u Nh p nh ng v ti ng Vi t không d u :
¬Nha may Co khi Gia Lam
Trang 9\Cho VP PNC G cóc c SX :
{ E →E+E 1| E*E 2| a 3}
\VP G nh p nh ng vìcóhai cây PT sinh ra câu w=a+a*a:
uE ⇒1 E+E ⇒3 a+E ⇒2 a+E*E ⇒3 a+a*E ⇒3 a+a*a
uE ⇒2 E*E ⇒1 E+E*E ⇒3 a+E*E ⇒3 a+a*E ⇒3 a+a*a
E
E E
a
*
1
3
2
E
E E E
1 2
E
50/65
\Các VP sau đây đc VP sau đây đ u nh p nh ng :
uG1{{ S → aSa | bSb | a | b | ε }
uG2{{ S → aS | Sa | a }
51/65
\ i v i VP PNC, ng i ta th ng đ a vng đ a vào hai d ng chu n :
u Dng chun Greibach :
Mi SX có ng A →aα A∈N, a∈Σ, α∈(N∪Σ)*
u Dng chun Chomsky :
Mi SX có ng A →BC | a A, B, C∈N, a∈Σ
\Tính ch t :
u Mi VP PNC b t k đ đ u cóth bin đn đ i v m t trong hai
d ng chun Greibach ho c Chomsky
52/65
\ nh lý “b m” cho NN PNC t cho NN PNC t ng tng t NNCQ :
uCho L NNCQ vàw∈L có đ đ d i v à đ đ , w=xuy v i u≠ε, khi đ
khi đócâu w’=xuky, ∀k>0, c ng thu c L (l p tu ý m t dòng con u c a câu)
uTuy nhiên, n u L làNN PNC, xu t phát t m t câu w có đ đ
d i v à đ đ , cóth xây d ng m t câu khác w’∈L b ng cách
lp m t hoc hai dòng con c a câu
\N i dung đ đ nh lý “b m” (còn đgl còn đgl “uvxyz”) :
uCho L NNPNC, t n ti h ng K sao cho m i câu w∈L th a mãn
đi u ki n |w|> K vàw=uvxyz v i vy ≠ε(v ≠εho c y ≠ε),
ta đ
ta đ u ców’= uvkxykz ∈L , ∀k>0
53/65
Ch ng minh đ ng minh đ nh lý “b m”
\Cho G làVP PNC v i L(G)=L, c n ch ra r ng :
u Cho w∈L đL đ d i, cây PT cho w ph i ch a mt đt đ ng đi mng đi mà
trên đ
trên đó, m t bi n A∈N nào đo đóxut hi n ít nht hai l n :
S A
A
x
w = uvxyz
¬T i ln xut hin đn đ u tiên
c a A, ta nhn đn đ c uAv
¬T i ln xut hin tip theo
c a A, ta nhn đn đ c uvAxy
¬T A này, ta nhn đn đ c
w=uvxyzdo phép suy dn
A ⇒* x
u Hai câu con v vày gi a hai
bin A cóth l p tu ý ln
54/65
Tìm h ng s K trong đ nh lý “b m”
\Cho VP PNC G = (N, Σ, R, S) có:
n = Card(N) n làs ký t không kt thúc
p =max {|α|| A→α∈R } p là đ đ d i t i đa ci đa c a các SX
u Khi đKhi đóch n K = pn
\G i T làcây PT c a m t câu tu ý w∈L(G) có đ đ sâu n :
u M i nút c a ca T cóti đa p ni đa p nút th a k
u d i t i đa ci đa c a w s làs lát i đa ci đa c a T, là n
\T đ đó, n u ch n K = pn:
u M i cây PT sinh ra câu có đ đ d i l n h n K s ph i
ch a ít nh t mt đt đ ng đi dng đi dài h n n
u Theo lý thuyt đt đ th, trên đrên đ ng đi nng đi này,
m t bi n A∈N nào đo đós xut hi n ít nht hai l n
Trang 10\ ng đi SAAx thong đi SAAx tho mãn đ mãn đnh lý “b m”: |uvxyz| > K=pn
S A
A A
x
S
A
A
x
w = uvxyz
sâu
n
w = uvkxykz
Lp
k ln
56/65
Ví d NN anbnth a mãn đ a mãn đ nh lý “b m”
NN PNC anbn=L({S →aSb | ε}) th a mãn đa mãn đnh lý “b m”
u Tht v y, cho tr c m t câu w, chng h n a3b3 = uvxyz
u Ch n vlàm t dãy ch a, ylàm t dãy ch b cócùng đng đ d i :
a3b3 = aa2εb2b u=a, v=a2, x=ε, y=b2, z=b
uKhi đKhi đó: a(a2)kb(b2)k = a2kb2k∈anbn
57/65
NN anbn th a mãn đ a mãn đ nh lý “b m”
S
b
ε
b
S
a
b
S
a
u
v
x
y
a3b3= aa2εb2b
z
S b
ε
b S a
b S a
u
v
x
y z
b S a
b S a
a(a2)2ε(b2)2b = a5b5∈anbn
58/65
\C th bo đo đ m vy≠ε(v≠εho c y≠ε) trên đrên đ ng SAAx:
u N u v=y=ε, ph n cây PT gi a hai bi n A cóth b đi m đi mà không làm thay đm thay đ i câu đã si câu đã sn sinh
u N u v=y=εx y ra cho mi đi đ ng đing đi, câu đâu đ c sinh ra b i cây PT không th có đ đ d i v t quáK = pn
\Chúý :
u Trong phát bi u đu đnh lý “b m”, NN L không đN L không đ c ch rõ
ra làph i vô h n
u nh lý “b m”cócòn th a mãn không, n u L h u h n ?
u Câu tr l i : m t NN PNC h u h n không th cóc c câu
có đ đ dài v t quápn
59/65
\ nh lý “b m”cho phép ki m tra m t s NN không làPNC
\ Víd : Ngôn ng L = {anbncn | n≥0 } không làPCN
u ch ng minh, cn ch ra r ng không có kh n ng
tách m t câu có ng anbncnthành 5 ph n u, v, x, y vàz
(v i vy ≠ ε) sao cho v i mi k > 0, câu uvkxykz ∈L
u N u tách đch đ c s làm mâu thu n v i đi đnh lý “b m”
?
Có th phân tách anbncn = uvxyz
đ c hay không ?
C th phân tách anbncn = uvxyz
đ c hay không ?
60/65
\Ph n ch ng:
Gi s anbncn là PNC, do đo đótho mãn đ mãn đnh lý “b m”,
t n t i m t s phân tách anbncn= uv yz
\Xét các kh n ng phân tách khác nhau cho vv y:
uC v à đ đ u đu đ c t o thành t phép l p c a cùng m t ch ,
ch ng h n v ∈a* vày ∈b* :
¬Khi đKhi đó, s các ch a, b s nhi u h n s các ch c,
vi ph m tính ch t anbncn
uCác câu v à đ đ c t o thành t các ch khác nhau :
¬Khi đKhi đó, các câu uvkxykz s không còn có ng a*b*c*
\Nh v y, không th phân tách anbncn = uvxyz,
đnh lý “b m” không đ không đ c tho mãn : mâu thu n !