Ngôn ngữ hình thức và Ôtômat - Chương 3 pps

11 454 0
Ngôn ngữ hình thức và Ôtômat - Chương 3 pps

Đ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

1 Ngôn ng Ngôn ng   h h ì ì nh th nh th   c c v v à à Ôtômat Ôtômat ( ( Formal Language & Automata Formal Language & Automata ) ) PGS.TS. Phan Huy Kh PGS.TS. Phan Huy Kh á á nh nh khanhph@vnn.vn khanhph@vnn.vn Chng 3 Vn phm(Grammar) Chng Chng 3 3 Vn ph Vn ph   m m ( ( Grammar Grammar ) ) 2/ 2/ 61 61 Chng Chng 3 3 Vn ph Vn ph   m m \ \     nh ngh nh ngh   a m a m   t ngôn ng t ngôn ng   l l   p tr p tr ì ì nh (NNLT) nh (NNLT) \ \ Kh Kh á á i ni i ni   m vn ph m vn ph   m m \ \ Phân c Phân c   p c p c á á c lo c lo   i vn ph i vn ph   m c m c   a Chomsky a Chomsky \ \ Vn ph Vn ph   m ch m ch í í nh qui nh qui \ \ Ngôn ng Ngôn ng   ch ch í í nh quy nh quy \ \ T T í í nh ch nh ch   t c t c   a ngôn ng a ngôn ng   ch ch í í nh quy nh quy \ \     nh l nh l í í " " bm bm " (Pumping Theorem) " (Pumping Theorem) \ \   ng d ng d   ng c ng c   a ngôn ng a ngôn ng   ch ch í í nh qui nh qui 3/ 3/ 61 61     nh ngh nh ngh   a m a m   t ngôn ng t ngôn ng   l l   p tr p tr ì ì nh (NNLT) nh (NNLT) \ \ C C á á c ngôn ng c ngôn ng   l l   p tr p tr ì ì nh (NNLT) b nh (NNLT) b   c cao đ c cao đ   c xây d c xây d   ng mô ng mô ph ph   ng (m ng (m   t c t c á á ch thô thi ch thô thi   n) ngôn ng n) ngôn ng   t t   nhiên nhiên , t , t h h   ng l ng l à à ti ti   ng Anh (ho ng Anh (ho   c ti c ti   ng Nga), t ng Nga), t   b b   n y n y   u t u t   : : u u B B   ký t ký t   (Character Set) (Character Set) u u B B   t t   v v   ng (Vocabulary) ng (Vocabulary) u u C C ú ú ph ph á á p (Semantic) p (Semantic) u u Ng Ng   ngh ngh   a (Semantic) a (Semantic) ¬ ¬ Cn c Cn c   v v à à o c o c ú ú ph ph á á p c p c   a NNLT, a NNLT, ng ng   i l i l   p tr p tr ì ì nh vi nh vi   t chng tr t chng tr ì ì nh nh g g   m c m c á á c câu l c câu l   nh đ nh đ   gi gi   i quy i quy   t b t b à à i to i to á á n c n c   a m a m ì ì nh nh ¬ ¬     đ đ   t đ t đ   c m c m   c đ c đ í í ch đ ch đ ó ó , m , m   i câu l i câu l   nh vi nh vi   t ra không nh t ra không nh   ng ng đ đ ú ú ng đ ng đ   n v n v   m m   t c t c ú ú ph ph á á p, m p, m à à còn ph còn ph   i đ i đ ú ú ng đ ng đ   n c n c   v v   m m   t ng t ng   ngh ngh   a, hay ý ngh a, hay ý ngh   a logic c a logic c   a câu l a câu l   nh, nh, đ đ   gi gi   i quy i quy   t b t b à à i to i to á á n n \ \ Ngo Ngo à à i ra, i ra, ng ng   i ta c i ta c   ng th ng th   ng thêm ng thêm y y   u t u t   m m   t th t th   nm l nm l à à t t í í nh th nh th   c d c d   ng (Pragmatic) ng (Pragmatic) 4/ 4/ 61 61 B B   ký t ký t   \ \ B B   ký t ký t   (Character Set) (Character Set) u u G G   m m m m   t t t t   p h p h   p h p h   u h u h   n c n c á á c ký t c ký t   đ đ   c ph c ph é é p d p d ù ù ng trong ngôn ng ng trong ngôn ng   , t , t h h   ng l ng l à à c c á á c ký t c ký t   ASCII ASCII u u C C ó ó th th   hi hi   u b u b   ký t ký t   c c ó ó vai trò nh b vai trò nh b   ng ch ng ch   c c á á i (Alphabet) i (Alphabet) c c   a m a m   t ngôn ng t ngôn ng   t t   nhiên nhiên 5/ 5/ 61 61 B B   t t   v v   ng ng \ \ B B   t t   v v   ng (Vocabulary) ng (Vocabulary) u u G G   m c m c á á c t c t   ( ( Word) hay Word) hay đn v đn v   t t   v v   ng (Token) d ng (Token) d ù ù ng đ ng đ   t t   o o th th à à nh câu l nh câu l   nh v nh v à à đ đ   c phân lo c phân lo   i tu i tu   theo vai trò c theo vai trò c   a ch a ch ú ú ng ng trong ngôn ng trong ngôn ng   u u M M   i lo i lo   i t i t   v v   ng l ng l   i đ i đ   c chia ra th c chia ra th à à nh c nh c á á c nh c nh ó ó m nh m nh   hn hn tu tu   theo ch theo ch   c nng s c nng s   d d   ng ng \ \ V V í í d d   : : -Tên, hay đnh danh (Identifier) : Read, Write, P, x, y -Hng (Constants) : 2 -Toán t (Operators) : + , := -Du phân cách (Delimiters) : Program, Var, :, (, ), Begin, End. Program P; Var ×, y : Integer; Begin Read(x); y:=x+2; Write(y) End. Các đn v t vng Chng trình Pascal 6/ 6/ 61 61 C C ú ú ph ph á á p p \ \ C C ú ú ph ph á á p ( p ( Syntax) hay Syntax) hay vn ph vn ph   m (Grammar) l m (Grammar) l à à t t   p h p h   p c p c á á c c quy t quy t   c cho ph c cho ph é é p : p : u u Quy đ Quy đ   nh c nh c á á ch th ch th   c k c k   t h t h   p c p c á á c ký t c ký t   th th à à nh t nh t   , k , k   t h t h   p c p c á á c c t t   th th à à nh câu l nh câu l   nh đ nh đ ú ú ng (Statement ng (Statement - - Instruction), k Instruction), k   t h t h   p p c c á á c câu l c câu l   nh đ nh đ ú ú ng th ng th à à nh m nh m   t chng tr t chng tr ì ì nh ho nh ho à à n ch n ch   nh nh u u C C ó ó th th   h h ì ì nh dung c nh dung c á á ch k ch k   t h t h   p n p n à à y gi y gi   ng c ng c á á ch đ ch đ   t câu trong t câu trong m m   t ngôn ng t ngôn ng   t t   nhiên nhiên u u     đ đ   nh ngh nh ngh   a c a c ú ú ph ph á á p m p m   t ngôn ng t ngôn ng   l l   p tr p tr ì ì nh, n nh, n g g   i ta i ta th th   ng s ng s   d d   ng : ng : ¬ ¬ Ho Ho   c s đ c s đ   c c ú ú ph ph á á p (Syntax Diagram) p (Syntax Diagram) ¬ ¬ Ho Ho   c c d d   ng chu ng chu   n Backus n Backus - - Naur Naur (BNF (BNF − − BackusNaur Normal Form), BackusNaur Normal Form), hay hay d d   ng Backus ng Backus - - Naur m Naur m   r r   ng ng (EBNF (EBNF − − Extended BNF) Extended BNF) 2 7/ 7/ 61 61 V V í í d d   vn ph vn ph   m m ti ti   ng Anh ng Anh \ \ Gi Gi   s s   c c á á c câu ti c câu ti   ng Anh đ ng Anh đ   c xây d c xây d   ng theo nh ng theo nh   ng quy ng quy t t   c nh sau c nh sau : : u u Câu Câu (Phrase/Sentence) g (Phrase/Sentence) g   m c m c ó ó hai th hai th à à nh ph nh ph   n : n : ¬ ¬ Ch Ch   t t   (subject) (subject) ¬ ¬     ng t ng t   (Verbe) (Verbe) u u Ch Ch   t t   c c ó ó th th   l l à à He He ho ho   c c She She u u     ng t ng t   c c ó ó th th   l l à à sleep sleep hay hay eat eat u u T T   đ đ ó ó c c ó ó th th   xây d xây d   ng đ ng đ   c c c c á á c câu : c câu : ¬ ¬ He sleep He sleep ¬ ¬ He eat He eat ¬ ¬ She sleep She sleep ¬ ¬ She eat She eat 8/ 8/ 61 61 V V í í d d   s đ s đ   c c ú ú ph ph á á p câu ti p câu ti   ng Anh ng Anh \ \ Trong ti Trong ti   ng Anh, m ng Anh, m   t câu đn gi t câu đn gi   n g n g   m 3 th m 3 th à à nh ph nh ph   n : n : u u Ch Ch   t t   (Subject), ch (Subject), ch   ng h ng h   n n “ “ I I ” ” v v à à “ “ You You ” ” u u     ng t ng t   (Verb), ch (Verb), ch   ng h ng h   n n “ “ like like ” ” v v à à “ “ see see ” ” u u B B   ng ng   (Complement), ch (Complement), ch   ng h ng h   n n “ “ him him ” ” v v à à “ “ her her ” ” \ \ D D ù ù ng s đ ng s đ   c c ú ú ph ph á á p, ta c p, ta c ó ó : : \ \ T T   đ đ ó ó c c ó ó th th   xây d xây d   ng c ng c á á c câu đ c câu đ ú ú ng : ng : “ “ I see him I see him ” ” , , “ “ I like her I like her ” ” , v.v , v.v câu b ng b ng đng t đng t ch t ch t ch t I You đng t like see b ng him her 9/ 9/ 61 61 Kh Kh á á i ni i ni   m BNF m BNF \ \ BNF g BNF g   m m m m   t dãy c t dãy c á á c quy t c quy t   c, hay d c, hay d   ng th ng th   c c u u M M   i quy t i quy t   c c c c ó ó d d   ng : < ng : < V V   tr tr á á i i > ::= < > ::= < V V   ph ph   i i > > u u < < V V   tr tr á á i i > t > t h h   ng l ng l à à m m   t ký hi t ký hi   u ph u ph   i đ i đ   c đ c đ   nh ngh nh ngh   a rõ a rõ u u < < V V   ph ph   i i > l > l à à m m   t dãy ký hi t dãy ký hi   u, ho u, ho   c đã đ c đã đ   c th c th   a nh a nh   n, n, ho ho   c đã đ c đã đ   c đ c đ   nh ngh nh ngh   a tr a tr   c đ c đ ó ó , tuân theo m , tuân theo m   t quy  t quy    c c n n à à o đ o đ ó ó u u D D   u ::= (ho u ::= (ho   c c → → , , ho ho   c = c = ) ) đ đ   c c “ “ đ đ   c đ c đ   nh ngh nh ngh   a l a l à à ” ” u u N N   u u c c ó ó nhi nhi   u v u v   ph ph   i c i c ù ù ng đ ng đ   nh ngh nh ngh   a m a m   t v t v   tr tr á á i, i, ng ng   i ta i ta s s   d d   ng d ng d   u | u | đ đ   phân c phân c á á ch theo ngh ch theo ngh   a lo a lo   i tr i tr   u u D D   ng BNF m ng BNF m   r r   ng s ng s   d d   ng hai c ng hai c   p d p d   u quy  u quy    c : c : { } : v { } : v   ph ph   i c i c ó ó m m   t chu t chu   i t i t   0 0 đ đ   n nhi n nhi   u m u m   c li c li   t kê < >* t kê < >* [ ] : v [ ] : v   ph ph   i c i c ó ó 0 ho 0 ho   c c c c ó ó 1 m 1 m   c li c li   t kê (option) t kê (option) 10/ 10/ 61 61 V V í í d d   d d   ng BNF ng BNF \ \ D D   ng BNF c ng BNF c á á c câu ti c câu ti   ng Anh đn gi ng Anh đn gi   n nh sau n nh sau : : <Câu> ::= <Ch <Câu> ::= <Ch   t t   > < > <     ng t ng t   > < B > < B   ng ng   > > <Ch <Ch   t t   > ::= > ::= “ “ I I ” ” | | “ “ You You ” ” < <     ng t ng t   > ::= > ::= “ “ like like ” ” | | “ “ see see ” ” <B <B   ng ng   > ::= > ::= “ “ him him ” ” | | “ “ her her ” ” \ \ Tên trong ngôn ng Tên trong ngôn ng   Pascal : Pascal : <tên> = <ch <tên> = <ch   > { <ch > { <ch   > | <s > | <s   > } > } Ho Ho   c đ c đ   nh ngh nh ngh   a đ a đ   quy : quy : <tên> = <ch <tên> = <ch   > | <tên> <ch > | <tên> <ch   > | <tên> <s > | <tên> <s   > > <ch <ch   > > = = ‘ ‘ A A ’ ’ | | | | ‘ ‘ Z Z ’ ’ | | ‘ ‘ a a ’ ’ | | | | ‘ ‘ z z ’ ’ <s <s   > > = = ‘ ‘ 0 0 ’ ’ | | | | ‘ ‘ 9 9 ’ ’ 11/ 11/ 61 61 S đ S đ   c c ú ú ph ph á á p c p c   a tên a tên \ \ Tên trong ngôn ng Tên trong ngôn ng   Pascal c Pascal c ó ó s đ s đ   c c ú ú ph ph á á p nh sau p nh sau : : \ \ T T   đ đ ó ó c c ó ó th th   xây d xây d   ng c ng c á á c tên đ c tên đ ú ú ng trong Pascal nh sau ng trong Pascal nh sau : : u u Delta Delta , , x1 x1 , , x2 x2 , , Read Read , v.v , v.v u u Tr Tr á á i l i l   i, c i, c á á c chu c chu   i ký t i ký t   1A 1A , , β β , , π π , , b b á á n n k k í í nh nh , v , v .v .v đ đ   u không ph u không ph   i l i l à à tên tên Tên Ch Ch S S Ch Ch A Z a z Ch 0 9 S 12/ 12/ 61 61 V V í í d d   m m   t NNLT đn gi t NNLT đn gi   n n \ \ Vn ph Vn ph   m c m c   a m a m   t NNLT đn gi t NNLT đn gi   n d n d   ng EBNF nh sau ng EBNF nh sau : : <program> <program> ::= ::= program program <statement>* <statement>* end end <statement> <statement> ::= <assignment> | <loop> ::= <assignment> | <loop> <assignment> <assignment> ::= <identifier> := <expression> ; ::= <identifier> := <expression> ; <loop> <loop> := := while while <expression> <expression> do do <statement>+ <statement>+ done done <expression> <expression> ::= <value> ::= <value> | <value> + <value> | <value> <= <value> | <value> + <value> | <value> <= <value> <value> <value> ::= <identifier> | <number> ::= <identifier> | <number> <identifier> <identifier> ::= <letter> ::= <letter> | <identifier><letter> | <identifier><digit> | <identifier><letter> | <identifier><digit> <letter> <letter> ::= ::= ‘ ‘ A A ’ ’ | | | | ‘ ‘ Z Z ’ ’ | | ‘ ‘ a a ’ ’ | | | | ‘ ‘ z z ’ ’ <digit> <digit> ::= ::= ‘ ‘ 0 0 ’ ’ | | | | ‘ ‘ 9 9 ’ ’ <number> <number> ::= <digit> | <number><digit> ::= <digit> | <number><digit> 3 13/ 13/ 61 61 L L   p tr p tr ì ì nh theo c nh theo c ú ú ph ph á á p vn ph p vn ph   m m M M   t câu, t t câu, t   c l c l à à m m   t chng tr t chng tr ì ì nh đn gi nh đn gi   n, ch n, ch   ng h ng h   n : n : program program n := 1 ; n := 1 ; while while n <= 10 n <= 10 do do n := n + 1 ; n := n + 1 ; done end done end đ đ   c s c s   n sinh t n sinh t   vn ph vn ph   m đã cho nh m đã cho nh   á á p d p d   ng c ng c ú ú ph ph á á p vn ph p vn ph   m m nh sau nh sau : : <program> <program> program program <statement>* <statement>* end end program program <statement> <statement> <statement> <statement> end end program program <assignment> <loop> <assignment> <loop> end end program program <identifier> := <expression> ; <identifier> := <expression> ; while while <expression> <expression> do do <statement>+ <statement>+ done end done end program program n := <value> ; n := <value> ; while while <value> <= <value> <value> <= <value> do do <statement> <statement> done done end end program program n := <number> ; n := <number> ; while while <identifier> <= <number> <identifier> <= <number> do do <assignment> <assignment> done end done end program n := 1 ; program n := 1 ; while while n <= 10 n <= 10 do do <identifier> := <expression> ; <identifier> := <expression> ; done end done end program n := 1 ; program n := 1 ; while while n <= 10 n <= 10 do do n := <value> + <value> ; n := <value> + <value> ; done end done end program n := 1 ; program n := 1 ; while while n <= 10 n <= 10 do do n := <identifier> + <number> ; n := <identifier> + <number> ; done end done end program n := 1 ; program n := 1 ; while while n <= 10 n <= 10 do do n := n + 1 ; n := n + 1 ; done end done end 14/ 14/ 61 61 Nh Nh   n x n x é é t t \ \ Ta đã l Ta đã l à à m quen v m quen v   i hai phng ph i hai phng ph á á p : p : u u S S   d d   ng vn ph ng vn ph   m đ m đ   l l   p tr p tr ì ì nh (t nh (t   o ra câu c o ra câu c   a ngôn ng a ngôn ng   ) ) v v à à m m   t tr t tr ì ì nh biên d nh biên d   ch đ ch đ   phân t phân t í í ch c ch c ú ú ph ph á á p, p, biên d biên d   ch th ch th à à nh tr nh tr ì ì nh kh nh kh   thi thi u u S S   d d   ng ôtôm ng ôtôm á á t đ t đ   phân t phân t í í ch m ch m   t câu c t câu c   a ngôn ng a ngôn ng   v v à à th th   a nh a nh   n câu khi qu n câu khi qu á á tr tr ì ì nh đo nh đo á á n nh n nh   n l n l à à th th à à nh công nh công \ \ Hai phng ph Hai phng ph á á p n p n à à y b y b   sung cho nhau v sung cho nhau v à à thông th thông th   ng, ng, ng ng   i ta s i ta s   d d   ng c ng c   hai d hai d   ng th ng th   c c vn ph vn ph   m m v v à à ôtôm ôtôm á á t t u u C C ó ó s s   tng tng   ng gi ng gi   a mô t a mô t   s s   n sinh v n sinh v à à mô t mô t   phân t phân t í í ch, ch, ngh ngh   a l a l à à c c ó ó th th   bi bi   n đ n đ   i m i m   t mô t t mô t   phân t phân t í í ch (m ch (m   t ôtôm t ôtôm á á t h t h   u h u h   n) n) th th à à nh m nh m   t mô t t mô t   s s   n sinh v n sinh v à à ng ng   c l c l   i i u u Lý thuy Lý thuy   t NN h t NN h ì ì nh th nh th   c cha mô t c cha mô t   đ đ   y đ y đ   c c á á c NN t c NN t   nhiên nhiên (ti (ti   ng Anh, ti ng Anh, ti   ng Ph ng Ph á á p, ti p, ti   ng Vi ng Vi   t ) t ) nhng mô t nhng mô t   v v à à phân t phân t í í ch ch đ đ   y đ y đ   c c á á c NNLT v c NNLT v à à đ đ   c c á á p d p d   ng r ng r   ng rãi trong Tin h ng rãi trong Tin h   c c 15/ 15/ 61 61 Ho Ho   t đ t đ   ng c ng c   a vn ph a vn ph   m m \ \ C C á á c quy t c quy t   c đ c đ   s s   n sinh câu trên m n sinh câu trên m   t b t b   ng ch ng ch   Σ Σ đã cho còn đã cho còn đ đ   c g c g   i l i l à à c c á á c c quy t quy t   c vi c vi   t l t l   i i (Rewriting Rules) (Rewriting Rules) u u M M   i quy t i quy t   c ch c ch   ra m ra m   t dãy c t dãy c á á c ký hi c ký hi   u (Symbols) u (Symbols) c c ó ó th th   đ đ   c thay th c thay th   b b   i m i m   t dãy c t dãy c á á c ký hi c ký hi   u kh u kh á á c c u u Nh Nh   ng ký hi ng ký hi   u c u c ó ó th th   đ đ   c thay th c thay th   b b   i m i m   t dãy t dãy c c á á c ký hi c ký hi   u kh u kh á á c đgl c c đgl c á á c c ký hi ký hi   u s u s   n sinh, n sinh, hay hay cha k cha k   t th t th ú ú c c \ \     nh nh   n đ n đ   c m c m   t câu n t câu n à à o đ o đ ó ó , n , n g g   i ta ti i ta ti   n h n h à à nh nh sau nh nh sau : : u u Xu Xu   t ph t ph á á t t t t   m m   t ký t t ký t   đ đ   c bi c bi   t, g t, g   i l i l à à ký t ký t   đ đ   u u (Start Symbol), (Start Symbol), r r   i i á á p d p d   ng l ng l   n l n l   t c t c á á c quy t c quy t   c c c c   a vn ph a vn ph   m m u u Khi không còn c Khi không còn c ó ó th th   thay th thay th   c c á á c ký hi c ký hi   u b u b   i c i c á á c quy t c quy t   c c c c   a a vn ph vn ph   m, ta nh m, ta nh   n đ n đ   c câu ch c câu ch   g g   m nh m nh   ng ký hi ng ký hi   u c u c   a a Σ Σ đã đã cho, cò cho, cò n đgl n đgl c c á á c ký hi c ký hi   u k u k   t th t th ú ú c c 16/ 16/ 61 61     nh ngh nh ngh   a h a h ì ì nh th nh th   c vn ph c vn ph   m m \ \ M M   t vn ph t vn ph   m l m l à à m m   t b t b   b b   n G = (N, n G = (N, Σ Σ , R , R , S , S ) t ) t rong đ rong đ ó ó : : u u N l N l à à t t   p h p h   p h p h   u h u h   n c n c á á c ký t c ký t   không k không k   t th t th ú ú c (Non c (Non - - Terminal Terminal Symbols), hay còn g Symbols), hay còn g   i l i l à à c c á á c bi c bi   n, ch n, ch   xu xu   t hi t hi   n trong qu n trong qu á á tr tr ì ì nh s nh s   n sinh v n sinh v à à không xu không xu   t hi t hi   n trong c n trong c á á c câu đã đ c câu đã đ   c vn c vn ph ph   m sinh ra m sinh ra u u ∑ ∑ l l à à t t   p h p h   p h p h   u h u h   n c n c á á c ký t c ký t   k k   t th t th ú ú c, hay ký t c, hay ký t   cu cu   i i (Terminal Symbols), (Terminal Symbols), ∑ ∑ ≠ ≠ N, N, hay N hay N ∩ ∩ ∑ ∑ = = ∅ ∅ u u Ng Ng   i ta đ i ta đ   nh ngh nh ngh   a b a b   ng ch ng ch   V = N V = N ∪ ∪ ∑ ∑ u u R R ⊆ ⊆ (V (V + + × × V V * * ) l ) l à à t t   p h p h   u h u h   n c n c á á c quy t c quy t   c (Rules), hay còn g c (Rules), hay còn g   i i l l à à c c á á c s c s   n xu n xu   t (Productions), ch t (Productions), ch í í nh l nh l à à c c á á c quy t c quy t   c vi c vi   t l t l   i v i v   a a n n ó ó i i   trên trên , t , t h h   ng c ng c ó ó d d   ng ( ng ( α α , , β β ), hay ), hay α α → → β β u u S S ∈ ∈ N l N l à à ký t ký t   đ đ   u (Start Symbol) u (Start Symbol) 17/ 17/ 61 61 Ý ngh Ý ngh   a c a c   a c a c á á c s c s   n xu n xu   t t \ \ M M   i s i s   n xu n xu   t d t d   ng ( ng ( α α , , β β ) cho bi ) cho bi   t : t : u u Ph Ph   n t n t   bên tr bên tr á á i ( i ( α α ∈ ∈ V V + + ) c ) c   a s a s   n xu n xu   t t đ đ   c thay th c thay th   b b   i ph i ph   n t n t   bên ph bên ph   i ( i ( β β ∈ ∈ V V * * ) ) \ \ T T   S, b S, b   t đ t đ   u qu u qu á á tr tr ì ì nh s nh s   n sinh câu b n sinh câu b   ng c ng c á á ch : ch : u u Á Á p d p d   ng s ng s   n xu n xu   t đ t đ   u tiên l u tiên l à à S S → → α α u u Sau đ Sau đ ó ó t t ì ì m trong m trong α α c c á á c ph c ph   n câu n câu u u ∈ ∈ V V + + c c ó ó ch ch   a bi a bi   n X n X ∈ ∈ N N đ đ   á á p d p d   ng tu ng tu   ý c ý c á á c s c s   n xu n xu   t t u u → → v v u u Th Th   c hi c hi   n m n m   t c t c á á ch đ ch đ   quy cho đ quy cho đ   n khi nh n khi nh   n đ n đ   c câu w c câu w ch ch   ch ch   a c a c á á c ký hi c ký hi   u a u a ∈ ∈ Σ Σ , hay n , hay n ó ó i c i c á á ch kh ch kh á á c, c, w w ∈ ∈ Σ Σ * * \ \ Thông th Thông th   ng, n ng, n g g   i ta t i ta t ì ì m c m c á á c ph c ph   n câu n câu u u đ đ   á á p d p d   ng c ng c á á c c s s   n xu n xu   t l t l   n l n l   t t t t   tr tr á á i qua ph i qua ph   i i 18/ 18/ 61 61 M M   t s t s   quy  quy    c c \ \ Sau đây l Sau đây l à à m m   t s t s   quy  quy    c khi mô t c khi mô t   vn ph vn ph   m G : m G : u u C C á á c bi c bi   n A, B, C , X, Y n A, B, C , X, Y ∈ ∈ N = V N = V − − ∑ ∑ u u C C á á c ký t c ký t   thu thu   c c ∑ ∑ đ đ   c bi c bi   u di u di   n b n b   i i a a , , b b , c , c u u C C á á c quy t c quy t   c, hay s c, hay s   n xu n xu   t t ( ( α α , , β β ) ) ∈ ∈ R R , , đ đ   c vi c vi   t d t d   ng : ng : α α → → β β hay hay α α → → G G β β n n   u mu u mu   n ch n ch   đ đ   nh đ nh đ ó ó l l à à s s   n xu n xu   t thu t thu   c vn ph c vn ph   m G m G khi l khi l à à m vi m vi   c c c c ù ù ng l ng l ú ú c v c v   i nhi i nhi   u vn ph u vn ph   m kh m kh á á c nhau c nhau u u Ký t Ký t   đ đ   u luôn luôn bi u luôn luôn bi   u di u di   n b n b   i S i S u u C C á á c câu r c câu r   ng đ ng đ   c bi c bi   u di u di   n b n b   i i ε ε 4 19/ 19/ 61 61 V V í í d d   \ \ Cho vn ph Cho vn ph   m G = (V, m G = (V, ∑ ∑ , R, S) v , R, S) v   i : i : u u N = { S, A, B } N = { S, A, B } u u ∑ ∑ = { = { a a , , b b }, S l }, S l à à ký t ký t   đ đ   u. u. u u R = { S R = { S → → A, S A, S → → B, B B, B → → bB, B bB, B → → ε ε , A , A → → aA, A aA, A → → ε ε } } u u     cho g cho g   n, khi mô t n, khi mô t   m m   t vn ph t vn ph   m, m, ng ng   i ta th i ta th   ng nh ng nh ó ó m m c c á á c quy t c quy t   c c c c ó ó c c ù ù ng ký t ng ký t   bên tr bên tr á á i v i v   i nhau : i nhau : S S → → A | B A | B B B → → bB | bB | ε ε A A → → aA | aA | ε ε u u Thay v Thay v ì ì li li   t kê h t kê h   t c t c á á c th c th à à nh ph nh ph   n c n c   a vn ph a vn ph   m G, m G, ng ng   i ta ch i ta ch   li li   t kê c t kê c á á c quy t c quy t   c R c c R c   a vn ph a vn ph   m m m m à à thôi thôi u u Ch Ch   ng h ng h   n vn ph n vn ph   m G m G   trên ch trên ch   c c   n li n li   t kê c t kê c á á c quy t c quy t   c : c : G { S G { S → → A | B ; B A | B ; B → → bB | bB | ε ε ; ; A A → → aA | aA | ε ε } } 20/ 20/ 61 61 S S   n sinh câu trong G n sinh câu trong G \ \ Cho G { S Cho G { S → → A | B ; B A | B ; B → → bB | bB | ε ε ; ; A A → → aA | aA | ε ε } } \ \ B B   ng c ng c á á ch ch á á p d p d   ng liên ti ng liên ti   p c p c á á c s c s   n xu n xu   t trong R, ta nh t trong R, ta nh   n n đ đ   c c c c á á c câu s c câu s   n sinh b n sinh b   i vn ph i vn ph   m G m G \ \ V V í í d d   , , aaaa aaaa l l à à m m   t câu do G sinh ra b t câu do G sinh ra b   ng c ng c á á ch ch á á p d p d   ng l ng l   n n l l   t c t c á á c s c s   n xu n xu   t : t : S S A A Á Á p d p d   ng ng S S → → A A aA aA − − A A → → aA aA aaA aaA − − A A → → aA aA aaaA aaaA − − A A → → aA aA aaaaA aaaaA − − A A → → aA aA aaaa aaaa − − A A → → ε ε S S A A a a A A a a A A a a A A a a A A ε ε ε 21/ 21/ 61 61 Ph Ph é é p suy d p suy d   n m n m   t b t b   c trong G c trong G \ \ Cho vn ph Cho vn ph   m G = (N, m G = (N, ∑ ∑ , R, S), , R, S), u u ∈ ∈ V V + + , v , v ∈ ∈ V V * * đgl c đgl c á á c d c d   ng câu ng câu \ \ Câu v đ Câu v đ   c s c s   n sinh t n sinh t   u b u b   ng ng m m   t b t b   c suy d c suy d   n n trong G trong G (derives (derives v from u in one step) v from u in one step) đ đ   c bi c bi   u di u di   n b n b   i : i : u u ⇒ ⇒ G G v v n n   u u (n (n   u v u v à à ch ch   n n   u) : u) : u u u = xu u = xu ’ ’ y y u g u g   m 3 ph m 3 ph   n x, u n x, u ’ ’ v v à à y, x v y, x v à à y c y c ó ó th th   r r   ng ng u u v = xv v = xv ’ ’ y y v g v g   m 3 ph m 3 ph   n x, v n x, v ’ ’ v v à à y y u u u u ’ ’ → → v v ’ ’ l l à à m m   t sx c t sx c   a G a G 22/ 22/ 61 61 Ph Ph é é p suy d p suy d   n nhi n nhi   u b u b   c trong G c trong G \ \ Cho vn ph Cho vn ph   m G = (N, m G = (N, ∑ ∑ , R, S), , R, S), u u ∈ ∈ V V + + , v , v ∈ ∈ V V * * đgl c đgl c á á c d c d   ng câu ng câu \ \ Câu v đ Câu v đ   c s c s   n sinh t n sinh t   u b u b   ng ng nhi nhi   u b u b   c suy d c suy d   n n trong G trong G (derives v from u in several steps) (derives v from u in several steps) đ đ   c bi c bi   u di u di   n b n b   i : i : u u ⇒ ⇒ * * G G v v n n   u u : : u u ∃ ∃ k k ≥ ≥ 0 v 0 v à à v v 0 0 v v k k ∈ ∈ V V + + sao cho : sao cho : u u u = v u = v 0 0 u u v = v v = v k k u u v v i i ⇒ ⇒ G G v v i+1 i+1 v v   i i ∀ ∀ i, 0 i, 0 < < i i ≤ ≤ k k \ \ C C ó ó th th   vi vi   t đ t đ   y đ y đ   khi k nh khi k nh   : : u u ⇒ ⇒ * * G G v v n n   u u u = u = v v 0 0 ⇒ ⇒ G G v v 1 1 ⇒ ⇒ G G v v 2 2 ⇒ ⇒ G G ⇒ ⇒ G G v v k k = v = v 23/ 23/ 61 61 Vn ph Vn ph   m G sinh ra câu m G sinh ra câu \ \ Vn ph Vn ph   m G sinh ra c m G sinh ra c á á c câu b c câu b   ng c ng c á á ch th ch th   c hi c hi   n qu n qu á á tr tr ì ì nh nh suy d suy d   n t n t   ký t ký t   đ đ   u S cho đ u S cho đ   n khi nh n khi nh   n đ n đ   c câu g c câu g   m c m c á á c c ký t ký t   k k   t th t th ú ú c thu c thu   c c Σ Σ , w , w ∈ ∈ Σ Σ * * \ \ Ng Ng   i ta vi i ta vi   t : S t : S ⇒ ⇒ * * G G w w \ \ Ngôn ng Ngôn ng   L do vn ph L do vn ph   m G sinh ra, vi m G sinh ra, vi   t t L L (G), (G), l l à à t t   p h p h   p c p c á á c câu sao cho : c câu sao cho : L(G) = { w L(G) = { w ∈ ∈ Σ Σ * | S * | S ⇒ ⇒ * * G G w } w } \ \ V V í í d d   : : u u Vn ph Vn ph   m G { S m G { S → → A | B ; B A | B ; B → → bB | bB | ε ε ; ; A A → → aA | aA | ε ε } } sinh ra ngôn ng sinh ra ngôn ng   L(G) = a L(G) = a * * ∪ ∪ b b * * g g   m c m c á á c câu ho c câu ho   c ch c ch   a to a to à à n ch n ch   a, ho a, ho   c ch c ch   a to a to à à n ch n ch   b b 24/ 24/ 61 61 Phân c Phân c   p vn ph p vn ph   m c m c   a Chomsky a Chomsky \ \ N. N. Chomsky, chia Chomsky, chia vn ph vn ph   m th m th à à nh b nh b   n lo n lo   i t i t ù ù y theo t y theo t í í nh nh ch ch   t c t c   a c a c á á c s c s   n xu n xu   t s t s   d d   ng trong vn ph ng trong vn ph   m : m : u u Lo Lo   i 0 i 0 Vn ph Vn ph   m t m t   do do ¬ ¬ Không gi Không gi   i h i h   n v n v   s s   n xu n xu   t (s t (s   n xu n xu   t c t c ó ó d d   ng b ng b   t k t k   ) ) u u Lo Lo   i 1 i 1 Vn ph Vn ph   m c m c   m ng m ng   c c   nh nh (Context Sensitive Grammar) (Context Sensitive Grammar) ¬ ¬ C C á á c s c s   n xu n xu   t c t c ó ó d d   ng ng α→β α→β , , | | α α | | ≤ ≤ | | β β | v | v à à S S → → ε ε u u Lo Lo   i 2 i 2 Vn ph Vn ph   m phi ng m phi ng   c c   nh (Context Free Grammar) nh (Context Free Grammar) ¬ ¬ C C á á c s c s   n xu n xu   t c t c ó ó d d   ng A ng A → → β β , A , A ∈ ∈ N, không c N, không c ó ó h h   n ch n ch   g g ì ì v v   β β u u Lo Lo   i 3 i 3 Vn ph Vn ph   m ch m ch í í nh qui (Regular Grammar) nh qui (Regular Grammar) ¬ ¬ S S   n xu n xu   t c t c ó ó d d   ng : ng : A A → → wB | w, , A v wB | w, , A v à à B B ∈ ∈ N, w N, w ∈ ∈ Σ Σ * * ho ho   c c A A → → Bw | w Bw | w 5 25/ 25/ 61 61 Nh Nh   n x n x é é t v t v   vn ph vn ph   m ch m ch í í nh qui nh qui \ \ M M   i s i s   n xu n xu   t c t c   a vn ph a vn ph   m ch m ch í í nh qui : nh qui : u u C C ó ó v v   tr tr á á i i α α l l à à m m   t ký t t ký t   A A ∈ ∈ N N u u C C ó ó v v   ph ph   i i β β g g   m c m c á á c ký t c ký t   k k   t th t th ú ú c w c w ∈ ∈ Σ Σ *, *, ti ti   p theo sau, p theo sau, hay đ hay đ   t tr t tr   c, ho c, ho   c không c c không c ó ó , m , m   t ký t t ký t   B B ∈ ∈ N N \ \ Vn ph Vn ph   m ch m ch í í nh qui G {A nh qui G {A → → Bw | w Bw | w } } đgl vn ph đgl vn ph   m m tuy tuy   n t n t í í nh tr nh tr á á i i ( ( Left Linear Grammars) Left Linear Grammars) \ \ Vn ph Vn ph   m ch m ch í í nh qui G {A nh qui G {A → → wB wB | w | w } } đgl vn ph đgl vn ph   m m tuy tuy   n t n t í í nh ph nh ph   i i ( ( Right Linear Grammars) Right Linear Grammars) \ \ Ng Ng   i ta ch i ta ch   ng minh đ ng minh đ   c r c r   ng m ng m   i ngôn ng i ngôn ng   s s   n sinh b n sinh b   i i m m   t vn ph t vn ph   m m tuy tuy   n t n t í í nh ph nh ph   i i c c   ng c ng c ó ó th th   đ đ   c s c s   n sinh n sinh b b   i m i m   t vn ph t vn ph   m m tuy tuy   n t n t í í nh tr nh tr á á i i v v à à ng ng   c l c l   i i 26/ 26/ 61 61 Quan h Quan h   gi gi   a c a c á á c lo c lo   i vn ph i vn ph   m m \ \ Quy  Quy    c g c g   i vn ph i vn ph   m lo m lo   i i l i i l à à Vp Vp i i , , i=0 3, i=0 3, quan h quan h   gi gi   a c a c á á c lo c lo   i vn ph i vn ph   m đ m đ   c bi c bi   u di u di   n nh sau n nh sau : : VP VP 3 3 ⊂ ⊂ VP VP 2 2 ⊂ ⊂ VP VP 1 1 ⊂ ⊂ VP VP 0 0 u u Quan h Quan h   bao h bao h à à m m   trên l trên l à à th th   c s c s   : : i>j n i>j n   u VP u VP i i ⊂ ⊂ VP VP j j u u V V   i i>j th i i>j th ì ì m m   t vn ph t vn ph   m lo m lo   i i i i c c   ng l ng l à à vn ph vn ph   m lo m lo   i j i j u u S S   bao h bao h à à m gi m gi   a VP a VP 2 2 v v à à VP VP 1 1 không đ không đ   c th c th   t rõ r t rõ r à à ng : ng : ¬ ¬ VP VP 2 2 c c ó ó th th   ch ch   a c a c á á c s c s   n xu n xu   t d t d   ng A ng A → → ε ε ¬ ¬ D D o v o v   y, y, đi đi   u ki u ki   n | n | α α | | ≤ ≤ | | β β | c | c   a c a c á á c VP c VP 1 1 không th không th   a mãn a mãn ¬ ¬ V V   i m i m   i lo i lo   i s i s   n xu n xu   t kh t kh á á c, c, đi đi   u ki u ki   n n n n à à y l y l   i th i th   a mãn a mãn 27/ 27/ 61 61 Σ * S S   bao h bao h à à m gi m gi   a c a c á á c vn ph c vn ph   m m VP 0 VP 1 VP 2 VP 3 28/ 28/ 61 61 T T í í nh tng đng gi nh tng đng gi   a vn ph a vn ph   m v m v à à ôtômat ôtômat \ \ B B   ng t ng t ó ó m t m t   t v t v   t t í í nh tng đng gi nh tng đng gi   a vn ph a vn ph   m v m v à à ôtômat ôtômat c c   a c a c á á c l c l   p vn ph p vn ph   m theo Chomsky : m theo Chomsky : {a n b n | n ≥ 1} Ôtômat đy xung A →αPhi ng cnh 2 {0(10) n | n ≥ 0}Ôtômat hu hnA → bB | w Chính quy3 {a n b n c n | n ≥ 1} Máy Turing vi bng hu hn α→β, |α| ≤ |β| Cm ng cnh 1 Ngôn ng t nhiên Máy Turing Không có hn ch gì T do 0 Ví d Ôtômat Dng sn xutVn phmLoi 29/ 29/ 61 61 C C á á c vn ph c vn ph   m ch m ch í í nh qui nh qui \ \ C C á á c VP c VP 3 3 đgl vn ph đgl vn ph   m ch m ch í í nh quy l nh quy l à à không ph không ph   i ng i ng   u nhiên u nhiên \ \ Th Th   c t c t   , c , c á á c ngôn ng c ngôn ng   đ đ   c s c s   n sinh b n sinh b   i VP i VP 3 3 đ đ   u l u l à à ngôn ng ngôn ng   ch ch í í nh quy nh quy \ \ Ta c Ta c ó ó đ đ   nh lý sau đây nh lý sau đây : : u u M M   t ngôn ng t ngôn ng   l l à à ch ch í í nh qui n nh qui n   u u ngôn ng ngôn ng   đ đ ó ó đ đ   c s c s   n sinh b n sinh b   i m i m   t vn ph t vn ph   m ch m ch í í nh qui nh qui Ng Ng   i ta vi i ta vi   t : t : u u L(G) = L( L(G) = L( α α ) = L(M) = L ) = L(M) = L V V   i G l i G l à à VP VP 3 3 , , α α l l à à m m   t BTCQ v t BTCQ v à à M l M l à à m m   t ôhh t ôhh L L l l à à m m   t ngôn ng t ngôn ng   ch ch í í nh qui nh qui 30/ 30/ 61 61 Xây d Xây d   ng ng VPCQ G t VPCQ G t   NNCQ L NNCQ L “ “ ⇒ ⇒ ” ” Cho L NNCQ, c Cho L NNCQ, c   n xây d n xây d   ng VPCQ G sao cho ng VPCQ G sao cho L(G) = L : L(G) = L : u u L NNCQ L NNCQ nên nên đ đ   c th c th   a nh a nh   n b n b   i m i m   t ôhh không đn đ t ôhh không đn đ   nh M, nh M, L = L = L L (M), (M), trong đ trong đ ó ó : : M = (Q, M = (Q, Σ Σ , , Δ Δ , q0, A) , q0, A) u u S S   d d   ng M đ ng M đ   xây d xây d   ng m ng m   t VPCQ G = (V t VPCQ G = (V G G , , Σ Σ G G , S , S G G , R , R G G ) ) sao cho L(G) = L sao cho L(G) = L u u C C á á c ph c ph   n t n t   c c   a G đ a G đ   c đ c đ   nh ngh nh ngh   a theo M nh sau a theo M nh sau : : ¬ ¬ Σ Σ G G = = Σ Σ (c (c á á c ký t c ký t   cu cu   i c i c   a vn ph a vn ph   m G l m G l à à b b   ng ch ng ch   c c   a M) a M) ¬ ¬ N N G G = Q (ký t = Q (ký t   không k không k   t th t th ú ú c c c c   a G l a G l à à tr tr   ng th ng th á á i c i c   a M) a M) ¬ ¬ S S G G = q = q 0 0 (ký t (ký t   đ đ   u c u c   a G l a G l à à tr tr   ng th ng th á á i đ i đ   u c u c   a M) a M) ¬ ¬ R R G G = { A = { A → → wB cho wB cho ∀ ∀ (A, w, B) (A, w, B) ∈ ∈ Δ Δ v v à à A A → → ε ε cho cho ∀ ∀ A A ∈ ∈ F } F } 6 31/ 31/ 61 61 V V í í d d   1 : xây d 1 : xây d   ng ng VP VP 3 3 G t G t   NNCQ L NNCQ L \ \ Cho M v Cho M v   i L(M) l i L(M) l à à NNCQ g NNCQ g   m c m c á á c câu k c câu k   t th t th ú ú c b c b   i b i b u u L(M) = (a+b) L(M) = (a+b) * * b b hay m hay m   i câu b i câu b   t k t k   k k   t th t th ú ú c b c b   i m i m   t con b t con b u u V V í í d d   c c á á c câu sau c câu sau ∈ ∈ L(M) : L(M) : ¬ ¬ b b ¬ ¬ abbab abbab ¬ ¬ aaabbb = a aaabbb = a 3 3 b b 3 3 \ \ Xây d Xây d   ng ng VPCQ G t VPCQ G t   ôhh M sao cho L(G)=L(M) : ôhh M sao cho L(G)=L(M) : G { G { S S → → a a S S | bA ; | bA ; A A → → bA | aS ; bA | aS ; A A → → ε ε } } do A l do A l à à tr tr   ng th ng th á á i cu i cu   i duy nh i duy nh   t t b b a a A A AS S S a a b b 32/ 32/ 61 61 V V í í d d   2 : xây d 2 : xây d   ng ng VP VP 3 3 G t G t   NNCQ L NNCQ L \ \ Cho M nh sau Cho M nh sau : : \ \ Xây d Xây d   ng ng VPCQ G t VPCQ G t   ôhh M sao cho L(G)=L(M) : ôhh M sao cho L(G)=L(M) : G { G { S S → → b b S S | aA ; | aA ; A A → → aB | bS ; B aB | bS ; B → → aB | bC ; aB | bC ; C C → → b b S S | aA | | aA | ε ε } } 33/ 33/ 61 61 B B à à i t i t   p p \ \ Xây d Xây d   ng c ng c á á c c VPCQ G t VPCQ G t   c c á á c ôhh M d c ôhh M d   i đây i đây : : 34/ 34/ 61 61 Xây d Xây d   ng ôhh M đo ng ôhh M đo á á n nh n nh   n NN L(G), G VP n NN L(G), G VP 3 3 “ “ ⇐ ⇐ ” ” Cho VPCQ G v Cho VPCQ G v   i L = i L = L(G) L(G) , c , c   n xây d n xây d   ng ôhh M không ng ôhh M không đn đ đn đ   nh đo nh đo á á n nh n nh   n n L : L : u u Gi Gi   s s   G = (V G = (V G G , , Σ Σ G G , S , S G G , R , R G G ) l ) l à à VP VP 3 3 s s   n sinh ra ngôn ng n sinh ra ngôn ng   L L u u Xây d Xây d   ng NFA M=(Q, ng NFA M=(Q, Σ Σ , , Δ Δ , q , q 0 0 , F) th , F) th   a nh a nh   n L( n L( G) G) nh sau nh sau : : ¬ ¬ Q = N Q = N ∪ ∪ { { h h } } ( ( tr tr   ng th ng th á á i c i c   a M l a M l à à ký hi ký hi   u không k u không k   t th t th ú ú c c c c   a G a G c c   ng thêm m ng thêm m   t tr t tr   ng th ng th á á i m i m   i i h h ) ) ¬ ¬ Σ Σ = = Σ Σ G G ¬ ¬ q q 0 0 = S = S G G ¬ ¬ F = { h } F = { h } ( ( M chi c M chi c ó ó m m   t tr t tr   ng th ng th á á i cu i cu   i duy nh i duy nh   t l t l à à h ) h ) ¬ ¬ Δ Δ = { = { (A, w, B ) (A, w, B ) v v   i i ∀ ∀ A A → → wB wB ∈ ∈ R R G G v v à à (A, w, h ) (A, w, h ) v v   i i ∀ ∀ A A → → w w ∈ ∈ R R G G } } u u Nh v Nh v   y L(G) l y L(G) l à à ngôn ng ngôn ng   đ đ   c M th c M th   a nh a nh   n v n v à à l l à à NNCQ NNCQ 35/ 35/ 61 61 V V í í d d   1 1 \ \ Cho VP Cho VP 3 3 G g G g   m c m c á á c sx nh sau c sx nh sau : : { { S S → → a a S S | bS | abb } | bS | abb } \ \ Xây d Xây d   ng ôhh M sao cho L(M) = L(G) : ng ôhh M sao cho L(M) = L(G) : abb abb A A A S S S a, b a, b Ho Ho   c c g g   n hn n hn abb abb A A A S S S a a b b Chú ý A là trng thái cui mi thêm vào Ch Ch ú ú ý A l ý A l à à tr tr   ng th ng th á á i cu i cu   i m i m   i thêm v i thêm v à à o o 36/ 36/ 61 61 V V í í d d   2 2 \ \ Cho VP Cho VP 3 3 G g G g   m c m c á á c sx nh sau c sx nh sau : : { { S S → → a a S S | bS | a | b } | bS | a | b } \ \ Xây d Xây d   ng ôhh M sao cho L(M) = L(G) : ng ôhh M sao cho L(M) = L(G) : a, b a, b A A A S S S a, b a, b Chú ý A là trng thái cui mi thêm vào Ch Ch ú ú ý A l ý A l à à tr tr   ng th ng th á á i cu i cu   i m i m   i thêm v i thêm v à à o o 7 37/ 37/ 61 61 B B à à i t i t   p p \ \ Cho c Cho c á á c VP c VP 3 3 G G i i nh sau nh sau : : G G 1 1 { S { S → → b b S S | aT | | aT | ε ; ε ; T T → → aT | bU | aT | bU | ε ε ; U ; U → → aT | aT | ε ε } } G G 2 2 { S { S → → aA | aB | b aA | aB | b ; ; A A → → b b ; B ; B → → bB | a } bB | a } \ \ Xây d Xây d   ng c ng c á á c ôhh M th c ôhh M th   a nh a nh   n c n c á á c L(G c L(G i i ) ) 38/ 38/ 61 61 C C á á c ngôn ng c ngôn ng   ch ch í í nh quy nh quy \ \ Cho NNCQ L, t Cho NNCQ L, t a đã x a đã x é é t b t b   n công c n công c   kh kh á á c nhau c nhau đ đ   bi bi   u di u di   n, hay ch n, hay ch   đ đ   nh L : nh L : u u Bi Bi   u th u th   c ch c ch í í nh quy nh quy α α : : L = L( L = L( α α ) ) u u Ôtômat h Ôtômat h   u h u h   n đn đ n đn đ   nh M : nh M : L = L(M) L = L(M) u u Ôtômat h Ôtômat h   u h u h   n không đn đ n không đn đ   nh M : nh M : L = L = L L (M) (M) u u Vn ph Vn ph   m ch m ch í í nh quy G nh quy G L = L(G) L = L(G) \ \ Sau đây Sau đây , ta ti , ta ti   p t p t   c x c x é é t c t c á á c t c t í í nh ch nh ch   t c t c   a NNCQ a NNCQ 39/ 39/ 61 61 C C á á c t c t í í nh ch nh ch   t c t c   a ngôn ng a ngôn ng   ch ch í í nh quy nh quy \ \ Cho hai NNCQ L Cho hai NNCQ L 1 1 v v à à L L 2 2 \ \ Ta c Ta c ó ó t t í í nh ch nh ch   t sau đây t sau đây : : C C á á c ngôn ng c ngôn ng   đ đ   c t c t   o th o th à à nh b nh b   i i u u Ph Ph é é p h p h   p c p c   a hai NNCQ a hai NNCQ L L 1 1 ∪ ∪ L L 2 2 u u Ph Ph é é p gh p gh é é p ti p ti   p c p c   a hai NNCQ a hai NNCQ L L 1 1 . . L L 2 2 u u Ph Ph é é p ngh p ngh   ch đ ch đ   o m o m   t NNCQ t NNCQ L L 1 1 R R u u Ph Ph é é p l p l   y ph y ph   n b n b ù ù m m   t NNCQ t NNCQ L L 1 1 = = Σ Σ – – L L 1 1 u u Ph Ph é é p giao c p giao c   a hai NNCQ a hai NNCQ L L 1 1 ∩ ∩ L L 2 2 đ đ   u l u l à à c c á á c NNCQ c NNCQ 40/ 40/ 61 61 Ph Ph é é p h p h   p c p c   a hai NNCQ a hai NNCQ L L 1 1 ∪ ∪ L L 2 2 \ \ Cho hai NNCQ L Cho hai NNCQ L 1 1 v v à à L L 2 2 \ \ Gi Gi   s s   α α 1 1 v v à à α α 2 2 l l à à c c á á c BTCQ ch c BTCQ ch   đ đ   nh L nh L 1 1 , L , L 2 2 tng tng   ng : ng : u u L L 1 1 = L( = L( α α 1 1 ) ) u u L L 2 2 = L( = L( α α 2 2 ) ) \ \ Khi đ Khi đ ó ó , bi , bi   u th u th   c ch c ch í í nh quy : nh quy : u u α α 1 1 ∪ ∪ α α 2 2 ch ch   đ đ   nh ngôn ng nh ngôn ng   : : L( L( α α 1 1 ∪ ∪ α α 2 2 ) = L ) = L 1 1 ∪ ∪ L L 2 2 c c   ng l ng l à à NNCQ NNCQ 41/ 41/ 61 61 Ph Ph é é p gh p gh é é p ti p ti   p c p c   a hai NNCQ a hai NNCQ L L 1 1 . . L L 2 2 \ \ Bi Bi   u th u th   c ch c ch í í nh quy : nh quy : α α 1 1 α α 2 2 ch ch   đ đ   nh ngôn ng nh ngôn ng   : : L( L( α α 1 1 α α 2 2 ) = L ) = L 1 1 . . L L 2 2 c c   ng l ng l à à NNCQ NNCQ 42/ 42/ 61 61 Ph Ph é é p ngh p ngh   ch đ ch đ   o m o m   t NNCQ t NNCQ L L 1 1 R R \ \ Gi Gi   s s   w w R R l l à à ngh ngh   ch đ ch đ   o c o c   a câu w (v a câu w (v í í d d   aab aab R R = baa) = baa) Khi đ Khi đ ó ó ngôn ng ngôn ng   L L 1 1 R R = { w | w = { w | w R R ∈ ∈ L L 1 1 } l } l à à NNCQ NNCQ \ \ T T   ôhh M = (Q, ôhh M = (Q, ∑ ∑ , , Δ Δ , q , q 0 0 , F) th , F) th   a nh a nh   n L n L 1 1 , xây d , xây d   ng ng ôhh M ôhh M ’ ’ =(Q =(Q ’ ’ , , ∑ ∑ ’ ’ , , Δ Δ ’ ’ , q , q 0 0 ’ ’ , F , F ’ ’ ) th ) th   a nh a nh   n L n L 1 1 R R nh sau nh sau : : u u Q Q ’ ’ = Q = Q ∪ ∪ { { q q 0 0 ’ ’ } (q } (q 0 0 ’ ’ l l à à tr tr   ng th ng th á á i đ i đ   u m u m   i đ i đ   c thêm v c thêm v à à o) o) u u ∑ ∑ ’ ’ = = ∑ ∑ u u F F ’ ’ = { q = { q 0 0 } (tr } (tr   ng th ng th á á i đ i đ   u tr u tr   th th à à nh tr nh tr   ng th ng th á á i cu i cu   i duy nh i duy nh   t) t) u u Δ Δ ’ ’ = { (q, w = { (q, w R R , p) | (p, w, q) , p) | (p, w, q) ∈ ∈ Δ Δ } } ∪ ∪ { (q { (q 0 0 ’ ’ , , ε ε , q) | q , q) | q ∈ ∈ F } F } ¬ ¬ C C á á c chuy c chuy   n ti n ti   p c p c   a a Δ Δ ’ ’ l l à à c c á á c chuy c chuy   n ti n ti   p c p c   a M a M nhng theo c nhng theo c á á ch ng ch ng   c l c l   i i ¬ ¬ Thêm chuy Thêm chuy   n ti n ti   p m p m   i t i t   tr tr   ng th ng th á á i đ i đ   u u v v à à o m o m   i tr i tr   ng th ng th á á i cu i cu   i c i c   a M a M 8 43/ 43/ 61 61 V V í í d d   ngh ngh   ch đ ch đ   o NNCQ o NNCQ \ \ Cho ôhh M sao cho L Cho ôhh M sao cho L 1 1 = L(M) = a = L(M) = a * * bba(ab) bba(ab) * * \ \ Xây d Xây d   ng M ng M ’ ’ =(Q =(Q ’ ’ , , ∑ ∑ ’ ’ , , Δ Δ ’ ’ , q , q 0 0 ’ ’ , F , F ’ ’ ) th ) th   a nh a nh   n L n L 1 1 R R nh sau nh sau : : Chú ý q 0 ’làtrng thái đu mi thêm vào Ch Ch ú ú ý q ý q 0 0 ’ ’ l l à à tr tr   ng th ng th á á i đ i đ   u m u m   i thêm v i thêm v à à o o bba bba q 1 q q 1 1 q 0 q q 0 0 a a ab ab L L 1 1 R R = (ba) = (ba) * * abba abba * * ε ε q1 q1 q1 q 0 ’ q q 0 0 ’ ’ a a ba ba q 0 q q 0 0 abb abb 44/ 44/ 61 61 Ph Ph é é p l p l   y ph y ph   n b n b ù ù m m   t NNCQ t NNCQ L L 1 1 = = Σ Σ * * – – L L 1 1 \ \ B B ù ù c c   a L a L 1 1 , ký hi , ký hi   u L u L 1 1 = = ∑ ∑ * * - - L L 1 1 , c , c   ng l ng l à à NNCQ NNCQ \ \ T T   ôhh đn đ ôhh đn đ   nh nh M = (Q, M = (Q, ∑ ∑ , , δ δ , q , q 0 0 , F) th , F) th   a nh a nh   n L n L 1 1 , , xây d xây d   ng ôhh M ng ôhh M ’ ’ =(Q =(Q ’ ’ , , ∑ ∑ ’ ’ , , δ δ ’ ’ , q , q 0 0 ’ ’ , F , F ’ ’ ) th ) th   a nh a nh   n L n L 1 1 nh sau nh sau : : u u Q Q ’ ’ = Q = Q u u ∑ ∑ ’ ’ = = ∑ ∑ u u δ δ ’ ’ = = δ δ u u F F ’ ’ = Q = Q - - F F Ho Ho á á n v n v   vai trò c vai trò c   a c a c á á c tr c tr   ng th ng th á á i đ i đ   t đ t đ   c v c v à à không đ không đ   t đ t đ   c c \ \ Ch Ch ú ú ý : ý : Vi Vi   c xây d c xây d   ng M ng M ’ ’ không không á á p d p d   ng đ ng đ   c c cho c cho c á á c ôthh không đn đ c ôthh không đn đ   nh nh 45/ 45/ 61 61 V V í í d d   l l   y ph y ph   n b n b ù ù \ \ Cho ôhh M th Cho ôhh M th   a nh a nh   n NNCQ L n NNCQ L 1 1 = L(M) = (a = L(M) = (a ∪ ∪ b) b) * * a a \ \ Xây d Xây d   ng M ng M ’ ’ =(Q =(Q ’ ’ , , ∑ ∑ ’ ’ , , Δ Δ ’ ’ , q , q 0 0 ’ ’ , F , F ’ ’ ) th ) th   a nh a nh   n L n L 1 1 nh sau nh sau : : Chú ý q 0 ’làtrng thái đu mi thêm vào Ch Ch ú ú ý q ý q 0 0 ’ ’ l l à à tr tr   ng th ng th á á i đ i đ   u m u m   i thêm v i thêm v à à o o a a q 1 q q 1 1 q 0 q q 0 0 a, b a, b L L 1 1 R R = (ba) = (ba) * * abba abba * * ε ε q1 q1 q1 q 0 ’ q q 0 0 ’ ’ a a ba ba q 0 q q 0 0 abb abb a a b b q 1 q q 1 1 q 0 q q 0 0 b b a a 46/ 46/ 61 61 Ph Ph é é p giao c p giao c   a hai NNCQ a hai NNCQ L L 1 1 ∩ ∩ L L 2 2 C C ó ó hai c hai c á á ch CM n ch CM n   u L u L 1 1 , L , L 2 2 NNCQ th NNCQ th ì ì L L 1 1 ∩ ∩ L L 2 2 c c   ng l ng l à à NNCQ : NNCQ : C C á á ch 1 ch 1 : : D D ù ù ng ph ng ph é é p bi p bi   n đ n đ   i L i L 1 1 ∩ ∩ L L 2 2 = L = L 1 1 ∪ ∪ L L 2 2 C C á á ch 2 ch 2 : : Xây d Xây d   ng ôhh đđ M ng ôhh đđ M = (Q, = (Q, ∑ ∑ , , δ δ , q , q 0 0 , F) , F) th th   a nh a nh   n L n L 1 1 ∩ ∩ L L 2 2 xu xu   t ph t ph á á t t t t   hai ôhh đđ hai ôhh đđ : : ¬ ¬ M M 1 1 = (Q = (Q 1 1 , , ∑ ∑ , , δ δ 1 1 , q , q 0 0 1, F 1, F 1 1 ) th ) th   a nh a nh   n L n L 1 1 ¬ ¬ M M 2 2 = (Q = (Q 2 2 , , ∑ ∑ , , δ δ 2 2 , q , q 0 0 2, F 2, F 2 2 ) th ) th   a nh a nh   n L n L 2 2 u u M b M b   t ch t ch   c (Simule) th c (Simule) th   c hi c hi   n đ n đ   ng th ng th   i M i M 1 1 v v à à M M 2 2 M th M th   a nh a nh   n L n L 1 1 ∩ ∩ L L 2 2 khi c khi c   M M 1 1 v v à à M M 2 2 c c ù ù ng th ng th   a nh a nh   n : n : ¬ ¬ Q = Q Q = Q 1 1 × × Q Q 2 2 M M   i tr i tr   ng th ng th á á i c i c   a M l a M l à à m m   t c t c   p tr p tr   ng th ng th á á i i ¬ ¬ δ δ ((q ((q 1 1 , q , q 2 2 ), a)=(p ), a)=(p 1 1 , p , p 2 2 ) ) n n   u u δ δ 1 1 (q (q 1 1 , a)=p , a)=p 1 1 , , δ δ 2 2 (q (q 2 2 , a)=p , a)=p 2 2 , , ∀ ∀ a a ∈ ∈ Σ Σ ¬ ¬ q q 0 0 = (q = (q 0 0 1. q 1. q 0 0 2) 2) ¬ ¬ F = F F = F 1 1 × × F F 2 2 47/ 47/ 61 61 V V í í d d   th th   c hi c hi   n ph n ph é é p giao p giao \ \ Cho M Cho M 1 1 v v à à M M 2 2 sao cho L sao cho L 1 1 =L(M =L(M 1 1 )=b )=b * * aab, L aab, L 2 2 =L(M =L(M 2 2 )=b )=b * * ab ab * * Xây d Xây d   ng M t ng M t   M M 1 1 v v à à M M 2 2 nh sau nh sau : : L(M) = b * aab ∩ b * ab * = b * a L(M) = b L(M) = b * * aab aab ∩ ∩ b b * * ab ab * * = b = b * * a a a a B B B A A A b b a a E E E D D D b b ab ab C C C b b a a B,E B,E B,E A,D A,D A,D b b 48/ 48/ 61 61 C C á á c b c b à à i to i to á á n trên ngôn ng n trên ngôn ng   ch ch í í nh quy nh quy \ \ Cho Cho Σ Σ , w , w ∈ ∈ Σ Σ * * v v à à c c á á c NNCQ L, L c NNCQ L, L 1 1 v v à à L L 2 2 trên trên Σ Σ \ \ Ta c Ta c ó ó nm b nm b à à i to i to á á n c b n c b   n sau đây n sau đây : : B B à à i to i to á á n 1 n 1 : : X X á á c đ c đ   nh xem c nh xem c ó ó ph ph   i w i w ∈ ∈ L hay không ? L hay không ? B B à à i to i to á á n 2 n 2 : : X X á á c đ c đ   nh xem c nh xem c ó ó ph ph   i L l i L l à à r r   ng hay không ? ng hay không ? B B à à i to i to á á n 3 n 3 : : X X á á c đ c đ   nh xem c nh xem c ó ó ph ph   i L = i L = ∑ ∑ * * ? ? B B à à i to i to á á n 4 n 4 : : X X á á c đ c đ   nh xem c nh xem c ó ó ph ph   i L i L 1 1 ⊆ ⊆ L L 2 2 ? ? B B à à i to i to á á n 5 n 5 : X : X á á c đ c đ   nh xem c nh xem c ó ó ph ph   i L i L 1 1 = L = L 2 2 ? ? 9 49/ 49/ 61 61 B B à à i to i to á á n 1 : X n 1 : X á á c đ c đ   nh w nh w ∈ ∈ L ? L ? \ \ B B à à i to i to á á n 1 n 1 còn đgl còn đgl “ “ b b à à i to i to á á n th n th à à nh viên nh viên ” ” \ \ B B à à i to i to á á n 1 gi n 1 gi   i đ i đ   c nh c nh   thu thu   t to t to á á n sau : n sau : u u Xây d Xây d   ng m ng m   t ôtômat đn đ t ôtômat đn đ   nh xu nh xu   t ph t ph á á t t t t   s s   mô t mô t   c c   a L a L u u Cho ôtômat th Cho ôtômat th   c hi c hi   n vi n vi   c đo c đo á á n nh n nh   n câu w đã cho n câu w đã cho 50/ 50/ 61 61 B B à à i to i to á á n 2 : X n 2 : X á á c đ c đ   nh L = nh L = ∅ ∅ ? ? \ \ B B à à i to i to á á n 2 gi n 2 gi   i đ i đ   c nh c nh   thu thu   t to t to á á n sau : n sau : u u Xây d Xây d   ng m ng m   t ôhh t ôhh ( ( đn đ đn đ   nh ho nh ho   c không đn đ c không đn đ   nh) M nh) M th th   a nh a nh   n L n L u u Ngôn ng Ngôn ng   L L ≠ ≠ ∅ ∅ n n   u, u, trong s đ trong s đ   bi bi   u di u di   n ôtômat M, n ôtômat M, t t   n t n t   i m i m   t đ t đ   ng đi gi ng đi gi   a tr a tr   ng th ng th á á i đ i đ   u u v v à à m m   t tr t tr   ng th ng th á á i k i k   t th t th ú ú c n c n à à o đ o đ ó ó 51/ 51/ 61 61 B B à à i to i to á á n 3 : X n 3 : X á á c đ c đ   nh L = nh L = ∑ ∑ * * ? ? \ \ B B à à i to i to á á n 3 gi n 3 gi   i đ i đ   c nh c nh   thu thu   t to t to á á n sau : n sau : u u Xây d Xây d   ng m ng m   t ôhh M th t ôhh M th   a nh a nh   n ngôn ng n ngôn ng   b b ù ù c c   a L a L L(M) = L = L(M) = L = ∑ ∑ * * - - L L u u Ki Ki   m tra M không th m tra M không th   a nh a nh   n m n m   t câu n t câu n à à o L(M) = o L(M) = ∅ ∅ b b   ng c ng c á á ch ki ch ki   m tra n m tra n   u L = u L = ∅ ∅ ? (B ? (B à à i to i to á á n 2) n 2) 52/ 52/ 61 61 B B à à i to i to á á n 4 : X n 4 : X á á c đ c đ   nh L nh L 1 1 ⊆ ⊆ L L 2 2 ? ? \ \ B B à à i to i to á á n 4 gi n 4 gi   i đ i đ   c b c b   ng c ng c á á ch ki ch ki   m tra L m tra L 1 1 ∩ ∩ L L 2 2 = = ∅ ∅ ? ? (B (B à à i to i to á á n 2) n 2) 53/ 53/ 61 61 B B à à i to i to á á n 5 : X n 5 : X á á c đ c đ   nh L nh L 1 1 = = L L 2 2 ? ? \ \ B B à à i to i to á á n 5 gi n 5 gi   i đ i đ   c b c b   ng c ng c á á ch ki ch ki   m tra c m tra c á á c đi c đi   u ki u ki   n : n : u u L L 1 1 ⊆ ⊆ L L 2 2 (B (B à à i to i to á á n 4) n 4) u u L L 2 2 ⊆ ⊆ L L 1 1 (B (B à à i to i to á á n 4) n 4) 54/ 54/ 61 61 B B   sung m sung m   t s t s   t t í í nh ch nh ch   t c t c   a NNCQ a NNCQ M M   t s t s   t t í í nh ch nh ch   t kh t kh á á c c c c   a NNCQ d a NNCQ d   d d à à ng ch ng ch   ng minh : ng minh : 1 1 M M   i ngôn ng i ngôn ng   h h   u h u h   n (c n (c ó ó h h   u h u h   n câu) n câu) đ đ   u l u l à à ch ch í í nh quy nh quy V V ì ì ngôn ng ngôn ng   c c ó ó h h   u h u h   n câu n câu L = {w L = {w 1 1 , , w , , w k k } } L s L s   đ đ   c ch c ch   đ đ   nh b nh b   i BTCQ i BTCQ L = L(w L = L(w 1 1 ∪ ∪ ∪ ∪ w w k k ) ) do đ do đ ó ó L l L l à à ch ch í í nh quy nh quy 2 2 M M   t ngôn ng t ngôn ng   không ch không ch í í nh quy ph nh quy ph   i ch i ch   a vô h a vô h   n câu n câu T T   t t í í nh ch nh ch   t t “ “ L c L c ó ó h h   u h u h   n câu n câu ” ” → → “ “ L L ch ch í í nh quy nh quy ” ” suy ra : suy ra : ¬ ¬ “ “ L L không ch không ch í í nh quy nh quy ” ” → → “ “ L ch L ch   a vô a vô h h   n câu n câu ” ” ¬ ¬ Tuy nhiên Tuy nhiên “ “ L L ch ch í í nh quy nh quy ” ” → → “ “ L L c c ó ó h h   u h u h   n câu n câu ” ” không đ không đ ú ú ng ng Ch Ch   ng h ng h   n, n, ∑ ∑ * l * l à à NNCQ c NNCQ c ó ó vô h vô h   n câu n câu 3 3 M M   t ngôn ng t ngôn ng   vô h vô h   n câu s n câu s   ch ch   a s a s   câu không b câu không b   ch ch   n trên n trên 4 4 M M   i NNCQ đ i NNCQ đ   c th c th   a nh a nh   n b n b   i m i m   t ôtômat h t ôtômat h   u h u h   n ch n ch   g g   m m m m   t s t s   c c   đ đ   nh tr nh tr   ng th ng th á á i i 5 5     nh lý nh lý “ “ bm bm ” ” 10 55/ 55/ 61 61 NNCQ vô h NNCQ vô h   n câu không c n câu không c ó ó c c   n trên n trên \ \ Gi Gi   s s   L l L l à à NNCQ ch NNCQ ch   a vô h a vô h   n câu trên n câu trên ∑ ∑ , k , k hi đ hi đ ó ó : : u u     d d à à i m i m   t câu b t câu b   t k t k   thu thu   c ngôn ng c ngôn ng   s s   không c không c ó ó c c   n trên n trên \ \ Ch Ch   ng minh b ng minh b   ng ph ng ph   n ch n ch   ng nh sau ng nh sau : : u u Gi Gi   s s   Card( Card( ∑ ∑ )= )= m, N l m, N l à à c c   n trên c n trên c   a m a m   i đ i đ   d d à à i câu thu i câu thu   c L : c L : ∀ ∀ w w ∈ ∈ L, |w| L, |w| ≤ ≤ N < N < ∞ ∞ u u Khi đ Khi đ ó ó ta c ta c ó ó th th   li li   t kê c t kê c á á c câu : c câu : 1 1 câu c câu c ó ó đ đ   d d à à i 0 i 0 (g (g   m câu m câu ε ε ) ) + + m m câu c câu c ó ó đ đ   d d à à i 1 i 1 (g (g   m n câu, m m n câu, m   i câu l i câu l à à m m   t ký t t ký t   c c   a a ∑ ∑ ) ) + + m m 2 2 câu c câu c ó ó đ đ   d d à à i 2 i 2 (g (g   m c m c á á c câu t c câu t   o th o th à à nh t nh t   2 ký t 2 ký t   c c   a a ∑ ∑ ) ) . . . . . . + + m m N N câu c câu c ó ó đ đ   d d à à i N i N = = không ph không ph   i vô h i vô h   n (mâu thu n (mâu thu   n !) n !) 1 - M 1M 1 + N − 56/ 56/ 61 61 Minh ho Minh ho   đ đ   nh lý nh lý “ “ bm bm ” ” ( ( LB LB ) ) \ \ Cho NNCQ L c Cho NNCQ L c ó ó vô h vô h   n câu v n câu v à à m m   t ôhh M c t ôhh M c ó ó m tr m tr   ng th ng th á á i i th th   a nh a nh   n L : L=L(M) n L : L=L(M) \ \ Gi Gi   s s   ∀ ∀ (p, u, q) (p, u, q) ∈ ∈ Δ Δ , |u| , |u| ≤ ≤ 1, 1, ∀ ∀ w w ∈ ∈ L, |w|> L, |w|> m, ta th m, ta th   y : y : u u Gi Gi   s s   w = xuy v w = xuy v   i u i u ≠ ≠ ε ε th th ì ì khi M th khi M th   c hi c hi   n đo n đo á á n nh n nh   n w, n w, M ph M ph   i v i v   t qua m t qua m   t tr t tr   ng th ng th á á i q i q k k í í t ra hai l t ra hai l   n : n : ¬ ¬ M đi t M đi t   q q 0 0 đ đ   n n q q k k đ đ   đo đo á á n nh n nh   n x n x ¬ ¬ M đi t M đi t   q q k k đ đ   n n q q k k đ đ   đo đo á á n nh n nh   n u n u ¬ ¬ M đi t M đi t   q q k k đ đ   n n q q j j ∈ ∈ Q Q đ đ   đo đo á á n nh n nh   n y n y u u T T   đ đ ó ó , m , m   i câu c i câu c ó ó d d   ng xu ng xu * * y c y c   ng đ ng đ   c th c th   a nh a nh   n b n b   i M i M x x u u y y q q 0 0 q q k k q q k k q q f f ∈ ∈ Q Q 57/ 57/ 61 61 Ph Ph á á t bi t bi   u đ u đ   nh lý nh lý “ “ bm bm ” ” \ \ Gi Gi   s s   L l L l à à NNCQ c NNCQ c ó ó vô h vô h   n câu n câu     nh lý nh lý “ “ bm bm ” ” ph ph á á t bi t bi   u nh sau u nh sau : : u u ∃ ∃ x, u, y x, u, y ∈ ∈ ∑ ∑ * * , v , v   i u i u ≠ ≠ ε ε sao cho xu sao cho xu * * y y ∈ ∈ L, L, ∀ ∀ n n ≥ ≥ 0 0 \ \ Gi Gi   s s   M l M l à à ôhh th ôhh th   a nh a nh   n L, L=L(M), M c n L, L=L(M), M c ó ó |Q| = m |Q| = m Ng Ng   i ta ph i ta ph á á t tri t tri   n đ n đ   nh lý nh lý “ “ bm bm ” ” nh sau nh sau : : u u Cho w Cho w ∈ ∈ L sao cho |w| L sao cho |w| ≥ ≥ m m u u Khi đ Khi đ ó ó ∃ ∃ x, u, y sao cho xuy = w, v x, u, y sao cho xuy = w, v   i u i u ≠ ≠ ε ε v v à à |xu| |xu| ≤ ≤ m m u u ∀ ∀ n, xu n, xu n n y y ∈ ∈ L L \ \ M M   t c t c á á ch v ch v   n t n t   t : t : “ “ L NNCQ L NNCQ ” ” → → “ “ L tho L tho   mãn mãn LB LB ” ” 58/ 58/ 61 61 V V í í d d     ng d ng d   ng đ ng đ   nh l nh l í í " " bm bm " " \ \ Ngôn ng Ngôn ng   a a n n b b n n (câu g (câu g   m n ch m n ch   a r a r   i n ch i n ch   b) không l b) không l à à CQ CQ \ \ Ta s Ta s   v v   n d n d   ng đ ng đ   nh l nh l í í " " bm bm “ “ theo c theo c á á ch ph ch ph   đ đ   nh nh sau nh nh sau : : “ “ L không tho L không tho   mãn mãn LB LB ” ” → → “ “ L L không không ph ph   i l i l à à NNCQ NNCQ ” ” u u C C   n ch n ch   ra r ra r   ng ng L không tho L không tho   mãn mãn LB LB , , ngh ngh   a l a l à à không th không th   ∃ ∃ x, x, ∃ ∃ u, u, ∃ ∃ y, u y, u ≠ ≠ ε ε , sao cho xu , sao cho xu k k y y ∈ ∈ a a n n b b n n , , ∀ ∀ k k u u Gi Gi   s s   t t   n t n t   i x, i x, u u , y , y nh v nh v   y v y v à à x x é é t c t c á á c tr c tr   ng h ng h   p c p c   a u : a u : ¬ ¬ u u ∈ ∈ a* : xu a* : xu k k y y ∉ ∉ a a n n b b n n , v , v ì ì khi l khi l   p u theo LB p u theo LB , s , s   ch ch   a s a s   ≠ ≠ s s   ch ch   b b ¬ ¬ u u ∈ ∈ b* : c b* : c   ng không th ng không th   đ đ   c v c v   i c i c á á ch l ch l   p lu p lu   n nh trên n nh trên ¬ ¬ u u ∈ ∈ (a (a ∪ ∪ b) b) * * − − (a (a * * ∪ ∪ b b * * ) = (aa ) = (aa * * b(a b(a ∪ ∪ b) b) * * ) ) ∪ ∪ (bb (bb * * a(a a(a ∪ ∪ b) b) * * ) ) g g   m m m m   t s t s   con a r con a r   i m i m   t s t s   con b tu con b tu   ý ý c c   ng không th ng không th   x x   y ra, y ra, v v ì ì c c ó ó l l á á o nh o nh á á o c o c á á c con a r c con a r   i c i c á á c con b trong u c con b trong u k k (k>1) (k>1) u u V V   y a y a n n b b n n không ph không ph   i l i l à à NNCQ NNCQ 59/ 59/ 61 61 V V   ngôn ng ngôn ng   a a n n b b n n \ \ Ngôn ng Ngôn ng   a a n n b b n n không l không l à à CQ, do v CQ, do v   y, không t y, không t   n t n t   i ôhh th i ôhh th   a a nh nh   n n \ \ Tuy nhiên, ngôn ng Tuy nhiên, ngôn ng   d d   ng : ng : u u L L K K = = { a { a n n b b n n | n | n ≤ ≤ K < K < ∞ ∞ } } c c ó ó n h n h   u h u h   n hay b n hay b   ch ch   n trên n trên đ đ   c th c th   a nh a nh   n b n b   i m i m   t ôhh t ôhh \ \ Nh Nh   n x n x é é t : t : u u M M   i câu c i câu c ó ó d d   ng a ng a n n b b n n ∈ ∈ L L K K đ đ   c nh c nh   n bi n bi   t b t b   i m i m   t t ôhh ôhh u u Không Không ∃ ∃ ôhh th ôhh th   a nh a nh   n m n m   i câu a i câu a n n b b n n , , l l à à ph ph é é p h p h   p vô h p vô h   n c n c á á c ngôn ng c ngôn ng   L L K K u u V V   n đ n đ   đ đ   t ra l t ra l à à c c   n b n b   sung kh sung kh   nng cho l nng cho l   p c p c á á c ôhh c ôhh đ đ   ch ch ú ú ng c ng c ó ó th th   th th   a nh a nh   n ngôn ng n ngôn ng   a a n n b b n n 60/ 60/ 61 61 B B à à i t i t   p t p t   i l i l   p p \ \ Cho b Cho b   ng ch ng ch   ch ch   g g   m m m m   t ký t t ký t   ∑ ∑ = = { a } { a } \ \ Ngôn ng Ngôn ng   L = a L = a n n 2 2 (ch (ch   a m a m   i câu c i câu c ó ó đ đ   d d à à i n i n 2 2 l l à à m m   t s t s   b b ì ì nh phng đ nh phng đ ú ú ng) ng) không l không l à à NNCQ ? NNCQ ? [...]...Bài t p ch ng 3 1 Mô t các ngôn ng cho b i các v n ph m sau ây : cá u S aS | Sb | aSb | c u S SS | a | b u S aA | bB | c A Sa B Sb u S AB A Sc | a B dB | b u S SaS | b u S aS | bS | a | b u S X|Y X Y aY | bY | a | b 2 Mô t v n ph m s n sinh các ngôn ng sau ây : cá u a*b u (a+b)(ab)*(baab)* 61/61 61/61 11 . c   a ngôn ng a ngôn ng   ch ch í í nh qui nh qui 3/ 3/ 61 61     nh ngh nh ngh   a m a m   t ngôn ng t ngôn ng   l l   p tr p tr ì ì nh (NNLT) nh (NNLT) C C á á c ngôn ng c ngôn. Kh á á nh nh khanhph@vnn.vn khanhph@vnn.vn Chng 3 Vn phm(Grammar) Chng Chng 3 3 Vn ph Vn ph   m m ( ( Grammar Grammar ) ) 2/ 2/ 61 61 Chng Chng 3 3 Vn ph Vn ph   m m     nh ngh nh ngh   a m a m   t ngôn. sinh b   i VP i VP 3 3 đ đ   u l u l à à ngôn ng ngôn ng   ch ch í í nh quy nh quy Ta c Ta c ó ó đ đ   nh lý sau đây nh lý sau đây : : u u M M   t ngôn ng t ngôn ng   l l à à ch ch í í nh

Ngày đăng: 01/08/2014, 22:20

Tài liệu cùng người dùng

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

Tài liệu liên quan