Está en la página 1de 9

ITSUR

Autmatas Finitos
Leguajes de autmatas
Antonio Alcntar Soria

2013

AUTMATAS FINITOS 1. INTRODUCCIN Los autmatas son mecanismos formales para las gramticas y lenguajes. En 1936 Turing desarrollo lo que se puede llamar primer autmata: la mquina de Turing. Podra visualizrsele como un tocacintas sofisticado con una cinta arbitrariamente infinita. La cinta se marca en secciones de tal manera que en cada seccin se puede almacenar un bit de informacin. La cabeza es un mecanismo que se mueve a travs de la cinta con la capacidad de leer o escribir sobre est. Cuenta tambin con un mecanismo de control colocado en la cabeza de la cinta, que informa qu acciones tomar dependiendo de la lectura de cada bit de informacin. Sus caractersticas y conducta de la mquina de Turing la calificaron como lo que se le lleg a conocer una Mquina de Estados Finitos (MEF), tambin se le podra concebir como un Autmata Finito (AF). Este artefacto es asombrosamente simple y asume que nuestro universo es granular; es decir, que se mueve en pasos discretos de tiempo aun cuando stos pudieran ser imaginados tan pequeos como se quisiera, incluso en miles de millonsimas de segundo. Durante cualquiera de esas instancias, un AF se encontrara en un cierto estado describible. La descripcin podra ser extremadamente intrincada o sumamente simple; la nica limitacin consista en que debera encontrarse necesariamente dentro de un conjunto finito de estados posibles (Est nmero podr ser muy elevado, pero no infinito). Entre el instante inicial y el siguiente paso de tiempo discreto, el AF, usando cualquier tipo de informacin sensorial que cualquier mquina particular pudiera tener disponible, tomara nota del mundo externo. Acto seguido, refirindose a la 'tabla de reglas' que controla la conducta, el AF considerara tanto la informacin sensorial como su propio estado interno para determinar tanto la conducta que la mquina debera exhibir como el estado interno que debera asumir en ese instante. Turing prob que una mquina tal, la mquina universal de Turing, sera tambin una computadora universal (Se realiz una prueba matemtica especfica que determin esta cualidad). Esto significa que, dado el tiempo suficiente, podra

emular cualquier mquina cuya conducta fuera susceptible de ser descrita de esta suerte. Turing y su colaborador, el filsofo Alonzo Church, presentaron posteriormente la Hiptesis Fsica Church-Turing, donde planteaban que tal mquina podra duplicar no slo las funciones de las mquinas matemticas, sino tambin las funciones de la naturaleza. Como en el campo de la lgica se comprob que todas las computadoras digitales eran el equivalente de la mquina de Turing, se les calific entonces como computadoras universales.

AUTMATAS FINITOS 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. En los trabajos anteriores qued establecido, que un analizador lxico reconoca tokens, mediante un monitoreo de izquierda a derecha del programa fuente. Para hacer esta tarea menos difcil, utilizbamos las expresiones regulares para la especificacin de los patrones o reglas que cumplen los tokens. Los autmatas finitos son las herramientas empleadas como reconocedores de tokens.

Un autmata finito es capaz de reconocer un conjunto regular, es decir, un conjunto de cadenas denotado por cualquier expresin regular. Recordemos que una expresin regular de nota a un lenguaje regular. Un autmata finito es un reconocedor para un lenguaje, su programacin no es una tarea compleja, su entrada es una cadena x y responde si si x es una sentencia del lenguaje, no de otra manera.

CLASIFICACIN: Formalmente, un autmata finito (AF) puede ser descrito como una 5-tupla Q, , , S0 ,F .

Existen tres tipos de autmatas finitos: A. Autmata Finito Determinstico Es un modelo matemtico que consiste de: Un conjunto de estados, denominado S. Un conjunto (alfabeto) de smbolos de entrada, denominado . Una funcin de transicin move que mapea un par P ( s , a ) a un estado t. s y t son estados contenidos en S, a es un smbolo de entrada. Un estado de inicio, denotado por s0. Un conjunto de estados de aceptacin (finales), denotado por F.

Adems, un autmata finito determinstico AFD debe cumplir con las siguientes caractersticas: a) No hay transiciones etiquetadas por . b) Para cada estado s y un smbolo de entrada a, existe a lo ms un arco etiquetado por a saliendo de s.

Ejemplo: El AFD que reconoce al token id identificador en Pascal es mostrado en la FIG. 3. La definicin regular es:

Un autmata es una representacin grfica que muestra el proceso de reconocimiento de una cadena de entrada. La simbologa utilizada es simple mostrada en la Fig 4:

De acuerdo a la notacin anterior, obtendremos los componentes del AFD: El conjunto de estados del autmata AFD es : S = { 0 , 1 } El conjunto o alfabeto de smbolos de entrada, se obtiene de los arcos a del AFD.

Es decir el alfabeto es el conjunto de las letras maysculas y minsculas, unidas a los dgitos y el smbolo de subrayado ( _ ). move es realmente una tabla de transicin, donde los renglones son los estados y las columnas son smbolos de entrada.

La construccin de la tabla de transicin -funcin move- se inicia identificando los estados que tienen al menos un arco que salga de ellos. Para nuestro ejemplo el estado 0 (cero) tiene un arco etiquetado por Letra que sale de l, y el estado 1 tiene 3 arcos: Letra, Dig y Sub. Los estados que tengan esta caracterstica son aadidos como los renglones en la tabla. En las columnas debemos ubicar a todos los posibles smbolos del alfabeto que pueden ocurrir, al efectuar una lectura en la entrada (cadena). En nuestro caso son: Letra, Dgito y Subrayado. Las caractersticas que adems debe cumplir el AFD son: a) No arcos . Si se cumple, dado que no existe un solo arco etiquetado con en el diagrama del AFD. b) De los estados 0 y 1, se observan slo arcos etiquetados en forma nica. Nunca se repite una etiqueta para dos o ms arcos saliendo de un estado.

Autmata Finito No Determinstico

Un autmata finito no determinstico es un modelo matemtico que consiste de: Un conjunto de estados, S.

Un conjunto de smbolos de entrada, (alfabeto). Una funcin de transicin denominada move, que mapea pares, p (s, a) hacia un conjunto de estados. s es un estado y a es un smbolo en la entrada. Un estado de inicio denotado por s0. Un conjunto de estados de aceptacin, denotado por F. Adems, un AFND tiene como caracterstica que lo diferencia de un AFD, permitir el uso de arcos etiquetados por el smbolo 4.

La caracterstica de donde toma el nombre un AFND, consiste en que su funcin de transicin move, mapea los pares p ( s , a ) hacia un conjunto de estados a diferencia q un AFD mapea los pares p(s,a) a un slo estado. Qu significa lo anterior ?. Significa que un AFND que se encuentra en un estado s y para un smbolo en la entrada a, pueden existir ms de un arcos etiquetados con el smbolo a saliendo del estado s, Fig 5. Por lo tanto no est determinada la transicin.

En la Fig 5 se muestra el AFND para la expresin regular a move (1, a) se define como:

. La funcin

move ( 1 , a ) = { 1 , 2 } y move ( 2 , b ) = { 2 , 3 }

Los componentes del AFND de la Fig .5 son: El conjunto de estados S = {1, 2, 3} Estado inicial s0 = 1 y slo hay un estado de aceptacin F = { 3 }. El alfabeto de entrada es = {a, b}. S, s0, F y son obtenidos directamente del diagrama que representa el AFND. La tabla de transicin es:

CONCLUSIONES

La ventaja de las expresiones regulares, es que basta con una sola expresin para describir un lenguaje, frente a tablas de transiciones o reglas de reescritura. Respecto a los AFN podemos tener una adecuacin de la estructura del autmata a la estructura del L (a la e.r. que lo caracteriza) y un menor nmero de estados frente al AF correspondiente. De un AFND se puede construir siempre uno equivalente que cumpla el determinismo, evitando ramificaciones y retrocesos, pero lo que no se puede es mejorar las tcnicas basadas en AFD.

Existen conjuntos de cadenas que no pueden ser identificados por los autmatas finitos deterministas, y por lo tanto nuestras tcnicas de anlisis lxico no pueden reconocerlos.

REFERENCIAS BIBLIOGRFICAS [1] J. Glenn Brookshear. Theory of Computation. Formal Languages, Automata, and Complexity The Benjamin/Cummings Publishing Company, Inc. 1989 [2] J. E. Hopcroft, R. Motwani, J. D. Ullman. Introduccin a la Teora de Autmatas, Lenguajes y Computacin Addison Wesley Longman, Pearson Education Company, Segunda Edicin 2001. [3] John C. Martin. Introduction to Languages and the theory of Computation WCB/McGraw-Hill, Second Edition. 1996. [4] Michael Sipser. Introduction to the theory of Computation PWS Publishing Company, 1997. [5] Dean Kelly.Teora de Autmatas y Lenguajes Formales Prentice-Hall, 1998. [6] Pedro Garca, Toms Perez, etc.Teora de Autmatas y Lenguajes Formales. Alfaomega Grupo Editor. 2001

También podría gustarte