12
Francisco Torvisco 11-0402 Jose Raul Nova 11-1162 Automata Finito No Determinista

Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

Embed Size (px)

Citation preview

Page 1: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

Francisco Torvisco 11-0402Jose Raul Nova 11-1162

Automata Finito No Determinista

Page 2: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

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 finitos deterministas (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 este ejemplo, δ(q0,b)=q0 y δ(q0,b)=q1.

Page 3: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

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. Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito no determinista con transiciones vacías o 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: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

La máquina comienza en el estado inicial especificado y lee una cadena de caracteres pertenecientes al alfabeto. El autó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ólo depende del 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: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

Un NFA es un 5-tupla (Q, Σ, δ, q0, F), donde:

• Q es un conjunto finito de estados

• Σ es un conjunto finito (alfabeto) de símbolos de entrada

• δ : Q × Σε → P (Q) es la función de transición

• q0 Q, es el estado de inicio∈

• F Q es el conjunto de aceptar o estados ⊆finales.

Page 6: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

Todo AFND (QN, Σ, q0, δN, FN) puede convertirse en un AFD (QD, Σ, q0, δD, FD) equivalente, que mantiene el alfabeto Σ y el estado inicial q0 originales. La conversión implica pasar por un AFD intermedio con estados y transiciones redundantes, que al no ser accesibles a partir del estado inicial, son eliminados para obtener el AFD definitivo.

Cuando el autómata ha terminado de leer, y se encuentra en un estado de aceptación, se dice que el AFND acepta la cadena, 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. Por lo tanto, es posible convertir un AFND existente en un AFD para el desarrollo de una máquina tal vez más simple.

Page 7: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

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}

• La función de transición T puede ser definida por esta tabla de transición de estados:

Page 8: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

Se acepta cualquier cadena binaria que contiene 00 o 11 como subcadena.

Page 9: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162

Acepta todas las cadenas binarias que terminan con 101.

Page 10: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162
Page 11: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162
Page 12: Automata Finito No Determinista - Francisco Torvisco 11-0402 & Jose Raul Nova 11-1162