¿Por qué el teorema de Schaefer no prueba que P = NP?


12

Esta es probablemente una pregunta estúpida, pero simplemente no entiendo. En otra pregunta se les ocurrió el teorema de dicotomía de Schaefer . Para mí, parece que demuestra que cada problema de CSP está en P o en NP-completo, pero no en el medio. Dado que cada problema de NP puede transformarse en tiempo polinómico en CSP (porque CSP es NP-completo), ¿por qué esto no prueba que no hay espacio entre P y NP-completo y que P = NP?

Por ejemplo, mis pensamientos son como, la factorización de enteros se puede reescribir como un problema de satisfacción, por lo que, utilizando el teorema de Schaefer, debería estar en P o NP completo, pero no en el medio (incluso si no podemos descubrir cuál es).

Una forma diferente de ver la pregunta completa: ¿por qué no podemos usar el teorema de Schaefer para decidir si la factorización de enteros está en P o en NP completo?


EDITAR: en respuesta a la respuesta de David Richerby (es demasiado largo para un comentario):

Interesante, pero aún no lo entiendo completamente. Al definir el conjunto de relaciones gamma mientras se usa el teorema de Schaefer, podemos imponerle restricciones. Por ejemplo, podemos restringir gamma para usar solo relaciones de aridad 2 (entonces el problema está en P). ¿Qué tipo de restricciones podemos imponer a gamma?

¿Por qué no podemos imponer restricciones tales que todas las instancias de CSP (gamma) sean exactamente las mismas que (isomorfas a?) L? Por ejemplo, al traducir la factorización de enteros para números desiguales, uno de los dos divisores es binario representado como xn .. x3 x2 1. Ahora, quiero que este número sea mayor que 1. Entonces, tengo la relación (xn o .. o x3 o x2). Entonces digo que gamma puede tener una relación o de aridad n-1. Pero no quiero que esa relación o se use para incluir otras instancias distintas de L en el lenguaje, por lo que, además, impongo que x2..xn en la relación o no puede tener una negación. Por supuesto, también necesito imponer la restricción de que solo se usan variables específicas allí.

¿No es posible de esta manera permitir que CSP (gamma) sea isomorfo a la factorización de enteros? La pregunta principal es: ¿qué tipo de restricciones podemos imponer a gamma?

EDIT 2: en respuesta a la respuesta de Yuval Filmus.

Entiendo tu respuesta y parece correcta, aunque casi igual que la respuesta de David. Por ejemplo, podemos reducir la factorización a 3 sat y luego concluir que la factorización es NP completa, lo cual está mal porque 3 sat tiene otras instancias que probablemente no sean factorización.

La parte que no entiendo es cuando una instancia es (no) arbitraria. Por ejemplo, 2-SAT también me parece no arbitrario, porque solo se permiten cláusulas de arity 2 (aunque debo admitir que la prueba aún se mantiene porque es un límite superior y en este caso el límite superior es P).

Quizás un mejor ejemplo es uno de NP-completitud: la pregunta vinculada anteriormente. Un respondedor da una prueba completa de Schaefer. Pero impongo restricciones no triviales en la entrada (se permiten las cláusulas 2-SAT y las cláusulas xor, pero nada más). Por supuesto, la prueba aún se mantiene porque los problemas de CSP considerados en la prueba son exactamente los mismos que el original.

La parte que no entiendo es ¿por qué no podemos hacer algo similar para la factorización? Por supuesto, no sirve de nada reducirlo a 3-SAT, pero me permite dar la instancia CSP que factoriza un número y solo factoriza un número (de 4 bits). (salte al FINAL DE SALTAR si cree que esto es posible).

Instancia de factorización.

ENTRADA:

(N =) (los 4 bits del número a factorizar) (M =) (los 4 bits del valor mínimo del primer divisor) n4n3n2n1
m4m3m2m1

Ahora, transformemos esto en una instancia CSP

ENTRADA:
dominios unarios para y para (lo que representa que se dan N y M)n5..n1m5..m1

variables con dominio {0,1}:
(D =) (el primer divisor) (E =) (el segundo divisor)d4d3d2d1
e4e3e2e1

relaciones:

e4e3e2 (que representa E> 1)

(d4¬m4)(d4=m4d3¬m3)(d4=m4d3=m3d2¬m2)(d4=m4d3=m3d2=m2d1¬m1)
(que representa D> M)

( d 1e 2 ) ( d 2e 1 ) = n 2d1e1=n1 (que representa la multiplicación de bits menos significativa) (que representa la siguiente multiplicación de bits)
(d1e2)(d2e1)=n2
n3=...;n4=...

FIN DE SALTAR

El quid es que, al aplicar el teorema de Schaefer, solo debemos considerar tales CSP . (Al igual que para 2-SAT, solo consideramos CSP con arity 2). Al hacer eso, uno de los seis polimorfismos se mantiene o no (guarda algunas peculiaridades en la teoría de conjuntos). En cualquier caso, la factorización no es NP-intermedia.

Esto también se puede hacer para 3-SAT. Entonces, solo deberíamos considerar (usando la reducción) instancias de 3-SAT que representan instancias de factorización (que ya no es 3-SAT).

¿Dónde me equivoco?


1
Le sugiero encarecidamente que lea una formulación exacta del teorema de dicotomía de Schaefer. No es cierto que "pueda imponer restricciones a [el conjunto de relaciones]". El teorema de la dicotomía de Schaefer no cubre este caso. Wikipedia a veces puede ser inexacta y confusa, por lo que le sugiero que encuentre notas de clase en su lugar, o tal vez incluso vea un artículo relevante.
Yuval Filmus

No noté tu comentario antes de editar mi respuesta. Tal vez no está permitido imponer restricciones en el conjunto de relaciones, pero me parece que no debería considerar las relaciones que no coinciden con la restricción al aplicar el teorema de Schaefer. Al igual que con 2-SAT, no considera las relaciones que no coinciden con la "restricción" de que cada cláusula debe tener 2 literales.
Albert Hendriks

2
Hay una noción muy formal de "restricción" que se utiliza en el teorema de Schaefer. La restricción "instancia SAT que representa la factorización" no es el tipo de restricción que el teorema de Schaefer puede manejar. Por cada tal que la factorización entera se pueda representar como una instancia de , encontrará que es tal que resolver es NP-completo. Entonces, el teorema de Schaefer no nos dice absolutamente nada sobre la dureza de la factorización (aparte de lo que ya sabemos: que está en NP). C S P ( Γ ) Γ C S P ( Γ )ΓCSP(Γ)ΓCSP(Γ)
Yuval Filmus

3
El hecho de que en el comentario anterior es NP-complete no significa que la factorización en sí es NP-complete, ya que las instancias de factorización tienen una estructura especial, un tipo de estructura que no puede ser capturada por Schaefer teorema. CSP(Γ)
Yuval Filmus

1
Por cierto, ¿alguien conoce un buen libro de texto o un tratamiento moderno de la dicotomía Schaeffer?
vzn

Respuestas:


10

Cuando traduce un problema  NP arbitrario a CSP, termina con un conjunto de instancias con algún lenguaje de restricción (conjunto de relaciones)  . Lo que dice el teorema de Schaeffer es que decidir todas las instancias de CSP ( ) está en P o es NP- completo. Pero, si solo necesita decidir un conjunto restringido de instancias (por ejemplo, las instancias que obtiene al traducir el problema  ), podría ser más fácil. En particular, si  es NP- intermedio, entonces resolver las instancias correspondientes de CSP ( ) también sería NPΓ Γ L L Γ L ΓLΓΓLLΓ-intermedio: puede traducir las instancias nuevamente a instancias de  y resolverlas allí. Pero resolver la clase de todas las instancias de CSP ( ) sería NP- completo.LΓ


Interesante. Edité mi pregunta en respuesta a tu respuesta.
Albert Hendriks,

No son las restricciones en sino las restricciones en la entrada al CSP las que son importantes, aquí. Decir "Es difícil resolver todo CSP ( )" no es lo mismo que "Es difícil resolver las instancias de CSP ( ) que se obtienen al transformar, por ejemplo, instancias de factorización de enteros". Γ ΓΓΓΓ
David Richerby

Puedo estar equivocado, pero diría que la entrada al problema de factorización de enteros es la misma que la entrada a CSP (gamma): dos números binarios (el número a factorizar y el valor mínimo de uno de los divisores) . ¿Derecho? Entiendo la parte de que si no haces la transformación con cuidado, terminas con otro problema.
Albert Hendriks

La entrada a la factorización de enteros es un par de enteros, como usted dice. La entrada a CSP ( ) es un conjunto de variables que se extienden sobre algún dominio y un conjunto de restricciones en esas variables. La situación es como, por ejemplo, reducir la capacidad de 3 colores a 3 SAT. La entrada a la capacidad de 3 colores es un gráfico; La entrada a 3-SAT es una fórmula booleana. ΓΓΓ
David Richerby

12

El teorema de Schaefer cubre una situación muy específica: se le da un conjunto finito de relaciones, y está interesado en la complejidad de . El teorema de Schaefer le brinda un algoritmo para decidir si este problema es NP-completo o en P. No cubre ninguna otra situación.C S P ( Γ )ΓCSP(Γ)

Cuando traduce un problema como la factorización de enteros en un CSP, utilizará un conjunto de relaciones manera que esté completa NP (esto, dada la creencia común de que la factorización de enteros no está en P ) Pero sus instancias no son arbitrarias, por lo que el teorema de Schaefer solo le da un límite superior a la complejidad. Bien podría ser que la factorización entera no sea NP completa.C S P ( Γ )ΓCSP(Γ)


Gracias por su respuesta. Edité mi pregunta (EDITAR 2) en respuesta a su respuesta.
Albert Hendriks
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.