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)
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)
Variablen mit der Domäne {0,1}:
(D =) (der erste Teiler)
(E =) e 4 e 3 e 2 e 1 (der zweite Teiler)
Beziehungen:
(für E> 1)
(entsprechend D> M)
(was die niedrigstwertige Bitmultiplikation darstellt) ( d 1 ∧ e 2 ) ⊕ (
(die nächste BitMultiplikation darstellt) n 3 = . . . ; n 4 = . . .
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?
quelle
Antworten:
quelle
quelle