Def.5. Niedeterministycznym automatem skończonym (NAS
Transkrypt
Def.5. Niedeterministycznym automatem skończonym (NAS
NIEDETERMINISTYCZNY AUTOMAT SKOŃCZONY NAS - Def. Niedeterministycznym automatem skończonym (NAS) nazywamy układ M , Q, Q0 , , F gdzie – jest skończonym alfabetem ( ) – Q jest skończonym zbiorem (stanów) ( Q ) – Q0 Q (zbiór stanów początkowych) – : Q PQ (funkcja przejścia, program), PQ X : X Q – zbiór potęgowy zbioru Q – F Q (zbiór stanów końcowych) ● Funkcja przejścia : Q PQ 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 : PQ PQ : X , s ~ q, s . q 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 ˆ : PQ PQ : ˆ X , X ~ ˆ X , xs ˆ X , x , s ˆ 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: LM x : ˆQ0 , x F Def. Konfiguracja automatu NAS. Konfiguracją automatu nazywamy uporządkowaną parę q, w , gdzie q Q - bieżący stan maszyny, w - łańcuch pozostały do wczytania. Na konfiguracjach określamy funkcję: | nd M :Q Q służącą do śledzenia obliczeń automatu następująco: qi , sw | nd M q j , w , qi , q j Q , s , w gdzie q j qi , s . Konfiguracja początkowa: q, w , gdzie q Q0 , w Konfiguracja końcowa: q, lub q, sv , gdzie q, s Konfiguracja akceptująca: q, , gdzie q F Def. Obliczenie. Obliczeniem dla łańcucha w a1a2 an jest ciąg konfiguracji: nd nd q0 , a1a2 an |nd M qi1 , a2 an | M | M q qin , , Oznaczenie: q0 , w |Mnd q, . Jeżeli q0 Q0 i q F , to obliczenie jest akceptujące, tzn. automat M akceptuje łańcuch w. --------------------------------------------------------------------------Def. Język akceptowany przez automat M: LM x : istnieje q0 Q0 i istnieje obliczenie akceptujące rozpoczynające się w konfiguracji q0 , 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. LM L N . Przekształcenie automatu NAS w równoważny DAS. Konstrukcja potęgowa. NAS: N , Q, Q0 , , F . ~ ~ DAS: M , PQ , Q0 , , F , gdzie ~ F X Q : X F ~ : PQ PQ , X , a ~ q, a q X W praktyce jako zbiór stanów automatu M wybieramy zbiór ~ Q X PQ : stan X jest osiągalny w M ze stanu Q0 Def. Stan q j Q nazywamy nieosiągalnym w M ze stanu qi , jeżeli nie istnieje słowo x * , takie że qi , x |M q j , NIEDETERMINISTYCZNY AUTOMAT SKOŃCZONY Z PUSTYMI PRZEJŚCIAMI - NAS NAS = NAS z funkcją przejścia : Q PQ. 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: X 0 X X n 1 X n q, qX n Musi istnieć takie n, że X n X n1 . Przyjmujemy X X n . ~ Funkcje , ˆ dla NAS określamy następująco: X , a ~ q, a , qX ˆ X , X . ~ ˆ ˆ X , xa X , x , a Język akceptowany przez NAS - M: LM x : ˆQ0 , x F . NAS równoważny NAS NAS : M , Q, Q0 , , F . NAS: N , Q, Q0 , 1, F , gdzie 1 q, a q, a .