Cooks generische Reduktion für Clique auf SAT verbessern?


10

Ich bin daran interessiert, Clique auf SAT zu reduzieren , ohne die Instanz viel größer zu machen.k

Die Clique befindet sich in NP, sodass sie mithilfe des logarithmischen Raums auf SAT reduziert werden kann. Durch die einfache Reduzierung des Garey / Johnson-Lehrbuchs wird die Instanz auf Kubikgröße vergrößert. Allerdings -Clique in P für jeden festen ist so gibt es „sollte“ eine effiziente Reduktion zumindest sein für feste .k kkkk

Eine Möglichkeit, die Reduktion zu erstellen, besteht darin , die SAT-Variablen als charakteristischen Vektor zu verwenden. Eine Variable, die auf true gesetzt ist, zeigt an, dass sich der zugehörige Scheitelpunkt in der Clique befindet. Diese Reduzierung ist natürlich, erzeugt jedoch eine SAT-Instanz mit quadratischer Größe, wenn der Graph dünn ist. Für einen spärlichen Graphen sind quadratisch viele Klauseln erforderlich, um zu erzwingen, dass in jedem Paar nicht benachbarter Scheitelpunkte höchstens ein Scheitelpunkt in der Clique sein darf.

Versuchen wir es besser zu machen als .O(n2)

Die generische Reduktion von Cook / Schnorr / Pippenger / Fischer funktioniert, indem zuerst ein polynomial zeitgebundener NDTM genommen wird, der die Sprache bestimmt, der NDTM durch einen ahnungslosen DTM simuliert wird, der ahnungslose DTM durch eine Schaltung simuliert wird und dann die Schaltung durch eine 3 simuliert wird -SAT-Instanz. Dies erzeugt eine 3-SAT-Instanz der Größe wenn die NDTM-Zeitgrenze . Der Log-Faktor scheint aufgrund des Overheads bei der Simulation durch eine ahnungslose Maschine unvermeidbar. Für Clique scheint man , was eine 3-SAT-Instanz von ergibt, die für festes quasilinear istt ( n ) k t ( n ) = O ( n k ) O ( n k ( log n + log k ) )O(t(n)logt(n))t(n)kt(n)=O(nk)O(nk(logn+logk))k. In seiner Arbeit von 1988 fragte Cook, ob es eine bessere generische Reduktion für Sprachen in NP gibt, und soweit ich weiß, ist dies noch offen. Clique hat jedoch viel Struktur, so dass man es in diesem Fall vielleicht besser machen kann.

Gibt es eine bessere Reduktion von Clique zu SAT?

Ist es insbesondere für festes möglich , Clique auf SAT zu reduzieren , während die Zunahme der Instanzgröße linear gehalten wird? Oder kann man ein vorhandenes Ergebnis verwenden, um zu argumentieren, dass dies wahrscheinlich nicht möglich ist? Ich habe versucht, Fortnow / Santhanam und Dell / van Melkebeek zu verwenden, aber der Overhead scheint zu groß zu sein, als dass diese Ergebnisse etwas Bestimmtes implizieren könnten .kkk

(Ich habe mit einer Reduzierung gearbeitet, die den Log-Faktor zu vermeiden scheint, aber bevor ich mehr Zeit mit den blutigen Details verschwendete, um deren Richtigkeit zu überprüfen, möchte ich wissen, ob eine solche Reduzierung bereits bekannt ist oder ob dies unwahrscheinlich ist existieren.)


Siehe eine etwas verwandte Frage mathoverflow.net/q/224898/440 zu MathOverflow, in der die geringe Größe einer quantifizierten Booleschen Formel für die Klasse direkt in die langsame Konvergenzrate des 0-1-Gesetzes für Zufallsgraphen übersetzt wird. Die Frage enthält bereits eine Formel von quadratischer Größe; Die akzeptierte Antwort gibt eine Formel mit linearer Größe an, die die Existenz einer Clique impliziert, die jedoch selbst dann falsch sein kann, wenn eine Clique existiert. kkk
David Eppstein

Möchten Sie eine Reduzierung, die auch im Protokollbereich ausgeführt wird? Da, wie Sie hervorheben , die Clique in Polynomzeit für die Konstante gelöst werden kann , kann eine Polynomzeitreduktion tatsächlich nach einer Clique suchen und dann eine SAT-Instanz konstanter Größe ausgeben . k kkkk
Joe Bebel

@JoeBebel: Mit space ist es sogar möglich, eine SAT-Instanz mit Variablen auszugeben , deren Lösungen alle Positionen von Cliquen im Diagramm sind. Für jede potenzielle Clique gibt man eine Klausel aus, die diese Clique verbietet, wenn sie nicht vorhanden ist. Dies erfasst die Lösungen genau, eine Eins-zu-Eins-Reduzierung, und beantwortet so Kavehs Frage, aber genau wie bei Ihrem Vorschlag scheint es zu betrügerisch zu sein, die Instanz zu lösen, bevor entschieden wird, wie sie reduziert werden soll. k log n k kklognklognkk
András Salamon

Antworten:


8

Sie können clique als SAT-Instanz mit -Variablen und -Klauseln ausdrücken . Für festes ist dies in linear .kO(nk)O(nk2)kn

Sei wenn der te Scheitelpunkt in der Clique ist (nach lexikographisch sortierter Reihenfolge). Mit anderen Worten, ist eine "One-Hot" -Codierung des ten Scheitelpunkts in der Clique (es ist der charakteristische Vektor für eine Menge mit einem Element). Dies führt Variablen ein.xiv=1vixiink

Jetzt können Sie für jedes mithilfe von Klauseln erzwingen, dass die entsprechenden zwei Eckpunkte durch eine Kante verbunden sind. Beispielsweise lautet eine Klausel wobei die Eckpunkte sind, die dem Scheitelpunkt benachbart sind . Sie erhalten eine Klausel pro Scheitelpunkt . Dies führt insgesamt -Klauseln ein.(i,j)n(¬xiuxjv1xjvm)v1,,vmuuO(nk2)

Für jedes können Sie mithilfe von -Klauseln erzwingen, dass ein Vektor des Hamming-Gewichts 1 ist und dass . Dies fügt insgesamt weitere Klauseln hinzu.x i x i < x i + 1 O ( n ) O ( n k )ixixi<xi+1O(n)O(nk)


Es könnte möglich sein, es besser zu machen, indem Variablen verwendet werden, um die Scheitelpunkte in der Clique darzustellen ( Bits reichen aus, um den ten Scheitelpunkt in der Clique darzustellen ) und dann eine Schaltung aufzubauen, um zu prüfen, ob eine Menge von Scheitelpunkten vorliegt einer Clique entsprechen. Ein Ansatz zum Aufbau einer solchen Schaltung könnte darin bestehen, die Liste aller Paare dieser Eckpunkte in sortierter Reihenfolge zu erstellen und diese dann mit der Liste der Kanten unter Verwendung des Merge-Verfahrens von Mergesort oder ähnlichem zu vergleichen Das. Es könnte möglich sein, so etwas wie eine - Schaltung zu erhalten, die dann in eine SAT-Instanz derselben Größe übersetzt wird (wobeilg n i k k ( k - 1 ) / 2 O ( ( n + m + k 2 ) Poly ( lg n ) ) m =klgnlgnikk(k1)/2O((n+m+k2)poly(lgn))m=die Anzahl der Kanten in der Grafik). Ich habe jedoch nicht versucht, die Details herauszufinden, um festzustellen, ob dies tatsächlich möglich ist.

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.