160 likes | 336 Views
Aut ómata Finito No Determinista. Clase 5. Elaboró: Dr. José Raymundo Marcial Romero. Aut ómata finito No determinista (AFN). Un AFN puede estar en varios estados al mismo tiempo. Visto de otra forma, puede adivinar a que estado ir en la pr óxima lectura de símbolo de entrada
E N D
Autómata Finito No Determinista Clase 5 Elaboró: Dr. José Raymundo Marcial Romero
Autómata finito No determinista (AFN) • Un AFN puede estar en varios estados al mismo tiempo. • Visto de otra forma, puede adivinar a que estado ir en la próxima lectura de símbolo de entrada • Ejemplo: Autómata que acepta todas las cadenas que finalizan con 01 Elaboró: Dr. José Raymundo Marcial Romero
Continuación • Lo que sucede cuando el AFN procesa la entrada 00101 es lo siguiente: Elaboró: Dr. José Raymundo Marcial Romero
Definición Formal • Un AFN es una quíntupla • A= (Q,,,q0,F) • Q es el conjunto de estados • es el alfabeto de entrada • es la función de transición de Qx a el conjunto potencia de Q. • q0 Q es el estado inicial • F Q es el conjunto de estados finales. Elaboró: Dr. José Raymundo Marcial Romero
Ejemplo • El AFN del ejemplo anterior es: • Donde es la función de transición Elaboró: Dr. José Raymundo Marcial Romero
Función de transición extendida • La función de transición extendida se define como • BASE: (q,) = q • INDUCCIÓN: (q,xa) = p (q,x) (p,a) Elaboró: Dr. José Raymundo Marcial Romero
Ejemplo • Calcular en el pizarrón (q0,00101). • El lenguaje aceptado por el AFN llamado A es: L(A)={w | (q0,w) F .} Elaboró: Dr. José Raymundo Marcial Romero
Equivalencia entre AFD y AFN • Los AFN son más fáciles de diseñar • De manera sorpresiva, para cualquier AFN N, existe un AFD D, tal que L(D)=L(N) y viceversa. • El método empleado la conversión se conoce como Construcción de Subconjuntos. Elaboró: Dr. José Raymundo Marcial Romero
Construcción de Subconjuntos • Dado un AFN A= (QN,,N,q0,FN) construimos un AFD A= (QD,,D, {q0},FD) Tal que L(D)= L(N) Elaboró: Dr. José Raymundo Marcial Romero
Detalles de la construcción • QD = {SS QN} Nota: QD= 2Qn, aunque la mayoría de estados de QD no se utilizarán. • FD = {S QN SFN } • Para cada S QN y a , D(S,a) = p S N(p,a) Elaboró: Dr. José Raymundo Marcial Romero
Ejemplo • Construyamos el AFD del AFN de la diapositiva 5 . . . Elaboró: Dr. José Raymundo Marcial Romero Elaboró: Dr. José Raymundo Marcial Romero
Ejemplo (Cont.) • Nota. Los estados de D corresponden a subconjuntos de N, pero podríamos haber denotado los estados de D por, A-F también. Elaboró: Dr. José Raymundo Marcial Romero
Método simplificado • Podemos evitar el crecimiento exponencial construyendo la tabla de aceptación de D, únicamente para estados accesibles de S como sigue: • Base: S= {q0} es accesible en D • Inducción: Si el estado S es accesible, también lo son los estados en aD(S,a) Elaboró: Dr. José Raymundo Marcial Romero
Ejemplo • Los subconjuntos del DFA anterior con estados accesibles son: Elaboró: Dr. José Raymundo Marcial Romero
Teoremas de equivalencia Teorema. Sea D el AFD creado mediante la construcción de subconjuntos de un AFN N. Enotonces L(D)=L(N) Teorema. Un lenguaje L es aceptado por algún AFD si y sólo si L es aceptado por algún AFN Elaboró: Dr. José Raymundo Marcial Romero