1. Trang chủ
  2. » Công Nghệ Thông Tin

Ngôn ngữ hình thức và ôtômat chương 4

11 177 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 389,37 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngôn ng hình th c và ÔtômatFormal Language & Automata PGS.TS.

Trang 1

Ngô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 2

Mô 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 4

Cá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 Sv 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 !

Ngày đăng: 04/12/2015, 00:35

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w