Automaty - DAS, NAS i eNAS

Transkrypt

Automaty - DAS, NAS i eNAS
Automaty
DAS, NAS i eNAS
Adam Kobus
Updated: 7 kwietnia 2016
automaty4
Niedeterministyczne automaty skończone z ε
przejściami
Możliwości
Puste przejścia pozwalają łatwo powiązać automaty skończone z
wyrażeniami regularnymi. Pozwalają też wykazać równoważność
pomiędzy nimi.
Takie automaty definiujemy niemal identycznie jak NASy, jednak
zmieniają się argumenty funkcji przejścia. Stan pozostaje
niezmienny, rozszerza się definicja symbolu przejścia z Σ do
Σ ∪ {ε}.
Warto zauważyć, że pusty symbol nie należy do alfabetu.
ε-domknięcie
Jest to zbiór stanów osiągalnych ze stanu q po ścieżkach
prowadzących ε-przejściami, zarówno ze stanu q, jak i stanów
wzdłuż drogi ε-przejść.
Formalnie: q ∈ ε̃, jeżeli p ∈ ε̃ i istnieje ε-przejście do r, to r ∈ ε̃.
Przykład
ε-NAS dla liczb dziesiętnych.
→ q0
q1
q2
q3
q4
? q5
ε
{q1}
∅
∅
{q5}
∅
∅
+, −
{q1}
∅
∅
∅
∅
∅
.
∅
{q2}
∅
∅
{q3}
∅
0, 1, . . . , 9
∅
{q1,q4}
{q3}
{q3}
∅
∅
Metoda eliminacji εprzejść
Metoda eliminacji ε-przejść
Niech będzie dany ε-NAS E = (QE , Σ, δE , q0 , FE ) oraz
równoważny mu DAS D = (QD , Σ, δD , qD, FD ).
Reguły:
# QD jest zbiorem podzbiorów QE . Osiągalne stany D są
ε-domkniętymi podzbiorami QE
# stan początkowy qD = ε̃(q0 ) będzie ten sam
# FD to zbiór stanów, z których każdy składa się z co najmniej
jednego akceptującego stanu dla E:
FD = {S|S ∈ QD , S ∩ FE = ∅}
# dla wszystkich symboli a ∈ Σ i stanów S ⊆ QD wartość
δ(S, a) oblicza się następująco:
Metoda eliminacji ε-przejść
# S = {p1 , p2 , . . . , pk }
# Obliczyć
# wtedy
Sk
i=1 δE (pi , a) co
S
δ(S, a) = m
j=1 r˜j
daje {r1 , r2 , . . . , rm }
Wynik konwersji
Zadania
Zadanie 1
Oblicz ε-domknięcia dla każdego stanu, podaj łańcuchy o długości
do trzech znaków, które akceptuje ten automat oraz przekształć
ten automat na DAS.
→p
q
?r
ε
∅
{p}
{q}
a
{p}
{q}
{r}
b
{q}
{r}
∅
c
{r}
∅
{p}
Zadanie 2
→p
q
?r
ε
{q,r}
∅
∅
a
∅
{p}
∅
b
{q}
{r}
∅
c
{r}
{p,q}
∅
Zadanie 3
Skonstruuj ε-NAS akceptujące zbiór łańcuchów złożonych z
nieujemnej liczby symboli a, po którym następuje nieujemna liczba
symboli b, a po nich nieujemna liczba symboli c.
Zamień ε-NAS na DAS.

Podobne dokumenty