NIEDETERMINISTYCZNY AUTOMAT SKOŃCZONY - NAS
Def. Niedeterministycznym automatem skończonym (NAS) nazywamy układ
Q Q F
M , , 0, , gdzie
– jest skończonym alfabetem ()
– Q jest skończonym zbiorem (stanów) (Q) – Q0 Q (zbiór stanów początkowych)
– :Q P
Q (funkcja przejścia, program),
Q X X Q
P : – zbiór potęgowy zbioru Q – F Q (zbiór stanów końcowych)
● Funkcja przejścia :Q P
Q
q,s zbiór stanów, do których może przejść automat będący w stanie q po wczytaniu symbolu s.
● Funkcję rozszerzamy do funkcji ~ : P
Q P
Q :
X q
s q s
X
,
~ ,
.
X ,s
~ zbiór stanów, do których może dojść automat z funkcją przejścia po wczytaniu symbolu s, jeżeli stan bieżący jest jakimś stanem ze zbioru X.
● Następnie funkcję ~ rozszerzamy do funkcji ˆ: P
Q P
Q :
s x X xs
X
X X
, ˆ ,
, ~ ˆ ˆ ,
X ,x
ˆ = zbiór stanów, do których może dojść automat z funkcją przejścia po wczytaniu słowa x, jeżeli zaczyna od jakiegoś stanu ze zbioru X.
Def. Niech M
, Q, Q0, , F
będzie NAS. Język akceptowany przez automat M:
M
x
Q x
F
L : ˆ 0,
Def. Konfiguracja automatu NAS.
Konfiguracją automatu nazywamy uporządkowaną parę
q,w
, gdzieQ
q - bieżący stan maszyny,
w - łańcuch pozostały do wczytania.
Na konfiguracjach określamy funkcję:
ndM :Q Q
|
służącą do śledzenia obliczeń automatu następująco:
q sw
qj w
nd M
i, | , , qi,qj Q, s, w
gdzie qj
qi,s
.Konfiguracja początkowa:
q,w
, gdzie qQ0, w Konfiguracja końcowa:
q,
lub
q,sv
, gdzie
q,s Konfiguracja akceptująca:
q,
, gdzie qFDef. Obliczenie.
Obliczeniem dla łańcucha w a1a2an jest ciąg konfiguracji:
q0, a1a2an
|Mnd
qi1, a2an
|ndM |Mnd
q qin,
,
Oznaczenie:
q0,w
|Mnd
q,
.Jeżeli q0Q0 i qF, to obliczenie jest akceptujące, tzn.
automat M akceptuje łańcuch w.
---
Def. Język akceptowany przez automat M:
M
x:L istnieje q0 Q0 i istnieje obliczenie akceptujące rozpoczynające się w konfiguracji
q ,0 x
Równoważność automatów
Def. Automaty M i N są równoważne wtedy i tylko wtedy, gdy akceptują te same języki, tzn. L
M L N .Przekształcenie automatu NAS w równoważny DAS.
Konstrukcja potęgowa.
NAS: N
, Q, Q0, , F
. DAS: M
, P
Q , Q0, ~, F~
,gdzie
F~
X Q : X F
~: P
Q P
Q ,
X q
a q a
X
,
~ ,
W praktyce jako zbiór stanów automatu M wybieramy zbiór
:~ X P Q
Q stan X jest osiągalny w M ze stanu Q 0
Def. Stan qj Q nazywamy nieosiągalnym w M ze stanu q , i jeżeli nie istnieje słowo x*, takie że
qi,x
|M
qj,
NIEDETERMINISTYCZNY AUTOMAT SKOŃCZONY Z PUSTYMI PRZEJŚCIAMI - NAS
NAS = NAS z funkcją przejścia
:Q
P
Q .Zatem, niektóre instrukcje dopuszczają zmianę stanu bez wczytania symbolu z łańcucha wejściowego.
Dla X Q określamy zbiór X Q jako zbiór tych
wszystkich stanów, do których można dojść od stanów ze zbioru X pewną (może zerową) liczbą pustych przejść.
Definicja indukcyjna:
Xn
q n
n X q
X
X X
,
1 0
Musi istnieć takie n, że Xn Xn1. Przyjmujemy X Xn.
Funkcje ~, ˆ dla NAS określamy następująco:
X q
a q a
X
,
~ ,
,
a x X xa
X
X X
, ˆ ,
, ~ ˆ ˆ ,
.
Język akceptowany przez NAS - M:
M
x
Q x
F
L :ˆ 0, .
NAS równoważny NAS
NAS : M
, Q, Q0, , F
. NAS: N
, Q, Q0, 1, F
,gdzie 1