(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 93:
Linia 93:
# Jeśli <math>|w|>p</math>, to z lematu o pompowaniu wynika, że <math>\exists v_1 v_2 \in A^*</math>, <math>\exists u \in A^+</math> takie, że <math>w=v_1 uv_2</math>, <math>v_1 v_2 \in L(\mathcal{C})</math> i <math>|v_1v_2|<|w|</math>.
# Jeśli <math>|w|>p</math>, to z lematu o pompowaniu wynika, że <math>\exists v_1 v_2 \in A^*</math>, <math>\exists u \in A^+</math> takie, że <math>w=v_1 uv_2</math>, <math>v_1 v_2 \in L(\mathcal{C})</math> i <math>|v_1v_2|<|w|</math>.
\; \text{ jest liczbą pierwszą;} \}</math> nie jest akceptowany (
\; \text{ jest liczbą pierwszą;} \}</math> nie jest akceptowany (
ćwiczenie 8), a więc nie jest regularny.
ćwiczenie 8), a więc nie jest regularny.
<center><math>a^*=L \cup L', L\cap L' = \emptyset, \;\text {a więc}\;L'=\overline{L}.</math></center>
<center><math>a^*=L \cup L', L\cap L' = \emptyset, \;\text {a więc}\;L'=\overline{L}</math></center>
Ponieważ klasa języków regularnych jest zamknięta ze względu na
Ponieważ klasa języków regularnych jest zamknięta ze względu na
Aktualna wersja na dzień 11:25, 5 wrz 2023
Ćwiczenia 7
Ćwiczenie 1
Niech . Dla automatów
,
gdzie
skonstruuj automat taki, że
,
Rozwiązanie
. Funkcja przejść zadana jest grafem
Rysunek 1
Zauważ, że otrzymany automat nie jest minimalny. Jakie języki akceptują automaty , i ?
Ćwiczenie 2
Niech . Dla automatu
,
gdzie
,
a funkcja przejść zdefiniowana jest
następująco:
skonstruuj automat deterministyczny taki, że
.
Wskazówka
Pomocne może być użycie automatu z pustymi przejściami.
Rozwiązanie
Automat pokazany jest na rysunku 2.
Rysunek 2
Aby skonstruować automat akceptujący język ,
wystarczy dodać przejście (dlaczego?).
Automat z pustymi przejściami akceptujący
pokazany jest na rysunku 3.
Rysunek 3
Po usunięciu pustych przejść otrzymujemy automat z rysunku 4:
Rysunek 4
Teraz wystarczy skonstruować równoważny automat deterministyczny.
Ćwiczenie 3
Dane są dwa automaty nad tym samym alfabetem
i . Udowodnij,
że istnieje liczba taka, że jeśli dla każdego słowa o długości spełniona jest implikacja
,
to
Rozwiązanie
Niech będzie automatem takim, że . Wówczas,
.
Udowodnimy więc inkluzję , gdzie
.
Przyjmijmy . Niech
Jeśli , to z założenia
Jeśli , to z lematu o pompowaniu wynika, że , takie, że , i .
Mamy dwie możliwości:
(a) , co oznacza , ,
(b) , co oznacza .
Jeśli , to , .
Jeśli , to powtarzamy punkt 2.
Po każdym kroku długość rozważanego słowa silnie maleje, więc po skończonej ilości kroków uzyskamy oczekiwany efekt.
Zauważ, że z zadania tego wynika
rozstrzygalność problemu równoważności automatów. Algorytmiczny aspekt tego problemu rozważymy w ćwiczeniach 8.
Ćwiczenie 4
Niech będzie dowolnym alfabetem, a językiem regularnym. Udowodnij, że język
jest też językiem regularnym.
Rozwiązanie
Rozważmy homomorfizm taki, że . Dla tak zdefiniowanego język jest homomorficzym obrazem języka regularnego ,
a więc jest regularny.
Ćwiczenie 5
Udowodnij, że następujące języki nie są regularne:
,
.
Rozwiązanie punktu 1
Skorzystamy z faktu, że język nie jest akceptowany (
ćwiczenie 8), a więc nie jest regularny.
Ponieważ klasa języków regularnych jest zamknięta ze względu na
uzupełnienie, to .
Rozwiązanie punktu 2
Język nie jest akceptowany
(patrz 3.1. z wykładu 6), a więc nie jest regularny.
.
Ponieważ klasa języków regularnych jest zamknięta ze względu na
uzupełnienie i przecięcie, to .
ZADANIA DOMOWE
Ćwiczenie 6
Niech . Skonstruuj automat , taki że
1. , gdzie
,
,
2. , gdzie
,
,
Podaj dwie konstrukcje:
opartą na dowodzie twierdzenia Kleene'ego,
z wykorzystaniem automatu z pustymi przejściami.
Ćwiczenie 7
Skonstruuj minimalny automat , taki że
, gdzie opisany jest
poniższym grafem:
Rysunek 5
Ćwiczenie 8
Udowodnij, że następujące języki nie są regularne:
,
.
Wskazówka do punktu 2
Wykorzystaj fakt, że język nie jest regularny oraz
domkniętość klasy języków regularnych ze względu na homomorfizm.
Ćwiczenie 9
Zbuduj automat akceptujący język będący ogółem skończonych sekwencji
binarnych, w których liczba zer jest podzielna przez dwa, a liczba
jedynek przez 3, a następnie gramatykę generującą ten język.
Wskazówka
Stany automatu niech będą postaci , gdzie , . Stan początkowy to . Określ
funkcję przejść w ten sposób, że po przeczytaniu przez automat słowa
zawierającego symboli 0 oraz symboli 1 automat znajdzie się
w stanie . Zastanów się, który stan będzie
stanem końcowym. Na podstawie automatu określ gramatykę.