Este documento describe los autómatas finitos, que son modelos computacionales que realizan cálculos automáticos sobre una entrada para producir una salida. Se componen de un alfabeto, un conjunto de estados y transiciones entre estados. Existen autómatas finitos deterministas y no deterministas, los cuales se pueden representar mediante diagramas de estados o tablas de transiciones.
2. AUTÓMATA FINITO
Un autómata finito (AF) o máquina de estado finito es un modelo computacional que
realiza cómputos en forma automática 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 función
de transición, 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 autómata se desplaza de un estado a otro, para finalmente detenerse en
un estado final o de aceptación, que representa la salida.
3. DEFINICIÓN FORMAL
Formalmente, un autómata finito es una 5-tupla (Q, Σ, q0, δ, F) donde:6
Q, es un conjunto finito de estados;
Sigma, es un alfabeto finito;
q_0in Q es el estado inicial;
deltacolon QtimesSigmato Q es una función de transición;
F subseteq Q es un conjunto de estados finales o de aceptación.
4. REPRESENTACIÓN COMO DIAGRAMAS DE ESTADOS
Los autómatas finitos se pueden representar mediante grafos particulares, también
llamados diagramas de estados finitos, de la siguiente manera:
Los estados Q se representan como vértices, etiquetados con su nombre en el
interior.
Una transición δ desde un estado a otro, dependiente de un símbolo del alfabeto, se
representa mediante una arista dirigida que une a estos vértices, y que está
etiquetada con dicho símbolo.
El estado inicial q0 se caracteriza por tener una arista que llega a él, proveniente de
ningún otro vértice.
El o los estados finales F se representan mediante vértices que están encerrados a
su vez por otra circunferencia.
6. REPRESENTACIÓN COMO TABLA DE TRANSICIONES
En teoría de autómatas y lógica secuencial, una tabla de transición de estados es
una tabla que muestra qué estado se moverá un autómata finito dado,
basándose en el estado actual y otras entradas. Una tabla de estados es
esencialmente una tabla de verdad en la cual algunas de las entradas son el
estado actual, y las salidas incluyen el siguiente estado, junto con otras salidas.
Una tabla de estados es una de las muchas maneras de especificar una máquina de
estados, otras formas son un diagrama de estados, y una ecuación
característica.
Cuando se trata de un autómata finito no determinista, entonces la tabla de
transición muestra todos los estados que se moverá el autómata.
7. FORMAS COMUNES
Tablas de estados de una dimensión
También llamadas tablas características, las tablas de estados de una dimensión son
más como tablas de verdad que como las versiones de dos dimensiones. Las
entradas son normalmente colocadas a la izquierda, y separadas de las salidas,
las cuales están a la derecha. Las salidas representarán el siguiente estado de la
máquina. Aquí hay un ejemplo sencillo de una máquina de estados con dos
estados, y dos entradas combinacionales:
8. AUTÓMATA FINITO DETERMINISTA (AFD)
Un autómata finito determinista (abreviado AFD) es un autómata finito que además
es un sistema determinista; es decir, para cada estado q ∈ Q en que se
encuentre el autómata, y con cualquier símbolo a ∈ Σ del alfabeto leído, existe
siempre a lo más una transición posible δ(q,a).
9. AUTÓMATA FINITO NO DETERMINISTA
Un autómata finito no determinista (abreviado AFND) es aquel que, a diferencia de
los autómatas finitos deterministas, posee al menos un estado q ∈ Q, tal que
para un símbolo a ∈ Σ del alfabeto, existe más de una transición δ(q,a) posible.
Haciendo la analogía 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 autómata es un autómata finito
no determinista con transiciones vacías o transiciones ε (abreviado AFND-ε).
Estas transiciones permiten al autómata cambiar de estado sin procesar ningún
símbolo de entrada.
10. Formalmente, se distingue de la 5-tupla que define a un autómata finito determinista
en su función de transición. Mientras en un AFD esta función se define de la
siguiente manera:
delta:QtimesSigmato Q
en un AFND se define como:
delta:QtimesSigmatomathcal{P}(Q)
Para el caso de los AFND-ε, se suele expresar la función de transición de la forma:
delta:Qtimes{Sigmacupepsilon}tomathcal{P}(Q)
donde P(Q) es el conjunto potencia de Q.