Universidad · Otoño 2026
Teoría de la Computación·Salón NE 111·Sesión 12 · Semana 7

El problema de Halting

lunes 21 de septiembre · 16:00–17:15 · hace 30 días

Origen de las notas: Tú (app)

Guía del maestro.docx

GUÍA 21-09-26 Teoría de la Computación

NE111 · lunes 21/09/2026 · 16:00-17:15 · Sesión 12

El problema de Halting


QUÉ SÍ ES DECIDIBLE

Antes del resultado negativo conviene ver qué sí se puede decidir, para que el contraste quede claro.

  • ¿Un autómata finito acepta una cadena? Decidible: se simula y siempre termina.
  • ¿El lenguaje de un autómata finito es vacío? Decidible.
  • ¿Dos autómatas finitos son equivalentes? Decidible.
  • ¿Una gramática libre de contexto genera una cadena? Decidible.

EL PROBLEMA DE LA PARADA

HALT = {⟨M, w⟩ | la máquina M se detiene con la entrada w}. En palabras: ¿existe un algoritmo que, dado cualquier programa y cualquier entrada, decida si ese programa terminará?

EL TEOREMA

HALT no es decidible. No existe tal algoritmo, y no por falta de ingenio: se demuestra que es imposible.

LA DEMOSTRACIÓN POR DIAGONALIZACIÓN

1. Supón que existe H que decide si M se detiene con w.

2. Construye D que, con entrada ⟨M⟩, ejecuta H sobre ⟨M, ⟨M⟩⟩.

3. Si H dice que M se detiene, D entra en un ciclo infinito. Si H dice que no se detiene, D se detiene.

4. Ejecuta ahora D con su propia codificación ⟨D⟩.

5. Si D se detiene con ⟨D⟩, entonces por construcción cicla. Si cicla, entonces se detiene.

Ambos casos son contradictorios, luego H no puede existir. La contradicción no viene de D, que es perfectamente construible: viene del supuesto de que H existe.

DE DÓNDE SALE LA FUERZA DEL ARGUMENTO

De la máquina universal. Como una máquina puede recibir máquinas como entrada, se le puede dar la suya propia, y ahí se arma la autorreferencia. Es el mismo mecanismo de los teoremas de Gödel y de la paradoja del mentiroso.

HALT SÍ ES RECURSIVAMENTE ENUMERABLE

Se simula M sobre w: si se detiene, se acepta. Si no se detiene, la simulación tampoco, así que nunca se rechaza. Es el ejemplo canónico de lenguaje recursivamente enumerable que no es recursivo, y prueba que la inclusión de la sesión anterior es estricta.

CONSECUENCIAS PRÁCTICAS

  • No existe un detector perfecto de ciclos infinitos.
  • No existe un verificador de programas totalmente general.
  • No existe un antivirus perfecto, por reducción a este mismo problema.
  • Los analizadores estáticos reales son aproximaciones: o dan falsos positivos, o falsos negativos, o no siempre terminan.

EJERCICIO

Reconstruir la diagonalización sin apuntes y explicar por qué el complemento de HALT no es recursivamente enumerable.

Mis notasTú (app)2292 palabras
Editor embebido

Edita aquí con aspecto de Word. Guardar en Word escribe el .docx en tu carpeta del semestre. Ctrl+S guarda directo al archivo.

Abrir .docx
Tareas propias de esta sesión

Nada anotado en esta sesión todavía.