Professional Documents
Culture Documents
En este ejemplo, (q0,b)=q0 y (q0,b)=q1. Por lo tanto, se trata de un autmata finito no determinista, que reconoce la expresin regular(a|b)*b+.
Un autmata finito no determinista (abreviado AFND) es un autmata finito que, a diferencia de los autmatas finitos deterministas (AFD), posee al menos un estado q Q, tal que para un smbolo a del alfabeto, existe ms de una transicin (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. Cuando se cumple el segundo caso, se dice que el autmata es un autmata finito no determinista con transicines vacas otransiciones (abreviado AFND-). Estas transiciones permiten al autmata cambiar de estado sin procesar ningn smbolo de entrada. Considrese una modificacin al modelo del autmata finito para permitirle ninguna, una o ms transiciones de un estado sobre el mismo smbolo de entrada.
ndice
[ocultar]
o o
8 Bibliografa
[editar]Definicin
formal
Formalmente, si bien un autmata finito determinista se define como una 5-tupla (Q, , q0, , F) donde:
1
es un conjunto de estados; es un alfabeto; es el estado inicial; es una funcin de transicin; es un conjunto de estados finales o de aceptacin.
donde P(Q) es el conjunto potencia de Q. Esto significa que los autmatas finitos deterministas son un caso particular de los no deterministas, puesto que Q pertenece al conjunto P(Q). La interpretacin que se suele hacer en el cmputo de un AFND es que el automta puede pasar por varios estados a la vez, generndose una ramificacin de las configuraciones existentes en un momento dado. Asimismo, en un autmata finito no determinista podemos aceptar la existencia de ms de un nodo inicial. [editar]Funcionamiento La mquina comienza en el estado inicial especificado y lee una cadena de caracteres pertenecientes al alfabeto. El autmata utiliza la funcin de transicin de estados T para determinar el siguiente estado, usando el estado actual y el smbolo que acaba de leer o la cadena vaca. Sin embargo, "el estado siguiente de un AFND no slo depende de el evento de entrada actual, sino que tambin en un nmero arbitrario de los eventos de entrada posterior. Hasta que se producen estos acontecimientos posteriores no es posible determinar en qu estado se encuentra la mquina" . Cuando el autmata ha terminado de leer, y se encuentra en un estado de aceptacin, 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 autmata 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 mquina tal vez ms simple. Esto puede llevarse a cabo utilizando la construccin del conjunto potencia, que puede conducir a un aumento exponencial en el nmero de estados necesarios. [editar]Implementacin Hay muchas formas de implementar una AFND: Convertir al equivalente AFD: en algunos casos esto puede causar una explosin exponencial en el tamao del autmata, y as un espacio auxiliar proporcional al nmero de estados en el AFND (como el almacenamiento del valor del estado requiere en la mayora de un bit por cada estado en el AFND). Mantener un conjunto de datos de todos los estados en que la mquina podra estar en la actualidad. Al consumir el ultimo carcter de entrada, si uno de estos estados es un estado final, la maquina acepta la cadena. En el peor de los casos, esto puede requerir espacio adicional proporcional al nmero de estados en el AFND; si la estructura del conjunto usa un bit por estado del AFND, entonces esta solucin es exactamente equivalente a la anterior. Crear mltiples copias. Por cada n forma de la decisin, el AFND crea hasta n-1 copias de la maquina. Cada uno de ellos entrara en un estado independiente. Si, al momento de consumir el ultimo smbolo de la entrada, al menos una copia del AFND esta en un estado de aceptacin, el AFND lo aceptar. (Esto tambin requiere un almacenamiento lineal con respecto al nmero de estados del AFND, ya que puede haber una maquina por cada estado del AFND). [editar]AFND- [editar]Propiedades Para todo , se escribe si y solo si a se pude llegar desde si y slo si , yendo a
. Las transiciones epsilon son transitive, ya que puede demostrarse que para todo , entonces Del mismo modo, si y entonces Sea x una y . , si y
cadena del alfabeto {}. Un AFND- M acepta la cadena x si existe tanto una representacin de x de la forma x1x2 ... xn, donde xi ( {}), y una secuencia de estados p0,p1, ..., pn, donde pi Q, Cumplindose las siguientes condiciones: 1. p0 2. pi 3. pn E({q0}) E(T(pi-1, xi )) para i = 1, ..., n F.
[editar]Aplicacin El AFND y el AFD son equivalentes en esto, ya que si un lenguaje es reconocido por el AFND, tambin ser reconocido por un AFD, y viceversa. El establecimiento de esta equivalencia es til porque a veces la construccin de un AFND para reconocer un lenguaje determinado es ms fcil que construir un AFD para dicho lenguaje. Tambin es importante porque el AFND se pude utilizar para reducir la complejidad del trabajo matemtico necesario para establecer muchas propiedades importantes en la teora de la computacin. Por ejemplo, es mucho ms fcil demostrar las siguientes propiedades utilizando un AFND que un AFD: La unin de dos lenguajes regulares es regular. La concatenacin de dos lenguajes regulares es regular. La Clausura de Kleene en un Lenguaje regular es regular.
[editar]Ejemplo El ejemplo siguiente muestra un AFND M, con un alfabeto binario que determina si la entrada contiene un nmero par de 0s o un nmero 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 funcin de transicin T puede ser definida por esta tabla de transicin de estados: 0 S0 S1 S2 S3 S4 {} { S 2} { S 1} { S 3} { S 4} 1
M puede ser visto como la unin de dos AFDs: uno con los estados {S1, S2} y el otro con los estados {S3, S4}. El lenguaje de M puede ser descrito por el lenguaje regular dado por la expresin regular:
[editar]Vase
tambin
[editar]Referencias
Chakraborty, Samarjit (17 de marzo de 2003). Formal Languages and Automata Theory. Regular Expressions and Finite Automata (en ingls). Computer Engineering and Networks Laboratory. Swiss Federal Institute of Technology (ETH) Zrich: pp. 17. Consultado el 30 de marzo de 2010.
1.
[editar]Bibliografa
M. O. Rabin and D. Scott, "Finite Automata and their Decision Problems", IBM Journal of Research and Development, 3:2 (1959) pp.115-125.
John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley Publishing, Reading Massachusetts, 1979.
Filas encabezadas por los estados (qi Q) Columnas encabezadas por los smbolos de entrada (ei )
Ejemplo de representacin de autmata finito determinista (AFD) Ejemplo: Sea el AFD1 = ({a,b}, {p,q,r}, f, p, {q}) donde f est definida por: f(p,a) = q f(p,b) = r f(q,a) = q f(q,b) = r f(r,a) = r f(r,b) = r escribir su tabla de transicin y dibujar su diagrama de transicin
Conceptos bsicos de un autmata finito determinista (AFD) Configuracin: es un par ordenado de la forma (q,w) donde: - q: estado actual del AF - w: cadena que le queda por leer en ese instante, w * Configuracin inicial: (q0, t) - q0: estado inicial - t: cadena de entrada a reconocer por el AFD, t * Configuracin final: (qi,) - qi: estado final - la cadena de entrada ha sido leda completamente Movimiento: es el trnsito entre dos configuraciones.
Autmata Finito Deterministas, AFD: se definen mediante una quntupla: (, Q, f, q0, F), donde: alfabeto de entrada
Q: conjunto de estados, es conjunto finito no vaco, realmente un alfabeto para distinguir a los estados f: Q x Q, funcinde transicin q0, estado inicial F c Q: conjunto de estados finales o de aceptacin. Autmatas finitos deterministas (AFD) como reconocedores del lenguaje Autmata finito determinista (AFD) como reconocedor de un Lenguaje: Cuando un AF transita desde q0a un estado final en varios movimientos, se ha producido el RECONOCIMIENTO o ACEPTACIN de la cadena de entrada Cuando un AF no es capaz de alcanzar un estado final, se dice que el Autmata finito NO RECONOCE la cadena de entrada y que sta NO PERTENECE al lenguaje reconocido por el Automata finito Equivalencia y miminizacin de autmatas finitos deterministas (AFD) Es posible tener varios autmatas que reconozcan el mismo lenguaje. - Para todo autmata se puede obtener un autmata equivalente(i.e. reconoce el mismolenguaje) donde el nmero de estados del autmata sea el mnimo. - Cul sera el nmero mnimo de estados? - Porqu interesa obtener el mnimo? Se dispone de un descriptor del lenguaje (lenguaje regular): gramtica tipo 3, AFD, AFND, expresin regular
Se plantean problemas de decisin: El lenguaje descrito es vacio? Existe una determinada cadena w en el lenguaje descrito? Dos descripciones de un lenguaje describen realmente el mismo lenguaje? Nota: usualmente los lenguajes son infinitos, con lo que no es posible plantear la pregunta y recorrer el conjunto INFINITO de cadenas. Los algoritmos para responder a las dos primeras preguntas son sencillos. Pero y para la ltima pregunta ? Dos descripciones de un lenguaje describen realmente el mismo lenguaje? Consecuencia de esta comprobacin: Obtener el autmata finito determinista (AFD) mnimo equivalente. Operaciones de minimizacin - Eliminacin de estados inaccesibles. - Agrupacin de estados equivalenteso indistinguibles. Equivalencia de dos autmatas finitos deterministas (AFD) Mtodos para comprobar si 2 autmatas son equivalentes: Algoritmo para comprobar la equivalencia de AFDs - Se hace la suma directa de los dos AFDs - Se hace Q/E del AFD suma
- Si los dos estados iniciales estn en la misma clase de equivalencia de Q/E los 2 AFDs son equivalentes. En los proximos das seguiremos dando informacin acerca de los autmatas finitos deterministas.
b. Para identificar cuando en un ejercicio se hace referencia al teorema de bayes, hay que partir de reconocer esta es una probabilidad condicionada y que la caracterstica comn de los sucesos condicionantes ya ha ocurrido. Entonces, la probabilidad de que sea nia una infante menor de 24 meses ser:
EJEMPLO 2
Un mdico cirujano se especializa en cirugas estticas. Entre sus pacientes, el 20% se realizan correcciones faciales, un 35% implantes mamarios y el restante en otras cirugas correctivas. Se sabe adems, que son de genero masculino el 25% de los que se realizan correcciones faciales, 15% implantes mamarios y 40% otras cirugas correctivas. Si se selecciona un paciente al azar, determine: a. Determine la probabilidad de que sea de gnero masculino b. Si resulta que es de gnero masculino, determine la probabilidad que se haya realizado una ciruga de implantes mamarios. SOLUCIN: Se definen los sucesos: Suceso F: pacientes que se realizan cirugas faciales Suceso M: pacientes que se realizan implantes mamarios Suceso O: pacientes que se realizan otras cirugas correctivas Suceso H: pacientes de gnero masculino a. La probabilidad de que sea de gnero masculino se refiere a un problema de probabilidad total, ya que es el suceso condicionado y las cirugas los condicionantes. Dicho valor ser:
b. Como el suceso condicionado ha ocurrido entonces se aplica el teorema de bayes, luego, el valor de la probabilidad ser:
EJEMPLO 3
Un Doctor dispone de tres equipos electrnicos para realizar ecosonogramas. El uso que le da a cada equipo es de 25% al primero, 35% el segundo en y 40% el tercero. Se sabe que los aparatos tienen probabilidades de error de 1%, 2% y 3% respectivamente. Un paciente busca el resultado de una ecografa y observa que tiene un error. Determine la probabilidad de que se ha usado el primer aparato. SOLUCIN: Se definen los sucesos: Suceso P: seleccionar el primer aparato Suceso S: seleccionar el segundo aparato Suceso T: seleccionar el tercer aparato Suceso E: seleccionar un resultado con error Se puede observar que la pregunta es sobre determinar la probabilidad de que un examen errado sea del primer aparato, es decir, ya ha ocurrido el error. Por lo tanto, debemos recurrir al teorema de bayes. Claro est, que es necesario de igual forma obtener la probabilidad de que los aparatos produzcan un resultado errneo, por lo tanto:
donde
es un alfabeto. es un conjunto finito no vaco de estados, es decir, es (una de las dos definiciones, que entre si son equivalentes)
o o
una relacin, es decir o una funcin, es decir, conjunto de las partes de siendo el
o o
Representamos la funcin tambin con una tabla, solo que ahora aparece ms de un estado en cada celda de la tabla, por eso usamos la notacin de conjuntos:
Ampliamos de nuevo
es decir, coincide con para smbolos del alfabeto y en general enumera los estados alcanzables con tal palabra. Un autmata finito no-determinista palabra de transicin si . acepta , si contiene un estado final del es el donde acepta una es la ampliacin de la relacin
El lenguaje aceptado por un autmata finito no-determinista conjunto de palabras aceptadas por :