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.
quelle
Antworten:
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:
[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.
quelle
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):
[1] https://arxiv.org/pdf/1903.03592.pdf
quelle
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.
quelle