ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4 Dla każdego zadania określić: graf przejść tablicę stanów automatu skończonego akceptującego określoną klasę słów podać dwa przykłady ilustrujące parę AS ( DAS lub NAS w zależności od zadania) Należy w sprawozdaniach podać założenia (np. z której strony jest czytane słowo...). Zad.1. DAS akceptuje słowa rozpoczynające się ciągiem symboli abababc, a kończące się ciągiem symboli bcccbb (słowo minimalne: abababcbcccbb). Zad. 2 DAS akceptuje słowa, w których wewnątrz występuje sekwencja symboli abbcaa. Dodatkowo, słowo jest akceptowalne, jeśli przed i po w/w sekwencji występuje minimum 1 symbol. Zad. 3 DAS akceptuje liczby x spełniające warunek x > 1099 lub x < 378, gdzie x 0. Zad. 4 DAS akceptuje słowa w L 1, gdzie L 1 = { v : v = ab k c m a n, k 0, m > 1, n 3, k, m, n N } UWAGA: v jest wyrażeniem regularnym, gdzie z p (z ) oznacza zzzzz... 43 z 142 p razy Zad. 5 DAS akceptuje całkowite liczby binarne (dodatnie, bez znaku) o wartościach z przedziału <11, 49>. Liczba ta może zaczynać się od zer (np. 0011111). 1
Zad. 6 DAS akceptuje wyrażenia regularne postaci: x + abbcx*bbcax*abbcx + gdzie: x jest dowolnym symbolem alfabetu, + domknięcie dodatnie, * domknięcie Kleene go. Zad. 7 DAS akceptuje słowa postaci PQ * R, gdzie: P, R są dowolnymi ciągami symboli, przy czym P może być w szczególnym przypadku ciągiem symboli, natomiast R musi rozpoczynać się od symbolu a, Q = aaaba. To można zapisać szczegółowo jako: ( + x* )( aaaba )* ( ax* ) + Zad. 8 DAS akceptuje słowa w L 1, gdzie L 1 = { v : v = ab k c m a n, k 0, m > 1, n 3, k, m, n N } UWAGA: v jest wyrażeniem regularnym, gdzie z p (z ) oznacza zzzzz... 43 z 142 p razy 2
Zad. 9 DAS akceptuje liczby całkowite dodatnie maksymalnie dwucyfrowe, podzielne przez 3. Zad. 10 DAS akceptuje liczby całkowite dodatnie, wielocyfrowe podzielne przez 5. Czytanie liczby od lewej strony. Zad. 11 DAS akceptuje liczby podzielne przez 2 i przez 6, dla każdego z w/w przypadków należy wprowadzić oddzielne stany końcowe akceptacji, przy czym priorytet stanu akceptacji dla podzielności przez 6 jest wyższy, jak w przypadku drugim (tzn. jeśli liczba jest podzielna przez 6 i przez 2, wówczas DAS przechodzi do stanu akceptacji dla podzielności przez 6). Zad. 12 DAS akceptuje słowa reprezentowane przez następujące wyrażenia regularne: w = ( 0 + 1 ) + 011( 101 )* Zad. 13 Dany jest DAS: = { L, C, (, ),, } Q = { 1, 2, 3, 4, 5, 6 } q 0 = { 1 } F = { 2, 5 } dla którego tabela stanów ma następującą postać: 3
q 1 q 2 q 3 q 4 q 5 q 6 L 2 2 6 6 6 6 C 6 2 4 4 6 6 ( 6 3 6 6 6 6 ) 6 6 6 5 6 6, 6 6 6 3 1 6 Narysuj diagram przejść. Określ zbiór słów akceptowalnych (jako wyrażenia regularne). Zad. 14 DAS akceptuje słowa, w których co 3 symbol jest symbolem a (a może wystąpić po raz pierwszy na 1, 2, 3 pozycji słowa). Wśród symboli dowolnych może wystąpić również a. Zad. 15 DAS akceptuje słowa, w których co drugi symbol jest symbolem b (b może wystąpić jako pierwsze na 1, 2 pozycji słowa). Wśród symboli dowolnych może również wystąpić b. Zad. 16 DAS akceptuje słowa, w których a i c występują zawsze obok siebie (ac lub ca). Zad. 17 DAS akceptuje słowa, w których c, o ile wystąpi, to zawsze po b lub d; d o ile wystąpi, to zawsze po c. Słowo nie może zaczynać się ani od c, ani od d. = {, a, b, c, d } Zad. 18 DAS ma akceptować słowa, w których po d zawsze występują dwa symbole a. = {, a, b, c, d } 4
Zad. 19 DAS ma akceptować słowa reprezentowane przez wyrażenia regularne: w = ( a + c* ) + abcd ( ccd + )* = {, a, b, c, d } Zad. 20 Skonstruuj NAS dla wyrażenia regularnego 01 * + 1. Rozbij to wyrażenie na składowe i podaj kilka możliwości. Zad. 21 Opisać zbiory słów akceptowane przez następujące automaty skończone (najlepiej przy pomocy wyrażeń regularnych). Zad. 22 Podać AS, który akceptuje zbiór wszystkich łańcuchów nad alfabetem {0, 1} zawierających jednakową liczbę i jedynek, i takich, że każdy przedrostek (łańcuch poprzedzający) zawiera co najwyżej o jedno zero więcej niż liczba zawartych w nim jedynek, i co najwyżej o jedną jedynkę więcej niż liczba zawartych w nim zer. Zad. 23 Podaj NAS akceptujący zbiór wszystkich z (0+1) *, w których jakieś dwa zera są oddzielone od siebie łańcuchem o długości 4 razy i, dla pewnego i 1 5
Zad. 24 w = 10 +( 0 + 11 ) * 0 3 1 Zad. 25 w = ( 10 + 110 ) 2 11* 0 4 Zad. 26 w = (( 0 + 1 )( 0 + 1 ))* + (( 0 + 1 )( 0 + 1 )( 0 + 1 ))* Zad. 27 w = 01[(( 10 )* + 111 )* + 0 ]* 1 Zad. 28 Jakie wyrażenia są akceptowane przez NAS, którego diagram przejść podano poniżej ( = {, 0, 1, 2 } ) 6
Zad. 29 Jakie wyrażenia są akceptowane przez następujący NAS z e przejściami? Zad. 30 Jakie wyrażenia są akceptowane przez następujący NAS z e przejściami? 7