Entrada: AFND(E,Q,d,q0,F)
Salida: AFD(E,Q',d',C0,F')
1) El estado inicial del AFD C0 se etiqueta con los estados en los que se encuentra el AFND al
iniciar su ejecución, es decir, d(q0, Lambda), o lo que es lo mismo {q0}.
2) El resto de estados del AFD se obtienen a partir del estado inicial aplicando la función de
transición d'. d' se define de la siguiente forma: d'(Ci,a) = Cj . De manera que si el Ci viene
etiquetado con el conjunto de estados {qi, qi+1, .... ,qi+n} Cj vendrá etiquetado con los estados
d(qi,a) U d(qi+1,a) U ... U d(qi+n,a)
3) Los estados finales del AFD serán aquellos que estén etiquetados con al menos un estado
final del AFND
Ejemplo:
El estado inicial del AFD C0 vendrá etiquetado con el valor de d(q0, Lambda), es decir {q0}. A
continuación estudiaremos C0 para todos los símbolos del alfabeto de entrada.
Si el AFND se encuentra en {q0} y lee a la entrada 0, el autómata pasaría a d(q0,0) = {q0, q1}.
Esto significa que el AFD tendrá un estado etiquetado con {q0,q1} al que llamaremos C1. Por lo
tanto, d'(C0,0) = C1.
Si el AFND se encuentra en {q0} y lee a la entrada 1, el autómata pasaría a los estados d(q0,1) =
{}. El AFD tendrá un estado etiquetado con {} al que llamaremos C2 (Fijaros que se corresponde
con el estado muerto). Por lo tanto, d'(C0,1) = C2.
Si el AFND se encuentra en {q0, q1} y lee a la entrada 0, pasaría a los estados d(q0,0) U d(q1,0) =
{q0, q1}. Por tanto: d'(C1,0) = C1.
Si el AFND se encuentra en {q0, q1} y lee a la entrada 1, pasaría a los estados d(q0,1) U d(q1,1) =
{q1}. Como todavía no se ha contemplado la posibilidad de que el AFND se encuentre en el
conjunto de estados {q1}, creamos un nuevo estado C3 en el AFD. d'(C1,1) = C3.
Si el AFND se encuentra en {q1} y lee a la entrada 0, pasaría a los estados d(q1,0) = {}. Por tanto:
d'(C3,0) = C2.
Si el AFND se encuentra en {q1} y lee a la entrada 1, pasaría a los estados d(q1,1) = {q1}. Por
tanto: d'(C3,0) = C3.
* Estados Finales
Ya hemos estudiado todos los estados del AFD que nos han ido apareciendo, quedaría por
definir el conjunto de estados finales. Serán estados finales todos aquellos estados etiquetados
con al menos un estado final del AFND. Es decir: F'={C0,C1,C3}
* Resultado:
El AFD obtenido es el siguiente:
AFD(E,Q',d',C0,F')
Donde E = {0,1}, Q'={C0,C1,C2,C3}
d'(C0,0)=C1 d'(C0,1)=C2
d'(C1,0)=C1 d'(C1,1)=C3
d'(C2,0)=C2 d'(C2,1)=C2
d'(C3,0)=C2 d'(C3,1)=C3
F'={C0,C1,C3}
Ejercicio:
-----------------------------------
AFND: ({0,1},{q0,q1,q2},d,q0,{q2}) donde d viene definida:
d(q0,0) = {q0, q1}
d(q0,1) = {}
d(q1,0) = {}
d(q1,1) = {q1,q2}
d(q2,0) = {q2}
d(q2,1) = {}