Está en la página 1de 5

Un autmata finito (AF) o mquina de estado finito es un modelo matemtico 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.
Historia

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 Mrkov formaliz 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.1 Al 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.
DEFINICION 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.

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

[editar] Funcionamiento
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 q0 de un autmata finito siempre es nico, en tanto que los estados finales pueden ser ms de uno, es decir, el conjunto F puede contener ms de un elemento. Tambin puede darse el caso de que un estado final corresponda al mismo estado inicial.

[editar] Representacin como diagramas de estados

Este autmata finito est definido sobre el alfabeto ={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. El lenguaje regular que reconoce puede expresarse mediante la expresin regular (00 | 11 | (01 | 10)(01 | 10)) * .

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

Los estados 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 se caracteriza por tener una arista que llega a l, proveniente de ningn otro vrtice. El o los estados finales 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:

salida smbolo llegada q Q (q,) Q 0 1 s1 0 s2 *s1 s2 s1 s1 1 s1 s2 s1 s2 s2 0 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] 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 , permitiendo caracterizar los autmatas de manera ms abreviada y sin perder expresividad.6 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.
Automata 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. Automata 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.

También podría gustarte