lista07zadanie3 - Michał Baryliński, nr 126482 Języki...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Michał Baryliński, nr 126482 Języki Formalne i Teoria Obliczeń Lista 7 - Zadanie 3 Zadanie Podać gramatykę dla języka N (M ), gdzie M = ({q0 , q1 }, {0, 1}, {Z0, X }, δ, q0 , Z0 , ∅) z δ postaci δ (q0 , 1, Z0 ) δ (q0 , 1, X ) δ (q0 , 0, X ) δ (q0 , ε, Z0 ) δ (q1 , 1, X ) δ (q1 , 0, Z0 ) = = = = = = {(q0 , XZ0 )} {(q0 , XX )} {(q1 , X )} {(q0 , ε)} {(q1 , ε)} {(q0 , Z0 )} Rozwiązanie Przypomnijmy, że PDA zaczyna w stanie q0 z jednym symbolem Z0 na stosie. Dodatkowo, M nie ma stanów akceptujących, czyli akceptuje tylko przy pustym stosie. Przeanalizujmy przejścia w δ : δ (q0 , 1, Z0 ) = {(q0 , XZ0 )} δ (q0 , 1, X ) = {(q0 , XX )} Powyższe przejścia powodują, że M od stanu początkowego zlicza kolejno napotkane jedynki i dla każdej z nich umieszcza na stosie jeden znak X . δ (q0 , 0, X ) = {(q1 , X )} Po napotkaniu pierwszego zera nie zmienia stosu, za to przechodzi do swojego drugiego stanu. . . δ (q1 , 1, X ) = {(q1 , ε)} δ (q1 , 0, Z0 ) = {(q0 , Z0 )} . . . w którym dopóki na stosie są X -y to oczekuje na taśmie jedynek, zaś gdy się skończą (na stosie pozostanie samo Z0 ), to oczekuje pojedyńczego zera, po wczytaniu którego znów wraca do q0 zachowując Z0 i tym samym powraca do stanu, w którym rozpoczął pracę. W jednym cyklu akceptuje on więc słowa postaci 1n 01n 0. Zauważmy, że jedynym sposobem zakończenia pracy M (tj. opróżnienia stosu) jest przejście δ (q0 , ε, Z0 ) = {(q0 , ε)}, które może nastąpić tylko w “stanie wyjściowym” automatu przy napotkaniu końca wejścia. 1 Oznacza to, że N (M ) = {1n1 01n1 01n2 01n2 0 · · · 1nk 01nk 0} , gdzie k 0, bo M przyjmuje puste wejście, ale ∀i ni 1, bo aby wczytać zero, na stosie musi leżeć X , zatem co najmniej jedna jedynka musi być wczytana. Mając klarowny opis języka, możemy teraz łatwo skonstuować jego bezkontekstową gramatykę G = (N, T, P, S ): N = {S, A} T = {0, 1} P : A ← 0 | 1A1 S ← A0 | A0S, gdzie oczywiście A generuje bloki postaci 1n 01n , zaś S dopisuje do nich zera i zestawia se sobą w ciąg. 2 ...
View Full Document

Page1 / 2

lista07zadanie3 - Michał Baryliński, nr 126482 Języki...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online