m Zastępowanie tekstu - "<div class="thumb"><div style="width:(.*);"> <flash>file=(.*)\.swf\|width=(.*)\|height=(.*)<\/flash> <div\.thumbcaption>(.*)<\/div> <\/div><\/div>" na "$3x$4px|thumb|center|$5"
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ę.