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

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

11 176 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

Nội dung

Ch ng Ôtômat đ y xu ng \ Ôtômat đ y xu ng Ngôn ng hình th c Ôtômat (Formal Language & Automata) Automata) u Ngôn ng phi ng c nh u Quan h v i cá ôtômat đ y xu ng u Tính ch t c a cá ngôn ng phi ng c nh \ Khá Khái ni m v phân tí tích nh lý “b m” m” ng d ng u PGS.TS Phan Huy Khá Khánh u khanhph@vnn.vn Các thu t gi i cho cá ngôn ng PNC \ Ôtômat đ y xu ng đ n đ nh Ch ng Ôtômat đ y xu ng u Nguyên lý u Hình th c hó hóa u Các ngôn ng PNC đ n đ nh u Tính ch t c a cá ngôn ng PNC đ n đ nh 2/65 2/65 Mô t ôtômat đ y xu ng (ôđx (ôđx)) Ho t đ ng c a ôđx \ M t ôđx không đ n đ nh (NSA : NonNon-deterministic Stack Automaton, hay NPA : NonNon-deterministic Pushdown Automaton) Automaton) có m t s ph n t t ng t ôhh : u M t b ng vào ch a câu s đ c đoán nh n ( mút trá trái nh t) u M t đ u đ c đ c l n l t cá ký t c a câu b ng u M t t p h p cá tr ng thá thái, đó có m t tr ng thá thái đ u và m t s tr ng thá thái cu i (tr ng thá thái đ t đ c) u M t quan h chuy n ti p làm thay đ i tr ng thá thái v i m i ký t đ c đ c rên b ng Ngoà Ngoài ra, NSA có có : u M t danh sá sách đ y xu ng (Stack/Pushdown (Stack/Pushdown List) List) (DS (DS X) X) có th ch a không h n ch ký t đó u M t đ u ghi đ có th ghi lên DS X Ho t đ ng đoán nh n Ôđx không đ n đ nh nh sau : ng t m t ôhh không đđ, đđ, câu vào w∈ w∈Σ* đ c đ t mút trá trái b ng vào uT đ u, đ u đ c v trí trí w(1) w(1) DS X r ng và ôđx tr ng thá thái đ u q0 u Lúc u uđ cđ cl nl t t ng ký t c a w b ng nhì nhìn m t ph n câu đ nh DS X (Top) đ thay th (Pop(Pop-Push) b ng cá cách ghi (đè) lên m t dãy ký t u Ôđx u Ôđx di chuy n đ u đ c qua ph i và thay đ i tr ng thá thái d ng m i ký t c a w đ c đ c h t th a nh n câu, ho c hó hóc gi a ch ng u Ôhh 3/65 3/65 4/65 4/65 Minh ho ho t đ ng c a ôđx nh ngh a hì hình th c ôđx \ M t NSA là m t b : M = (Q, Σ, Γ, Δ, Z, q0, A) A), trong đó : u Q là t p h p h u h n cá tr ng thá thái u Σ b ng ch vào h u h n (Input Alphabet) Alphabet) u Γ b ch đ y xu ng h u h n (Stack Alphabet) Alphabet) u Z ∈ Γ ký t đ u c a DS X (Initial Stack Symbol) Symbol) β u q0 ∈ Q là tr ng thá thái đ u γ u F ⊆ Q là t p cá tr ng thá thái cu i u Δ ⊂ ((Q × Σ* × Γ*) × (Q × Γ*)) là quan h chuy n ti p Câu vào b ng w=a w=anbn a qi a a b b b α γ Tr c : đ nh DS X là α a a qi+1 a b b b Sau : trên đ nh DS X là β 5/65 5/65 g m m t t p h p h u h n cá quan h ((p, u, β), (q, γ)) p, q ∈ Q ; u ∈ Σ* ; β, γ ∈ Γ* 6/65 6/65 Mô t Các khái ni m \ B ch đ y xu ng Γ c a ôđx : u Ch a t p h p cá ký t s đ u Không nh t thi t phân bi t Γ v i Σ (có (có th Γ∩Σ ≠ ∅) \ Ng i ta c ng đ nh ngh a m t cá cách hì hình th c t ng t ôhh, nh ng có có m t c a DS X cá khái ni m : u C u hì hình u Chuy n ti p m t b c u Chuy n ti p nhi u b c u Ôđx đoán nh n câu vào c đ a vào DS X \ Ký t Z là ký t đ u hay n i dung ban đ u c a DS X \ Các chuy n ti p ((p, u, β), (q, γ)) Δ : u T ng t m t ôhh không đđ u u Có thêm ho t đ ng chuy n ti p c a DS X : ¬ Câu ¬ c th a nh n b i ôđx vào b t đ u b i ti n t u : w = uw’ uw’ ¬ Ôtômat ¬ Ph NN đ chuy n t tr ng thá thái p sang tr ng thá thái q n câu β n m đ nh c a DS X u đ c đ c xong ti n t u c a câu vào ¬ Thay th β đ nh DS X b i câu ph n γ 7/65 7/65 8/65 8/65 C u hì hình Chuy n ti p m t b \ C u hì hình c a ôđx Là b ba C = (q, u, α) ∈ Q × ∑* × Γ* Trong đó : Q∈Q tr ng thá thái c a ôtômat u ∈ ∑* m t ph n c a câu vào s đ α ∈ Γ* n i dung c a DS X \ Cho ôđx M, M, ta nói : C u hì hình C’ C’=(q’, w’ w’, α’) nh n đ c t C=( C=(q, w, α) Kí hi u : (q, w, α) M (q’ (q’, w’ w’, α’) n u : ¬ w = uw’ uw’ ( câu w có có ti n t u ∈ ∑*) ¬ α = βδ ( tr c chuy n ti p, đ nh DS X ch a β∈Γ* n u đ c t trá trái qua ph i) ¬ α’ = γδ ( sau chuy n 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’, γ)) ∈ Δ c x lý u ph n câu s x lý V abbb, AZ) Víí d C = (q11, aaabbb, Vi t g n : q11a abbbAZ aabbbAZ a a a q11 b b c b A Z 9/65 9/65 Minh ho chuy n ti p m t b 10/65 10/65 c Chuy n ti p nhi u b \ C u hì hình C’ C’ nh n đ Ph n câu x lý w=uw’ w=uw’ u p w’ α δ Tr u α = βδ c chuy n ti p ký hi u : C Ph n câu x lý w’ w’ M β δ c t C qua nhi u giai đo n C’ n u w’ q * M c ∃k≥0 và k-1 c u hì hình trung gian C0, C1, C2, , Ck α’ = γδ cho : C = C0, C’ C’ = Ck, Ci M Ci+1 v i ≤ i < k Sau chuy n ti p 11/65 11/65 12/65 12/65 Ôđx đoán nh n câu vào Ôđx th a nh n câu vào \ Cho ôđx M và m t câu vào c n x lí w ∈ ∑ \ Cho ôđx M=( Q, ∑, Γ, Δ, Z, q0, F) M=(Q, F) m t câu vào w∈ w∈∑* \ M t đoán nh n (Execution) Execution) c a M w là dãy c u hì hình : \ Ôđx th a nh n câu w n u quá trì trình đoán nh n đ t đ n m t cá tr ng thá thái k t thú thúc : u Ph n câu x lí l i r ng u (q0, w, Z) *M ( p, ε, γ ) v i p ∈ F * ( q0, w, Z) Z) M ( q1, w1, α1) M M ( qn, ε, γ) đó q0 tr ng thá thái đ u, Z là ký t đá đáy c a DS X và ε câu r ng \ Mô t : u Lúc đ u, DS X ch a ký t đá đáy Z (đ u Câu w n m b ng vào, đ u đ c u M ti n hà hành đoán nh n w b ng cá cách th c hi n liên ti p b c chuy n ti p Ci M Ci+1 u M d ng đoán nh n : ¬ ho c ¬ ho c M b hóc c xem là DS r ng) mút trá trái nh t w(1) \ Do ôđx M không đ n đ nh, nên có có th có nhi u phé phép đoán nh n khác cù m t câu vào m t tr ng thá thái k t thú thúc, ph n câu x lí l i r ng m t tr ng thá thái nà đó 13/65 13/65 14/65 14/65 Bi u di n ôtômat đ y xu ng Dùng đ th bi u di n ôđx \ Cho ôtômat M = (Q, ∑, Γ, Δ, Z, q0, F) F) \ Cho ôđx M = (Q, ∑, Γ, Δ, Z, q0, F) F) quy c v M nh sau : \ Có th bi u di n M t ng t ôhh nh sau : u B ng cá cách li t kê h t cá thành ph n c a M u Dùng đ th p tr ng thái đ u, p = q0 > p \ Th c t , ng ng i ta th ng dù dùng cách bi u di n đ th s tr ng thá thái c a ôtômat không quá l n p u, α|β q ((p, u, α), (q, β)) ∈ Δ q tr ng thái cu i, q ∈ F q 15/65 15/65 16/65 16/65 Ví d : ôđx đ n đ nh \ Ngôn ng { anbn | n ≥ } đ Ôđx M1 đoán nh n câu anbn c th a nh n b i ôđx M1 : Q = { s, p, q } ∑ = { a, b } Γ = { A }, F = { q } Δ g m cá chuy n ti p : (s, a, ε) → ( s, A) (s, b, A) A) A) → ( p, ε) (s, ε, Z) (p, b, A) (p, ε, Z) Z) → ( q, ε) A) → (p, ε) Z) → (q, ε) VV aa đđ cc vv aa ghi ghi nh nh AA DS vvào DS XX nn a đ c a đ c \ Cho câu vào a3b3, ôđx M1 th c hi n đoán nh n nh sau : saaabbbZ M1 M1 pbbAAZ > s XX lý lý câu câu rr ng ng ε ∈ annbnn b, A|ε p ε, Z|ε sabbbAAZ M1 pbAZ M1 sbbbAAAZ ghi nh a M1 pZ ki m tra b th a nh n a, ε|A > s b, A|ε M1 qε cc tt ng ng con bb vvà xoá đđ nh xo xoá nh DS DS XX llà con AA a, ε|A saabbbAZ b, A|ε b, A|ε p ε, Z|ε q ε, Z|ε q \ Nh v y M1 th a nh n cá câu anbn, n≥0, ta vi t L(M1) = anbn ε, Z|ε 17/65 17/65 18/65 18/65 Ví d : ôđx không đ n đ nh Cách v khác c a ôđx M1 \ Ngôn ng {wwR} đ Có th v ôđx M1 theo cá cách khác nh sau : Q = { s, p, q} c th a nh n b i M2 nh sau : ∑ = { a, b } Γ = { A, B } F={q} Δ ch a cá chuy n ti p : a, Z|AZ a, A|AAZ b, A|ε > b, A|ε s ε, Z|ε p (s, a, ε) → (s, A) A) (s, ε, ε) → (p, ε) (p, b, B) B) → (p, ε) (s, b, ε) → (s, B) B) (p, a, A) A) → (p, ε) (p, ε, z) z) → (q, ε) VV aa đđ cc vv aa ghi ghi nh nh A, DS vvào A, BB DS XX ccác ác con a, a, bb đã đđ cc q ε, Z|ε a, ε|A ε ∈ wwRR \ Cho câu vào abba, ôđx M2 th c hi n đoán nh n nh sau : sbbaAZ M2 pbaBAZ M2 paAZ M2 M2 ghi nh a, a, b đ c sbaBAZ pZ qε 20/65 20/65 \ V n câu vào abba, ôđx M2 th c hi n đoán nh n nh sau : M1 sbbaAZ M2 sbaBAZ ghi nh a, a, b đ c chuy n d ch không đ n đ nh M2 saBBAZ M2 sABBAZ hóc : không th đ c ti p a hay b ! ki m tra a, b đ xoá xoá A, A, B DS X M2 pABBAZ ??? a, ε|A sabbaZ c ng v n hó hóc : không th đ c ti p ε, ε|ε a, ε|A ε, Z|ε p > s q Γ = { A, B } F={p} (s, a, ε) → (s, A) A) ( s, ε, ε) → (p, ε) (p, b, B) B) → (p, ε) (s, b, ε) → (s, B) B) (p, a, A) A) → (p, ε) (p, ε, Z) Z) → (p, ε) 22/65 22/65 V n ph m phi ng c nh \ T G, có có th đ nh ngh a NN PNC : L = L(G) \ M t NN L là PNC n u t n t i m t VP PNC s n sinh L a, A|ε p ε, Z|ε \ Theo phân c p VP c a Chomsky, VP phi ng c nh (PNC) : G = ( N, ∑, R, S ) g m cá s n xu t d ng A → β v i A ∈ N, β ∈ (N∪∑) ∪∑)* = V*, có h n ch β Δ g m cá chuy n ti p : ε, ε|ε b, B|ε q 21/65 21/65 \ Có th xây d ng ôđx M3 g m ch hai tr ng thá thái M3 th a nh n ngôn ng wwR v i DS X r ng : a, ε|A ε, Z|ε p Chuy n d ch không đ n đ nh Ví d ôđx không đ n đ nh hai tr ng thá thái ∑ = { a, b } a, A|ε ε, ε|ε b, ε|A ε, Z|ε b, B|ε Chuy n d ch không đ n đ nh > s ôtômat không th a nh n câu abba ! a, A|ε b, ε|A Q = { s, p } ε, Z|ε b, B|ε th a nh n câu abba (thà (thành công) > s q Ôđx M2 đoán nh n câu abba th t b i Ôđx M2 th a nh n câu abba M1 ε, Z|ε p b, ε|A XX lý lý câu câu rr ng ng 19/65 19/65 a, A|ε ε, ε|ε > s sabbaZ cc tt ng ng con a, a, bb vvà xoá đđ nh xo xoá nh DS DS XX llà con A, A, BB b, B|ε ε, Z|ε b, ε|A ε, Z|ε 23/65 23/65 24/65 24/65 Ví d VP2 \D Quan h gi a VP2 ôđx u G1 { S → aSb | ε } L(G1) = u G2 { S → aSa | bSb | ε } L(G1) = wwR u \ Các ngôn ng th a nh n b i cá ôtômat đ y xu ng có có th đ c sinh b i cá v n ph m PNC và ng c l i i làm t s VP PNC : G3 { S → aB | bA | ε anbn, A → bAA | aS n≥ n≥0 \ B → bS | aBB } L(G3) g m cá câu ch a cù s ch a ch b m t th t đó u G4 { S → aAS | a nh lý : M t ngôn ng PNC n u ngôn ng đó đ c th a nh n b i m t ôtômat đ y xu ng L = L(M) = L(G) v i G là VP2 M là ôđx A → SbA | SS | ba } L(G4) = ? 25/65 25/65 Ngôn ng L1 ∪ L2 phi ng c nh Tính ch t c a cá ngôn ng PNC \ Cho L1 L2 hai NN PNC, ta có có tí tính ch t sau : u Các ngôn ng sau phi ng c nh : u ¬ L1 ∪ L phé phép h p c a hai NN PNC ¬ L1 L2 phé phép ghé ghép ti p hai NN PNC ¬ L1* l y bao đóng c a m t NN PNC \ Cho : G1 = (N1, ∑1, R1, S1) G2 = (N2, ∑2, R2, S2 ) L1 ∩ L phé phép giao c a hai NN PNC không h n là phi ng c nh ! u cho L1 = L(G1) cho L2 = L(G2) \ Xây d ng VP2 G sinh 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ào 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 } Ngôn ng : ¬ 26/65 26/65 Tuy nhiên ngôn ng : ¬ LR ∩ L2 PNC v i LR NNCQ và L2 PNC 27/65 27/65 Ví d L1 ∪ L2 phi ng c nh Ví d L1 L2 phi ng c nh \ Cho : G1 = (N1, ∑1, R1, S1) G2 = (N2, ∑2, R2, S2 ) \ Cho : G1 { A → A+B | a ; B → a } L1 = L(G1) = a(+a)* G2 { C → C−D | b ; D → b } b(− b(−b)* L2 = L(G2) = 28/65 28/65 cho L1 = L(G1) cho L2 = L(G2) \ Xây d ng VP2 G sinh 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ào 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 } \ Xây d ng VP2 G : G { S → A | C ; A → A+B | a ; B → a ; C → C−D | b ; D → b } \ G sinh ngôn ng L1∪L2 nh sau : L = L1 ∪ L2 = L(G) = a(+a)* ∪ b(− b(−b)* 29/65 29/65 30/65 30/65 Ngôn ng L* phi ng c nh Ví d L1 L2 phi ng c nh \ Cho v n ph m PNC G = (N, ∑, R, S) có có L = L(G) \ Cho : G1 { A → aA | ε } G2 { B → bB | ε } L1 = L(G1) = am m≥0 L2 = L(G2) = bn s n sinh ngôn ng L = L(G) \ Xây d ng VP sinh ngôn ng L* nh sau : n≥0 G = (N, ∑, R ∪ { S → SS | ε }, S) \ Xây d ng VP2 G : G c ng là VP phi ng c nh G { S → AB ; A → aA | ε ; B → bB | ε } \ Ví d : u Cho G { S → ab } có có L(G) = { ab } u V n ph m G { S → SS | ab | ε } \ G sinh ngôn ng L1 L2 nh sau : L = L1 L2 = L(G) = ambn m≥0, n≥ n≥0 L g m cá câu có có m t s tu ý a r i m t s tu ý b sinh ngôn ng : { ε, ab, abab, ababab, } = { (ab)* } 31/65 31/65 32/65 32/65 V n đ t o sinh câu c a VP PNC Ví d có nhi u cá cách suy d n \ Cho VP PNC G = (N, ∑, R, S) có có L = L(G) \ Khi áp d ng cá s n xu t đ t o sinh câu, th t áp d ng không quan tr ng : u Xu t phá phát t ký t đ u S, có có th áp d ng tu ý cá s n xu t, hay dù dùng cá d n xu t khác G đ u có có th t o m t câu u Tính “phi ng c nh” nh” th hi n ch : m t ký t không k t thú thúc A∈ A∈N có có th đ c thay th đ c l p v i cá ký t bao xung quanh (tr (tr c A và sau A), không ph thu c vào “ng c nh” nh” \ Tính không quan tr ng v th t áp d ng cá s n xu t đ c tr ng c a cá NN PNC \ Cho v n ph m G : G { S → SS | aSa | bSb | ε } (đánh s s n xu t) \ V i câu w=aabaab, có th có 10 cá cách suy d n khác đ sinh w : Cách (dãy cá SX là 124324) : S ⇒1 SS ⇒2 aSaS ⇒4 aaS ⇒3 aabSb ⇒2 aabaSab ⇒4 aabaab Cách (dãy cá SX là 132424) : S ⇒1 SS ⇒3 SbSb ⇒2 SbaSab ⇒4 Sbaab ⇒2 aSabaab ⇒4 aabaab V.v \ S khác c a cá cá cách suy d n w th t áp d ng cá s n xu t c a G 33/65 33/65 34/65 34/65 Khá Khái ni m v phân tí tích Khá Khái ni m v phân tí tích (CPT) \ Ng i ta s d ng c u trú trúc đ bi u di n quá trì trình áp d ng cá SX c a VP đ suy d n t o sinh câu \ Cho VP PNC G = (V, Σ, R, S) u Cây phân tí tích (Parse (Parse Tree), hay đgl suy d n (Derivation (Derivation Tree) đđ c \ Ng i ta s d ng c u trú trúc đ bi u di n quá trì trình áp d ng cá SX c a VP đ suy d n t o sinh câu \ Cho VP PNC G = (V, Σ, R, S) u Cây phân tí tích (Parse (Parse Tree), hay đgl suy d n (Derivation (Derivation Tree) đ c XD nh sau : ¬ G c (Root) c a là ký t đ u S ¬ M i nút m t ký hi u không k t thú thúc A∈ A∈N ¬ M i nút lá m t ký hi u k t thú thúc a∈ a∈Σ ho c ký t r ng ε ¬ N u v i m i nú nút A có có A → X1X2 Xk m t SX c a G thì (A, X1, X2, , Xk) là m t tr c ti p có có : • A là nút g c • nú nút n i v i A l n l u Câu 35/65 35/65 tt ng ng là X1, X2, , Xk sinh b i CPT b ng cá cách ghé ghép ti p cá lá t trá trái qua ph i 36/65 36/65 Ví d phân tí tích M t s tính ch t c a PT \ Cho VPPNC G, hai m nh đ sau là t ng đ u Câu w ∈ L(G), ngh a là S ⇒*G w u T n t i m t phân tí tích c a VP G đ sinh w \ Cho v n ph m G { S → SS | aSa | bSb | ε } có t ng ng v i cá SX nh sau : S S S a S S S a b S S \ Quá Quá trì trình suy d n t o sinh câu S ⇒*G w đ theo cá cách ch n ký t không k t thú thúc N : u Duy trì trì ch n t trá trái qua ph i u Ho c ch n t ph i qua trá trái u Ho c ch n t gi a hai bên tu ý ε b \ Phé Phép suy d n câu aabaab G : S ⇒1 SS ⇒2 aSaS ⇒4 aaS ⇒3 aabSb ⇒2 aabaSab ⇒4 aabaab có th bi u di n b i phân tí tích : S S a S S a ε b S a S Tính t ng đ b u Có th có nhi u suy d n t a u Có th có nhi u PT t ε 38/65 38/65 Bi n đ i v n ph m ng c a cá v n ph m L(G1) = L(G2) = = L(Gk) ng ng v i m t PT nh t ng ng v i nhi u suy d n 37/65 37/65 \ Ta có có tí tính ch t sau : u M t VP PNC G ch có th s n sinh m t (và (và ch m t) NN L(G) L(G) u Nh ng có có th có nhi u VP PNC cù sinh m t NN L : u Ví c th c hi n \ V i m i câu w ∈ L(G) : ng : v i k>0 d : \ Cho VP PNC G \ Ta có có th bi n đ i G đ nh n đ c G’ G’ cho : u G’ t ng đ ng v i G : G’ ~ G u bi n đ i ng c l i t G’ đ nh n đ c G : G ~ G’ G’ \ Sau ta s bi n đ i G đ nh n đ c G’ G’ cho : u G’ không ch a cá s n xu t d ng A→ε A→ε,, còn đgl ε-SX u G’ không ch a G cá s n xu t d ng A→ A→B L( {S → aSa | bSb | ε } ) = L( {S → A | ε ; A → aAa | bAb} ) = L( {S → ASA | BSB | C ; A → a ; B → b ; C → ε } ) = wwR \ T tí tính ch t trên, ng i ta nói : Hai VP G1 G2 đgl t ng đ ng, ng, ký hi u G1 ~ G2 N u L(G1) = L(G2) 39/65 39/65 40/65 40/65 Lo i b s n xu t d ng A→ε A→ε Cách x lý lo i b ε-SX \ Cho VP PNC G = (N, ∑, R, S) có có ch a cá SX d ng A→ε A→ε lo i b ε-SX t VP PNC G = (N, ∑, R, S) : \ Xây d ng VP PNC G’ G’ ~ G cho G’ G’ không ε-SX : u N u ε ∈ L(G), G’ G’ nh n đ c t G b ng cá cách : Xây d ng t p h p cá ký hi u không k t thú thúc A cho m i suy d n t A đ u nh n đ c câu r ng ε) nh nh sau : ¬ Thêm u L p l i cá b ¬ Ch ¬V E = { A ∈ N | A ⇒*G ε } vào G m t ký t đ u S’ S’ s n xu t S’ S’ → S | ε T E, c v i m i SX có có d ng X → X1X2 Xk v i k>1 : c sau : n m t ε-SX A → ε (không ch n S’ S’→ ε) ¬ Thêm i m i SX có có v ph i ch a A : B → αAβ ∈ R, v i α, β ∈(N∪∑ (N∪∑))* vào R cá SX m i X → X1X2 Xj-1 Xj+1 Xk ∀j =1 k=1 k-1 v i m i Xj ∈ E Thêm vào R m t s n xu t m i B → αβ (b A) Ngh a là thêm vào R nh ng SX m i sau lo i b l n l Lo i b s n xu t A → ε kh i R ký hi u có có m t E t cho đ n G’ G’ không cá ε-SX 41/65 41/65 42/65 42/65 Ví d : lo i b ε-SX Ví d : lo i b ε-SX \ Cho VP PNC G2 có SX : \ Cho VP PNC G1 có SX : { S → ABC ; A → BB | ε ; B → CC | a ; C → AA | b } { S → ABCD ; A → CD ; B → Cb ; C → a | ε ; D → bD | ε } \ XD t p E1 = { A ∈ N | A ⇒*G \ XD t p E2 = { A ∈ N | A ⇒*G ε } = { S, A, B, C } ε } = { A, C, D } \ XD VP PNC G2’ g m cá SX : { S → ABC | BC | AC | AB | A | B | C ; A → BB | B; B → CC | C | a ; C → AA | A | b \ XD VP PNC G1’ g m cá SX : { S → ABCD | BCD | ABD | ABC | BD | BC | AB | B ; A → CD | B | D ; B → Cb | b ; C→a; } D → bD | b } 43/65 43/65 44/65 44/65 Lo i b s n xu t d ng A→ A→B Ví d lo i b SX d ng A→ A→B \ Cho VP PNC G = (N, ∑, R, S) có có ch a cá SX d ng A→ A→B u N u G có có s n xu t d ng A → B và B → A, v i A, B ∈ N, có th d n đ n cá suy d n có có đ dài tù tùy ý : A ⇒ B ⇒ A ⇒ B ⇒ A ⇒ , hay A ⇒* A u Các suy d n A ⇒* A làm đì đình tr hay t c ngh n vi c sinh câu \ Xây d ng G’ G’ ~ G cho G’ G’ không SX d ng A→ A→B : u Tìm cá s n xu t d ng A → B u V i m i s n xu t d ng B → α, v i α∈(N ∪∑))* α∈(N∪∑ thêm vào s n xu t A → α, lo i b A → B A B B α A \ Cho VP PNC G có có SX : { E → E+T | T ; T → T*F | F ; F → (E) | a } \ XD VP PNC G’ G’ g m cá SX : { E → E+T | T*F | (E) | a ; T → T*F | (E) | a ; F → (E) | a } α 45/65 45/65 46/65 46/65 V n ph m nh p nh ng Ví d hi n t \ Cho VP PNC G : u VP G đgl nh p nh ng (Ambiguous Grammar) kh Có hai phân tí tích cù suy d n cho m t câu w∈ w∈L(G) \ Cho L là NN PNC : u NN L đgl nh p nh ng c h u (Inherently Ambiguous Language) kh NN L đ c sinh b i nhi u VP khác L = L(G1) = L(G2) = t t c v n ph m G1, G2 nà đ u nh p nh ng \ Cho VP PNC G nh p nh ng : u Có th bi n đ i G v G’ t ng đ ng, ng, L(G’ L(G’) = L(G), cho u G không là v n ph m nh p nh ng 47/65 47/65 ng nh p nh ng \ Trong NN t nhiên nói chung, ti ng Vi t nói riêng, th ng xuyên x y cá hi n t ng nh p nh ng u Nh p nh ng v t lo i : ¬H c sinh h c sinh h c u Nh p nh ng v ngh a : u Nh p nh ng v phá phát âm : u Nh p nh ng v ti ng Vi t không d u : ¬ Ông ¬ Bà già già nhanh quá Ba b n b n bá bán bá bánh ¬ Nha may Co Gia Lam 48/65 48/65 Ví d v n ph m nh p nh ng M t s ví d khác v VP nh p nh ng \ Cho VP PNC G có có SX : { E → E+E | E*E | a } \ VP G nh p nh ng vì có hai PT sinh câu w=a+a*a : u E ⇒1 E+E ⇒3 a+E ⇒2 a+E*E ⇒3 a+a*E ⇒3 a+a*a u E ⇒2 E*E ⇒1 E+E*E ⇒3 a+E*E ⇒3 a+a*E ⇒3 a+a*a E E E 3 E a + a * E E E E E a a \ Các VP sau đ u nh p nh ng : u G1 { S → aSa | bSb | a | b | ε } u G2 { S → aS | Sa | a } E E E + a * a 49/65 49/65 50/65 50/65 Các d ng chu n c a VP2 \ i v i VP PNC, ng u i ta th ng đ a vào hai d ng chu n : D ng chu n Greibach : M i SX có có d ng A → aα u nh lý “b m” m” cho cá NN PNC nh lý “b m” m” cho NN PNC t A, B, C∈ C∈N, a∈ a∈Σ \ Tính ch t : u M i VP PNC b t k đ u có có th bi n đ i v m t hai d ng chu n Greibach ho c Chomsky ng t NNCQ : u Cho L NNCQ và w∈L có có đ dài v đ , w=xuy v i u≠ u≠ε, câu w’ w’=xuky, ∀k>0, c ng thu c L (l p tu ý m t dòng u c a câu) u Tuy nhiên, n u L là NN PNC, xu t phá phát t m t câu w có có đ dài v đ , có có th xây d ng m t câu khác w’ w’ ∈L b ng cá cách A∈N, a∈ a∈Σ, α∈(N∪ (N∪Σ)* D ng chu n Chomsky : M i SX có có d ng A → BC | a \ l p m t ho c hai dòng c a câu \ N i dung đ nh lý “b m” m” (còn (còn đgl “uvxyz” uvxyz”) : u Cho L NNPNC, t n t i h ng K cho m i câu w∈ w∈L th a mãn u ki n |w| > K và w=uvxyz v i vy ≠ ε (v ≠ ε ho c y ≠ ε), ta đ u có có w’ = uvkxykz ∈ L , ∀k>0 51/65 51/65 52/65 52/65 Ch ng minh đ nh lý “b m” m” Tìm h ng s K đ nh lý “b m” m” \ Cho G là VP PNC v i L(G)=L, c n ch r ng : u Cho w∈ w∈L đ dài, PT cho w ph i ch a m t đ ng mà mà đó, m t bi n A∈ A∈N nà đó xu t hi n nh t hai l n : i l n xu t hi n đ u tiên c a A, ta nh n đ c uAv i l n xu t hi n ti p theo c a A, ta nh n đ c uvAxy A nà này, ta nh n đ c w=uvxyz phé phép suy d n A ⇒* x ¬T u Hai câu v và y gi a hai bi n A có có th l p tu ý l n u n là s ký t không k t thú thúc p = max { |α| | A→α A→α ∈ R } p là đ dài t i đa c a cá SX Khi đó ch n K = pn \ G i T là PT c a m t câu tu ý w∈ w∈L(G) có có đ sâu n : u M i nú nút c a c a T có có t i đa p nú nút th a k u dài t i đa c a w s s t i đa c a T, là pn A ¬T n = Card(N) u S ¬T \ Cho VP PNC G = (N, Σ, R, S) có có : A y v \ T đó, n u ch n K = pn : u M i PT sinh câu có có đ dài l n h n K s ph i ch a nh t m t đ ng dà dài h n n u Theo lý thuy t đ th , trên đ ng nà này, m t bi n A∈ A∈N nà đó s xu t hi n nh t hai l n z x w = uvxyz 53/65 53/65 54/65 54/65 Minh ho đ nh lý “b m” m” Ví d NN anbn th a mãn đ nh lý “b m” m” ng SAAx tho mãn đ nh lý “b m” m” : |uvxyz| > K=pn \ S S A A sâu n u u A y v A z z y v c m t câu w, ch ng h n a3b3 = uvxyz u Th t v y, cho tr u Ch n v m t dãy ch a, y m t dãy ch b có có đ dài : u a3b3 = aa2εb2b u=a, v=a2, x=ε x=ε, y=b2, z=b z=b Khi đó : a(a2)kb(b2)k = a2kb2k ∈ anbn L p kl n A y v x NN PNC anbn =L({S → aSb | ε}) th a mãn đ nh lý “b m” m” x w = uvxyz w = uvkxykz 55/65 55/65 56/65 56/65 NN anbn th a mãn đ nh lý “b m” m” aa SS bb aa SS bb aa SS bb u z v \ Có th b o đ m vy≠ε vy≠ε (v≠ε (v≠ε ho c y≠ε y≠ε)) trên đ ng SAAx : u N u v=y=ε v=y=ε, ph n PT gi a hai bi n A có có th b mà mà không làm thay đ i câu s n sinh u N u v=y=ε v=y=ε x y cho m i đ ng đi, đi, câu câu đ c sinh b i PT không th có đ dài v t quá K = pn SS SS u Nh n xé xét SS bb aa SS bb aa SS bb aa SS bb aa SS bb z x a3b3 = aa2εb2b \ Chú Chú ý : u y v y εε aa v y εε a(a2)2ε(b2)2b = a5b5 ∈ anbn a b an bn c s làm mâu thu n v i đ nh lý “b m” m” ! c cn ? nh lý “b m” m” có 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âu có đ dài v t quá pn 58/65 58/65 Ngôn ng anbncn không là PNC ! nh lý “b m” m” cho phé phép ki m tra m t s NN không là PNC N u tá tách đ u 57/65 57/65 \ Ví d : Ngôn ng L = {anbncn | n≥ n≥0 } không là PCN u ch ng minh, c n ch r ng có kh n ng tách m t câu có có d ng anbncn thành ph n u, v, x, y và z (v i vy ≠ ε) cho v i m i k > 0, câu uvkxykz ∈ L u c ch rõ x Áp d ng đ nh lý “b m” m” \ Trong phá phát bi u đ nh lý “b m” m”, NN NN L không đ là ph i vô h n u v x v z u vk x yk z C ó th phân tá ách annbnncnn = uvxyz ttách Có uvxyz đ c hay không ? 59/65 59/65 \ Ph n ch ng : Gi s anbncn PNC, PNC, tho mãn đ nh lý “b m” m”, t n t i m t s phân tá tách anbncn = uv uvxyz \ Xét cá kh n ng phân tá tách khác cho v y : u C v y đ u đ c t o thành t phé phép l p c a cù m t ch , ch ng h n v ∈ a* và y ∈ b* : ¬ Khi đó, s ch a, b s nhi u h n s ch c, vi ph m tí tính ch t anbncn u Các câu v y đ c t o thành t ch khác : ¬ Khi đó, cá câu uvkxykz s có d ng a*b*c* \ Nh v y, không th phân tá tách anbncn = uvxyz, đ nh lý “b m” m” không đ c tho mãn : mâu thu n ! 60/65 60/65 10 Các ngôn ng PNC đ n đ nh M t s nh n xé xét \ Các phé phép toá toán giao và bù không ph i luôn tho mãn PNC \ nh lý "b "b m" m" cho phé phép ch ng minh r ng : u T n t i hai ngôn ng PNC L1 L2 cho L1 ∩ L2 không là PNC Th t v y : L1 = {anbncm} và L2 = {ambncn} đ u là ngôn ng PNC \ Cho L ∈ L là PNC đ n đ nh n u : L = L(M), M là m t ôtômat đ y xu ng đ n đ nh \ Ví d : u L1 = { wwR | w ∈ {a, b}* } ch PNC, PNC, không không PNC đ n đ nh u L2 = { wcwR | w ∈ {a, b}* } là NN PNC đ n đ nh ∑*, Tuy nhiên : a, ε|A L1 ∩ L2 = {anbncn} không là PNC ! u Bù c a m t NN PNC không ph i luôn PNC a, A|ε c, ε|ε > s p ε, Z|ε q Th t v y : L1 L2 PNC, PNC, : L1 ∪ L2 ph i là PNC b, B|ε b, ε|A ε, Z|ε Gi s bù c a m t NN PNC là PNC thì : L1 ∪ L2 = L1 ∩ L2 c ng PNC : u nà mâu thu n v i u V i L2, không xá xác đ nh đ u V i L1 v trí trí gi a đ c v trí trí gi a c a câu c xá xác đ nh b i ký t c đ nh n bi t câu 61/65 61/65 Tính ch t c a cá NN PNC đ n đ nh ng d ng c a cá ngôn ng PNC \ L p cá NN PNC đđ và không đđ có có tính ch t khác \ Cho L1 L2 NN PNC đ n đ nh, : u L = ∑* − L1 PNC đ n đ nh u ¬ Cho M ôhh đđ M’ M’ cho L(M)=L1 ¬ Xây d ng ôhh đđ M’ M’ t M, b ng cá cách hoá hoán đ i vai trò tr ng thá thái đ t đ c và không đ t đ c T n t i cá NN PNC nh ng không đ n đ nh ¬ Vì n u m i NN PNC đ u đ n đ nh, thì bù c a m t NN PNC s luôn PNC, u nà không đú u L1 ∪ L2 không ph i luôn PNC đ n đ nh u L1 ∩ L2 không ph i luôn PNC đ n đ nh ¬ ¬ Không ph i luôn xá xác đ nh đ Tính ch t nà đ 62/65 62/65 c w∈ w∈L1 ho c w∈ w∈L2 \ ng d ng chí c a cá NN PNC là : u Mô t cú phá pháp c a cá NNLT nh m t v n ph m PNC G u Phân tí tích cú cú phá pháp t ng ng v i v n ph m PNC G u Các ch ng trì trình đú đ n v cú phá pháp là nh ng câu w∈ w∈L(G) \ Phân tí tích cú cú phá pháp là : u Xác đ nh n u w ∈L(G) u D a vào phân tí tích thi t l p cá cách s n sinh câu w \ Th c t , đ thu t toá toán phân tí tích ch y hi u qu (áp d ng cho cá ch ng trì trình r t dà dài), c n có có h n ch đ i v i ki u v n ph m PNC mu n s d ng : u Ch xét nh ng VP mô t ngôn ng PNC đ n đ nh u H VP LR chuyên đ c s d ng cho cá NNLT c suy t phé phép h i và l y ph n bù bù 63/65 63/65 Bài t p ch 64/65 64/65 ng Mô t ôhh đ y xu ng th a nh n cá NN sau : a) anbncm b) anbmcn Tìm v n ph m PNC s n sinh cá ngôn ng sau : a) anbncm b) anbmcn Ch ng minh r ng NN { aibjck | i ≠ j ho c i ≠ k } là PNC Ph n bù bù c a ngôn ng c ng là PNC ? G i ý : h i c a cá ngôn ng PNC c ng là PNC Ch ng minh r ng NN { an | n là s nguyên t } không là PNC 65/65 65/65 11 [...]...Các ngôn ng PNC đ n đ nh M t s nh n xé xét \ Các phé phép toá toán giao và và bù không ph i luôn luôn tho mãn PNC \ nh lý "b "b m" m" cho phé phép ch ng minh r ng : u T n t i hai ngôn ng PNC L1 và L2 sao cho L1 ∩ L2 không là là PNC Th t v y : L1 = {anbncm} và và L2 = {ambncn} đ u là là các ngôn ng PNC \ Cho L ∈ L là là PNC đ n đ nh n u : L = L(M), M là là m t ôtômat đ y xu ng đ n đ... D a và vào cây phân tí tích thi t l p cá cách s n sinh ra câu w \ Th c t , đ các thu t toá toán phân tí tích ch y hi u qu (áp d ng cho cá các ch ng trì trình r t dà dài), c n có có h n ch đ i v i ki u v n ph m PNC mu n s d ng : u Ch xét nh ng VP mô t các ngôn ng PNC đ n đ nh u H các VP LR chuyên đ c s d ng cho cá các NNLT c suy ra t phé phép h i và và l y ph n bù bù 63/65 63/65 Bài t p ch 64/ 65 64/ 65... NN PNC đ n đ nh ng d ng c a cá các ngôn ng PNC \ L p cá các NN PNC đđ và và không đđ có có tính ch t khá khác nhau \ Cho L1 và L2 là các NN PNC đ n đ nh, khi khi đó đó : u L = ∑* − L1 là PNC đ n đ nh u ¬ Cho M ôhh đđ M’ M’ sao cho L(M)=L1 ¬ Xây d ng ôhh đđ M’ M’ t M, b ng cá cách hoá hoán đ i vai trò các tr ng thá thái đ t đ c và và không đ t đ c T n t i cá các NN PNC nh ng không đ n đ nh ¬ Vì n u m... ph n bù bù 63/65 63/65 Bài t p ch 64/ 65 64/ 65 ng 4 1 Mô t các ôhh đ y xu ng th a nh n cá các NN sau đây : a) anbncm b) anbmcn 2 Tìm v n ph m PNC s n sinh cá các ngôn ng sau đây : a) anbncm b) anbmcn 3 Ch ng minh r ng NN { aibjck | i ≠ j ho c i ≠ k } là là PNC Ph n bù bù c a ngôn ng này c ng là là PNC ? G i ý : h i c a cá các ngôn ng PNC c ng là là PNC 4 Ch ng minh r ng NN { an | n là là s nguyên t }... v y : L1 và L2 là PNC, PNC, khi khi đó đó : L1 ∪ L2 ph i là là là PNC b, B|ε b, ε|A ε, Z|ε Gi s bù c a m t NN PNC là là PNC thì thì : L1 ∪ L2 = L1 ∩ L2 c ng là PNC : đi u nà này mâu thu n v i trên đây u V i L2, không xá xác đ nh đ u V i L1 v trí trí gi a đ c v trí trí gi a c a câu c xá xác đ nh b i ký t c đ nh n bi t câu 61/65 61/65 Tính ch t c a cá các NN PNC đ n đ nh ng d ng c a cá các ngôn ng PNC ... sinh w : Cách (dãy cá SX là 1 243 24) : S ⇒1 SS ⇒2 aSaS 4 aaS ⇒3 aabSb ⇒2 aabaSab 4 aabaab Cách (dãy cá SX là 13 242 4) : S ⇒1 SS ⇒3 SbSb ⇒2 SbaSab 4 Sbaab ⇒2 aSabaab 4 aabaab V.v S khác c a... bD | b } 43 /65 43 /65 44 /65 44 /65 Lo i b s n xu t d ng A→ A→B Ví d lo i b SX d ng A→ A→B Cho VP PNC G = (N, ∑, R, S) có có ch a cá SX d ng A→ A→B u N u G có có s n xu t d ng A → B và B → A,... t đó u G4 { S → aAS | a nh lý : M t ngôn ng PNC n u ngôn ng đó đ c th a nh n b i m t ôtômat đ y xu ng L = L(M) = L(G) v i G là VP2 M là ôđx A → SbA | SS | ba } L(G4) = ? 25/65 25/65 Ngôn ng L1

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN