Was ist falsch an diesem scheinbaren Widerspruch zu einem Artikel über die UND-Komprimierung von SAT?

7

Ich habe eine einfache Konstruktion bekommen, die scheinbar einem Papier widerspricht, das plausible Vermutungen annimmt.

Was ist falsch an dem Argument, da es unwahrscheinlich ist, dass die Vermutung falsch ist?

Aus einem Papier

Eine UND-Komprimierung ist ein deterministischer Polynom-Zeit-Algorithmus, der eine Reihe von SAT-Instanzen abbildet x1,,xt zu einer einzelnen SAT-Instanz y von Größe poly(maxi|xi|) so dass y ist genau dann erfüllbar, wenn alle xisind zufriedenstellend. ... es sei denn, der unwahrscheinliche komplexitätstheoretische ZusammenbruchcoNPNP/poly auftritt, gibt es keine UND-Komprimierung für SAT.

Konstruktion:

Wenn xiSind Sie nicht in CNF, konvertieren Sie sie in CNF und fügen Sie möglicherweise neue Variablen hinzu. Das ist Polynom.

In CNF kann man ein UND-Gatter codieren C:=AB und ODER-Gatter C:=AB.

Die UND- und ODER-Gatter haben die Eigenschaft, dass wir für alle zufriedenstellenden Zuweisungen ihrer CNFs haben C(AB) und C(AB).

Lassen Sie die j-te Klausel in xi Sein xi,j=[y1,,yk] für Literale ym.

Berechnen Sie die Variable mithilfe des ODER-Gatters und neuer Variablen Oi,j:=y1y2yk.

Für alle Klauseln in xi (Oi,j) und die Berechnungsvariable UND-Gatter Vi:=Oi,1Oi,2Oi,m.

Durch den Bau xiVi.

Für alle Vimit dem UND-Gatter berechnen F:=V1Vt.

Fx1xt.

Also die endgültige Formel y ist die Vereinigung der CNFs für Oi,j,Vi,Fund eine Einheitsklausel [F].

|y| ist linear in der Anzahl aller Literale, t ist polynomisch in max|xi|, was macht |y| Polynom in max|xi|.

Dies scheint der Behauptung in der Zeitung zu widersprechen, es sei denn, der bestimmte Zusammenbruch geschieht.

Was ist falsch an diesem Argument, das der Behauptung in der Zeitung zu widersprechen scheint?

Eine ähnliche Konstruktion funktioniert für die ODER-Komprimierung, wenn mindestens eine vorhanden ist xi muss erfüllbar sein.

Die neu eingeführte Variable wird eindeutig durch die ursprünglichen Variablen bestimmt.

OR gate in  CNF 3 := 1 \/ 2 : [[1 2 -3],[-1 3],[-2 3]]
AND gate in CNF 3 := 1 /\ 2 : [[-1 -2 3],[1 -3],[2 -3]]
Elluser
quelle
Sie können nicht berechnen Oi,j (und daher Vi,j) würde dies bedeuten, dass Sie die Lösung für die SAT-Instanzen bereits kennen.
Luke Mathieson
@LukeMathieson Dies funktioniert in der Praxis mit den expliziten Gates, es wird symbolisch auf den Literalen berechnet. BerechnenT:=xyzmit dem oder gate compute t1:=OR(y,z), T:=OR(x,t1).
Elluser
@ user114872 Wenn sie die Werte nicht verwenden, wie werden sie dann durch die Wahrheitszuweisung gezwungen? Ich kann zurückkommenxi ist zufriedenstellend Vi ist zufriedenstellend, aber ich verstehe nicht, warum Sie das Gegenteil bekommen, die Variablen Oi,jkann alles nur auf true gesetzt werden.
Luke Mathieson
@ LukeMathieson Ich konstruiere keine Lösung, ich konstruiere CNF y(symbolisch mit den Literalen arbeiten). Konvertieren Sie CNF intuitivxi mit Tor schalten oixi. Fügen Sie UND-Gatter zwischen allen hinzuoi. Konvertieren Sie die letzte Schaltung in CNF und zwingen Sie das endgültige Gate auf TRUE. Dies ist auch ein Polynom.
Elluser
1
@ user114872 Ich verstehe, dass Sie eine CNF-Formel erstellen. Ich schlage vor, dass sie die Bedingung nicht erfüllt F ist genau dann erfüllbar, wenn alle xis sind erfüllbar - F ist nur durch Einstellen aller Oi,jVariablen auf true. Dies sagt nichts über die Instanzen ausxi.
Luke Mathieson

Antworten:

12

Die Verwirrung ergibt sich aus einem Missverständnis dessen, was Polynom in der Größe der größten Instanz bedeutet. Dies bedeutet nicht, dass das Polynomwachstum der Kompressorleistung als Anzahl der Instanzen zulässig ist (t) erhöht sich. Es bedeutet vielmehr, dass die Leistung des Kompressors nur mit zunehmender maximaler Instanzgröße wachsen darf, unabhängig davontund dann nur innerhalb eines festen Polynoms dieses Wertes.

Ihr Kompressor verkettet die CNF-Instanzen, konvertiert sie in Schaltkreise und konvertiert die Schaltkreise dann wieder in CNF. Die Ausgabe wächst linear mit der Anzahl der Instanzen (t) unabhängig von den Instanzgrößen und muss daher jede Polynomfunktion der maximalen Instanzgröße überschreiten. Aus diesem Grund verursacht Ihr Kompressor, da er überhaupt keine Komprimierung durchführt, keinen Hierarchiekollaps.

Es scheint auch ein Missverständnis darüber zu geben, was die UND-Kompressorfunktion tun soll. Es muss keine Instanz ausgegeben werden, die alle zufriedenstellenden Zuweisungen für alle Eingabeinstanzen beibehält, und es muss auch keine sparsame Zählreduzierung von den Eingabeinstanzen zur Ausgabeinstanz erfolgen. Eine konforme Implementierung könnte im Extremfall eine leere Instanz ausgeben, wenn alle Eingabeinstanzen erfüllt werden können, andernfalls eine einzelne leere Klausel.

Ein plausiblerer UND-Kompressor kann Standard-Datenkomprimierungstechniken wie die Verwendung eines Wörterbuchs anpassen. Eine Tabelle mit nicht erfüllbaren Unterformeln könnte vorberechnet und zur Suche nach den eingegebenen SAT-Instanzen verwendet werden. Eine Übereinstimmung würde eine verbotene Variablenzuweisung implizieren, die, wenn sie als gelernte Klausel instanziiert wird, mehrere andere Klauseln subsumieren (eliminieren) könnte.

Eine andere Technik besteht darin, die unterschiedlichen Größen der Eingabeinstanzen auszunutzen. Wenn die Eingabeinstanzen unterschiedliche Größen haben, können die größeren Instanzen nach Unterformeln durchsucht werden, die einer der kleineren Instanzen entsprechen. Eine solche Übereinstimmung impliziert das Vorhandensein einer Variablenzuweisung, die die Unterformel erzeugen könnte, und daher ist die größere Instanz erfüllbar, wenn die kleinere Instanz erfüllt werden kann. Wenn die kleinere Instanz nicht zufriedenstellend ist, ist die größere Instanz möglicherweise immer noch zufriedenstellend, aber es spielt keine Rolle, da die Kompressorleistung immer noch eine unbefriedigende Formel erzeugen sollte. Die Ausgabeinstanz ist also effektiv von der Erfüllbarkeit der größeren Instanz entkoppelt, und daher muss die größere Instanz überhaupt nicht mehr in der Ausgabe dargestellt werden, wodurch eine große Anzahl von Klauseln entfällt.

Es gibt viele andere Techniken. Der Satz in der Arbeit legt nahe, dass ein effizientes Erreichen hoher Komprimierungsniveaus angesichts des implizierten teilweisen Zusammenbruchs der Polynomhierarchie unwahrscheinlich ist.

Kyle Jones
quelle
Danke, aber das verwirrt mich noch mehr. Die Frage wurde grundsätzlich folgendermaßen bearbeitet: Nehment=2n,max|xi|=n2. Wien neigt zur Unendlichkeit t ist kein Polynom in max|xi|. Any_ Operation abhängig von allenxi ist exponentiell, so erscheint mir in diesem Fall eine Polynomlösung unabhängig von t kann aus dem einfachen Grund nicht existieren, dass die Größe der Eingabe in exponentiell ist max|xi|.
Elluser
Sie haben gemischte Einschränkungen. Der Kompressor muss zeitlich polynomisch zur Größe des Eingangs laufen, aber die Größe seines Ausgangs muss polynomisch zur Größe der größten einzelnen Eingangsinstanz sein. Die Anforderung an die Ausgabegröße hat keinen Einfluss darauf, wie viel Zeit Sie zum Lesen und Verarbeiten der Eingabe benötigen.
Kyle Jones
Sie meinen, die Laufzeit kann beliebig sein (kein Polynom), nur die Ausgabe yPolynom sein?
Elluser
Nein, die Laufzeit muss polynomisch zur Größe der Eingabe sein. Wenn die Eingabe größer wird, wird auch die Laufzeit im ungünstigsten Fall größer, jedoch gleichzeitig polynomisch zur Größe der Eingabe.
Kyle Jones
Die Größe der Eingabe ist alle SAT-Instanzen und ist i=1t|xi|?
Elluser
5

Re Edit 3:


F,T ist eine zufriedenstellende Aufgabe für die Instanz "(¬x0)x1".
T,F ist eine zufriedenstellende Aufgabe für die Instanz "x0¬x1".
Die Instanzen"(¬x0)x1" und "x0¬x1"sind beide zufriedenstellend.
Die Instanz"(¬x0)x1"ist erfüllbar, wenn die Instanz"x0¬x1"ist zufriedenstellend.
F,Tist keine zufriedenstellende Aufgabe für die Instanz "x0¬x1".
F,T ist eine zufriedenstellende Aufgabe für die Instanz "(¬x0)x1"aber nicht für die Instanz"x0¬x1".
Also die Transformation von der Instanz"(¬x0)x1"zur Instanz
"x0¬x1"behält nicht alle zufriedenstellenden Zuweisungen der Eingabeinstanz bei, ist
aber so, dass"(¬x0)x1"ist erfüllbar wenn "x0¬x1"ist zufriedenstellend.

Hier ist eine nicht unbedingt effiziente Version eines UND-Komprimierungsalgorithmus für SAT:
Bestimmen Sie, ob alle eingegebenen SAT-Instanzen erfüllt werden können oder nicht.Wenn alle vorhanden sind,
geben Sie die einzelne SAT-Instanz aus. "x0", sonst die einzelne SAT-Instanz ausgeben"x0¬x0".


quelle
1
Danke, das hat geholfen. Sind diese komprimierbar: nehment(so groß wie möglich) Instanzen auf disjunkten Variablen gleicher Größe. Die Instanzen sind zufällige 3-SAT nach dem Stand der Technik. Da es sich um disjunkte Variablen handelt, funktioniert die Schaltungsminimierung nicht. Man kann nicht jede einzelne SAT-Instanz komprimieren, da dies durch ausreichende Aufrufe zur Minimierung gelöst wird.
Elluser
Diese sind komprimierbar (wenn auch nicht unbedingt effizient); Verwenden Sie einfach den Algorithmus, den ich gegeben habe. Die einzige Beziehung zwischen dieser Problemschaltungsminimierung, die ich sehe, ist die Tatsache, dass SAT abhängig davon, ob keine Schaltungen erforderlich sind, um jeden Eingang tatsächlich einem Knoten zuzuordnen, effizient auf die Schaltungsminimierung reduziert werden kann.
"da dies" was "durch ausreichende Aufrufe zur Minimierung lösen wird "?Man kann jede einzelne SAT-Instanz komprimieren (wenn auch nicht unbedingt effizient); Ersetzen Sie einfach "alle eingegebenen SAT-Instanzen sind erfüllbar. Wenn sie alle sind" in meiner Antwort durch "die eingegebene SAT-Instanz ist erfüllbar. Wenn dies der Fall ist".
Ich meine effiziente Minimierung / Komprimierung. Sicheres Lösen ergibt eine O (1) -Komprimierung.
Elluser
Die Disjunktheit der Variablen ist irrelevant. Ich vermute, dass es keine bekannten nicht trivialen Algorithmen für die UND-Komprimierung solcher Verteilungen und keine bekannten (anderen) scheinbar unwahrscheinlichen Folgen der Existenz eines effizienten UND-Komprimierungsalgorithmus für solche Verteilungen gibt.
3

Die letzten Dinge, die mich verwirrten, waren die Grenzen t und die genaue Definition des Polynoms.

Das Papier "Unmöglichkeit der Instanzkomprimierung und prägnante PCPs für NP" hat sehr geholfen.

Es geht um ODER-Komprimierung, funktioniert aber.

In der Notation des Originalpapiers t=m und max|xi|=n.

Das Papier erklärt:

""n möglicherweise kann viel weniger sein als m

(der Algorithmus) läuft im Zeitpolynom in m und n

Elluser
quelle