Elogio del problema de detención:
La respuesta simple es “Si detener el problema significa detener el programa, entonces el cumplido de detener el problema significa que no detiene el programa”.
¿Cómo lo sabemos?
- Cómo aleatorizar preguntas en el programa de prueba C
- ¿Qué es el interruptor de un muerto?
- ¿Podemos realizar criptografía utilizando inteligencia artificial?
- ¿Qué significa la hipótesis específica y general en el concepto de espacio de versión del aprendizaje automático?
- ¿Cuáles son buenos ejemplos de procesamiento de lenguaje natural superficial (SNLP)?
Tomemos un ejemplo de que Compiler toma entradas como programas y genera códigos de máquina como salidas. ¿H = compilador y P = programa y su entrada y C deberían poder determinar si P se detendrá en P como su entrada o no?
Construyamos un algoritmo K = simple que haga lo siguiente:
- si H emite “bucle”, entonces A se detiene,
- de lo contrario, la salida de “alto” de H hace que K se repita para siempre.
K hará lo contrario de la salida de H.
Y el bacalao fuente para esto es:
función K () {
if (H () == “loop”) {
regreso;
} más {
mientras (cierto); // bucle para siempre
}
}
Como K es un programa, usemos K como entrada para K.
Si H dice que K se detiene, entonces K mismo haría un bucle. Si H dice que K se repite, entonces K se detendrá. En cualquier caso, H da la respuesta incorrecta para K. Por lo tanto, H no puede funcionar en todos los casos.
Espero que esto te pueda ayudar.
Gracias.