I Informatyka Teoretyczne podstawy informatyki Lista 3. na 6 marca
Transkrypt
I Informatyka Teoretyczne podstawy informatyki Lista 3. na 6 marca
I Informatyka Teoretyczne podstawy informatyki Lista 3. na 6 marca 2006 1. Opisz w języku polskim zbiory oznaczone przez wyrażenia regularne: (a) (1 + 01 + 001)∗ (² + 0 + 00) (b) (11 + 0)∗ + ((11)∗ 1 + 0)∗ (c) (11 + 0)∗ (00 + 1)∗ 2. Skonstruuj automaty skończone akceptujące języki z zadania 1. 3. Napisz wyrażenie regularne nad alfabetem {a, b} opisujące następujący język: (a) zbiór słów zawierających dwa kolejne wystąpienia tego samego symbolu, (b) zbiór słów nie zawierających dwóch kolejnych wystąpień tego samego symbolu, (c) zbiór słów o długości nieparzystej. 4. Napisz wyrażenie regularne nad alfabetem {0, 1} opisujące następujący język: (a) zbiór słów zawierających parzystą liczbę jedynek, (b) zbiór słów przedstawiających w postaci binarnej liczby naturalne podzielne przez 3. 5. Skonstruuj NFA akceptujący język zdefiniowany przez następujące wyrażenie regularne. (a) 10 + (0 + 11)0∗ 1 (b) 01[((10)∗ + 111)∗ + 0]∗ 1 (c) ((0 + 1)(0 + 1))∗ + ((0 + 1)(0 + 1)(0 + 1))∗ 6. Skonstruuj wyrażenie regularne definiujące język akceptowany przez automat: 0 1 ¦ 1 .-, »¼½¾ ÂÁÀ¿?_ //()*+ ?? 0 ??0 ?? ? ¨ /.-, ()*+ ÂÁÀ¿ »¼½¾ start ¦ /.-, ÂÁÀ¿ »¼½¾ /()*+ G 1 7. Skonstruuj wyrażenie regularne definiujące język akceptowany przez automat: 0 //()*+ .-,l Y start ,9 ÂÁÀ¿ /.-, ()*+ »¼½¾ 0 1 0 1 1 ¼ /.-, ()*+ ÂÁÀ¿ »¼½¾ y 8. Dane są automaty skończone A1 , A2 . Skonstruować automat skończony A akceptujący język L(A1 ) ∩ L(A2 ). 9. (2 pkt.) Skonstruuj DFA akceptujący język L nad alfabetem Σ = {a, b, c} złożony ze słów, dla których wartość iloczynu liczonego od lewej strony do prawej oraz od prawej do lewej jest taka sama. Iloczyn na elementach {a, b, c} dany jest tabelą: a b c a a c b b a a c c c b a 10. (2 pkt.) Niech Σ = {a}. Pokazać, że istnieją języki L ⊆ Σ∗ , które nie są akceptowane przez automaty skończone. Innymi słowy, pokazać że klasa języków nad alfabetem Σ akceptowanych przez automaty skończone jest właściwym podzbiorem zbioru wszystkich języków nad alfabetem Σ. Wskazówka. Pokazać, że zbiór wszystkich języków nad alfabetem Σ jest nieprzeliczalny podczas, gdy zbiór języków nad tym samym alfabetem akceptowanych przez automaty skończone jest przeliczalny. Uwaga. To jest ostatnia szansa, by otrzymać punkty za to zadanie.