Beruflich Dokumente
Kultur Dokumente
DETERMINISTAS
a q1 a
q0 ∑={a,b}
b
b q2
a q1 a
q0 ∑={a,b}
a b
q2
f(q,λ)
λ q1 a
q0 ∑={a,b}
b
b q2
Definición
0 1 2 λ
q0 {q0,q1} {q0}
q1 {q1} {q1,q2} {q0,q2}
*q
2
{q2} {q2}
Diagramas de transición.
f ’(q0,λ)=CL(q0)
f ’(P,λ)=P
L(M)={x∑* / f’(q0,x) F
}
Simulación algorítmica de un AFND
Entrada: cadena de entrada x que termina con un carácter fin de cadena o fin
de archivo (FDC).
Salida: La respuesta ACEPTADA si el autómata reconoce x NO ACEPTADA en
caso contrario
Método: aplicar f al estado al cual hay una transición desde el estado q a un
carácter de entrada c
Función reconocer()
A=CL(q0)
c= leer_carácter()
Mientras c != FDC
A=CL ( f(q,c))
qP
c= leer_carácter()
fmientras
Si A F entonces
Devolver(ACEPTADA)
Sino
Devolver(NO ACEPTADA)
fsi
Equivalencia entre AFND y AFD
Premisas:
Se definió inductivamente el conjunto de estados C = λ-clausura(s):
s C.
si t C y una transición vacía de t a u entonces u C.
Se define el conjunto de estados G = f(s , a) :
si una transición etiquetada con a entre s y t entonces t G.
Estas definiciones se generalizan para conjuntos de estados
S = { ... ti ... } :
Si u λ-clausura(ti) entonces u λ-clausura(S)
Si u f(ti , a) entonces u f(S , a).
(f(G,a) son los estados s alcanzables con a desde algún qG)
Equivalencia entre AFND y AFD
Ejemplo:
b a b λ
λ
1 3
a,b
0 1 1 2
b
a
0 a 1 2 1 3
a a, b
2 0 4
λ 4
2
b 3 4 1
*4 4 4
Equivalencia entre AFND y AFD
1. se crea una nueva tabla T[estado,símbolo], inicialmente vacía.
2. se calcula Q0 = λ-clausura(0) = {0,2} a b λ
3. se crea una entrada en T para Q0. 0 1 1 2
a b 1 2 1 3
Q0 2 0 4
3 4 1
4. para cada casilla vacía T[Q,a] : *4 4 4
1. se asigna T[Q,a] = λ-clausura(f(Q,a))
λ-clausura(f(Q0={0,2},a))=λ-clausura(0,1)={0,1,2,3}=Q1
2. si no existe una entrada en T para el estado T[Q,a], se crea
la entrada.
a b
Q0 Q1
Q1
a b
Q0 Q1 Q2
Q1 Q3 Q2
*Q2 Q4 Q2
*Q3 Q3 Q2
*Q4 Q5 Q6
*Q5 Q5 Q2
*Q6 Q6 Q6