¿Cómo el uso de las máquinas Oracle Turing no conduce a contradicciones?

9

¿Cómo podemos asegurarnos de que continuamos haciendo declaraciones válidas y válidas sobre las clases de complejidad cuando usamos las máquinas Oracle Turing? Según mi entendimiento (basado en las definiciones dadas en los libros de texto introductorios sobre el tema) las máquinas Oracle Turing pueden determinar el estado de membresía de una cadena con respecto a un lenguaje Oracle en un solo paso de cálculo. Sin embargo, los lenguajes de oráculo que se usan con frecuencia son imposibles de resolver en tiempo constante (tome un oráculo EXPTIME-complete, por ejemplo). Para mí, esto parece "abrir la puerta" a las contradicciones y, después de todo, cualquier cosa se deriva de una contradicción.

Ari
fuente
2
Si el oráculo "realmente" tomó tiempo entonces eso es solo un factor para el tiempo de ejecución de la máquina total. Asumir un costo constante (es decir, contar con qué frecuencia necesita el oráculo) facilita la comparación de los algoritmos que usan oráculo. (La pregunta si los resultados obtenidos tienen alguna relevancia en la realidad es uno que siempre enfrenta y / o ignora en TCS.)T
Raphael
@Raphael Por "usted" en el comentario entre paréntesis, ¿quiere decir teóricos de la complejidad en general o yo en particular?
Ari
El primero Bueno, ambos, en cierto sentido.
Rafael
Un tema avanzado. intente comenzar con Fortnow, quien acepta que a veces son "mal utilizados" y examina el área. La forma coherente de ver estos resultados es como una afirmación "condicional". de manera similar a la forma en que muchos resultados se prueban condicionalmente en matemáticas según la hipótesis de Riemann, etc.
vzn

Respuestas:

8

Hay varias maneras de ver esto.

Una es que en las pruebas, la implicación es como una función, que toma como entrada una prueba de algo y genera una prueba de otra cosa.

Podemos escribir funciones que operan en valores que no tenemos.

Por ejemplo, consideremos el número de detención , que no es computable. Puedo escribir la funcionh

hunaltyonortesolPAGSltusOnortemi:{h}norte

hunaltyonortesolPAGSltusOnortemi(X)=X+1 .

Esta función toma como entrada el número de detención y devuelve el número de detención más uno. Claramente, esta es una función bien definida: si le damos la entrada correcta, da la salida correcta. El hecho de que no podamos encontrar la entrada correcta no hace que una transformación sea menos válida.

Veo pruebas con oráculos como similares. Básicamente son funciones que dicen, dame una máquina de Turing que resuelva el problema , y daré como resultado una prueba de algún teorema.X

También es importante darse cuenta de que cuando decimos algo como "No hay una máquina de Turing que pueda decidir el problema de detención", es decir, no hay TM que coincida con la definición estándar de una TM que decide el problema de detención.

Básicamente, un oráculo dice "Supongamos que tenemos una TM que coincide con la definición normal, excepto que también suponemos que podemos resolver algún problema". Por lo tanto, no hay contradicción, ya que no estamos asumiendo que hay una TM normal que acepta el problema, estamos asumiendo que hay una TM especial que acepta el problema.

En una analogía muy informal, piense así. Si puedo demostrarte que ningún ser humano sin superpoderes puede volar, no hay contradicción en decir que hay un superhéroe que puede volar.

Estos oráculos son objetos puramente lógicos. No sabemos cómo construir máquinas físicas que las emulen, como podemos hacerlo con las máquinas de Turing, pero hasta donde sabemos, no hay contradicción inherente entre sus definiciones y nuestros axiomas básicos. Como objetos lógicos, estos oráculos existen. Sabemos que no son máquinas Turing estándar ni términos de cálculo Lambda ni funciones recursivas parciales. La tesis de Church-Turing dice que no hay un modelo más poderoso, pero no es un teorema, es solo una conjetura, y es demasiado informal como para probarlo.

jmite
fuente
Estoy de acuerdo con / entiendo su respuesta, pero solo hasta cierto punto: por ejemplo, veo que su función haltingPlusOne está bien definida, pero no veo cómo podemos sacar conclusiones significativas de los oráculos, ya que podríamos hacer cualquier "if" de una declaración falsa y llegar a cualquier conclusión, es decir, "Si para todos los números naturales entonces solo hay un número natural". n 1norte+1=nortenorte1
Ari
1
La cuestión es que las declaraciones no son falsas, simplemente no podemos construirlas. La clave es que los oráculos no son máquinas de Turing, no significa que no existan.
jmite
"encontrar la entrada correcta" "encontrar la salida correcta"?
2

UNAsisi=siUNA

Entonces, ¿cuál es el punto de usar un oracle TM? Diría que nos permite principalmente consideraciones teóricas sobre el (grado de) dureza de los problemas. El oráculo incluso puede ser indecidible. En este caso, puede definir una jerarquía completa de problemas indecidibles (grado de Turing). Por supuesto, si su oráculo es el problema de detención, no puede convertir su oracle TM en una TM tradicional.

El concepto oracle TM también es importante para definir una forma fuerte de reducciones (reducciones de Turing).

PAGSnortePAGS

wEl |wEl |

A.Schulz
fuente