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.