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

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

10 188 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 376,98 KB

Nội dung

Tr u thu c : đ u câu chuy n Ngôn ng hình th c Ôtômat (Formal Language & Automata) PGS.TS Phan Huy Khá Khánh khanhph@vnn.vn Ch ng Ôtômat h u h n \ Hình th c, hì hình th c hoá hoá u i l p t nhiên u Mô t , quy quy c, ch t ch (không th bác B ) u Nhu c u GQ v n đ : tin h c/CNTT (ICT) \ Ngôn ng NN u CC trao đ i, liên l c u MT T n hi u chi v ng u Hình th c hoá hoá ngôn ng ! u X lý (h c v ) NN : ¬ Phá Phát ¬ Nh i! : (nó (nói, vi t ) sinh câu – V N PH M s n sinh n : (nghe, c m th ) – ÔTÔMAT đoán nh n 2/56 2/56 Ch ng Mô t phi hì hình th c ôtômat h u h n đ n đ nh Ôtômat h u h n \ M t ôtômat h u h n đ n đ nh, ký hi u M, vi t t t ôhhđđ (DFA: Deterministic Finite State Automaton) Automaton) g m cá ph n t : u B ng vào (Input Tape) : \ Ôtômat h u h n đ n đ nh u Mô t u Mô hì hình hó hóa u Bi u di n ôtômat h u h n ¬ Ch \ Ôtômat h u h n không đ n đ nh u Mô t u Kh b tính không đ n đ nh ¬M u u a câu c n x lý g m nhi u ô i ô ch a m t ký t thu c m t b ng ch Σ đó M t đ u đ c (Read (Read Head) đ c l n l t t ng ký t ô M t t p h p h u h n cá tr ng thá thái g m : t tr ng thá thái đ u (Initial State) t s tr ng thá thái trung gian ¬ M t tr ng thá thái cu i hay đ t đ c (Accepting States) ¬M \ Ôtômat h u h n và bi u th c chí qui u Xây d ng cá ôtômat t bi u th c chí qui u Xây d ng cá ngôn ng chí quy t ôtômat ¬M u M t hà hàm chuy n ti p (Transition Function) : ¬ Chuy n M sang tr ng thá thái ti p theo t tr ng thá thái xé xét và t ký t v a đ c đ c b ng vào 3/56 3/56 4/56 4/56 Mô hì hình c c u cá b ng t Minh ho ôhhđđ \ Ho t đ ng đoán nh n c a ôhh nh sau : u u u u u Câu vào w∈ w∈Σ* đ c đ t mút trá trái b ng vào Lúc đ u, đ u đ c v trí trí w(1) mú mút trá trái nh t c a b ng Ôhh tr ng thá thái đ u q0 u đ c đ c l n l t t ng ký t c a w b ng, ng, di chuy n đ u đ c qua ph i và thay đ i tr ng thá thái Ôhh d ng m i ký t c a w đ c đ c h t và th a nh n câu, ho c hó hóc gi a ch ng (không th a nh n câu vào) Câu vào w ∈ Σ* B ng vào a b a a b a a Tr ng thá thái qi u đ c di chuy n qua ph i theo chi u m i tên 5/56 5/56 6/56 6/56 Mô t hình th c ôtômat h u h n đ n đ nh Ví d m t s ôtômat Máy bá bán bá báo 5xu/t Ch Ch K xu xu q11 xu xu q22 xu xu xu q33 xu Nh n K nh n bá báo và v l i tr ng thá thái ch \ M t ôhh đ n đ nh đ c bi u di n hì hình th c b i b n m : u M = (Q, Σ, δ, q0, F) F) đó : Q t p h p h u h n cá tr ng thá thái (State) Σ b ng ch vào h u h n δ = Q × Σ → Q là hàm chuy n ti p (Transition Function) Red Nh n nú nút T t Nh n nú nút q0 ∈ Q tr ng thá thái đ u (Initial State) F⊆Q t p h p cá tr ng thá thái cu i (Accepting States) B t Yellow Yellow Nút công t c thi t b n Green Green C t đè đèn tí tín hi u giao thông 7/56 7/56 8/56 8/56 Bi u di n ôtômat Ví d bi u di n ôtômat \ Cho ôtômat M = (Q, Σ, δ, q0, F) \ Xét ôtômat h u h n đ n đ nh M = (Q, Σ, δ, q0, F) : u Σ = { 0, } u Q = { q0, q1, q2, q3 } u F = { q0 } u M i ô c a b ng bi u di n m t quan h δ : δ(q, a) =q’ =q’ Ký t đ c vào Tr ng thái q , q’ q’ ∈ Q \ Có th bi u di n M b ng cá cách nh sau : u Li t kê h t cá thành ph n c a M u L p b ng giá giá tr c a hà hàm d ch chuy n δ, đó có đá đánh d u cá tr ng thá thái đ u (q0) và cu i u Dùng đ th \ 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 \ Trong m t s tr ng h p ng i ta dù dùng cách bi u di n ph i h p li t kê thành ph n và l p b ng giá giá tr c a hà hàm d ch chuy n δ q0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 9/56 9/56 10/56 10/56 Bi u di n ôtômat b ng đ th Quy c cá cách v ôtômat : \ Cho ôtômat M = (Q, Σ, δ, q0, F) \ Cho ôtômat M = (Q, Σ, δ, q0, q0, A) \ Quy c bi u di n M b ng đ th nh sau : u M i tr ng thá thái c a M là m t đ nh hì hình tròn u M i chuy n ti p là m t cung n i hai đ nh u M i cung đ c đá đánh nhãn là ký t đ c đ c u Chi u c a cung n i hai đ nh cho bi t s thay đ i tr ng thá thái : ¬ N u δ(p, a) = q thì cung n i t p sang q có có nhãn là a∈Σ ¬ C ng có có th vi t (p, (p, a, q) ∈ δ u Tr ng thá thái đ u có có g n m t d u nh n > u Các tr ng thá thái cu i đ c bi u di n b i cá vòng tròn ké kép 11/56 11/56 p tr ng thái đ u, p = q0 > p p p a a, b q q δ(p, a) = q q δ(p, a) = q δ(p, b) = q q tr ng thái cu i, q ∈ F 12/56 12/56 Ví d bi u di n ôtômat b ng đ th Ôtômat đoán nh n câu vào \ th c a ôtômat h u h n đ n đ nh M ví ví d tr nh sau : c q0 Ký t đ c vào q0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 0 0 q2 110101 q0 13/56 13/56 110101 M110101 q1 110101 110101 110101 110101 Vì q0 ∈ F nên : q0 q2 q3 q1 q0 D ng Tuy nhiên, M không th a nh n câu w=110 vvào (hay nh ng câu có có m t s l (ho c 1) c M th a nh n \ T i m i tr ng thá thái qi, M ghi nh m t tì tình tr ng nh t đ nh c a câu vào đ c nh sau : q0 : ph n đ c g m m t s ch n s và m t s ch n s q1 : ph n đ c g m m t s ch n s và m t s l s q2 : ph n đ c g m m t s l s và m t s ch n s q3 : ph n đ c g m m t s l s và m t s l s 14/56 14/56 Khá Khái ni m hì hình tr ng (C u hì hình) \ Cho ôtômat hh M, m t hì hình tr ng (Configuration) c a M : u c p (q, w)∈ ký hi u C = (q, w) w)∈Q×Σ* ×Σ* q∈Q, w ph n l i ch a đ c c a câu vào \ Chuy n ti p (Transition) m t b c (one step) M (q, w) M (q’ (q’, w’ w’), n u và ch n u (n (n u) : uw = aw’, a ∈ Σ u q’ = δ(q, a) q \ Chuy n ti p nhi u b a q’ * M c M, (q, w) (q’ (q’, w’ w’) n u : u Ch nh ng câu có có m t s ch n s và m t s ch n s m i đ c M th a nh n u ∃ k ≥ và hì hình tr ng (qi, wi), ≤ i ≤ k cho : u (q, w) = (q0, w0) u Hay có có th nói : M ch th a nh n nh ng câu có m t s ch n s và m t s ch n s u (q’ (q’, w’ w’) = (qk, wk) u ∀i, ≤ i q1ababaab> b G m nh ng câu ccó ó ““láo láo nhá áo cá ác bb” ” nh ccác vvà nháo aa r i k t thú úc b i m t b th thúc Trong cu c s ng : ““Anh Anh ta nnói ói ““rr ng àm llà” à” gi a llà mà lláo áo nhá áo cá ác câu nh ccác nháo câu ! \ Bài t p t i l p : Ki m tra cá câu : u w = bababab ∈ L(M) ? u w = aababb ∈ L(M) ? 19/56 19/56 Các ôtômat h u h n đ n đ nh 20/56 20/56 Ôtômat h u h n không đ n đ nh \ Nh ng ôtômat h u h n v a xé xét tr cc đ u đ n đ nh v i đ c tí tính : u T i m i th i m, ôhh ch đ c nh t m t ký t a∈Σ, a≠ε u V i m i tr ng thá thái q, sau ôhh đ c xong a, đ t đ c m t tr ng thá thái xá xác đ nh q’ q’ Ngh a là chuy n ti p : δ(q, a) = q’ q’ ⊆ Q đ n đ nh (hay TI N NH) \ Ôtômat h u h n không đ n đ nh (ôhh (ôhh kđđ) kđđ) (NFA - NonNon-deterministic FiniteFinite-State Automata) có đ c tí tính : u Cùng m t ký t , m t tr ng thá thái có có th có nhi u chuy n ti p, ngh a là δ(q, a) = q’ q’ ⊆ Q u T n t i chuy n ti p cho câu r ng δ(q, ε) = q’ q’ ⊆ Q (ngh a là đ u đ c không ti n t i đ c câu vào) u Có th có chuy n ti p (nhó (nhóm cá chuy n ti p) cho cá ph n câu có có đ dài l n h n 1, ngh a là δ(q, u) = q’ q’ ⊆ Q, u ∈ Σ*, |u| > 21/56 21/56 Nh n xé xét \ M t ôhh kđđ đ nh ngh a hì hình th c ôhh kđđ c đ nh ngh a hì hình th c gi ng ôhh đđ \ S khác th hi n : u V i ôhh đđ là hàm chuy n ti p δ (Transition Function) u V i ôhh kđđ là quan h chuy n ti p Δ (Transition Relation) đ c đ nh ngh a t ng t ôhh đđ, đđ, nh nh ng l n nà vi c chuy n ti p là không nh t ¬V i m i tr ng thá thái, có có th có nhi u tr ng thá thái ti p theo cho m i ký t đ c vào, ch ng h n δ(q, a) cho q1 và q2 d ng b ba (p, σ, q) q) đ nói r ng n u ký t đ c vào là σ thì có th chuy n t tr ng thá thái p sang tr ng thá thái q ¬S ¬T 22/56 22/56 \ Ôtômat h u h n không đ n đ nh là b n m : M = (Q, Σ, Δ, q0, A) A) đó : Q là t p h p h u h n cá tr ng thá thái Σ b ng ch h u h n Δ ⊂ (Q × Σ* × Q) quan h chuy n ti p q0 ∈ Q là tr ng thá thái đ u F ⊆ Q là t p h p tr ng thá thái th a nh n i m i th i m đ u đ c có có th đ c m t ph n câu u ∈ Σ* 23/56 23/56 24/56 24/56 Ví d ôhh kđđ đoán nh n câu Ví d ôhh kđđ \ Cho ôhh kđđ : u M = ( { q0, q1, q2, q3, q4 }, { 0, }, Δ, q0, { q2, q4 }) u v i Δ đ c cho nh sau : { q0, q3 } { q0, q1 } q1 ∅ { q2 } { q2 } q3 { q4 } ∅ q4 { q4 } { q4 } 0, > q0 q3 q4 0, q1 q0 q2 \ Cho w = 01001 ôhh kđđ M đoán nh n nh sau : (q0, 01001) M (q0, 1001) M (q0, 001) M (q3, 01) M (q4, 1) M (q4, ε) Câu w đ ¬M 0, { q2 } > q0 q3 0, c M th a nh n vì : 0, tr ng thá thái cu i q2 L(M) = (0+1)*00(0+1)*+ (0+1)*11(0+1)* 25/56 25/56 26/56 26/56 Kh n ng có có nhi u chuy n ti p Ví d ôhh kđđ 0, > q0 q3 M(q0, q4 0, M(q0, 1) M(q0, ε) \ Ngôn ng đ c th a nh n b i ôtômat M : L(M) = ((a ((a ∪ ab) ab)* bbbbΣ bbbbΣ*) ∪ ((a ((a∪ab) ab)* abb( abb(aa) aa)* aΣ*) 01) M(q0, 0, 001) M(q3, 1) M(q4, 1) hóc ! 1001) M(q3, 01) M(q4, aa ab > q0 q2 M(q0, ε a q1 q1 b a 001) bbb q3 M(q3, q2 ε) b M(q1, (q0, 01001) q4 q1 đ c h t câu ¬M q2 0, a, b q4 1001) 27/56 27/56 28/56 28/56 Chuy n ti p ôhh kđđ Ví d ôhh kđđ Cho ôhh kđđ M \ Ngôn ng đ c th a nh n b i ôtômat M : L(M) = Σ*ab( ab(ab) ab)* ngh a là t p h p cá câu k t thú thúc nh t m t l n l p ab Ví d , câu aaabab ∈ L(M) \ Chuy n ti p m t b c M (q, w) M (q’ (q’, w’ w’) n u : w = uw’ uw’ : câu w b t đ u b i ti n t u ∈ Σ* (q, u, q’ q’) ∈ Δ a > q0 a ab a b \ Chuy n ti p nhi u b c M (q, w) M* (q’ (q’, w’ w’) n u : q1 q2 b 29/56 29/56 u ∃ k ≥ và hì hình tr ng (qi, wi), ≤ i ≤ k cho : u (q, w) = (q0, w0) u (q’ (q’, w’ w’) = (qk, wk) u ∀i, ≤ i 1 c a M, nh n đ u Giai đo n : Kh b tính không đ n đ nh c a M1 nh n đ c M’ M’ 31/56 31/56 32/56 32/56 Kh b chuy n ti p có có đ dài >1 Kh b tính không đ n đ nh \ Cho NFA M = (Q, Σ, Δ, q0, F) F), xây d ng M1 = (Q1, Σ1, Δ1, q01, F1), đó : u Q1 = Q, q01 = q0, Δ1 = Δ F1 = F u V i m i chuy n ti p (q, u, q’ q’)∈Δ có u = σ1σ2 , σk (k>1) : ¬ Lo i b chuy n ti p nà kh i Δ1 ¬ Thêm kk-1 tr ng thá thái m i p1, p2, , pk-1 vào Q1 ¬ Thêm k chuy n ti p m i vào Δ1 : (q, σ1, p1), (p1, σ2, p2), , (pk-1, σk, q’ q’) \ M1 nh n đ c không ch a cá chuy n ti p câu có có đ dài l n h n 1, ngh a là ∀(q, u, q’ q’) ∈ Δ1, |u| ≤ q abc a q q’ p1 b p2 c \ Gi s M = (Q, Σ, Δ, q0, F) F) đó : u M i chuy n ti p (q, u, q’ q’) ∈ Δ, |u| ≤ ngh a là m i chuy n ti p c a NFA M có có d ng : ¬ ho c (q, σ, q’ q’), σ ∈ Σ ¬ ho c (q, ε, q’ q’) \ Xây d ng DFA M’ M’ = ( Q’ Q’, Σ, δ’, q0’ q0’, F’ F’) t ng đ ng v i M qua hai b c nh sau : u X lý cá chuy n ti p đ i v i câu r ng ε d ng (q, ε, q’ q’) g i t t là chuy n ti p r ng, hay ε-chuy n ti p u Xây d ng DFA M’ M’ q’ 33/56 33/56 34/56 34/56 Ví d xây d ng t p h p E( E(q) X lý cá chuy n ti p r ng \ Th c t , m t DFA có chuy n ti p cho câu r ng ε u C n nhó ó m t t c c c chuy n ti p r ng c a M nh v i m t chuy n ti p c a m t ph n t cu Σ : δ(q, a), a∈Σ a∈Σ \ Xây d ng t p h p E( E(q) nh sau : u V i m i q∈ q∈Q c a M, E( E(q) t p cá tr ng thá thái có có th đ t đ c t q b i m t dãy chuy n ti p câu r ng : E(q) = { p∈ p∈ Q | (q, w) M* (p, w) } u Nh v y, v i q cho, cho, t p h p E( E(q) g m cá tr ng thá thái p mà mà s đ bi u di n ôtômat, t n t i m t đ ng t q sang p có có nhãn là câu r ng ε ε q c M1 \ Cho ôtômat h u h n không đ n đ nh M \ Xây d ng t p h p E( E(q) : b a q1 ε > q0 b ε a q3 EE(q (q00) = { q00, q11, q33 } q2 a a b ε q4 a b EE(q (q11) = { q11 } EE(q (q22) = { q22 } EE(q (q33) = { q33 } EE(q (q44) = { q33, q44} p1 ε p2 35/56 35/56 36/56 36/56 S đ thu t toá toán xây d ng DFA M’ M’ Xây d ng DFA M’ M’ \ Gi s x lý ε-chuy n ti p và XD xong cá E( E(q), ∀q∈Q Xây d ng cá ph n t c a DFA M’ M’~ NFA M nh sau : u M’ = ( Q’ Q’, Σ, δ’, q0’ q0’, F’ F’) Input: M = ( Q, Σ, Δ, q0, F) F) Output: M’ M’ = ( Q’ Q’, Σ, δ’, q0’ q0’, F’ F’) Begin q0’ q0’ = E(q0) ; Q’ Q’ = { q0’ q0’ } Do i tr ng thá thái q ∈ Q’ c a M’ M’ m t t p tr ng thá thái c a M, M, Q = 2Q uM L y q ∈ Q’ Do = E(q0) q0) tr ng thá thái mà mà t đó, M có có th ti n hà hành đ c câu vào, k c ε u q0’ q0’ u δ’(q, u F’ a) = L y a∈ a∈Σ Tìm p = δ(q, a) = ∪ { E(p) | ∃q ∈ q : (q, a, p) ∈ Δ } ∪{ E(p) | ∃q ∈ q : (q, a, p) ∈ Δ } Q’ = Q’ Q’ ∪ { p } While Không a∈ a∈Σ ch a x lý While Q’ không thay đ i (không p khác ph i thêm vào Q’ Q’ ) F’ = { q ∈ Q ’ | q ∩ F ≠ ∅ } = { q ∈ Q’ | q ∩ F ≠ ∅ } End 37/56 37/56 38/56 38/56 Ví d xây d ng DFA t NFA b NFA ε q0 > a q1 b a a ε q2 a b ε q3 a q4 b a b q0 ∅ ∅ q1 q2 q2, q3 q2 ∅ ∅ q3 q1, q3 q3, q4 q4 q1, q2 q3 NFA có ε-chuy n ti p : a a > q0 a b a b q1 q2 q3 b a b q0 q0, q1 q0 q1 q1 q2 q2 q3 ∅ q3 ∅ q2 L(M) = (a+b)*aa*b(ab)* b DFA~NFA > Ví d xây d ng DFA t NFA a a {q1, q2, q3} a DFA~NFA {q0, q1, q3} {q2, q3, q4} a b > {q0} a {q0, q1} b a a b {q3, q4} b {q0, q2} b b b a {q0, q1 , q3} 39/56 39/56 40/56 40/56 Ví d xây d ng DFA t NFA C NFA > A E(B) = B, D 0 ε B L(M) = ε A A, B, D ∅ B C ∅ C ∅ B, D D D ∅ E(A) = A, B, D E(C) = C D E(D) = D 0*(01)*0* Quan h gi a ôhh và BTCQ \ Cho L là m t ngôn ng chí qui, M là m t ôtômat h u h n \ M t ngôn ng chí qui n u và ch n u ngôn ng đó đ c th a nh n b i m t ôtômat h u h n : u N u m t ngôn ng đ c ch đ nh b i m t bi u th c chí qui, thì ngôn ng đó đ c th a nh n b i m t ôtômat h u h n không đ n đ nh L = L(α L(α) ⇒ L = L(M) DFA~NFA 0 > A, B, D A, B, C, D B, D 1 u C, D D M t ngôn ng đ c th a nh n b i m t ôtômat h u h n không đ n đ nh là chí qui L = L(M) ⇒ L = L(α L(α) ∅ 41/56 41/56 42/56 42/56 Xây d ng ôhh t bi u th c chí qui Xây d ng ôhh t BTCQ c s \ Minh ho tính ch t : L = L(α L(α) ⇒ L = L(M) L(M) nh sau : u V i m i BTCQ c s α=∅, α=ε, α= a, a∈Σ a∈Σ,, XD đ c m t ôhh th a nh n ngôn ng α ch đ nh u V i m i BTCQ d ng α=(α =(α1α2), α=(α =(α1∪α2), và α=((α =((α1)*) ¬G i M1 M2 l n l ¬ XD đ Ôtômat th a nh n ∅ t là ôhh th a nh n L(α L(α1) và L(α L(α2) Ôtômat th a nh n ε c ôhh M th a nh n L(α) L(α) t M1 M2 a Ôtômat th a nh n a∈Σ 43/56 43/56 Xây d ng ôhh t BTCQ đ n gi n XD ôhh M th a nh n L(α L(α1∪α2) t M1 M2 a Thu g n tr ng thái \ Cho cá ôhh : Ôtômat th a nh n a∈Σ a a b 44/56 44/56 u M1 = (Q1, Σ, Δ1, s1, F1), có có L(M1) = L(α L(α1) u M2 = (Q2, Σ, Δ2, s2, F2), có có L(M2) = L(α L(α2) Ghép hai ôtômat \ XD ôhh M th a nh n L(α L(α) = L(α L(α1∪α2) t M1 M2 : b Ôtômat th a nh n a∪b a b M M11 a, b M11 Ôtômat th a nh n a∪b M22 M22 a a Ôtômat th a nh n a* 45/56 45/56 XD ôhh M th a nh n L(α L(α1α2) t M1 M2 \ Cho cá ôhh : XD ôhh M th a nh n L(α L(α1*) t M1 M2 \ Cho ôhh : u M1 = (Q1, Σ, Δ1, s1, F1), có có L(M1) = L(α L(α1) u M2 = (Q2, Σ, Δ2, s2, F2), có có L(M2) = L(α L(α2) u M1 = (Q1, Σ, Δ1, s1, F1), có có L(M1) = L(α L(α1) \ XD ôhh M th a nh n L(α L(α) = L(α L(α1*) t M1 : \ XD ôhh M th a nh n L(α L(α) = L(α L(α1α2) t M1 M2 : uQ 46/56 46/56 = Q1∪Q2 ; Δ = Δ1∪Δ2 ∪ { (q, ε, s2) ⏐ q ∈ F1 } ; q0 = s1 ; F = F2 u Có th gi thi t r ng ε ∉ L(M1) Ghép hai ôtômat M11 M11 M M11 M22 M ε M11 ε ε ε M22 47/56 47/56 48/56 48/56 X lý cá vòng l p b ng quy n p Xây d ng cá ngôn ng chí quy t ôtômat \ Cho ôtômat M, c n xây d ng m t bi u th c chí quy ch đ nh L(M), ngh a là : u L = L(M) ⇒ L = L(α L(α) \ Cách xây d ng nh sau : u Xét cá đ ng t q0 đ n qj, qj ∈ F M u BTCQ αj nh n đ c t ng ng v i m i đ ng là : ¬ Ghé Ghép ¬ Các u c bi u di n b i phé phép toá toán l p * BTCQ α mong mu n là h p (Union) c a cá αj nh n đ \ Riêng đ i v i cá vòng l p, c n xây d ng BTCQ t v i cá đ ng n i hai tr ng thá thái có có vòng l p \ \ (c ng) liên ti p cá nhãn c a cá chuy n ti p vòng l p đ \ Cho ôtômat M v i Q = { q1, q2, , qn } t R(i, j, k) : u Là t p h p cá câu αij = Path(qi, qj) u Trong đó Path(qi, qj) là đ ng t qi đ n qj b ng cá cách ch chuy n qua kk-1 tr ng thá thái { q1, q2, , qk-1 } nh ngh a R(i, j, k) v i k = (c (c s quy n p x y hai tr ng h p : u N u i ≠ j, u N u i = j, c 1), 1), αij = Path(qi, qj) = { w | (qi, w, qj) ∈ Δ } c ng ng b αij = Path(qi, qj) = { ε } ∪ { w | (qi, w, qj) ∈ Δ } 49/56 49/56 50/56 50/56 Mô hì hình cá đ nh ngh a R(i, j, k) v i k > \ V i k>1, dùng ph ng phá pháp quy n p tí tính αij = Path(qi, qj), ∀qi, qj : u Gi s ∀αij đ c xây d ng (gi (gi thi t quy n p b c k) k) R(i, j, k) = Path(qi, qj) qua k− k−1 tr ng thá thái { q1, q2, , qk-1} u Xây d ng R(i, j, k+1) ( quy n p b c k+1) k+1) g m cá đ ng ch qua { q1, q2, , qk-1 } : ¬ Path(qi, qk) nh n đ ¬ Path(qk, qk)* nh n đ ¬ Path(qk, qj) nh n đ R(k, k, k)* , Path(qk, qk)* R(i, k, k), qj Path(qi, qk) R(k, j, k), Path(qk, qj) c t qi đ n qk, c t qk đ n qk m t s l n tu ý (*) qi c t qk đ n qj qj R(i, j, k), Path(qi, qk) \ Ta có có : R(i, j, k+1) = R(i, j, k) ∪ R(i, k, k) R(k, k, k)*R(k, j, k) Gi thi t M có có n tr ng thá thái, q1 tr ng thá thái đ u, ta có có : L(M) = R(1, j, n+1) ∪ q∈ A ∈A jj 51/56 51/56 Nh n xé xét \ Ngôn ng th a nh n b i M là h p c a t t c t p h p câu R(i, j, n+1), xu t hi n cá chuy n ti p t tr ng thá thái đ u đ n m t nh ng tr ng thá thái cu i, b ng cá cách v t qua t t c tr ng thá thái c a M \ Cho ôtômat M : R(i, j2, n+1) R(i, jm, n+1) qj1 a u q2 a c đ nh ngh a nh sau : k=2 R(1,1,1)∪ R(1,1,1)∪R(1,1,1)R(1,1,1)*R(1,1,1) (ε∪a) ∪(ε∪a)( ε∪a)*( a)*(ε∪ ε∪a) a) ε∪a)∪ ε∪a)(ε∪ b∪(ε∪a)( ε∪a)*b a)*b ε∪a)(ε∪ R(1,2,k) b R(1,2,1)∪ R(1,2,1)∪R(1,1,1)R(1,1,1)*R(1,2,1) R(2,1,k) a R(2,1,1)∪ R(2,1,1)∪R(2,1,1)R(1,1,1)*R(1,1,1) a∪a(ε∪ a)*(ε∪ ε∪a) a) a(ε∪a)*( R(2,2,1)∪ R(2,2,1)∪R(2,1,1)R(1,1,1)*R(1,2,1) (ε∪b) ∪a(ε∪ a)*b ε∪b)∪ a(ε∪a)*b R(2,2,k) ε∪b ε∪b qjm > q1 V i k=1 và k=2, k=2, R(i, j, k) đ R(1,1,k) ε∪a ε∪a qj2 b b k=1 R(i, j1, n+1) 52/56 52/56 Ví d \ Cho ôtômat M có có n tr ng thá thái, gi s q1 tr ng thá thái đ u, M có có m tr ng thá thái cu i qj1, qj2, , qjm > q ng tí tính R(I, j, k) R(i, R(i, j,j, k+1) k+1) = = R(i, R(i, j,j, k) k) ∪ ∪ R(i, R(i, k, k, k) k) R(k, R(k, k, k, k)*R(k, k)*R(k, j,j, k) k) 53/56 53/56 54/56 54/56 Tìm L(M) \ Ngôn ng đ Bài t p ch c th a nh n b i M là : L(M) = R(1, 2, 3) = R(1, 2, 2)∪ 2)∪R(1, 2, 2)R(2, 2, 2)*R(2, 2, 2) Bi u di n nh phân cá s ch n u Các câu b ng ch Σ = { a, b } ch a aab ho c aaab Xây d ng cá DFA th a nh n cá ngôn ng cho Xây d ng cá ôtômat th a nh n cá bi u th c chí quy : 2)* b∪(ε∪a)( ε∪a) a)*b(( ∪a(ε∪ a)*b)* ε∪a)(ε∪ b((ε∪b) ε∪b)∪ a(ε∪a)*b)* Xây d ng cá NFA th a nh n cá ngôn ng sau : u R(1, 2, 2)(ε∪R(2, 2, 2)+) R(1, 2, 2)R(2, 2, ng u a*b u ε ∪ (a ∪ aab)* Xây d ng cá bi u th c chí quy t ôtômat sau : a a q1 b b b > q0 55/56 55/56 q2 56/56 56/56 10 ... M2 = (Q2, Σ, 2, s2, F2), có có L(M2) = L(α L( 2) Ghép hai ôtômat XD ôhh M th a nh n L(α L(α) = L(α L(α1∪ 2) t M1 M2 : b Ôtômat th a nh n a∪b a b M M11 a, b M11 Ôtômat th a nh n a∪b M 22 M 22. .. ε∪a)(ε∪ R(1 ,2, k) b R(1 ,2, 1)∪ R(1 ,2, 1)∪R(1,1,1)R(1,1,1)*R(1 ,2, 1) R (2, 1,k) a R (2, 1,1)∪ R (2, 1,1)∪R (2, 1,1)R(1,1,1)*R(1,1,1) a∪a(ε∪ a)*(ε∪ ε∪a) a) a(ε∪a)*( R (2, 2,1)∪ R (2, 2,1)∪R (2, 1,1)R(1,1,1)*R(1 ,2, 1) (ε∪b)... R(1, 2, 3) = R(1, 2, 2) ∪ 2) ∪R(1, 2, 2) R (2, 2, 2) *R (2, 2, 2) Bi u di n nh phân cá s ch n u Các câu b ng ch Σ = { a, b } ch a aab ho c aaab Xây d ng cá DFA th a nh n cá ngôn ng cho Xây d ng cá ôtômat

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

TỪ KHÓA LIÊN QUAN