Autómata (máquina de estados): definición, funcionamiento y ejemplos
Descubre qué es un autómata (máquina de estados), cómo funciona, sus tipos, diagramas y ejemplos prácticos para aceptar o rechazar entradas y modelar sistemas finitos.
Un autómata (un autómata, varios autómatas) es un concepto de las matemáticas. A veces el concepto se llama máquina de estado. Es como una máquina abstracta.
A una máquina de este tipo se le puede dar entrada, que es rechazada o aceptada. Es como una máquina expendedora. Cuando se compra algo, hay que introducir monedas (o dinero) en la máquina. Si son las monedas correctas, se aceptan, y el artículo solicitado se deja caer para que pueda ser retirado. Si las monedas son incorrectas, se rechazan.
Internamente, el autómata tiene diferentes estados en los que puede estar. La introducción de datos puede cambiar (o no) su estado. Así, el autómata recorre toda la entrada, consumiendo un elemento (que los matemáticos llaman símbolo) cada vez. Cuando no queda ningún símbolo, el autómata se encuentra en un determinado estado. Puede tratarse de un estado final. En este caso, la entrada es aceptada. En caso contrario, la entrada es rechazada.
Si la máquina tiene un número contable y finito de estados, se llama máquina de estados finitos. Un diagrama que muestra todos los estados y transiciones de dicha máquina se denomina diagrama de estados finitos.
Definición formal y componentes
De forma más precisa, un autómata finito (determinista) se puede describir como una tupla (Q, Σ, δ, q0, F), donde:
- Q: conjunto finito de estados.
- Σ: alfabeto, conjunto finito de símbolos de entrada.
- δ: función de transición que indica, para cada estado y símbolo, el siguiente estado.
- q0: estado inicial, elemento de Q donde comienza la máquina.
- F: conjunto de estados finales o de aceptación, F ⊆ Q.
El funcionamiento consiste en leer la cadena de entrada símbolo a símbolo, aplicar la función de transición y, al final de la cadena, comprobar si el estado alcanzado pertenece a F: si sí, la cadena se acepta; si no, se rechaza.
Tipos básicos de autómatas
- Determinista (DFA): para cada estado y símbolo hay como máximo una transición posible.
- No determinista (NFA): puede haber varias transiciones posibles para un mismo estado y símbolo (incluye transiciones ε que no consumen símbolos). Los NFA y los DFA describen exactamente las mismas lenguajes regulares; todo NFA tiene un DFA equivalente.
- Autómatas con pila (PDA): tienen una memoria en forma de pila; reconocen lenguajes libres de contexto (más potentes que los regulares).
- Máquina de Turing: modelo más potente que puede simular cualquier cálculo efectivo; no es finita en general.
Ejemplos sencillos
- Máquina expendedora: modelo intuitivo donde las monedas válidas permiten avanzar a un estado de "suma suficiente" y, al alcanzar el estado final, se entrega el producto.
- Detector de paridad: un autómata que, al leer una secuencia de bits, acepta si el número de ceros es par. Tiene dos estados: q_par (aceptación) y q_impar; al leer '0' alterna entre ellos, al leer '1' permanece.
- Expresiones regulares: muchas expresiones regulares se pueden traducir a un NFA/DFA que acepta exactamente las cadenas que corresponden a la expresión.
Propiedades importantes
- Los autómatas finitos reconocen exactamente los lenguajes regulares.
- Los lenguajes regulares son cerrados bajo operaciones como unión, concatenación, estrella de Kleene, intersección y complemento.
- Todo NFA puede convertirse en un DFA equivalente (construcción de subconjuntos), y todo DFA se puede minimizar para obtener el autómata con el menor número de estados equivalente (algoritmos de minimización).
- Existen criterios (por ejemplo, el teorema de Myhill–Nerode) para demostrar que un lenguaje no es regular y, por tanto, no puede ser reconocido por un autómata finito.
Representación gráfica
Un diagrama de estados dibuja los estados como nodos y las transiciones como flechas etiquetadas con el símbolo que provoca la transición. El estado inicial suele marcarse con una flecha entrante sin origen, y los estados de aceptación con un doble círculo.
Aplicaciones prácticas
- Analizadores léxicos en compiladores (tokenización).
- Reconocimiento de patrones y motores de expresiones regulares (en muchos casos transformados en autómatas).
- Verificación de protocolos y control de sistemas embebidos mediante diagramas de estados.
- Diseño de controladores y lógica secuencial en ingeniería electrónica.
Conclusión
Los autómatas son modelos matemáticos simples pero muy poderosos para describir y analizar sistemas que procesan secuencias de símbolos. Dependiendo de los recursos de memoria y la libertad de transiciones, se obtienen distintos modelos (DFA, NFA, PDA, Turing) con capacidades crecientes. Comprender autómatas y lenguajes formales es fundamental en teoría de la computación y en muchas aplicaciones prácticas de la informática.

Representación habitual de un autómata en informática. Este autómata "acepta" todas las secuencias de las letras a y b que comienzan con una a y terminan con una b.
Problemas
Como en la vida real, hay máquinas que son demasiado complejas para entenderlas. Por ello, los matemáticos e informáticos se preguntan si un determinado autómata es mínimo. Si no es mínimo, debe haber otro autómata con menos estados que pueda hacer lo mismo. Un ejemplo de autómata es la máquina de Turing.
Preguntas y respuestas
P: ¿Qué es un autómata?
R: Un autómata es un concepto de las matemáticas que es como una máquina abstracta y a la que se le puede dar una entrada que es rechazada o aceptada.
P: ¿Cuál es otro término para un autómata?
R: A veces el concepto se denomina máquina de estados.
P: ¿Puede comparar un autómata con una máquina expendedora?
R: Sí, es como una máquina expendedora en la que hay que introducir monedas o dinero en la máquina y, si las monedas son las correctas, se deja caer el artículo solicitado para que pueda ser retirado.
P: ¿Qué ocurre cuando se da entrada a un autómata?
R: El autómata recorre toda la entrada, consumiendo un artículo cada vez, e internamente tiene diferentes estados en los que puede estar. Alimentarlo con entradas puede o no cambiar su estado.
P: ¿Qué ocurre cuando no quedan símbolos para el autómata?
R: Cuando no quedan símbolos, el autómata se encuentra en un estado determinado, que puede ser un estado final. En ese caso, se acepta la entrada; en caso contrario, se rechaza.
P: ¿Qué es una máquina de estados finitos?
R: Si la máquina tiene un número contable y finito de estados, se denomina máquina de estados finitos.
P: ¿Qué es un diagrama de estados finitos?
R: Un diagrama que muestra todos los estados y transiciones de una máquina de este tipo se denomina diagrama de estados finitos.
Buscar dentro de la enciclopedia