Messung der Schwierigkeit von SAT-Instanzen


28

Bei einer Instanz von SAT möchte ich abschätzen können, wie schwierig es sein wird, die Instanz zu lösen.

Eine Möglichkeit besteht darin, vorhandene Löser auszuführen, aber diese Art von Funktion verhindert das Abschätzen der Schwierigkeit. Ein zweiter Weg könnte darin bestehen, das Verhältnis von Klauseln zu Variablen zu untersuchen, wie dies für Phasenübergänge in Random-SAT der Fall ist, aber ich bin mir sicher, dass es bessere Methoden gibt.

Gibt es bei einer bestimmten SAT-Instanz schnelle Heuristiken, um die Schwierigkeit zu messen? Die einzige Bedingung ist, dass diese Heuristiken schneller sind, als tatsächlich vorhandene SAT-Solver auf der Instanz ausgeführt werden.


Verwandte Frage

Welche SAT-Probleme sind einfach? auf cstheory.SE. Bei dieser Frage werden nach nachvollziehbaren Mengen von Instanzen gefragt. Dies ist eine ähnliche Frage, aber nicht genau das gleiche. Ich bin wirklich an einer Heuristik interessiert, die bei einer bestimmten Instanz eine Art halbintelligente Vermutung darüber zulässt, ob die Instanz schwer zu lösen sein wird.


Können Sie erläutern, warum der Phasenübergang bezüglich "Dichte" nicht das ist, was Sie benötigen?
Raphael

@Raphael das ist eine ziemlich gute Methode, und ich erwähne es in meiner Frage. Aber ich hatte den Eindruck, dass es noch bessere Heuristiken gibt. Der Phasenübergang stört mich, weil es so einfach zu
täuschen

Entschuldigung, ich habe diesen Teil Ihrer Frage verpasst. Richtig, wie die Kommentatoren bemerken, scheint der Phasenübergang für nicht zufällige Formeln empfindlich zu sein.
Raphael

2
Sie können eine SAT-Formel (in CNF) als zweigeteiltes Diagramm darstellen, wobei Scheitelpunkte für jede Formel und jeden Satz sowie Kanten Vorkommen darstellen. Wenn dieses Diagramm einfach zu partitionieren ist, kann das Problem in die partitionierten Teilgraphen zerlegt werden. Vielleicht kann dies als nützliche Maßnahme dienen? Ich habe keine Ahnung (weshalb dies ein Kommentar und keine Antwort ist).
Alex ten Brink

Dies könnte nützlich sein: ece.uwaterloo.ca/~vganesh/QPaper/paper.pdf
user

Antworten:


22

Im Allgemeinen ist dies eine sehr relevante und interessante Forschungsfrage. "Eine Möglichkeit besteht darin, vorhandene Solver auszuführen ..." und was würde uns das überhaupt genau sagen? Wir konnten empirisch feststellen, dass eine Instanz für einen bestimmten Löser oder einen bestimmten Algorithmus / eine bestimmte Heuristik schwierig zu sein scheint. Aber was sagt sie wirklich über die Härte der Instanz aus?

Ein Weg, der verfolgt wurde, ist die Identifizierung verschiedener struktureller Eigenschaften von Instanzen, die zu effizienten Algorithmen führen. Es wird in der Tat bevorzugt, dass diese Eigenschaften "leicht" identifizierbar sind. Ein Beispiel ist die Topologie des zugrunde liegenden Abhängigkeitsgraphen, gemessen unter Verwendung verschiedener Diagrammbreitenparameter. Beispielsweise ist bekannt, dass eine Instanz in der Polynomzeit lösbar ist, wenn die Baumbreite des zugrunde liegenden Abhängigkeitsgraphen durch eine Konstante begrenzt ist.

Ein anderer Ansatz hat sich auf die Rolle der verborgenen Struktur von Instanzen konzentriert. Ein Beispiel ist der Backdoor-Satz , dh der Satz von Variablen, so dass sich das verbleibende Problem zu einer nachvollziehbaren Klasse vereinfacht, wenn sie instanziiert werden. Beispielsweise zeigen Williams et al., 2003 [1], dass man auch unter Berücksichtigung der Kosten für die Suche nach Backdoor-Variablen einen allgemeinen Rechenvorteil erzielen kann, wenn man sich auf ein Backdoor-Set konzentriert, vorausgesetzt, das Set ist ausreichend klein. Darüber hinaus Dilkina et al., 2007 [2] zur Kenntnis , dass ein Solver genannt Satz-Rand bei der Suche nach kleinem starkem Backdoors auf einer Reihe von experimentellen Domänen bemerkenswert gut.

In jüngerer Zeit schlagen Ansotegui et al., 2008 [3] die Verwendung der baumartigen Raumkomplexität als Maß für DPLL-basierte Löser vor. Sie beweisen, dass auch ein konstant begrenzter Raum die Existenz eines polynomiellen Zeitentscheidungsalgorithmus impliziert, wobei der Raum der Grad des Polynoms ist (Theorem 6 in der Arbeit). Außerdem zeigen sie, dass der Raum kleiner ist als die Größe von Cycle-Cutsets. Unter bestimmten Voraussetzungen ist der Platz auch kleiner als die Größe der Hintertüren.

Sie formalisieren auch, was Sie meiner Meinung nach suchen, das heißt:

ψΓO(nψ(Γ))


[1] Williams, Ryan, Carla P. Gomes und Bart Selman. "Hintertüren zu typischer Fallkomplexität." Internationale gemeinsame Konferenz für künstliche Intelligenz. Vol. 18, 2003.

[2] Dilkina, Bistra, Carla Gomes und Ashish Sabharwal. "Kompromisse bei der Komplexität der Backdoor-Erkennung." Prinzipien und Praxis der Constraint-Programmierung (CP 2007), S. 256-270, 2007.

[3] Ansótegui, Carlos, Maria Luisa Bonet, Jordi Levy und Felip Manya. "Messen der Härte von SAT-Instanzen." In Proceedings of the 23. National Conference on Artificial Intelligence (AAAI'08), S. 222-228, 2008.


ψ(Γ)

@ArtemKaznatcheev Ich denke, das Backdoor-Set ist wahrscheinlich das einzige, das wirklich verwendet wird. Wenn wir einen Solver ausführen, interessiert uns die Härte der Formel nicht wirklich. die instanz muss trotzdem gelöst werden. Die Messung muss uns einen Rechenvorteil verschaffen, oder wir können sie verwenden, um eine geeignete Heuristik auszuwählen. Abgesehen davon sind Härtemessungen meiner Meinung nach noch ziemlich experimentell.
Juho

1

Gestatten Sie mir, da Sie über den Phasenübergang Bescheid wissen, einige andere einfache Überprüfungen zu erwähnen, die mir bekannt sind (die wahrscheinlich durch die Analyse der Abhängigkeitsgraphen zusammengefasst werden):

  • Einige frühe zufällige SAT-Generatoren haben versehentlich meist einfache Formeln erstellt, weil sie "konstante Dichte" verwendeten, was einen ungefähr gleichen Anteil aller Satzlängen bedeutet. Diese waren meistens einfach, weil 2-Klauseln und Einheiten das Problem erheblich vereinfachen, wie zu erwarten ist, und wirklich lange Klauseln entweder nicht viel Verzweigung hinzufügen oder die Hyperauflösung noch besser ermöglichen. Es scheint also besser, Klauseln mit fester Länge beizubehalten und andere Parameter zu variieren.
  • |x||¬x|x
  • v1,v2,v3{v1,v2,...},{v2,v3,...},{v1,v3,...}

[1] https://arxiv.org/pdf/1903.03592.pdf


0

Neben Juhos hervorragender Antwort gibt es noch einen weiteren Ansatz:

Ercsey-Ravasz & Toroczkai, Optimierungshärte als vorübergehendes Chaos in einem analogen Ansatz zur Beschränkungserfüllung , Nature Physics Band 7, Seiten 966–970 (2011).

Dieser Ansatz besteht darin, das SAT-Problem in ein dynamisches System umzuschreiben, bei dem jeder Attraktor des Systems eine Lösung für das SAT-Problem darstellt. Die Anziehungspunkte des Systems sind fraktaler, je schwieriger das Problem wird, und so kann die "Schwierigkeit" der SAT-Instanz gemessen werden, indem untersucht wird, wie chaotisch die Transienten sind, bevor das System konvergiert.

In der Praxis bedeutet dies, eine Reihe von Solvern aus verschiedenen Ausgangspositionen zu starten und zu untersuchen, mit welcher Geschwindigkeit Solver den chaotischen Transienten entkommen, bevor sie zu einem Attraktor gelangen.

Es ist nicht schwer, ein dynamisches System zu entwickeln, für das die "Lösungen" Lösungen für ein bestimmtes SAT-Problem sind, aber es ist etwas schwieriger, sicherzustellen, dass die Lösungen alle attraktiv und nicht repeller sind. Ihre Lösung besteht darin, Energievariablen (ähnlich wie Lagrange-Multiplikatoren) einzuführen, um darzustellen, wie stark eine Einschränkung verletzt wird, und zu versuchen, das System zu veranlassen, die Energie des Systems zu minimieren.

Interessanterweise können Sie mit ihrem dynamischen System SAT-Probleme in polynomialer Zeit auf einem analogen Computer lösen, was an sich ein bemerkenswertes Ergebnis ist. Es gibt einen Haken; Es kann exponentiell große Spannungen erfordern, um die Energievariablen darzustellen, so dass Sie dies auf physischer Hardware leider nicht realisieren können.


1
"Mit ihrem dynamischen System können Sie SAT-Probleme in Polynomialzeit auf einem analogen Computer lösen, was an sich ein bemerkenswertes Ergebnis ist." Ich würde nicht zustimmen, dass dies bemerkenswert ist. Wie Sie bemerken: Es erfordert exponentielle Präzision. Dies ist eigentlich ein Standardtrick, der direkt mit der Definition von NP verknüpft ist. Wenn Sie exponentiell genau messen könnten, könnten Sie einfach versuchen, die Anzahl der akzeptierenden Pfade zu schätzen (oder als zufälliges Walk-Dyn-System anzeigen) und festzustellen, ob es genau null oder nur wenige sind (dies würde natürlich eine exponentiell genaue Messung erfordern). das gleiche wie beim dynamischen System).
Artem Kaznatcheev

Dank dafür. Ich kenne nicht viele theoretische Ergebnisse über analoges Rechnen.
Pseudonym
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.