Problemas fuera de P que no son P-hard

22

Al leer una respuesta de Peter Shor y una pregunta anterior de Adam Crume, me di cuenta de que tengo algunas ideas erróneas sobre lo que significa ser P -hard.

Un problema es P -hard si cualquier problema en P es reducible con L (o si prefiere NC ) reducciones. Un problema está fuera de P si no existe un algoritmo de tiempo polinómico para resolverlo. Esto significa que debería haber un problema que esté fuera de P pero no sea P duro. Si suponemos que FACTORING está fuera de P , la respuesta de Peter Shor sugiere que FACTORING podría ser un problema.

¿Hay algún problema conocido (natural o artificial) que se sepa que está fuera de P pero no es P duro? ¿Qué pasa con los supuestos más débiles que el supuesto de factorización? ¿Hay un nombre para esta clase de complejidad?

Artem Kaznatcheev
fuente

Respuestas:

18

Si PL entonces ningún conjunto disperso (incluso uno no computable) puede ser P-hard .

La idea errónea proviene de pensar en las clases de complejidad (y los problemas computacionales) como la creación de un orden lineal que no es cierto. El uso de la palabra "dureza" para un problema se puede utilizar para resolver otros problemas en la clase también contribuye a la idea errónea. Un límite inferior para un problema (es decir, no estar en una clase de complejidad) no implica que el problema sea difícil para la clase (es decir, puede usarse para resolver otros problemas en la clase). No sé si hay una mejor terminología alternativa para la "dureza" que se usa actualmente, una que se ha usado en décadas anteriores es la "universalidad" (que, en mi humilde opinión, expresó el concepto con mayor fidelidad, y entonces podríamos haber usado "dureza" por no estar en la clase, pero cambiar la terminología establecida es muy difícil).

Kaveh
fuente
1
Algunos de los diagramas de Euler que he visto de las clases de complejidad también me han alimentado la segunda idea errónea, que es lo que creo que causó mi confusión sobre la dureza X.
Artem Kaznatcheev
@Artem, sí, eso también es un factor. Esto es lo que hago en la clase: menciono la incomparabilidad de y bajo las reducciones , con la esperanza de que esto ayude a los estudiantes a evitar pensar que todo está ordenado linealmente. modpA C 0modqAC0
Kaveh
1
La parte del pedido total con la que tengo muchos menos problemas. En particular, creo que NP y coNP son lo suficientemente buenos como para mostrar que no debemos pensar en clases de complejidad que tengan un orden total.
Artem Kaznatcheev
1
@Artem, buen punto (aunque no podemos probar que sean diferentes). Creo que parte de la razón de la terminología es la falta de límites inferiores razonables, no tenemos un límite inferior bueno para SAT, pero creemos que es difícil de resolver porque es universal, pero la palabra "universal" no dar la misma sensación de dificultad que "difícil", especialmente a los no expertos. Pero eso crea el problema porque aunque uno puede argumentar que la universalidad de un problema implica que el problema es difícil de resolver, la dificultad de resolver un problema no implica que el problema sea universal.
Kaveh
3
es decir, los problemas universales son difíciles (al menos tan difíciles como cualquier problema en la clase), pero los problemas difíciles no necesitan ser universales.
Kaveh
19

Creo que puedes construir un conjunto que no esté en que no sea duro por un argumento de estilo Ladner. Aquí hay un ejemplo específico.PPP

En su artículo "Un enfoque uniforme para obtener conjuntos diagonales en clases de complejidad" (Theor. Comp. Sci. 18, 1982), Schöning demuestra lo siguiente:

Teorema Suponga que , , y son clases de complejidad presentables de forma recursiva y están cerradas bajo variaciones finitas. Luego hay un conjunto tal que , , y si y no es trivial (conjunto vacío o todas las cadenas), entonces es polytime many-one reducible a .A 2C 2 C 1 C 2 A A C 1 A C 2 A 1P A 2 A A 2A1C1A2C2C1C2AAC1AC2A1PA2AA2

Para aplicar este, conjunto para ser el conjunto vacío, y sea -Complete bajo reducciones polytime, establecer el conjunto de -Hard conjuntos que están en , establecidos . El conjunto vacío no puede ser -hard (la definición de -hardness para un lenguaje requiere que haya al menos una instancia en el lenguaje y una instancia no incluida). definitivamente no está en . El y el se pueden verificar para cumplir con las condiciones anteriores (similar a cómo lo hace Schoening para elA 2 E X P C 1 P E X P C 2 = P P P A 2 C 2 C 1 C 2 N P A P E X P A P A 1P A 2 A E X P E X P A PAGSA1A2EXPC1PEXPC2=PPPA2C2C1C2NP-conjuntos completos; ver también esta pregunta relacionada ). Por lo que obtener una que no es un problema -Hard en , y que no está en . Pero debido a que y no es trivial, es reducible a un conjunto completo de , por lo que está en . Por lo tanto, en particular, tampoco puede ser duro.APEXPAPA1PA2AEXPEXPAP

En el argumento anterior, la restricción a problemas -Hard en es necesario garantizar presentabilidad recursiva, ya que los problemas P-duro como un todo son no recursivamente presentable y ni siquiera contable . Ahora, ejemplos "naturales" de esto son una historia diferente ...E X PPEXP

Ryan Williams
fuente
Me gusta cómo va esto a través incluso si . A menos que haya entendido mal algo. L=P
Artem Kaznatcheev
1
@Artem: Si considera la dureza bajo la reducibilidad del espacio de registro, entonces cada lenguaje no trivial es L-hard. Por lo tanto, si L = P, no hay idiomas fuera de P que sean P-hard bajo la capacidad de reducción del espacio logarítmico.
Tsuyoshi Ito
10

Otra forma de generar problemas que están fuera de P pero que no son difíciles de P es tomar problemas completos para clases incomparables con P. Digamos que una clase X es incomparable con P, en el sentido de que ninguno es un subconjunto del otro. Entonces, un problema X-complete está necesariamente fuera de P (de lo contrario, P incluiría X) y no es P-hard (de lo contrario X incluiría P).

Traté de pensar en algunas clases incomparables con P, pero P es una clase bastante robusta, por lo que no hay demasiadas clases. Por ejemplo, RNC y QNC pueden ser incomparables con P. DSPACE ( ) también puede ser incomparable con P. PolyL es incomparable con P, pero no tiene problemas completos en las reducciones de espacio de registro.log2

Robin Kothari
fuente
3
En mi opinión, esta es casi la misma pregunta formulada de manera diferente, y no es necesariamente una forma de responderla. De hecho, el lenguaje A no está en P ni P-hard si y solo si la clase de lenguajes reducibles a A es incomparable con P (tome su noción favorita de reductibilidad). En lo que respecta a la pregunta actual, creo que es más probable que sea útil en la dirección opuesta; es decir, esta es otra forma de interpretar las respuestas a la pregunta actual.
Tsuyoshi Ito