¿Existen leyes de conservación en la teoría de la complejidad?


46

Permítanme comenzar con algunos ejemplos. ¿Por qué es tan trivial mostrar que CVP está en P pero tan difícil de mostrar que LP está en P? mientras que ambos son problemas P-completos.

O toma la primalidad. Es más fácil mostrar compuestos en NP que primos en NP (que requirieron Pratt) y eventualmente en P. ¿Por qué tuvo que mostrar esta asimetría?

Conozco a Hilbert, la necesidad de creatividad, las pruebas están en NP, etc. Pero eso no me ha impedido tener el presentimiento de que hay más de lo que parece.

¿Existe una noción cuantificable de "trabajo" y hay una "ley de conservación" en la teoría de la complejidad? Eso muestra, por ejemplo, que aunque CVP y LP son ambos P-completos, esconden sus complejidades en "lugares diferentes": uno en la reducción (¿Es CVP simple porque todo el trabajo se realiza en la reducción?) Y el otro en expresibilidad del lenguaje.

¿Alguien más mareado también y con algunas ideas? ¿O nos encogemos de hombros y decimos / aceptamos que esta es la naturaleza de la computación?

Esta es mi primera pregunta al foro: dedos cruzados.

Editar: CVP es un problema de valor de circuito y LP es programación lineal. Gracias Sadeq, por señalar una confusión.


77
Al principio, confundí CVP con el problema de vector más cercano (que es NP-hard). Entonces noté que es el problema del valor del circuito . Pensé que sería útil mencionar esto.
MS Dousti

55
interesante pregunta. Aunque no estoy seguro de que haya una respuesta interesante :)
Suresh Venkat

77
Solo una observación: la dificultad de probar la membresía a NP (digamos) no es una propiedad de un idioma, sino una propiedad de una descripción de un idioma. Por ejemplo, requiere cierto esfuerzo demostrar que el conjunto de primos está en NP, pero es trivial que el conjunto de enteros que tienen un certificado Pratt esté en NP.
Tsuyoshi Ito

2
¿No son aplicables los límites inferiores de tiempo-espacio como una ley de conservación en el sentido de la redacción de esta pregunta?
Maverick Woo

1
La noción de Charles Bennett de profundidad computacional (originalmente "profundidad lógica") puede capturar parte de la intuición de "trabajo requerido para demostrar un hecho de complejidad".
Aaron Sterling

Respuestas:


13

Esta es una pregunta que me ha pasado por la cabeza muchas veces.

Creo que un lugar para buscar es la teoría de la información. Aquí hay una especulación mía. Dado un problema, tal vez podamos dar algún tipo de valor de entropía a la información dada como entrada y la información recibida del algoritmo. Si pudiéramos hacer eso, entonces habría una cantidad mínima de ganancia de información requerida por un algoritmo para resolver ese problema.

Hay una cosa relacionada que quería resolver. En algunos problemas de NP completo, puede encontrar una versión restringida en P; con la ruta de Hamilton si especifica que el gráfico es un DAG, entonces hay un algoritmo de tiempo p para resolverlo. Con otros problemas como TSP, a menudo hay algoritmos de tiempo p que se aproximarán al óptimo. Me parece que, para los algoritmos de tiempo p restringidos, debería haber alguna relación proporcional entre la información de adición asumida y la reducción de la complejidad del tiempo de ejecución. En el caso del TSP, no estamos asumiendo información adicional, estamos relajando la precisión, que espero tenga un efecto similar en cualquier tipo de ganancia de información algorítmica.

Nota sobre las leyes de conservación

A principios de 1900 había una matemática alemana-estadounidense poco conocida llamada Emily Noether. Entre otras cosas, Einstein y Hilbert la describieron como la mujer más importante en la historia de las matemáticas. En 1915 publicó lo que ahora se conoce como el primer teorema de Noether . El teorema se refería a las leyes físicas de conservación, y decía que todas las leyes de conservación tienen una simetría diferencial correspondiente en el sistema físico. Conservation of Angular Momentum proviene de una simetría rotacional en el espacio, Conservation of Linear Momentum es traducción en el espacio, Conservation of Energy es traducción en el tiempo. Dado que, para que exista alguna ley de conservación de la complejidad en un sentido formal, se necesitaría una simetría diferencial correspondiente en una función de Langragian.


2
+1 ¡Gran respuesta! A menudo he tenido reflexiones similares (@MattRS: envíeme un correo electrónico). Por cierto, no creo que Emmy Noether sea "poco conocida", sino de hecho todo lo contrario, aunque tal vez no sea conocida en TCS. El primer teorema de Noether es bien conocido por los físicos, y los anillos noetherianos son un objeto central de estudio en álgebra conmutativa y geometría algebraica. Varios otros teoremas importantes, principalmente en esas áreas, también llevan su nombre.
Joshua Grochow

Sí, eso es lo que quise decir; no es bien conocido por comp sci. Siempre pensé que el álgebra abstracta debería enseñarse más ampliamente en CS.
MattRS

Aunque este argumento es convincente, me pregunto si es compatible con muchos problemas que tienen un umbral de aproximación agudo. (Con esto, me refiero a un problema tal que lograr un factor de aproximación es fácil, pero es difícil para todos ) ¿Por qué es la relación entre la precisión requerida y la ganancia de información algorítmica? tan dramáticamente discontinuo? α - ϵ ϵ > 0α>1αϵϵ>0
Srivatsan Narayanan

6

Creo que la razón radica en el sistema lógico que utilizamos. Cada sistema formal tiene un conjunto de axiomas y un conjunto de reglas de inferencia .

Una prueba en un sistema formal es solo una secuencia de fórmulas de modo que cada fórmula en la secuencia sea un axioma o se obtenga de fórmulas anteriores en la secuencia aplicando una regla de inferencia. Un teorema del sistema formal es solo la última fórmula de una prueba.

La longitud de la prueba de un teorema, suponiendo que sea decidible en el sistema lógico, depende totalmente de los conjuntos de axiomas y reglas de inferencia .

Por ejemplo, considere la lógica proposicional, para la cual existen varias caracterizaciones: Frege (1879), Nicod (1917) y Mendelson (1979). (Consulte esta breve encuesta para obtener más información).

φφ

Este problema se denomina complejidad de prueba . Para citar Beame y Pitassi :

Una de las preguntas más básicas de la lógica es la siguiente: dada una declaración universalmente verdadera (tautología), ¿cuál es la longitud de la prueba más corta de la declaración en algún sistema de prueba axiomática estándar? La versión lógica proposicional de esta pregunta es particularmente importante en informática para la prueba de teoremas y la teoría de la complejidad. Las preguntas algorítmicas relacionadas importantes son: ¿Existe un algoritmo eficiente que produzca una prueba de alguna tautología? ¿Existe un algoritmo eficiente para producir la prueba más corta de cualquier tautología? Tales preguntas sobre la demostración de teoremas y la complejidad inspiraron el artículo seminal de Cook sobre la completitud de NP, titulado en particular "La complejidad de los procedimientos de prueba de teoremas" y fueron contemplados incluso antes por Gödel en su conocida carta a von Neumann.


6

Estaba pensando en esta misma pregunta el otro día, cuando estaba reproduciendo algunas de las Lecturas sobre física de Feynman, y llegué a la lección 4 sobre la conservación de la energía. En la conferencia, Feynman usa el ejemplo de una máquina simple que (a través de un sistema de palancas o poleas o lo que sea) reduce el peso de una unidad en cierta distancia x, y lo usa para levantar un segundo peso de 3 unidades. ¿Qué tan alto se puede levantar el peso? Feynman hace la observación de que si la máquina es reversible, entonces no necesitamos saber nada sobre el mecanismo de la máquina, podemos tratarla como una caja negra, y siempre levantará el peso la distancia máxima posible ( x / 3 en este caso).

¿Tiene esto un análogo en computación? La idea del cálculo reversible me recuerda el trabajo de Landauer y Bennett, pero no estoy seguro de que este sea el sentido del término en el que estamos interesados. Intuitivamente, si tenemos un algoritmo para algún problema que sea óptimo, entonces no se está desperdiciando ningún "trabajo" en los bits; mientras que un enfoque de fuerza bruta para el mismo problema sería descartar los ciclos de CPU de izquierda a derecha. Sin embargo, me imagino que uno podría construir un circuito físicamente reversible para cualquier algoritmo.

Creo que el primer paso para abordar una ley de conservación para la complejidad computacional es averiguar exactamente qué se debe conservar. El espacio y el tiempo son métricas importantes, pero a partir de la existencia de compensaciones espacio / tiempo, ninguno de los dos será adecuado como medida de cuánto "trabajo" está haciendo un algoritmo. Se han utilizado otras métricas, como las reversiones de cabezales TM o los cruces de celdas de cinta. Ninguno de estos realmente parece estar cerca de nuestra intuición de la cantidad de "trabajo" requerido para llevar a cabo un cálculo.

La otra cara del problema es descubrir en qué se convierte ese trabajo. Una vez que tiene la salida de un programa, ¿qué es exactamente lo que ha ganado?


3

Algunas observaciones que sugieren la existencia de la ley de conservación:

<pPNP

P={L|L<pHornSAT}

NP={L|L<p3SAT}

CoNP={L|L¯<p3SAT}

NPC={L|L<p3SAT,3SAT<pL}

PC={L|L<pHornSAT,HornSAT<pL}

PP={L|L<pHornSAT,L¯<pHornSAT}PNPP=NP


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.