Języki formalne - sigma web page

Transkrypt

Języki formalne - sigma web page
Teoretyczne podstawy informatyki
Kolokwium 14.01.2013.
........................
(nazwisko i imię)
Każde zadanie za 0 - 3 pkt. Czyli do zdobycia jest 20 pkt + 4 pkt. ekstra.
1. Znajdź wyrażenie regularne oraz gramatykę prawostronnie liniową generującą
język L={ancb2k, n,k≥0}. Gramatyka prawostronnie liniowa to taka, w której
każda produkcja jest postaci X->wY lub X->w, gdzie w jest dowolnym słowem
terminalnym, a X, Y dowolnymi symbolami nieterminalnymi.
2. L jest językiem wszystkich słów nad alfabetem {a,b} o długości co najmniej 4,
w których pierwsza litera to a, zaś trzecia to b. Podaj wyrażenie regularne
opisujące język L i narysuj DFA rozpoznający L.
3. Zbuduj NFA dla wyrażenia regularnego R=b+ab*, posługując się ogólnym
algorytmem konstrukcji automatu niedeterministycznego dla zadanego
wyrażenia regularnego. Najpierw narysuj drzewo wyrażenia regularnego.
4. Dany jest następujący NFA M:
NFA M
0 start
1 accept
2
a
∅
∅
{1}
b
{2}
{1}
∅
λ
{1,2}
∅
∅
Narysuj automat M i przedstaw jego obliczenie (czyli sekwencję zbiorów stanów)
na słowach: λ, b, baa. Nie zapomnij zaznaczyć czy słowo jest akceptowane.
5. Za pomocą algorytmu determinizacji automatu skonstruuj DFA M'
równoważny automatowi M z poprzedniego zadania.
6. Posługując sie algorytmem minimalizacji automatu oblicz minimalny DFA M'
równoważny poniższemu automatowi M. Narysuj M'.
DFA M
0 start
1
2 accept
3 accept
4 accept
a
2
1
1
4
3
b
3
1
1
1
1
7. Skonstruuj gramatykę bezkontekstową dla języka L={a nbcm : 0<n<m}.
Uzasadnij dlaczego L nie jest regularny (lemat o pompowaniu).
8. Napisz tabelę funkcji przejścia maszyny Turinga, która otrzymawszy na
wejściu niepuste słowo nad alfabetem {a,b} pierwszą literę tego słowa przenosi
na jego koniec. Przykład zawartości taśmy przed i po operacji:
... B B B a b a a b B B B ...
... B B B B b a a b a B B ...
1

Podobne dokumenty