Вы находитесь на странице: 1из 15

Autmata finito

Un autmata finito (AF) o mquina de estado finito es un modelo computacional que realiza cmputos en forma automtica sobre una entrada para producir una salida. Este modelo est conformado por un alfabeto, un conjunto de estados y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una funcin de transicin, que recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autmata se desplaza de un estado a otro, para finalmente detenerse en un estado final o de aceptacin, que representa la salida. La finalidad de los autmatas finitos es la de reconocer lenguajes regulares, que corresponden a los lenguajes formales ms simples segn la Jerarqua de Chomsky.
ndice
[ocultar]

1 Historia 2 Definicin formal

o o o o

2.1 Representacin como diagramas de estados 2.2 Representacin como tabla de transiciones 2.3 Funcionamiento 2.4 Generalizacin de la funcin de transicin

3 Autmata finito determinista 4 Autmata finito no determinista 5 Equivalencias entre autmatas finitos

o o

5.1 Conversin de un AFND- a un AFND 5.2 Conversin de un AFND a un AFD

5.3 Minimizacin de un AFD

6 Generalizaciones de autmatas finitos 7 Vase tambin 8 Referencias

8.1 Bibliografa

9 Enlaces externos

[editar]Historia

El modelo neuronal de McCulloch-Pitts tambin utiliza diagramas con estados y transiciones, adems de los conceptos de entrada y salida.

El origen de los autmatas finitos probablemente se remonta a su uso implcito en mquinas electromecnicas, desde principios del siglo XX.1 Ya en 1907, el matemtico ruso Andri Mrkovformaliz un proceso llamado cadena de Markov, donde la ocurrencia de cada evento depende con una cierta probabilidad del evento anterior.2 Esta capacidad de "recordar" es utilizada posteriormente por los autmatas finitos, que poseen una memoria primitiva similar, en que la activacin de un estado tambin depende del estado anterior, as como del smbolo o palabra presente en la funcin de transicin. Posteriormente, en 1943, surge una primera aproximacin formal de los autmatas finitos con el modelo neuronal de McCulloch-Pitts. Durante la dcada de 1950 prolifera su estudio, frecuentemente llamndoseles mquinas de secuencia; se establecen muchas de sus propiedades bsicas, incluyendo su interpretacin como lenguajes regulares y su equivalencia con las expresiones regulares.1Al final de esta dcada, en 1959, surge el concepto de autmata finito no determinista en manos de los informticos tericos Michael O. Rabin y Dana Scott.3 En la dcada de 1960 se establece su conexin con las series de potencias y los sistemas de sobreescritura.4 Finalmente, con el desarrollo del sistema operativo Unix en la dcada de 1970, los autmatas finitos encuentran su nicho en el uso masivo de expresiones regulares para fines prcticos, especficamente en el diseo de analizadores lxicos (comando lex) y la bsqueda y reemplazo de texto (comandos ed y grep).5 A partir de ese tiempo, los autmatas finitos tambin se comienzan a utilizar en sistemas dinmicos.1

[editar]Definicin

formal

Formalmente, un autmata finito es una 5-tupla (Q, , q0, , F) donde:6

es un conjunto finito de estados; es un alfabeto finito; es el estado inicial; es una funcin de transicin; es un conjunto de estados finales o de aceptacin.

[editar]Representacin

como diagramas de estados

Este autmata finito est definido sobre elalfabeto ={0,1}, posee dos estados s1 y s2, y sus transiciones son (s1,0)=s2, (s1,1)=s1, (s2,0)=s1 y (s2,1)=s2. Su estado inicial es s1, que es tambin su nico estado final.

Los autmatas finitos se pueden representar mediante grafos particulares, tambin llamados diagramas de estados finitos, de la siguiente manera:

Los estados Q se representan como vrtices, etiquetados con su nombre en el interior. Una transicin desde un estado a otro, dependiente de un smbolo del alfabeto, se representa mediante una arista dirigida que une a estos vrtices, y que est etiquetada con dicho smbolo.

El estado inicial q0 se caracteriza por tener una arista que llega a l, proveniente de ningn otro vrtice.

El o los estados finales F se representan mediante vrtices que estn encerrados a su vez por otra circunferencia.

[editar]Representacin

como tabla de transiciones

Artculo principal: Tabla de transicin de estados.

Otra manera de describir el funcionamiento de un autmata finito es mediante el uso de tablas de transiciones o matrices de estados. Dos posibles tablas para el ejemplo de la imagen anterior podran ser las siguientes:

0 1 salida smbolo llegada q Q (q,) Q *s1 s2 s1

s1

s2

s2 s1 s2

s1

s1

s2

s1

s2

s2

La primera representa explcitamente los parmetros y el valor que toma cada ocurrencia de la funcin de transicin.7 La segunda es ms compacta, y marca con una flecha el estado inicial, y con un asterisco los estados finales.

[editar]Funcionamiento

El esquema general es el de una cinta lectora que avanza slo hacia delante y de a una celda, segn la funcin de transicin.

En el comienzo del proceso de reconocimiento de una cadena de entrada, el autmata finito se encuentra en el estado inicial y a medida que procesa cada smbolo de la cadena va cambiando de estado de acuerdo a lo determinado por la funcin de transicin. Cuando se ha procesado el ltimo de los smbolos de la cadena de entrada, el autmata se detiene en el estado final del proceso. Si el estado final en el que se detuvo es un estado de aceptacin, entonces la cadena pertenece al lenguaje reconocido por el autmata; en caso contrario, la cadena no pertenece a dicho lenguaje. Note que el estado inicial de un autmata finito siempre es nico, en tanto que los estados puede contener ms de un elemento.

finales pueden ser ms de uno, es decir, el conjunto

Tambin puede darse el caso de que un estado final corresponda al mismo estado inicial.

[editar]Generalizacin

de la funcin de transicin

Si es un alfabeto, entonces se denota * al conjunto de todas las cadenas de caracteres o palabras que se pueden conformar con dicho alfabeto. Una funcin de transicin se puede generalizar a una funcin *, que opera sobre estados y secuencias de smbolos, en lugar de smbolos individuales del alfabeto. As, esta nueva funcin de

transicin se define abreviada y sin perder expresividad.6

, permitiendo caracterizar los autmatas de manera ms

La funcin * puede expresarse tambin de manera recursiva, definiendo para toda cadena x *, todo smbolo a , y un estado q Q:6

, que es la base inductiva, siendo la cadena vaca, y , que es la induccin propiamente tal.

Se llama configuracin de un autmata finito a un "instante" en el cmputo de la mquina; es decir, al estado actual en que se encuentra dicho cmputo, junto con la palabra que ha sido procesada hasta ese momento. Formalmente, se define como un par ordenado (q, x) Q *. De este modo, se puede definir adems la configuracin inicial del autmata, como el par (q0,x), donde x es la entrada; y la configuracin final, como el par (q,), con q F. De este modo, el lenguaje regular aceptado por un autmata finito A puede denotarse como L(A) = {w; *(q0,w) F}, es decir, como el conjunto de todas las configuraciones iniciales que conllevan a estados finales.

[editar]Autmata

finito determinista

AFD que reconoce el lenguaje regularconformado exclusivamente por las cadenas con un nmero par de ceros y par de unos. Artculo principal: Autmata finito determinista.

Un autmata finito determinista (abreviado AFD) es un autmata finito que adems es un sistema determinista; es decir, para cada estado q Q en que se encuentre el autmata, y con cualquier smbolo a del alfabeto ledo, existe siempre a lo ms una transicin posible (q,a). En un AFD no pueden darse ninguno de estos dos casos:

Que existan dos transiciones del tipo (q,a)=q1 y (q,a)=q2, siendo q1 q2;

Que existan transiciones del tipo (q,), salvo que q sea un estado final, sin transiciones hacia otros estados.

Un ejemplo interesante de autmatas finitos deterministas son los tries.

[editar]Autmata

finito no determinista

AFND con transiciones (q0,b)=q0 y (q0,b)=q1, que acepta el lenguaje regular sobre el alfabeto {a,b} conformado por todas las palabras que terminan en b; es decir, que equivale a la expresin regular (a|b)*b+.

AFND- a cuyo estado 2 se puede acceder pasando por el estado 3, sin procesar smbolos de entrada. Artculo principal: Autmata finito no determinista.

Un autmata finito no determinista (abreviado AFND) es aquel que, a diferencia de los autmatas finitos deterministas, posee al menos un estado q Q, tal que para un smbolo a del alfabeto, existe ms de una transicin (q,a) posible. Haciendo la analoga con los AFDs, 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 transiciones vacas o transiciones (abreviado AFND-). Estas transiciones permiten al autmata cambiar de estado sin procesar ningn smbolo de entrada. Formalmente, se distingue de la 5-tupla que define a un autmata finito determinista en su funcin de transicin. Mientras en un AFD esta funcin se define de la siguiente manera:

en un AFND se define como:

Para el caso de los AFND-, se suele expresar la funcin de transicin de la forma:

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 estar en varios estados a la vez, generndose una ramificacin de las configuraciones existentes en un momento dado. Otra interpretacin puede ser imaginar que la mquina "adivina" a qu estado debe ir, eligiendo una transicin entre varias posibles. Note finalmente que en un autmata finito no determinista podemos aceptar la existencia de ms de un nodo inicial, relajando an ms la definicin original.

[editar]Equivalencias

entre autmatas finitos

Se dice que dos autmatas finitos son equivalentes, si ambos reconocen el mismo lenguaje regular. Toda expresin regular (que define a su vez un lenguaje regular) puede ser expresada como un autmata finito determinista,8 y viceversa.9 Dada una expresin regular, es posible construir un AFND-que reconozca dicho lenguaje, por ejemplo mediante el algoritmo de Thompson. Luego, todo AFND- puede transformarse en un AFND equivalente, as como todo AFND puede transformarse en un AFD equivalente, mediante el mtodo llamado construccin de conjunto potencia. As, por transitividad, para cualquier autmata finito no determinista siempre existe un autmata finito determinista equivalente, y viceversa.3 Normalmente en el diseo de autmatas finitos, lo primero que se hace es construir un AFND-, que es el ms sencillo de construir, por poseer menos restricciones en su funcin de transiciones. Luego dicho autmata se reduce a un AFND, y finalmente a un AFD, el cual por sus caractersticas deterministas ya puede ser implementado sin problemas utilizando un lenguaje de programacin.

[editar]Conversin

de un AFND- a un AFND

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

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

(Base inductiva) Para todo estado q, q clausura-(q). (Induccin) 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: 1. Se calcula la clausura- del estado inicial, formndose un conjunto A que corresponder al estado inicial del nuevo autmata. 2. 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. 3. Se repite lo anterior para cada nuevo conjunto, hasta que no existan transiciones posibles para ningn smbolo del alfabeto. Ejemplo
Eliminacin de las transiciones vacas de unAFND-.

AFND- inicial.

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} = A Para 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.

[editar]Conversin

de un AFND a un AFD

Artculo principal: Construccin de subconjuntos.

Conversin de un AFND a un AFD.

AFND inicial.

Proceso de conversin.

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: 1. 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. 2. 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). 3. 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. Ejemplo En 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.

[editar]Minimizacin

de un AFD

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 no son equivalentes, se dice 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. 2. 3.

Eliminar los estados inaccesibles del autmata. Construir una tabla con todos los pares (p, q) de estados restantes. 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 que r = (p,a) y s = (q,a): 1. 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 un AFD es polinomial. De hecho, existen algoritmos ms eficientes an que el mostrado en este artculo (aunque menos intuitivos).11 Sin embargo, el problema de minimizar unautmata finito no determinista es NP-completo y PSPACE-completo.12 13 Ejemplo
Minimizacin de un AFD.

AFD con estados redundantes.

AFD minimizado.

En la primera figura del ejemplo, se muestra un autmata con el estado inaccesible d, el cual puede eliminarse inmediatamente. Luego se construye la tabla de pares de estados, y a continuacin se marcan, de acuerdo a la tercera lnea del algoritmo, las filas y columnas correspondientes a los estados finales c y g, salvo la celda que representa el par (c,g), puesto que al ser ambos estados finales, pueden ser estados equivalentes. Posteriormente, se marcan las

celdas restantes de acuerdo a la cuarta lnea del algoritmo, notando que el par (b, f) queda asociado con el par (c, g), y as finalmente se obtiene el autmata final, agrupando los estados b y f, as como c y g, tal y como se muestra en la segunda figura del ejemplo.

Tablas para la bsqueda de estados equivalentes b c e f g abcef b c e f g abcef b c e f g abcef

[editar]Generalizaciones

de autmatas finitos

Ejemplo de Mquina de Mealy, un tipo de transductor de estados finitos, que generaliza los autmatas finitos.

Existes diversas generalizaciones posibles de hacer sobre los autmatas finitos, para aumentar su uso y expresividad. As, por ejemplo, se definen los transductores de estados finitos como autmatas finitos que estn dotados adems de un alfabeto de salida, distinto al de entrada, y que pueden poseer ms de un estado inicial.14 Las mquinas de Moore y mquinas de Mealy son conocidos ejemplos de transductores, que se utilizan sobre todo para modelar sistemas secuenciales.15 16 Es incluso posible aumentar el poder de cmputo de un autmata finito, permitiendo un alfabeto adicional sobre ste, que acte sobre una memoria de tipo pila para ser considerada en cada transicin. Esta es la idea utilizada por los llamados autmatas con pila, los cuales son capaces de reconocer lenguajes libres de contexto, que estn un nivel por sobre los lenguajes regulares en la Jerarqua de Chomsky.17

[editar]Vase

tambin

Lenguaje regular Teora de autmatas Sistema combinacional Autmata con pila Mquina de Turing Mquina abstracta

[editar]Referencias

a b c

1.

Wolfram, Stephen (2002). Starting From Randomness (en ingls). A

New Kind of Science. Wolfram Media. pp. 958. Consultado el 31 de marzo de 2010. 2. Basharin, Gely P.; Langville, Amy N.; Naumov, Valeriy A. (2004). The Life and Work of A. A. Markov (en ingls).Linear Algebra and its Applications 386: pp. 3-26. Consultado el 31 de marzo de 2010. 3.
a b

Rabin, Michael O.; Scott, Dana (1959). Finite automata and their

decision problems (en ingls). IBM Journal of Research and Development (IBM Corp. Riverton, NJ, USA) 3 (2): pp. 114-125. ISSN 00188646. Consultado el 05 de abril de 2010.

4.

Wolfram, Stephen (2002) (en ingls). A New Kind of Science. Wolfram Media. pp. 893. Consultado el 31 de marzo de 2010.

5.

Thompson, Ken (1968). Programming Techniques: Regular expression search algorithm (en ingls).Communications of the ACM 11 (6): pp. 419422. Consultado el 01 de abril de 2010.

6.

a b c

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. 7. Brena, Ramn (2003). Autmatas y Lenguajes. Un enfoque de diseo (en espaol). Tecnolgico de Monterrey, Mxico: pp. 205. Consultado el 31 de marzo de 2010. 8. Berry, G.; Sethi, R. (1987). From regular expressions to deterministic automata (en ingls). TCS: Theoretical Computer Science 48: pp. 117-126. Consultado el 01 de abril de 2010. 9. Neumann, Christoph (2005) (en ingls). Converting Deterministic Finite Automata to Regular Expressions. Consultado el 01 de abril de 2010.

10. van Noord, Gertjan (2000). Treatment of epsilon moves in subset construction (en ingls). Computational Linguistics (MIT Press. Cambridge, MA, USA) 26 (1): pp. 61-76. ISSN 0891-2017. Consultado el 05 de abril de 2010. 11. Hopcroft, John E. (1971). An n log n algorithm for minimizing states in a finite automaton (en ingls). Theory of Machines and Computations (Academic Press, Nueva York): pp. 189-196. Consultado el 09 de abril de 2010. 12. Jiang, Tai; Ravikumar, B. (1993). Minimal NFA problems are hard (en ingls). SIAM Journal on Computing(Society for Industrial and Applied Mathematics Philadelphia, PA, Estados Unidos) 22 (6): pp. 11171141. ISSN 0097-5397. Consultado el 09 de abril de 2010. 13. Malcher, Andreas (2004). Minimizing finite automata is computationally hard (en ingls). Theoretical Computer Science (Elsevier Science Publishers Ltda. Essex, Reino Unido) 327 (3): pp. 375-390. ISSN 0304-3975. Consultado el 05 de abril de 2010. 14. Koskenniemi, Kimmo (1984), A general computational model for word-form recognition and production, Morristown, NJ, Estados Unidos: Association for Computational Linguistics, pp. 178-181, consultado el 10 de abril de 2010 15. Moore, Edward F. (1956). Gedanken-experiments on Sequential Machines (en ingls). Automata Studies, Annals of Mathematical Studies (Princeton, N.J.: Princeton University Press) (34): pp. 129153. Consultado el 10 de abril de 2010. 16. Mealy, George H. (1955). A Method for Synthesizing Sequential Circuits (en ingls). Bell Systems Technical Journal 34: pp. 1045-1079. 17. Hopcroft, John E.; Ullman, Jeffrey D. (1969), Formal languages and their relation to automata, Boston, MA, Estados Unidos: Addison-Wesley Longman Publishing Co., Inc., pp. 262, consultado el 10 de abril de 2010

Вам также может понравиться