AUTOMATAS FINITOS

download AUTOMATAS FINITOS

of 17

description

DEFINICIÓN FORMAL

Transcript of AUTOMATAS FINITOS

TECNOLGICO DE ESTUDIOS SUPERIORES DE CUAUTITLN IZCALLI

FORMATO DE ENTREGA DE EVIDENCIAS

Cdigo: FO-205P11000-XX

Pgina 6de18

DIVISIN.INGENIERA EN SISTEMAS COMPUTACIONALESGRUPO. 352 - M

ASIGNATURA. LENGUAJES Y AUTMATAS IDOCENTE.-

NOMBRE DEL ALUMNO.NO. DE CONTROL.FECHAN ACTIVIDAD

ARCINIEGA SOTO GERARDORAMIREZ OSORIO MARIO ALBERTO

PRODUCTO.UNIDAD 3CALIFICACIN Y FIRMA DEL PROFESOR.

TECNOLOGICO DE ESTUDIOS SUPERIORES DE CUAUTITLAN IZCALLI

AUTOMATAS FINITOS

ARCINIEGA SOTO GERARDORAMIREZ OSORIO MARIO ALBERTO

352-M

CARRERA:

ING. SISTEMAS COMPUTACIONALES

MATERIA:

LENGUAJES Y AUTOMATAS

INDICE

DEFINICION FORMAL3

CLASIFICACION DE LOS AUTOMOTAS FINITOS4

CONVERSION DE UN AFND A UN AFN7

REPRESENTACIN DE EXPRESIN REGULAR USANDO AUTMATAS FINITOS NO DETERMINISTAS (ER-AFND)11

MINIMIZACIN DE ESTADOS DE AUTMATA FINITO (AF)14

APLICACIONES (DEFINICIN DE UN CASO DE ESTUDIO)15

UNIDAD 3 AUTOMATAS FINITOS

3.1 DEFINICION FORMAL.

Un autmata finito o mquina de estado finito es un modelo matemtico de un sistema que recibe una cadena constituida por smbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autmata reconoce. stos se definen mediante una quntupla (E, Q, f, q0, F ) donde:E: alfabeto de entrada.Q: conjunto de estados; es conjunto finito no vaco.f: funcin de transicin. f(p,a)=qq0 : (perteneciente a Q) estado inicial.F: (perteneciente a Q) conjunto de estados finales o de aceptacin.

3.2 CLASIFICACION DE LOS AUTOMATAS FINITOS.Es un dispositivo que puede estar en un estado de entre un nmero finito de los mismos;uno de ellos ser el estado inicial y por lo menos uno ser estado de aceptacin.Tiene un flujo de entrada por el cual llegan los smbolos de una cadena que pertenecen a un alfabetodeterminado.Se detecta el smbolo y dependiendo de este y del estado enque se encuentre har una transicin a otro estado o permanece en el mismo.

Porqu finito:Se refiere que hay un conjunto finito de estados.Porque determinista: La palabra determinista es porque el programa no debe tener ambigedades, es decir, en cada estado solo se puede dar una y solo una (ni dos ni ninguna) transicin para cada smbolo posible.El autmata acepta la cadena de entrada si la mquina cambia a un estado de aceptacin despus de leer el ltimo smbolo de la cadena. Si despus del ltimo smbolo la mquina no queda en estado de aceptacin, se ha rechazado la cadena. El autmata acepta la cadena de entrada si la mquina cambia a un estado de aceptacin despus deleerel ltimo smbolo de la cadena.Si despus del ltimo smbolo la mquina no queda en estado de aceptacin, se ha rechazado la cadena.Tuplas de autmatas finitos

El diagrama determinista estar caracterizado porque debe estar totalmente definido:Para cada estado solo debe salir un arco y solo uno para cada smbolo (el autmata no puede determinar la transicin en el caso de que haya dos arcos con el mismo smbolo o no haya ninguno).

Simbologa de los autmatas finitos

Segundo ejemplo de autmatas finitos El alfabeto S = { a, b, c } Reconoce la cadena c La cadena a Las cadenas que empiezan por a y acaban en a o en b y Las que empiezan por a, seguidas de una serie de a de b y acaban en c

3.3 Conversin de un AFND- a un AFDLa conversin de un AFND- en un AFND se basa en el concepto de clausura-, que corresponde a una clausura transitiva contextualizada en la teora de autmatas.

AFND inicial

Proceso de conversin

AFND final

Dado un estado q, se llama clausura-(q) al conjunto de todos los estados a los que se puede acceder a partir de q, procesndose a lo ms un nico smbolo de la entrada. Puede definirse recursivamente de la siguiente manera: 10Para todo estado q, q clausura-(q).Dados dos estados p y r, si p clausura-(q) y r (p,), entonces r clausura-(q).El algoritmo para eliminar las transiciones vacas es el siguiente:AFND inicialAFD caso particular de la conversin

Se calcula la clausura- del estado inicial, formndose un conjunto A que corresponder al estado inicial del nuevo autmata.Para cada smbolo del alfabeto, se verifican los estados alcanzables a partir de algn estado contenido en A, y se calcula la clausura- de dichos estados alcanzables. Si dichas clausuras producen nuevos conjuntos distintos de A, estos sern nuevos estados a los que se acceder a partir de A y del smbolo correspondiente.Se repite lo anterior para cada nuevo conjunto, hasta que no existan transiciones posibles para ningn smbolo del alfabeto.

EjemploEliminacin de las transiciones vacas de un AFND-.AFND- inicial.AFND- inicial.En este caso se obtiene un AFD, que es un caso particular de AFND.En este caso se obtiene un AFD, que es un caso particular de AFND.En el ejemplo de la figura, se tendr inicialmente:

Clausura- (1) = {1,2,3,4,6} = APara A:Para el smbolo a: 4 va a 5, y clausura-(5) = {5,7} = B.Para el smbolo b: no existen transiciones posibles.Para B:Para el smbolo a: no existen transiciones posibles.Para el smbolo b: 5 va a 6, y clausura-(6) = {6} = C.Para C:Para el smbolo a: no existen transiciones posibles.Para el smbolo b: no existen transiciones posibles.Con esto concluye el algoritmo y se obtiene el autmata de la figura.

En algunos casos puede ocurrir que al quitar las transiciones psilon obtengamos directamente un AFD, pues la nica razn de no-determinismo era justamente la presencia de dichas transiciones.Conversin de un AFND a un AFD.AFND inicial.AFND inicial.Proceso de conversin.Proceso de conversin.AFD final.AFD final.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 conversin 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.

Para definir el AFD intermedio, se deben seguir los siguientes pasos:Primero se redefine el conjunto de estados QN = {q0, q1, ..., qm} original, como uno conformado por todos los subconjuntos de QN. Los nuevos estados finales sern todos aquellos estados que contengan a alguno de los estados finales originales.

Posteriormente, se redefine el conjunto de transiciones original, por transiciones del tipo D(S,a), donde a, y S es la unin de todos los estados q de QN para los cuales exista la transicin N(q,a).Por ltimo, se eliminan los estados inaccesibles o inalcanzables (junto con sus transiciones de salida), es decir, aquellos a los que no se puede acceder a partir del estado inicial. Luego de esta depuracin, se obtiene el AFD final.

EjemploEn las figuras de ejemplo, como el AFND inicial posee tres estados (q0, q1, q2), entonces el AFD intermedio poseer siete ({q0}, {q1}, {q2}, {q0, q1}, {q0, q2}, {q1, q2}, {q0, q1, q2}), y como el estado final original era q2, entonces los estados finales del AFD intermedio son {q2}, {q0, q2}, {q1, q2} y {q0, q1, q2}. Con respecto a las nuevas transiciones, note por ejemplo que se mantuvo la transicin N(q0,1)=q0, siendo ahora llamada D({q0},1)={q0}; sin embargo, dado que originalmente se daba que N(q0,0)=q0 y N(q0,0)=q1, ahora estas dos transiciones fueron reemplazadas por D({q0},0)={q0, q1}. Para terminar, note que los estados {q1}, {q2} y {q1, q2} no estn conectados con el resto del autmata que posee el estado inicial; por tanto, son eliminados. Asimismo es eliminado tambin {q0, q1, q2}, pues a pesar de estar conectado con el resto del autmata, no es accesible a partir de {q0}. As finalmente, eliminando estos cuatro estados, as como sus respectivas transiciones, se obtiene el AFD buscado.

3.4 Representacin de expresin regular usando autmatas finitos no deterministas (ER-AFND)ERs, AFDs y AFNDs son mecanismos equivalentes para denotar los lenguajes regulares. En estas tres secciones demostraremos esto mediante convertir ER AFND AFD ER. Las dos primeras conversiones son muy relevantes en la prctica, pues permiten construir verificadores o buscadores eficientes a partir de ERs.

Definicin La funcin Th convierte ERs en AFNDs segn las siguientes reglas.Prueba Es fcil verificarlo por inspeccin y aplicando induccin estructural. La nica parte que puede causar problemas es la clausura de Kleene, donde otros esquemas alternativos que podran sugerirse (por ejemplo M = (K1, , 1 {(f1, , s1), (s1, , f1)}, s1, {f1}) tienen el problema de permitir terminar un recorrido de Th(E1) antes de tiempo. Por ejemplo el ejemplo que acabamos de dar, aplicado sobre E1 = a b, reconocera la cadena x = aa.

Representacin de la expresin regular

Existen algoritmos que relacionan la especificacin de tokens -expresiones regulares-, con el reconocimiento de estos -autmatas finitos-. Es posible dada una expresin regular obtener el AFD que reconozca las cadenas del lenguaje denotado por la expresin regular. Tambin es posible obtener el AFND que reconozca el lenguaje representado por dicha expresin regular. El algoritmo que permite construir el autmata finito determinstico est fuera del alcance de estas notas ( el alumno no tiene los prerrequisitos para su estudio en este curso). Sin embargo, el algoritmo utilizado para la construccin del autmata finito no determinstico AFND, es relativamente sencillo de aplicar, ya que se basa en reglas simples. Existen muchas variantes de este algoritmo denominado Algoritmo de Thompson.

Este algoritmo es dirigido por sintaxis, es decir, usa la estructura sintctica de la expresin regular para guiar el proceso de construccin del autmata AFND. Supongamos que N(s)y N(t)son AFNDs para las expresiones regulares sy t, respectivamente. a) Para la expresin regular s | t(alternancia), construir el siguiente AFND, N(s|t) :

b) Para la expresin regular st(concatenacin), construir el AFND, N(st) :

c) Para la expresin regular s*, construir el AFND, N(s*) :

3.5 Minimizacin de estados de autmata finito (AF).Dos estados de un autmata finito determinista son estados equivalentes si al unirse en un slo estado, pueden reconocer el mismo lenguaje regular que si estuviesen separados. Esta unin de estados implica la unin tanto de sus transiciones de entrada como de salida. Si dos estados n o son equivalentes, se di ce que son estados distinguibles. Un estado final con un estado no- final nunca sern equivalentes.

Un AFD est minimizado, si todos sus estados son distinguibles y alcanzables. Un algoritmo de minimizacin de AFD es el siguiente: 1. Eliminar los estados inaccesibles es del autmata. 2. Construir una tabla con todos los pares (p, q) de estados restantes. 3. Marcar en la tabla aquellas entradas donde un estado es final y el otro es no-final, es decir, aquellos pares de estados que son claramente distinguibles. 4. Para cada par (p, q) y cada smbolo a del alfabeto, tal quer = (p,a) y s = (q,a):Si (r, s) ya ha sido marcado, entonces p y q tambin son distinguibles, por lo tanto marcar la entrada (p, q). 2.

De lo contrario, colocar (p, q) en una lista asociada a la entrada (r, s). 5.-Agrupar los pares de estados no marcados. Luego del tercer paso, si la tabla creada queda completamente marcada, entonces el AFD inicial ya era mnimo. La complejidad computacional del problema de minimizar u n AFD es polinomio. De hecho, existen algoritmos ms eficientes an que el mostrado en este artculo (aunque menos intuitivos). Sin embargo, el problema de minimizar un autmata finito no determinista es NP- completo y PSPACE- completo.

3.6 Aplicaciones (Definicin de un caso de estudio)Construccin del vehculo evasor de obstculos.Uno de los primeros trabajos que comenzaron a formalizar la dinmica de robots mviles es (Crowley, 1989) en el que se utilizan dispositivos ultrasnicos en el vehculo para su posicionamiento y orientacin. En (Maes, 1990) se muestra un estudio del comportamiento de robots autnomos y se divide en construccin de mapas, exploracin, transitar y evasin de obstculos. En (Seng, 1997) se plantea como una de las mayores problemticas de la navegacin robtica la localizacin y se proponen los pasos claves para el diseo, calibracin y modelado de autmatas.

Hay otros autores que refuerzan la evasin de objetos o desarrollo de trayectorias mediante tcnicas de navegacin como son: navegacin inercial, compases magnticos y triangulacin. (Borenstein, 1997). (Betke, 1997) considera que el autmata puede reconocer marcas especificas en el medio por el cual se desplaza usando reconocimiento de patrones visuales. La localizacin robtica as como la evasin de obstculos del autmata, ha llegado a ser uno de los problemas fundamentales en los robots mviles, y por ello, en (Fox, 1999) se presenta una versin de la localizacin Markov, en donde la idea principal es mantener una densidad de probabilidad sobre el espacio de todas las localizaciones posibles de un robot en su entorno.

El Vehculo Evasor de Obstculos (VEO de aqu en adelante) obtiene informacin del medio por el cual transita a travs de unos fotodiodos y unas fotorresistencias que actan como sensores, estos sensores arrojan como resultado niveles de voltaje que varan en proporcin directa con la proximidad al obstculo, los niveles de voltaje despus de pasar por un comparador de niveles se convierten en niveles digitales, los cuales determinan una direccin especifica al actuar como entradas en el bus de direcciones de una memoria RAM, la cual se ha cargado con un programa, que contiene instrucciones precisas para lograr la evasin de obstculos, estas instrucciones que provienen del bus de datos de la memoria RAM, controlan directamente 2 dispositivos transistorizados conocidos como puentes H, los cuales interactan directamente con los motores de direccin del vehculo, indicndoles la accin de giro y por tanto ejecutando los diferentes movimientos para los cuales se dise VEO.

Es necesario por tal motivo presentar el programa que se carg en la memoria RAM segn (Catlogo, 2010), lo cual representa el punto de partida para definir el alfabeto que se emplea para la descripcin de la dinmica de VEO a travs de autmatas finitos. En la figura 5 se puede observar la apariencia fsica del vehculo evasor de obstculos.Figura 5. Vehculo Evasor de Obstculos (VEO).

La forma en que se encuentran distribuidos los cuatro sensores en el vehculo se puede apreciar en la figura 2, donde cada uno de los sensores establece un bit en el bus de direcciones de la memoria RAM, teniendo por consecuencia 2 direcciones definidas en la memoria. El sensor 4 establece el primer bit de izquierda a derecha en el bus de direcciones, es decir el bit menos significativo, el sensor 3 establece el segundo bit, el sensor 2 el tercer bit, y el sensor 1 el cuarto bit, es decir el ms significativo.Cabe mencionar que bajo ninguna presencia de obstculo los sensores arrojan de manera permanente un bit en estado 0 hacia el bus de direcciones de la memoria, pero con la presencia de un obstculo, estos arrojan un bit en estado 1. La presencia de un obstculo en el sensor 1 arrojara como resultado la secuencia de bits 1000 por ejemplo (ver figura 5).

REFERENCIAS BIBLIOGRAFICAS.

M. Alfonseca, J. Sancho, M. Martnez Orga.Teora de Lenguajes, Gramticas y Autmatas, Ediciones Universidad y Cultura, 1990.P. Isasi, P. Martnez, D. Borrajo.Lenguajes, gramticas y autmatas. Un enfoque prctico, Addison-Wesley, 1997.J.E. Hopcroft, R. Motwani, J.D. Ullman.Introduccin a la Teora de Autmatas, Lenguajes y Computacin, 2 edicin, Addison-Wesley Iberoamericana, 2002.P. Linz.An Introduction to Formal Languages and Automata, Jones and Barlett Publishers, 1997.J.G. Brookshear.Teora de la computacin, lenguajes formales, autmatas y complejidad, Addison-Wesley Iberoamericana, 1993.