-
Automaty z ϵ-przejściami. Niedeterministyczny automat z ϵ-przejściami A=(Σ,Q,I,δ,F) jest określony jak zwykły automat skończony z tym, że δ⊆Q×(Σ∪{ϵ})×Q. Relacja qw→p (gdzie p,q∈Q i w∈Σ∗) jest określona jak poprzednio, tzn. qϵ→q i qva→p o ile qv→q1 i (q1,a,p)∈δ z tym, że teraz a może być literą w Σ lub ϵ.
Dowieść, że dla dowolnego automatu z ϵ-przejściami istnieje zwykły automat skończony, który akceptuje ten sam język.
- Automat z wyjściem wg Mealy'ego. Automat Mealy'ego można przedstawić jako deterministyczny automata skończony, powiedzmy A=(Σ,Q,qI,δ,F) dany razem z funkcją γ:Q×Σ→Δ. Intuicyjnie, dany stan q i litera σ∈Σ determinują nie tylko kolejny stan, powiedzmy p, ale także sygnał wyjściowy (output), γ(q,σ). Dokładniej, słowo w=w1w2…wn nad Σ, takie, że ˆδ(qI,w1…wi−1)=pi, dla i=1,…,n, wyznacza n-literowe słowo nad alfabetem Δ,
ˆγ(w)=defγ(qI,w1)γ(p2,w2)…γ(pn,wn)
Powiemy, że automat Mealy'ego redukuje język L1 do L2 jeśli (∀w) w∈L1⇔ˆγ(w)∈L2. Skonstruować automat, który redukuje a∗b(a∗ba∗ba∗)∗ do (a∗ba∗ba∗)∗.
- Automat z wyjściem wg Moore'a. Automat Moore'a można przedstawić jako deterministyczny automata skończony wraz z funkcją γ:Q→Δ. Tym razem, słowo w=w1w2…wn wyznacza
ˆγ(w)=defγ(ˆδ(qI,w1))γ(ˆδ(qI,w1w2))…γ(ˆδ(qI,w1w2…wn))
Dowieść, że automaty Mealy'ego i Moore'a są równoważne w tym sensie, że dla każdego automatu jednego typu można znale”zć automat drugiego typu realizujący tę samą funkcję ˆγ.
- Automaty dwukierunkowe. Funkcja przejścia deterministycznego automatu dwukierunkowego jest postaci δ:Q×Σ→Q×{L,R}, co interpretujemy, że automat może przesunąć czytnik zarówno w prawo jak i w lewo. Dowieść, że deterministyczne automaty dwukierunkowe mogą być symulowane przez zwykłe automaty skończone
Wskazówka. Znane rozwiązanie oparte na idei ciągów skrzyżowań (ang. crossing sequences) można znale”zć w rozdziale 2.6 książki J.E.Hopcroft, J.D.Ullman, Wprowadzenie do teorii automatów, języków i obliczeń, Wydawnictwo Naukowe PWN, Warszawa 1994. Innym, być może prostszym rozwiązaniem – zaproponowanym przez Mikołaja Bojańczyka – jest uwzględnienie w stanie symulującego automatu jednokierunkowego funkcji h:Q→Q∪{⊥} o następującej interpretacji: jeśli automat (dwukierunkowy) pójdzie w lewo w stanie q, to wróci w stanie h(q) (być może wcale nie wróci, gdy h(q)=⊥). (Rezultat zachodzi również dla automatów niedeterministycznych.)
Uwaga. W dalszej części wykładu spotkamy się z mocniejszym stwierdzeniem, a mianowicie, że maszyny Turinga pracujące na jednej taśmie w czasie liniowym akceptują jedynie języki regularne.
- Dla ustalonego k, rozważmy język nad alfabetem {a,b,c} opisany wyrażeniem
((a+b)∗c)k−1(a+b)∗a(a+b)k−1c((a+b)∗c)∗
Intuicyjnie: język składa się z ,,bloków” liter a,b, zakończonych ,,znacznikiem” c, przy czym k-ty (od początku) blok ma tę własność, że jego k-ty symbol od końca jest a.
- Wykazać, że deterministyczny ,,jednokierunkowy” automat rozpoznający ten język ma ≥2k stanów.
- Skonstruować 2-kierunkowy automat o liniowej (O(k)) liczbie stanów, rozpoznający ten język.
- (*) Jak wyżej, ale automat ma prawo wykonać tylko jeden nawrót. (Bez zmniejszenia ogólności, możemy założyć, że automat idzie do końca słowa, po czym wraca i kończy obliczenie na początku słowa.)