Un AFN puede estar en varios estados al mismo tiempo.
Visto de otra forma, puede adivinar a que estado ir en la prxima lectura de smbolo de entrada Ejemplo: Autmata que acepta todas las cadenas que finalizan con 01
Lo que sucede cuando el AFN procesa la entrada 00101 es lo siguiente:
Definicin Formal: Un AFN es una quntupla A= (Q,,o,q0,F) Q es el conjunto de estados es el alfabeto de entrada o es la funcin de transicin de Qx a el conjunto potencia de Q. q0 e Q es el estado inicial F _ Q es el conjunto de estados finales.
Ejemplo: El AFN del ejemplo anterior es:
Donde o es la funcin de transicin
Funcin de transicin extendida La funcin de transicin extendida o se define como BASE: o(q,c) = {q} INDUCCIN: o(q,xa) = pe o(q,x) o(p,a) Ejemplo Calcular en el pizarrn o(q0,00101). El lenguaje aceptado por el AFN llamado A es: L(A)={w | o(q0,w) F =C.}
Equivalencia entre AFD y AFN
Los AFN son ms fciles de disear De manera sorpresiva, para cualquier AFN N, existe un AFD D, tal que L(D)=L(N) y viceversa. El mtodo empleado la conversin se conoce como Construccin de Subconjuntos.
Construccin de Subconjuntos Dado un AFN A= (Q N ,,o,q0,F N ) Construimos un AFD A= (Q D ,,o, {q0},F D ) Tal que L=(D)= L(N) Detalles de la construccin: Q D = {S|S _ Q N } Nota: |Q D |= 2 |Qn| , aunque la mayora de estados de Q D no se utilizarn. F D = {S _ Q N | SF N =C } Para cada S _ Q N y a e E, o D (S,a) = pe S o N (p,a)
Mtodo simplificado Podemos evitar el crecimiento exponencial construyendo la tabla de aceptacin de D, nicamente para estados accesibles de S como sigue: Base: S= {q 0 } es accesible en D Induccin: Si el estado S es accesible, tambin lo son los estados en aeE o D (S,a)
Ejemplo: Los subconjuntos del DFA anterior con estados accesibles son:
Teoremas de equivalencia Teorema. Sea D el AFD creado mediante la construccin de subconjuntos de un AFN N. Enotonces L(D)=L(N) Teorema. Un lenguaje L es eceptado por algn AFD si y slo si L es aceptado por algn AFN