Qué es la Máquina de Turing: definición, historia y ejemplos
Máquina de Turing: definición, historia desde Alan Turing, ejemplos y su impacto en la computación. Explicación clara y accesible para estudiantes y curiosos.
Máquina de Turing es un término de la informática. Una máquina de Turing es un modelo abstracto de cálculo formado por un conjunto de reglas, estados y transiciones, más que una máquina real. Fue descrita por primera vez en 1936 por el matemático e informático inglés Alan Turing. Una máquina de Turing tiene dos objetivos fundamentales: decidir lenguajes formales y calcular o resolver funciones matemáticas. Las máquinas de Turing son uno de los modelos formales más importantes en el estudio de la informática teórica y de la computabilidad.
Definición informal
De forma intuitiva, una máquina de Turing consta de:
- Una cinta infinita dividida en celdas que actúan como memoria (cada celda contiene un símbolo de un alfabeto finito o un símbolo en blanco).
- Una cabeza lectora/escritora que puede moverse a la izquierda o a la derecha, leer el símbolo actual y escribir un nuevo símbolo.
- Un conjunto finito de estados y una función de transición que, según el estado actual y el símbolo leído, indica qué escribir, hacia dónde mover la cabeza y cuál será el siguiente estado.
- Estados especiales de inicio y de aceptación/rechazo que determinan si la máquina acepta una entrada o termina con un resultado.
Definición formal (resumen)
Formalmente se suele definir una máquina de Turing determinista como una 7-tupla (Q, Σ, Γ, δ, q0, q_accept, q_reject), donde:
- Q es el conjunto finito de estados.
- Σ es el alfabeto de entrada (símbolos permitidos en la entrada).
- Γ es el alfabeto de la cinta (incluye Σ y un símbolo en blanco).
- δ: Q × Γ → Q × Γ × {L, R} es la función de transición.
- q0 ∈ Q es el estado inicial.
- q_accept ∈ Q y q_reject ∈ Q son los estados de aceptación y rechazo (q_accept ≠ q_reject).
Cómo funciona (pasos básicos)
- Se coloca la cadena de entrada en la cinta y la cabeza se sitúa en la primera celda de la entrada.
- En cada paso la máquina lee el símbolo bajo la cabeza, consulta δ para decidir qué escribir, en qué dirección moverse (L o R) y cuál será el siguiente estado.
- Si la máquina llega a q_accept se dice que acepta la entrada; si llega a q_reject o nunca cambia de estado de forma que siga avanzando según las reglas, se rechaza o no termina según el caso.
Tipos importantes de máquinas de Turing
- Deterministas: la función de transición da a lo sumo una acción para cada par (estado, símbolo).
- No deterministas: pueden existir varias transiciones posibles; se acepta si alguna rama conduce a aceptación. Teóricamente pueden ser más compactas, pero en potencia calculadora son equivalentes a las deterministas.
- Multicinta: usan varias cintas independientes; son más prácticas para describir algoritmos, aunque no aumentan la clase de funciones computables (solo la eficiencia).
- Máquina de Turing Universal: puede simular cualquier otra máquina de Turing tomando la descripción de la máquina y su entrada como datos en la cinta. Es la idea formal de un ordenador programable.
Ejemplos sencillos
A continuación, dos ejemplos informales que ayudan a entender su uso:
- Reconocer el lenguaje a^n b^n (cadenas con n veces 'a' seguidas de n veces 'b'): una máquina de Turing puede marcar la primera 'a' sin marcar y buscar la última 'b' sin marcar, sustituirlas por un símbolo marcado, y repetir el proceso. Si al terminar todas las 'a' y 'b' han sido emparejadas y no hay símbolos extra, acepta; si encuentra un desajuste, rechaza.
- Suma en unary (añadir 1): si la entrada es "111" (representando el número 3), una máquina simple puede desplazarse al final de la cadena y escribir otro '1', devolviendo "1111" como resultado. Este ejemplo ilustra cómo una máquina puede calcular una función transformando la cinta.
Historia y contexto
Alan Turing presentó el modelo en 1936 en su artículo "On Computable Numbers, with an Application to the Entscheidungsproblem". Su objetivo era formalizar la noción de algoritmo y de cálculo efectivo para abordar problemas como el Entscheidungsproblem de Hilbert. El modelo de Turing resultó fundamental para la teoría de la computación y, junto con trabajos de Church y otros, llevó a la formulación de la Tesis de Church–Turing, que sostiene que cualquier cálculo que pueda realizarse por un procedimiento efectivo puede ser realizado por una máquina de Turing.
Importancia y consecuencias
- Las máquinas de Turing definen formalmente qué problemas son decidibles (existe una máquina que siempre termina y responde sí/no) y cuáles son indecidibles.
- El problema de la parada (halting problem) es indecidible: no existe una máquina de Turing que, dada la descripción de otra máquina y su entrada, determine en todos los casos si esa máquina se detendrá.
- Son la base teórica para la complejidad computacional (clases como P, NP, PSPACE se definen en relación con modelos tipo Turing) y para comprender límites y costes de cómputo.
Aplicaciones y límites
Aunque una máquina de Turing es un objeto abstracto y no un ordenador físico, el concepto sirve para:
- Probar la (in)decidibilidad de problemas matemáticos y lógicos.
- Formalizar algoritmos y estudiar su complejidad temporal y espacial.
- Modelar la idea de un ordenador programable mediante la máquina universal.
Como límite fundamental, existen problemas que ninguna máquina de Turing puede resolver en general (por ejemplo, el problema de la parada), lo que fija fronteras teóricas sobre lo que es computable.
Conclusión
Una Máquina de Turing no es una máquina física, sino un modelo formal esencial que captura la esencia del cálculo paso a paso. Gracias a ella se pueden clasificar problemas según su computabilidad, entender la noción de algoritmo y fundamentar gran parte de la teoría de la computación moderna.

Modelo de una máquina de Turing
Fundamentos comunes
Una máquina de Turing consta de los siguientes componentes (simplificados):
- Un conjunto limitado de estados (con un estado marcado como estado de inicio; mientras se ejecuta, una máquina de Turing siempre tiene un estado actual)
- Una cinta infinita con celdas de almacenamiento y un dispositivo de lectura/escritura que puede moverse en la cinta
- Una definición de la llamada función de transición
Además, hay que definir un alfabeto de trabajo (conjunto de caracteres).
Cuando una máquina de Turing se pone en marcha, una palabra (del alfabeto de trabajo) debe estar presente en la cinta infinita de la máquina. El dispositivo de lectura/escritura en el primer carácter lee ahora el primer carácter y, dependiendo del estado actual de la máquina de Turing, el dispositivo de lectura/escritura sobrescribe el carácter con uno nuevo o mueve una celda a la izquierda o a la derecha. Además, se puede cambiar el estado actual de la máquina.
Máquinas de Turing que deciden los idiomas
Para la teoría de la decidibilidad se dice que una máquina de Turing decide un lenguaje si siempre es capaz de determinar si una palabra dada está contenida en un determinado lenguaje o no. Por lo tanto, la máquina suele tener dos estados especiales marcados como Aceptar y Rechazar. Al cabo de un tiempo se alcanzará uno de los dos estados (dependiendo de la palabra de entrada) y la máquina se detendrá. Si sólo se alcanza uno de los dos estados, se dice que la máquina de Turing semidecide un lenguaje.
Máquinas de Turing que computan funciones
Si una máquina de Turing se utiliza para el cálculo de funciones, sólo tiene un estado final. Cuando la máquina llega a ese estado se detiene y el resultado de la función (dependiendo de la entrada) se puede encontrar en la cinta.
Impacto de las máquinas de Turing
Las máquinas de Turing no se inventaron para ser construidas en la realidad, pero son muy importantes para la informática teórica, ya que son uno de los modelos más sencillos de ordenadores. La tesis de Church-Turing afirma que todos los ordenadores son tan potentes como las máquinas de Turing. Esto puede utilizarse para demostrar si un problema puede ser resuelto por un ordenador o no.
Variaciones
- Una máquina de Turing puede consistir en múltiples cintas infinitas (y múltiples dispositivos de lectura/escritura). Sin embargo, se ha demostrado que estas máquinas sólo son tan potentes como las de una sola cinta. Las máquinas de varias cintas son útiles cuando se trata de problemas más complejos.
- Si una máquina de Turing tiene una función de transición no determinista, puede haber múltiples transiciones de un estado a muchos otros al leer un carácter. De nuevo, esto no aumenta la potencia de las máquinas de Turing. Sin embargo, las máquinas de Turing no deterministas (como se denominan entonces) pueden disminuir el tiempo de cálculo en gran medida. Esta cuestión se trata en el debate P versus NP y aún no está resuelta. Sin embargo, la mayoría de los científicos asumen que las máquinas no deterministas pueden trabajar mucho más rápido en ciertos problemas.
- Una máquina de Turing universal es una variación que puede simular una máquina de Turing con una entrada.
Buscar dentro de la enciclopedia