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