View
927
Download
0
Category
Preview:
Citation preview
A U T Ó M A T A F I N I T O N O D E T E R M I N I S T I C O
ANYELA BÁEZ 13-1005LESLEI GARCÍA 13-0991
AUTÓMATA FINITO NO DETERMINISTA
• Un autómata finito no determinista (abreviado AFND) es un
autómata finito que, a diferencia de los autómatas finitosdeterministas (AFD), posee al menos un estado q ∈ Q, tal que
para un símbolo a ∈ del alfabeto, existe más de una transición
δ(q,a) posible.
• En un AFND puede darse cualquiera de estos dos casos:
• Que existan transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2,
siendo q1 ≠ q2;
• Que existan transiciones del tipo δ(q, ε), siendo q un estado
no-final, o bien un estado final pero con transiciones hacia
otros estados.
Cont..
Cuando se cumple el segundo caso, se dice que el autómata
es un autómata finito no determinista con transiciones vacíaso transiciones ε (abreviado AFND-ε). Estas transiciones
permiten al autómata cambiar de estado sin procesar ningún
símbolo de entrada. Considérese una modificación al modelo
del autómata finito para permitirle ninguna, una o más
transiciones de un estado sobre el mismo símbolo de entrada.
FUNCIONAMIENTO
• La máquina comienza en el estado inicial especificado y lee
una cadena de caracteres pertenecientes al alfabeto. Elautómata utiliza la función de transición de estados T para
determinar el siguiente estado, usando el estado actual y el
símbolo que acaba de leer o la cadena vacía.
• Sin embargo, "el estado siguiente de un AFND no sólodepende de el evento de entrada actual, sino que también
en un número arbitrario de los eventos de entrada posterior.
• Hasta que se producen estos acontecimientos posteriores no
es posible determinar en qué estado se encuentra la
máquina" .
NOTA
• Cuando el autómata ha terminado de leer, y se encuentra en
un estado de aceptación, se dice que el AFND acepta lacadena, de lo contrario se dice que la cadena de caracteres
es rechazada.
• Tanto para un AFND como para un autómata finito
determinista (AFD) se puede aceptar el mismo lenguaje. Porlo tanto, es posible convertir un AFND existente en un AFD
para el desarrollo de una máquina tal vez más simple. Esto
puede llevarse a cabo utilizando la construcción del conjunto
potencia, que puede conducir a un aumento exponencial en
el número de estados necesarios.
IMPLEMENTACIÓN
• Hay muchas formas de implementar una AFND:
• Convertir al equivalente AFD: en algunos casos esto puedecausar una explosión exponencial en el tamaño delautómata, y así un espacio auxiliar proporcional al número deestados en el AFND (como el almacenamiento del valor delestado requiere en la mayoría de un bit por cada estado enel AFND).
• Mantener un conjunto de datos de todos los estados en que lamáquina podría estar en la actualidad. Al consumir el últimocarácter de entrada, si uno de estos estados es un estado final,la máquina acepta la cadena. En el peor de los casos, estopuede requerir espacio adicional proporcional al número deestados en el AFND; si la estructura del conjunto usa un bit porestado del AFND, entonces esta solución es exactamenteequivalente a la anterior.
IMPLEMENTACIÓN
• Crear múltiples copias. Por cada forma de la decisión, el
AFND crea hasta n-1 copias de la máquina. Cada uno de
ellos entrara en un estado independiente. Si, al momento de
consumir el último símbolo de la entrada, al menos una copia
del AFND esta en un estado de aceptación, el AFND loaceptará. (Esto también requiere un almacenamiento lineal
con respecto al número de estados del AFND, ya que puede
haber una máquina por cada estado del AFND).
APLICACIÓN
• El AFND y el AFD son equivalentes en esto, ya que si un lenguaje es
reconocido por el AFND, también será reconocido por un AFD, y
viceversa. El establecimiento de esta equivalencia es útil porque a
veces la construcción de un AFND para reconocer un lenguaje
determinado es más fácil que construir un AFD para dicho lenguaje.
• También es importante porque el AFND se puede utilizar para reducir
la complejidad del trabajo matemático necesario para establecer
muchas propiedades importantes en la teoría de la computación.
Por ejemplo, es mucho más fácil demostrar las siguientes
propiedades utilizando un AFND que un AFD
• El ejemplo siguiente muestra un AFND M, con un
alfabeto binario que determina si la entrada
contiene un número par de 0s o un número par de
1s. Entonces M = (Q, Σ, T, s0, F) donde:
• Σ = {0, 1},
• Q = {s0, s1, s2, s3, s4},
• E({s0}) = { s0, s1, s3 }
• F = {s1, s3}, y
• La función de transición T puede ser definida por
esta tabla de transición de estados:
1ε
S0 {} {} {S1, S3}
S1 {S2} {S1} {}
S2 {S1} {S2} {}
S3 {S3} {S4} {}
S4 {S4} {S3} {}
EJEMPLO
• El diagrama de estados para M es:
EJEMPLO
• Los AFND también se representan mediante tablas o diagramas de
transición
•
• • En el diagrama de transición, hay algún nodo del que parten dos o
más arcos etiquetados con el mismo símbolo del alfabeto, o falta
algún arco para algún símbolo del alfabeto.
• • En la tabla de transición, alguna celda contiene 0 o un conjunto
no unitario
DIAGRAMAS DE TRANSICIÓN
• Los diagramas de transición de los AFND son totalmente
análogos a los de los autómatas determinísticos. Solo queahora no tiene que salir de cada vértice un y solo un arco
para cada símbolo del alfabeto de entrada. En un autómata
no determinístico, de un vértice pueden salir una, ninguna o
varias flechas con la misma etiqueta
Figura 9. Autómata Finito no Deterministico
DEMOSTRACIÓN
Figura 10. Autómata No-Deterministico que reconoce la cadena 010010.
Hay que señalar que esto sería solamente el esquema de una sola
parte de la trasmisión. Se podría complicar incluyendo también una
cadena para el fin de la trasmisión.
EJEMPLO
• Usando los Autómatas No-Deterministicos se puede simplificar
el ejercicio de la figura 7 y representar con más claridad laestructura de la expresión regular (11 + 110)*0 se presentan las
2 figuras para verificar la similitud.
Figura 11: Autómatas finito y automata finito no deterministico
REFERENCIAS
• http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito_no_deter
minista
• http://datateca.unad.edu.co/contenidos/301405/EXEMODUL
O20131/exe%20modulo%20301405/leccin_8__autmatas_finitos
_no_determinsticos_afnd.html
Recommended