Presentación Autómatas Finito No Deterministico

15

Click here to load reader

Transcript of Presentación Autómatas Finito No Deterministico

Page 1: Presentación  Autómatas Finito No Deterministico

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

Page 2: Presentación  Autómatas Finito No Deterministico

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.

Page 3: Presentación  Autómatas Finito No Deterministico

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.

Page 4: Presentación  Autómatas Finito No Deterministico

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" .

Page 5: Presentación  Autómatas Finito No Deterministico

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.

Page 6: Presentación  Autómatas Finito No Deterministico

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.

Page 7: Presentación  Autómatas Finito No Deterministico

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).

Page 8: Presentación  Autómatas Finito No Deterministico

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

Page 9: Presentación  Autómatas Finito No Deterministico

• 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:

S0 {} {} {S1, S3}

S1 {S2} {S1} {}

S2 {S1} {S2} {}

S3 {S3} {S4} {}

S4 {S4} {S3} {}

Page 10: Presentación  Autómatas Finito No Deterministico

EJEMPLO

• El diagrama de estados para M es:

Page 11: Presentación  Autómatas Finito No Deterministico

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

Page 12: Presentación  Autómatas Finito No Deterministico

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

Page 13: Presentación  Autómatas 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.

Page 14: Presentación  Autómatas Finito No Deterministico

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

Page 15: Presentación  Autómatas 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