Języki, automaty i obliczenia/Ćwiczenia 3: Automat skończenie stanowy
ĆWICZENIA 3
Ćwiczenie [Uzupelnij]
RYSUNEK ja-lekcja3-c-rys2. Dla jakich słowo należy do języka akceptowanego przez automat z rysunku Uzupelnic ja-lekcja3-c-rys2|?
ROZWIĄZANIE. Słowa o żądanej własności to słowa postaci , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle l \in \mathds{N}} , zatem szukane ma postać Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle k=4l+2,\ l \in \mathds{N}} .
Ćwiczenie [Uzupelnij]
Opisz słownie język akceptowany przez poniższy automat.
RYSUNEK ja-lekcja3-c-rys3
ROZWIĄZANIE. Język składa się ze słów postaci , , gdzie jest literą lub , a każde ma postać lub , gdzie , .
Ćwiczenie [Uzupelnij]
Wyznacz prawą kongruencję automatową dla trzystanowego automatu z rysunku Uzupelnic ja-lekcja3-c-rys3|
ROZWIĄZANIE.
Ćwiczenie [Uzupelnij]
Uzupełnij rysunek Uzupelnic ja-lekcja3-c-rys4| w ten sposób, by uzyskany 4-stanowy automat nie akceptował żadnego słowa nad alfabetem , w którym dwie litery występują obok siebie.
ROZWIĄZANIE. RYSUNEK ja-lekcja3-c-rys5
Ćwiczenie [Uzupelnij]
Sprawdź, czy następujące automaty są równoważne.
RYSUNEK ja-lekcja3-c-rys6
ROZWIĄZANIE. Tak.
Ćwiczenie [Uzupelnij]
Wyznacz automat (nad alfabetem ), którego reprezentacja spełnia następujące warunki:
- (),
Czy automat ten jest wyznaczony jednoznacznie?
ROZWIĄZANIE. Z pierwszego warunku otrzymujemy , . Z drugiego warunku mamy oraz . Ponieważ , a pod wpływem do stanu możemy przejść tylko ze stanu , zatem . Analogicznie: . Ponieważ pod wpływem do stanu można przejść tylko ze stanu , zatem musi być . Obliczyliśmy więc dla wszystkich stanów i wszystkich liter alfabetu. Funkcja przejścia wyznaczona jest jednoznacznie.
Ćwiczenie [Uzupelnij]
Określ monoid przejść automatu zadanego grafem
ja-lekcja3-c-rys8
Jakie języki akceptują automaty dla , zadane grafem ja-lekcja3-c-rys8, jeśli stanem początkowym jest , a zbiór stanów końcowych ?
ROZWIĄZANIE.
.
Ćwiczenie [Uzupelnij]
Rozważmy automat synchronizujący , gdzie jest -elementowym zbiorem stanów a dowolnym, skończonym alfabetem (definicja automatu synchronizującego podana jest w wykładzie nr 3). Dla automatu synchronizującego jego najkrótsze słowo synchronizujące nazywamy minimalnym słowem synchronizującym, a jego długość oznaczamy przez . Niech oznacza zbiór wszystkich -stanowych automatów synchronizujących i tylko takich.
Udowodnij, że
WSKAZÓWKA. Rozważ długości słów synchronizujących pary stanów automatu , czyli słów takich, że . Wykorzystaj fakt, że słowo synchronizujące dla ma być minimalne.
ROZWIĄZANIE. Jeśli automat jest synchronizujący, to dla każdych dwóch stanów i istnieje słowo , które synchronizuje te dwa stany, tzn. . Wybierzmy dwa dowolne stany , ze zbioru stanów automatu. Jak długie może być słowo synchronizujące te dwa stany? Kolejne litery tego słowa mogą przeprowadzać zbiór stanów w zbiory innych dwuelementowych stanów. Zauważmy, że jeśli dla pewnych zachodzi , to jako możemy wybrać krótsze słowo, . Możemy więc założyć, że dla zachodzi , czyli wszystkie dwuelementowe podzbiory powstałe w wyniku przekształceń zbioru przez kolejne litery słowa są parami różne. Ponadto, ostatni zbiór, , jest jednoelementowy, gdyż założyliśmy, że ma synchronizować stany i .
Ponieważ istnieje dwuelementowych podzbiorów -elementowego zbioru stanów, zatem słowo może mieć długość co najwyżej . Po przekształceniu zbioru stanów przez słowo znajdziemy się w co najwyżej -elementowym zbiorze . Z tego zbioru znów wybieramy dwa stany , szukamy dla nich słowa synchronizującego i przekształcamy przez to słowo zbiór otrzymując co najwyżej -elementowy zbiór . W najgorszym przypadku powyższą procedurę będziemy musieli powtórzyć razy aby zsynchronizować wszystkie stany ze zbioru do jednego stanu. Słowem synchronizującym będzie konkatenacja słów synchronizujących pary stanów w poszczególnych krokach.
Długość tego słowa będzie nie większa niż , co należało dowieść.
ZADANIA DOMOWE
Ćwiczenie [Uzupelnij]
Sprawdź, które z poniższych słów należą do języka akceptowanego przez automat z zadania Uzupelnic ja_cw3_1|:
- ,
- ,
- ,
- ,
- .
Ćwiczenie [Uzupelnij]
Sprawdź, czy następujące automaty są równoważne.
RYSUNEK ja-lekcja3-c-rys7
Ćwiczenie [Uzupelnij]
Wyznacz monoid przejść następującego automatu:
RYSUNEK ja-lekcja3-c-rys1
Ćwiczenie [Uzupelnij]
Określ automat akceptujący język