Warum beweist der Satz von Schaefer nicht, dass P = NP ist?


12

Das ist wahrscheinlich eine blöde Frage, aber ich verstehe es einfach nicht. Bei einer anderen Frage kamen sie auf Schaefers Dichotomiesatz . Für mich sieht es so aus, als ob es beweist, dass jedes CSP-Problem entweder in P oder in NP-vollständig ist, aber nicht dazwischen. Da jedes NP-Problem in Polynomial-Zeit in CSP transformiert werden kann (weil CSP NP-vollständig ist), warum beweist dies nicht, dass zwischen P und NP-vollständig kein Raum besteht und dass P = NP ist?

Ich denke zum Beispiel, dass die Faktorisierung von Ganzzahlen als Erfüllbarkeitsproblem umgeschrieben werden kann. Mit dem Schaefer-Theorem sollte sie entweder P- oder NP-vollständig sein, aber nicht dazwischen (auch wenn wir nicht herausfinden können, welches es ist).

Eine andere Sichtweise auf die gesamte Frage: Warum können wir Schaefers Theorem nicht verwenden, um zu entscheiden, ob die ganzzahlige Faktorisierung in P oder in NP-vollständig ist?


EDIT: als Antwort auf die Antwort von David Richerby (es ist zu lang für einen Kommentar):

Interessant, aber ich verstehe es noch nicht ganz. Wenn wir den Satz von Relationen Gamma definieren, während wir den Satz von Schaefer verwenden, können wir ihm Einschränkungen auferlegen. Zum Beispiel können wir Gamma einschränken, um nur Relationen der Arität 2 zu verwenden (dann ist das Problem in P). Welche Einschränkungen können wir dem Gamma auferlegen?

Warum können wir keine solchen Einschränkungen auferlegen, dass alle Instanzen von CSP (Gamma) genau gleich (isomorph zu?) L sind? Wenn Sie beispielsweise die Ganzzahlfaktorisierung für ungerade Zahlen übertragen, wird einer der beiden Divisoren binär als xn .. x3 x2 1 dargestellt. Nun möchte ich, dass diese Zahl größer als 1 ist. Also habe ich die Beziehung (xn oder .. oder x3 oder x2). Also sage ich, dass Gamma eine Or-Relation der Arität n-1 haben kann. Aber ich möchte nicht, dass diese oder -Relation verwendet wird, um andere Instanzen als L in die Sprache einzubeziehen, deshalb setze ich weiterhin voraus, dass x2..xn in der oder -Relation keine Negation haben darf. Natürlich muss ich auch die Einschränkung auferlegen, dass dort nur bestimmte Variablen verwendet werden.

Ist es auf diese Weise nicht möglich, CSP (Gamma) isomorph zur ganzzahligen Faktorisierung zu machen? Die Hauptfrage ist: Welche Einschränkungen können wir dem Gamma auferlegen?

EDIT 2: als Antwort auf die Antwort von Yuval Filmus.

Ich verstehe Ihre Antwort und sie scheint korrekt zu sein, obwohl sie in etwa der Antwort von David entspricht. Beispielsweise können wir die Faktorisierung auf 3-Sat reduzieren und daraus schließen, dass die Faktorisierung NP-vollständig ist. Dies ist falsch, da 3-Sat andere Instanzen aufweist, bei denen es sich wahrscheinlich nicht um Faktorisierung handelt.

Der Teil, den ich nicht verstehe, ist, wenn eine Instanz (nicht) willkürlich ist. Zum Beispiel scheint mir 2-SAT auch nicht willkürlich zu sein, weil nur Klauseln von Arity 2 erlaubt sind (obwohl ich zugeben muss, dass der Beweis dann immer noch gilt, weil es eine obere Schranke ist und in diesem Fall die obere Schranke P ist).

Vielleicht ist ein besseres Beispiel eine NP-Vollständigkeit: die oben gekoppelte Frage. Ein Antwortender gibt einen vollständigen Schaefer-Beweis. Aber ich lege der Eingabe nicht-triviale Beschränkungen auf (2-SAT-Klauseln sind erlaubt und xor-Klauseln, aber sonst nichts). Natürlich gilt der Beweis immer noch, da die im Beweis berücksichtigten CSP-Probleme genau die gleichen sind wie im Original.

Der Teil, den ich nicht verstehe, ist, warum wir für die Faktorisierung nicht ähnlich vorgehen können. Natürlich ist es nicht sinnvoll, es auf 3-SAT zu reduzieren, aber ich erlaube mir, die CSP-Instanz anzugeben, die eine Zahl faktorisiert und nur eine Zahl (mit 4 Bits) faktorisiert. (Fahren Sie mit END-OF-SKIP fort, wenn Sie glauben, dass dies möglich ist.)

Faktorisierungsinstanz.

EINGANG:

(N =) (die 4 Bits der zu faktorisierenden Zahl) (M =) m 4 m 3 m 2 m 1 (die 4 Bits des Minimalwerts des ersten Divisors) n4n3n2n1
m4m3m2m1

Lassen Sie uns dies nun in eine CSP-Instanz umwandeln

EINGABE:
unäre Domänen für und für m 5 . . m 1 (was darstellt, dass N und M gegeben sind)n5..n1m5..m1

Variablen mit der Domäne {0,1}:
(D =) (der erste Teiler) (E =) e 4 e 3 e 2 e 1 (der zweite Teiler)d4d3d2d1
e4e3e2e1

Beziehungen:

(für E> 1)e4e3e2

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

(was die niedrigstwertige Bitmultiplikation darstellt) ( d 1e 2 ) (d1e1=n1
(die nächste BitMultiplikation darstellt) n 3 = . . . ; n 4 = . . .(d1e2)(d2e1)=n2
n3=...;n4=...

END-OF-SKIP

Der springende Punkt ist, dass wir bei der Anwendung des Schaefer-Theorems nur solche CSPs berücksichtigen müssen . (Wie bei 2-SAT berücksichtigen wir nur CSPs mit Arity 2). Dabei gilt entweder einer der sechs Polymorphismen oder nicht (einige Macken in der Mengenlehre sind zu vermeiden). In beiden Fällen ist die Faktorisierung nicht NP-intermediär.

Dies kann auch für 3-SAT erfolgen. Dann sollten wir nur 3-SAT-Instanzen berücksichtigen (unter Verwendung der Reduktion), die Faktorisierungsinstanzen darstellen (die nicht mehr 3-SAT sind).

Wohin gehe ich falsch?


1
Ich empfehle dringend, dass Sie eine genaue Formulierung von Schaefers Dichotomiesatz lesen. Es ist nicht wahr, dass Sie "Beschränkungen für [die Menge von Beziehungen] auferlegen können". Schaefers Dichotomiesatz deckt diesen Fall nicht ab. Wikipedia kann manchmal ungenau und verwirrend sein. Ich schlage daher vor, dass Sie stattdessen Vorlesungsskripte finden oder sich sogar eine relevante Veröffentlichung ansehen.
Yuval Filmus

Ich habe Ihren Kommentar nicht bemerkt, bevor ich meine Antwort bearbeitet habe. Vielleicht ist es nicht erlaubt, die Menge der Beziehungen einzuschränken, aber es sieht für mich so aus, als sollten Sie nur keine Beziehungen berücksichtigen, die nicht der Einschränkung entsprechen, wenn Sie den Satz von Schaefer anwenden. Genau wie bei 2-SAT berücksichtigen Sie keine Relationen, die nicht der "Einschränkung" entsprechen, dass jede Klausel 2 Literale haben sollte.
Albert Hendriks

2
ΓCSP(Γ)ΓCSP(Γ)

3
CSP(Γ)

1
übrigens kennt jemand ein gutes Lehrbuch oder eine moderne Behandlung der Schaeffer-Dichotomie?
15.

Antworten:


10

LΓΓLLΓLΓ


Interessant. Ich habe meine Frage als Antwort auf Ihre Antwort bearbeitet.
Albert Hendriks

ΓΓΓ

Ich kann mich irren, aber ich würde sagen, dass die Eingabe für das Problem der Ganzzahlfaktorisierung mit der Eingabe für CSP (Gamma) identisch ist: zwei beliebige Binärzahlen (die zu faktorisierende Zahl und der Mindestwert eines der Teiler) . Richtig? Ich verstehe den Teil, dass, wenn Sie die Transformation nicht sorgfältig durchführen, Sie ein anderes Problem haben.
Albert Hendriks

ΓΓ

12

ΓCSP(Γ) . Schäfers Theorem gibt Ihnen einen Algorithmus, mit dem Sie entscheiden können, ob dieses Problem NP-vollständig ist oder in P. Es deckt keine andere Situation ab.

ΓCSP(Γ) NP-vollständig ist (dies ist die gemeinsame Überzeugung gegeben , dass Integer - Faktorisierung nicht in P ist). Ihre Instanzen sind jedoch nicht willkürlich, weshalb der Satz von Schaefer nur eine Obergrenze für die Komplexität vorgibt. Es könnte durchaus sein, dass die ganzzahlige Faktorisierung tatsächlich nicht NP-vollständig ist.


Danke für deine Antwort. Ich habe meine Frage (EDIT 2) als Antwort auf Ihre Antwort bearbeitet.
Albert Hendriks
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.