Imposibilidad en computabilidad y complejidad: ¿siempre en última instancia debido a argumentos diagonales?

8

En Computabilidad, si queremos demostrar que un problema no es recursivo o recursivamente enumerable, podemos usar, por ejemplo, reducciones de otros problemas no recursivos o no re, el teorema de Rice, el teorema de Rice-Shapiro, etc. Estas técnicas funcionan gracias a , o se basan directamente en la existencia de algún argumento diagonal (es decir, algún programa comporta de manera opuesta a su programa de entrada M ' , por lo que M = M ' es contradictorio). En Complejidad, si queremos demostrar que algún problema no se puede calcular en algún momento (independientemente de cualquier reclamo no probado como, por ejemplo, P N PMMM=MPNP), utilizamos argumentos que, en última instancia, se basan en algún argumento diagonal (por ejemplo, el teorema de la jerarquía de tiempo demuestra que -los problemas completos no están en P , pero ese teorema también se prueba utilizando un argumento diagonal).EXPTIMEP

Entonces mi pregunta es la siguiente. ¿Todos los resultados imposibles importantes resultan en Computabilidad y Complejidad (imposibilidad real, no imposibilidad hasta algún resultado no probado) en última instancia debido a algún argumento diagonal? Es decir, ¿todo nuestro importante "conocimiento de imposibilidad" en Computabilidad y Complejidad proviene del hecho de que los programas son lo suficientemente potentes como para ejecutar programas?

El único resultado importante de imposibilidad que viene a mi mente que no se debe en última instancia a un argumento diagonal es que la función de Ackermann no es primitiva recursiva. ¿Me estoy perdiendo otros contraejemplos importantes de esta aparente "regla"?

EDITAR (18 de noviembre): Perdón por implicar que mi pregunta se centró particularmente en el argumento diagonal en sí, pero estoy más interesado en todos los argumentos que se basan en la auto referencia de los programas (incluido el argumento diagonal, la paradoja de Berry, etc.). Para lenguajes más simples (p. Ej., Regular o sin contexto), tenemos argumentos de imposibilidad "estructural" basados ​​en cómo se construyen estos lenguajes (p. Ej., Bombear lemas). Sin embargo, para los idiomas recursivos o re, la mayoría de los resultados de imposibilidad dependen en gran medida de la autorreferencia de los programas. Esto es lo que quise decir.

EXPTIME-complete
fuente
En realidad, la prueba de que la función Ackerman no es pr es una aplicación bastante clásica del método diagonal.
cody
1
También: posible duplicado de cstheory.stackexchange.com/questions/6575/…
cody
1
Sí, hay un argumento diagonal oculto en la prueba de que una función puede no especializarse a sí misma, a la que se hace referencia aquí: beta.planetmath.org/SuperexponentiationIsNotElementary
cody
1
Probablemente un montón de resultados provienen del principio del casillero: viene a la mente la complejidad de Kolmogorov ("algunas cadenas no son compresibles ..."). Apuesto 1 $ a que todos los resultados negativos "sobre un dominio finito" tienen el PP en su raíz :-D :-D
Marzio De Biasi
3
Los límites inferiores de la complejidad del circuito y la fórmula se prueban utilizando técnicas completamente diferentes, como restricciones aleatorias y el lema de conmutación, o la complejidad de la comunicación a través de los juegos Karchmer-Wigderson
Sasho Nikolov

Respuestas:

7

Los límites inferiores en modelos de computación no uniformes, como las fórmulas y circuitos booleanos, se prueban utilizando argumentos combinatorios. Algunos ejemplos son el método de Krapchenko que utiliza medidas formales de complejidad, el método de aproximaciones de Razborov para circuitos monótonos, el método de restricción aleatoria, que incluye restricción aleatoria + el lema de conmutación, y límites inferiores de profundidad utilizando la complejidad de la comunicación a través de los juegos de Karchmer-Wigderson. Puede encontrar notas de conferencias sobre este material de Sudán , Kopparty , Buss , Zwick , entre otros.

Sasho Nikolov
fuente
Respuesta favorita personal, he aprendido mucho, gracias. David y Marzio también son excelentes respuestas.
EXPTIME-complete
9

El límite inferior del modelo de comparación estándar para la clasificación, y la mayoría de los límites inferiores del modelo de sonda celular para estructuras de datos, son incondicionales (para calcular dentro del modelo, pero podría decirse lo mismo sobre los límites inferiores de la máquina Turing) y dependen de la teoría de la información en lugar de la diagonalización.

David Eppstein
fuente
2
También hay toneladas de límites inferiores incondicionales teóricos de información para varios modelos de computación distribuida y computación paralela. No hay diagonalización allí, tampoco.
Jukka Suomela
3

Una herramienta que puede usarse para probar resultados negativos / imposibilidad es el método de incompresibilidad :

cyAmm(12c)+1XC(xy)logmc

O(n2){wwR}anbn

En última instancia, el teorema anterior se basa en el Principio de la paloma, que tiene algunas buenas aplicaciones directas; por ejemplo:

d>0d

dd

Marzio De Biasi
fuente
También ofrece una buena prueba de la imposibilidad de que solo haya muchos primos :). (Y estima el tamaño de la enésima prima correctamente dentro de un factor log n.)
Joshua Grochow
1
n0nn0K(n)log2(n)n=ab
1

En realidad, el problema de detención se puede probar sin utilizar la diagonalización. (Y cada teorema ZFC válido tiene una prueba ZFC que usa diagonalización ... piénselo).

La prueba utiliza la paradoja de Berry y procede de la siguiente manera:

Indexe todas las máquinas de Turing de manera razonable. Supongamos, en aras de la contradicción, que el problema de detención se puede resolver. Entonces considere este algoritmo:

f (N) devuelve la máquina de Turing menos indexada X st X (X) no se detiene y X no es la salida de ninguna máquina de Turing M y la entrada I en N caracteres (es decir, M (I) salidas X -> | M | + | I |> = N).

Ahora, seleccionamos N st f (N) suficientemente grande que debe devolver una descripción de X que se describe precisamente por el cálculo de f (N). Si f es computable, entonces M = f e I = N. Por ejemplo, podríamos dejar que N = un googol (10 ^ 100).

Esto sugiere que f (N) no es una función total, porque para f (10 ^ 100), no hay salida satisfactoria. Esto contradice la suposición de que el problema de detención puede resolverse. Considere el siguiente pseudocódigo (que es mucho menos de 10 ^ 100 caracteres cuando se expande al código fuente verdadero en C ++ o incluso se escribe como una máquina de Turing) para f:

f (N)

{

para (int i = 1;; i ++)

{

  if (simulate DoesHalt(UTM(i,i)) == false)

  {

         (simulate all machines and inputs M(I) with |M|+|I|<N)

         if all such inputs do not output i

                 return i;

  }

}

}

Claramente, f se detiene en todas las entradas y funciona correctamente asumiendo que la detención del problema puede resolverse. Por lo anterior, tenemos que el problema de detención no se puede resolver.

Esta prueba no utiliza ninguna forma de diagonalización. De hecho, deberías echar un vistazo a mi pregunta:

¿Es una definición de la palabra paradoja, "algo que puede usarse para demostrar que el problema de detención es indecidible?"

... para alguna discusión sobre el hecho de que muchas paradojas pueden usarse en lugar de la paradoja del mentiroso o la paradoja de Russell para demostrar que el problema de detención no puede resolverse. Algunas de estas paradojas de argumentos no diagonales incluyen la paradoja inesperada de la ejecución y (como se acaba de describir) la paradoja de Berry.

Philip White
fuente
1
Significa que lo que devuelve f (N) es exactamente lo que describí en la descripción de cómo f calcula las funciones. Consulte el artículo de Wikipedia sobre la paradoja de Berry si esto lo confunde (o siéntase libre de hacer preguntas adicionales en los comentarios). Tenía la intención de escribir "i" en lugar de "X" y lo solucionaré en breve. Y sí, mi frase redactada de "X no es la salida de ninguna M" podría simplificarse como usted sugiere. Aparte de estos puntos menores, espero que esté de acuerdo en que mi respuesta es correcta. Me ocuparé de su otro comentario en un momento.
Philip White
2
Lo que parece quedar sin respuesta de que el OP estaba interesado, tal vez apropiado para una pregunta separada, es si podemos evitar la auto referencia por completo.
Kurt Mueller
2
Creo que estoy de acuerdo con los demás: la esencia de la paradoja de Berry sigue siendo la misma que la esencia de la diagonalización de Cantor. Véase, por ejemplo cstheory.stackexchange.com/q/21917/129 , cstheory.stackexchange.com/q/2853/129 , cstheory.stackexchange.com/q/37824/129 .
Joshua Grochow
2
AA×Ae:A×AB
2
e:ABeBBeBBXX,XX(X). No es una cuestión de autorreferencialidad, solo una cuestión de utilizar el mismo objeto dos veces, en dos niveles "semánticos" diferentes.
Damiano Mazza el