Boolesche Zufriedenheitsproblem
Im Logik und Informatik, das Boolesche Zufriedenheitsproblem (manchmal genannt Aussagenerfragenproblem und abgekürzt Erfüllbarkeit, Sa oder B-sa) ist das Problem der Bestimmung, ob es eine gibt Deutung das zufrieden ein gegebenes Boolesche Formel. Mit anderen Worten, es wird gefragt, ob die Variablen einer bestimmten booleschen Formel konsistent durch die wahren oder falschen Werte ersetzt werden können, so dass die Formel auf wahr bewertet wird. Wenn dies der Fall ist, wird die Formel aufgerufen erfüllbar. Wenn andererseits keine solche Zuordnung vorliegt, ist die von der Formel ausgedrückte Funktion FALSCH Für alle möglichen variablen Zuordnungen und die Formel ist Unzufrieden. Zum Beispiel die Formel "a UND NICHT b"ist befriedigend, weil man die Werte finden kann a= Wahr und b= Falsch, was machen (a UND NICHT b) = Wahr. Im Gegensatz, "a UND NICHT a"ist nicht zufriedenbar.
SAT ist das erste Problem, das sich nachgewiesen hatte NP-Complete; sehen Cook -Levin -Theorem. Dies bedeutet, dass alle Probleme in der Komplexitätsklasse Np, einschließlich einer breiten Palette natürlicher Entscheidung und Optimierungsprobleme, sind höchstens so schwer zu lösen wie SAT. Es ist kein Algorithmus bekannt, der jedes SAT -Problem effizient löst, und es wird allgemein angenommen, dass kein solcher Algorithmus existiert; Dieser Glaube wurde jedoch mathematisch nicht bewiesen und die Frage, ob SAT a hat Polynomzeit Algorithmus entspricht dem P gegen NP -Problem, was ein berühmtes offenes Problem in der Theorie des Computers ist.
Ab 2007 können heuristische Sat-Algorithmen jedoch Probleminstanzen lösen, an denen Zehntausende von Variablen und Formeln beteiligt sind, die aus Millionen von Symbolen bestehen.[1] was für viele praktische SAT -Probleme ausreicht, z. B., z. B., künstliche Intelligenz, Schaltungsdesign,[2] und automatischer Theorem -Beweis.
Definitionen
A Aussagelogik Formel, auch genannt Boolescher Ausdruck, ist gebaut von Variablen, Operatoren und (Verbindung, auch bezeichnet durch ∧) oder (disjunktion, ∨), nicht (Negation, ¬) und Klammern. Eine Formel soll sein erfüllbar Wenn es durch die Zuordnung geeigneter zugewiesen werden kann logische Werte (d.h. wahr, falsch) an seine Variablen. Das Boolesche Zufriedenheitsproblem (SAT) wird eine Formel gegeben, um zu prüfen, ob sie befriedigend ist. Dies Entscheidungsproblem ist in vielen Bereichen von zentraler Bedeutung Informatik, einschließlich Theoretische Informatik, Komplexitätstheorie,[3][4] Algorithmik, Kryptographie[5][6] und künstliche Intelligenz.[7]
Konjunktive normale Form
A wörtlich ist entweder eine Variable (in diesem Fall wird sie als a genannt positiver wörtlicher) oder die Negation einer Variablen (genannt a Negativ wörtlich). EIN Klausel ist eine Disjunktion von Literalen (oder einem einzigen wörtlichen). Eine Klausel wird a genannt Hornklausel Wenn es höchstens ein positives buchstäblich ist. Eine Formel ist in Konjunktive normale Form (CNF) Wenn es sich um eine Konjunktion von Klauseln (oder eine einzelne Klausel) handelt. Zum Beispiel, x1 ist ein positives wörtliches, ¬x2 ist ein negatives wörtliches, x1 ∨ ¬x2 ist eine Klausel. Die Formel (x1 ∨ ¬x2) ∧ (¬x1 ∨ x2 ∨ x3) ∧ ¬x1 ist in Verbindung mit normaler Form; Seine ersten und dritten Klauseln sind Hornklauseln, aber seine zweite Klausel ist nicht. Die Formel ist befriedigend, indem sie auswählen x1= Falsch, x2= Falsch und x3 willkürlich, da (false ∨ ¬False) ∧ (¬False ∨ falsch ∨ x3) ∧ ¬False bewertet (false ∨ true) ∧ (True ∨ False ∨ x3) ∧ wahr und wiederum zu wahr ∧ wahr ∧ wahr (d. H. Zu wahr). Im Gegensatz dazu die CNF -Formel a ∧ ¬a, bestehend aus zwei Klauseln eines wörtlichen a= True oder a= Falsch Es bewertet die wahre ∧ ∧ ¬ ¬ ¬ ¬ ¬ (d. H. Falsch) oder falsches Fällen (d. H. Wieder falsch).
Für einige Versionen des SAT -Problems ist es nützlich, den Begriff von a zu definieren Verallgemeinerte konjunktive normale Form Formel, nämlich. Als Verbindung von willkürlich vielen Verallgemeinerte Klauseln, Letzteres ist der Form R(l1, ...,ln) für einige Boolesche Funktion R und (gewöhnliche) Literale li. Verschiedene Sätze erlaubter Boolesche Funktionen führen zu unterschiedlichen Problemversionen. Als Beispiel, R(¬x,a,b) ist eine verallgemeinerte Klausel, und R(¬x,a,b) ∧ R(b,y,c) ∧ R(c,d, ¬z) ist eine verallgemeinerte konjunktive normale Form. Diese Formel wird verwendet unter, mit R Der ternäre Operator zu sein, der genau dann wahr ist, wenn genau eines seiner Argumente ist.
Unter Verwendung der Gesetze von boolsche AlgebraJede Aussage -Logikformel kann in eine äquivalente konjunktive Normalform umgewandelt werden, die jedoch exponentiell länger sein kann. Zum Beispiel die Formel transformieren (x1∧y1) ∨ (x2∧y2) ∨ ... ∨ ((xn∧yn) In konjunktive normale Form ergibt
- (x1∨x2∨… ∨xn) ∧
- (y1∨x2∨… ∨xn) ∧
- (x1∨y2∨… ∨xn) ∧
- (y1∨y2∨… ∨xn) ∧ ... ∧
- (x1∨x2∨… ∨yn) ∧
- (y1∨x2∨… ∨yn) ∧
- (x1∨y2∨… ∨yn) ∧
- (y1∨y2∨… ∨yn);
Während Ersteres eine Disjunktion von ist n Konjunktionen von 2 Variablen, letzteres besteht aus 2n Klauseln von n Variablen.
Aber mit Verwendung der Tseytin -TransformationWir können eine äquisateleiche konjunktive Normalformformel mit Länge linear in der Größe der ursprünglichen Propositionslogikformel finden.
Komplexität
SAT war der erste bekannte NP-Complete Problem, wie nachgewiesene Stephen Cook Bei der Universität von Toronto 1971[8] und unabhängig von Leonid Levin Bei der Nationale Akademie der Wissenschaften 1973.[9] Bis zu diesem Zeitpunkt bestand das Konzept eines NP-Complete-Problems nicht einmal. Der Beweis zeigt, wie jedes Entscheidungsproblem in der Komplexitätsklasse Np kann sein reduziert zum SAT -Problem für CNF[Anmerkung 1] Formeln, manchmal genannt Cnfsat. Eine nützliche Eigenschaft von Cooks Reduktion ist, dass sie die Anzahl der Annahme von Antworten bewahrt. Zum Beispiel entscheiden, ob eine gegebene Graph hat ein 3-farbig ist ein weiteres Problem in NP; Wenn ein Diagramm 17 gültige 3-Farben enthält, hat die SAT-Formel, die durch die Reduzierung von Cook-Levin erzeugt wird, 17 zufriedenstellende Aufgaben.
NP-Completness bezieht sich nur auf die Laufzeit der schlimmsten Fallinstanzen. Viele der Fälle, die in praktischen Anwendungen auftreten, können viel schneller gelöst werden. Sehen Algorithmen zum Lösen von SAT unter.
3-Satsfabilität

Wie das Erfüllbarkeitsproblem für willkürliche Formeln ist die Bestimmung der Erfüllbarkeit einer Formel in konjunktiver normaler Form, bei der jede Klausel auf höchstens drei Literale beschränkt ist. Dieses Problem wird genannt 3-sa, 3cnfsat, oder 3-Satsfabilität. Um das uneingeschränkte SAT-Problem auf 3-SAT zu reduzieren, transformieren Sie jede Klausel l1 ∨ ⋯ ∨ ln zu einer Verbindung von n - 2 Klauseln
- (l1 ∨ l2 ∨ x2) ∧
- (¬x2 ∨ l3 ∨ x3) ∧
- (¬x3 ∨ l4 ∨ x4) ∧ ⋯ ∧ ∧
- (¬xn - 3 ∨ ln - 2 ∨ xn - 2) ∧
- (¬xn - 2 ∨ ln - 1 ∨ ln)
wo x2, ⋯, ⋯,xn - 2 sind frische Variablen, die nicht anderswo auftreten. Obwohl die beiden Formeln nicht sind logisch äquivalent, sie sind äquiszucht. Die Formel, die sich aus der Transformation aller Klauseln ergibt, ist höchstens dreimal so lang wie ihr ursprüngliches, d. H. Das Längenwachstum ist Polynom.[10]
3-sa ist einer von Karps 21 NP-Complete-Problemeund es wird als Ausgangspunkt für den Beweis verwendet, dass auch andere Probleme sind Np-harte.[Anmerkung 2] Dies geschieht durch Polynomzeitreduktion von 3-sat bis zum anderen Problem. Ein Beispiel für ein Problem, bei dem diese Methode verwendet wurde, ist die Clique Problem: Bei einer CNF -Formel, bestehend aus c Klauseln, die entsprechend Graph besteht aus einem Scheitelpunkt für jedes wörtliche und einer Kante zwischen den beiden zwei nicht kontrollierenden[Notiz 3] Literale aus verschiedenen Klauseln, vgl. Bild. Die Grafik hat a c-Clique, wenn und nur wenn die Formel befriedigend ist.[11]
Es gibt einen einfachen randomisierten Algorithmus aufgrund von Schöning (1999), der zeitlich ausgeführt wird (4/3)n wo n ist die Anzahl der Variablen im 3-SAT-Vorschlag und gelingt mit hoher Wahrscheinlichkeit, 3-SAT korrekt zu entscheiden.[12]
Das Exponentialzeithypothese behauptet, dass kein Algorithmus 3-SAT (oder in der Tat k-Sat für jeden ) in exp (o(n)) Zeit (d. H. grundsätzlich schneller als exponentiell in n).
Selman, Mitchell und Levesque (1996) geben je nach Größenparametern empirische Daten zur Schwierigkeit von zufällig erzeugten 3-SAT-Formeln an. Schwierigkeit wird in zahlreichen rekursiven Aufrufen von a gemessen DPLL -Algorithmus.[13]
3-Satentability kann verallgemeinert werden auf k-satisfability (K-sa, Auch K-CNF-sa) Wenn Formeln in CNF mit jeder Klausel berücksichtigt werden, die bis zu bis hin zu k Literale. Aber denn für jeden k ≥ 3, dieses Problem kann weder einfacher als 3-sat noch härter als SAT sein, und die beiden letzteren sind NP-Vervollständigung und müssen also K-sat sein.
Einige Autoren beschränken K-SAT auf CNF-Formeln mit Genau k Literale. Dies führt auch nicht zu einer anderen Komplexitätsklasse, wie jede Klausel l1 ∨ ⋯ ∨ lj mit j < k Literale können mit festen Dummy -Variablen gepolstert werdenl1 ∨ ⋯ ∨ lj ∨ dj+1 ∨ ⋯ ∨ dk. Nachdem alle Klauseln gepolstert haben, 2k-1 zusätzliche Klauseln[Anmerkung 4] müssen angehängt werden, um dies nur sicherzustellen d1 = ⋯ = dk= Falsch kann zu einer zufriedenstellenden Aufgabe führen. Seit k Hängt nicht von der Formellänge ab, die zusätzlichen Klauseln führen zu einer ständigen Länge. Aus dem gleichen Grund spielt es keine Rolle, ob doppelte Literale sind in Klauseln wie in erlaubt ¬x ∨ ¬y ∨ ¬y.
Sonderfälle von SAT
Konjunktive normale Form
Konjunktive normale Form (insbesondere mit 3 Literalen pro Klausel) wird häufig als kanonische Darstellung für SAT -Formeln angesehen. Wie oben gezeigt, reduziert sich das allgemeine SAT-Problem auf 3-SAT, wobei das Problem der Bestimmung der Erfüllbarkeit für Formeln in dieser Form.
Disjunktive normale Form
SAT ist trivial, wenn die Formeln auf die in beschränkt sind disjunktive normale FormDas heißt, sie sind eine Disjunktion der Konjunktionen von Literalen. Eine solche Formel ist in der Tat befriedigend, wenn und nur dann, wenn mindestens eine ihrer Konjunktionen erfüllt ist, und eine Konjunktion ist nur dann befriedigend, wenn sie nicht beides enthält x und nicht x für eine Variable x. Dies kann in der linearen Zeit überprüft werden. Darüber hinaus, wenn sie darauf beschränkt sind, in zu sein Vollständige disjunktive normale Form, in dem jede Variable in jeder Konjunktion genau einmal erscheint, können sie in konstanter Zeit überprüft werden (jede Konjunktion repräsentiert eine zufriedenstellende Zuordnung). Es kann jedoch exponentielle Zeit und Raum dauern, um ein allgemeines SAT -Problem in disjunktive normale Form umzuwandeln. zum Beispiel austauschen "∧" und "∨" in der Oben Exponentielles Blow-up-Beispiel für konjunktive normale Formen.
Genau-1 3-Satsfabilität

Eine Variante des 3-satempfindlichen Problems ist die Ein-in-drei-3-Sa (auch unterschiedlich bekannt als 1-in-3-sa und Genau 1 3-sa). Bei einer konjunktiven normalen Form mit drei Literalen pro Klausel besteht das Problem darin, festzustellen, ob eine Wahrheitsaufgabe zu den Variablen vorhanden ist exakt ein wahres wörtliches (und damit genau zwei falsche Literale). Im Gegensatz dazu verlangt gewöhnlicher 3-SAT, dass jede Klausel hat wenigstens Ein wahres wörtliches. Formal wird ein 1-zu-drei-3-SAT-Problem als generalisierte Konjunktiv normale Form mit allen verallgemeinerten Klauseln unter Verwendung eines ternären Operators angegeben R Das ist wahr, wenn genau eines seiner Argumente ist. Wenn alle Literale einer 1-zu-drei-3-SAT-Formel positiv sind, wird das Zufriedenheitsproblem aufgerufen Ein-zu-drei-positiver 3-sa.
Ein-zu-drei-3-SAT zusammen mit seinem positiven Fall ist in der Standardreferenz als NP-Complete-Problem "LO4" aufgeführt. Computer und Unverdaulichkeit: Ein Leitfaden zur Theorie der NP-Vervollständigung durch Michael R. Garey und David S. Johnson. Es wurde erwiesen, dass 1-Drei 3-SAT von NP-Complete von durchläuft Thomas Jerome Schaefer als Sonderfall von Schäfers Dichotomie -Theorem, was behauptet, dass jedes Problem der Verallgemeinerung der Booleschen Befriedigung auf eine bestimmte Weise entweder in der Klasse P oder in der NP-Vervollständigung liegt.[14]
Schaefer gibt eine Konstruktion, die eine einfache Verringerung der Polynomzeit von 3-sa-SAT bis zu drei Sat ermöglicht. Lassen "(x oder y oder z) "Seien Sie eine Klausel in einer 3CNF -Formel. Fügen Sie sechs frische boolesche Variablen hinzu a, b, c, d, e, und f, um diese Klausel zu simulieren und keine andere. Dann die Formel R(x,a,d) ∧ R(y,b,d) ∧ R(a,b,e) ∧ R(c,d,f) ∧ R(z,c, Falsch) ist erfüllen, indem die frischen Variablen nur dann eingestellt werden, wenn mindestens einer von x, y, oder z ist wahr, siehe Bild (links). Also jede 3-sat-Instanz mit m Klauseln und n Variablen können in eine konvertiert werden äquiszucht Ein-zu-drei-3-SAT-Instanz mit 5m Klauseln und n+6m Variablen.[15] Eine weitere Reduzierung beinhaltet nur vier frische Variablen und drei Klauseln: R(¬x,a,b) ∧ R(b,y,c) ∧ r (c,d, ¬z) siehe Bild (rechts).
Nicht alle gleiche 3-Sat-Un infizierende
Eine andere Variante ist die Nicht alle gleiche 3-Sat-Un infizierende Problem (auch genannt Nae3sat). Bei einer konjunktiven normalen Form mit drei Literalen pro Klausel besteht das Problem darin, festzustellen, ob eine Zuordnung zu den Variablen so vorhanden ist, dass in keiner Klausel alle drei Literale den gleichen Wahrheitswert haben. Dieses Problem ist auch NP-Complete, auch wenn keine Negationssymbole durch Schäfers Dichotomie-Theorem zugelassen werden.[14]
Linearer Sat
Eine 3-SAT-Formel ist Linearer Sat (Lsat) Wenn sich jede Klausel (als eine Reihe von Literalen angesehen) höchstens eine andere Klausel überschneidet, und außerdem, wenn sich zwei Klauseln schneiden, dann haben sie genau ein wörtliches gemeinsames. Eine LSAT-Formel kann als eine Reihe von disjunkten semi-entschlossenen Intervallen in einer Linie dargestellt werden. Die Entscheidung, ob eine LSAT-Formel befriedigend ist, ist eine NP-Vervollständigung.[16]
2-Satsfabilität
SAT ist einfacher, wenn die Anzahl der Literale in einer Klausel auf höchstens 2 beschränkt ist. In diesem Fall wird das Problem aufgerufen 2-sa. Dieses Problem kann in Polynomzeit gelöst werden und tatsächlich ist es Komplett Für die Komplexitätsklasse Nl. Wenn zusätzlich alle oder Operationen in Literalen in geändert werden Xor Operationen werden das Ergebnis genannt Exklusiv-oder 2-Satsfabilität, was ein Problem für die Komplexitätsklasse ist Sl = L.
Hornsanschlag
Das Problem der Entscheidung der Erfüllbarkeit einer bestimmten Konjunktion von Hornklauseln wird genannt Hornsanschlag, oder Hornsa. Es kann in Polynomzeit durch einen einzelnen Schritt der gelöst werden Einheitsausbreitung Algorithmus, der das einzelne minimale Modell der Hornklauseln erzeugt (W.R.T. Der Satz von Literalen, die True zugeordnet sind). Hornsanschlag ist P-Complete. Es kann als gesehen werden P's Version des booleschen Zufriedenheitsproblems. Die Entscheidung der Wahrheit quantifizierter Hornformeln kann auch in Polynomzeit erfolgen.[17]
Hornklauseln sind von Interesse, weil sie ausdrücken können Implikation einer Variablen aus einer Reihe anderer Variablen. In der Tat eine solche Klausel ¬x1 ∨ ... ∨ ¬xn ∨ y kann als umgeschrieben werden wie x1 ∧ ... ∧ xn → ydas heißt, wenn x1, ...,xn sind dann alles wahr, dann y muss auch wahr sein.
Eine Verallgemeinerung der Klasse von Hornformeln ist die von nömenswerten Hornformeln, die die Menge von Formeln ist, die durch Ersetzen einiger Variablen durch ihre jeweilige Negation in Hornform platziert werden können. Zum Beispiel, (x1 ∨ ¬x2) ∧ (¬x1 ∨ x2 ∨ x3) ∧ ¬x1 ist keine Hornformel, kann aber in die Hornformel umbenannt werden (x1 ∨ ¬x2) ∧ (¬x1 ∨ x2 ∨ ¬y3) ∧ ¬x1 durch Einführung y3 als Negation von x3. Im Gegensatz dazu keine Umbenennung von ((x1 ∨ ¬x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ ¬x1 führt zu einer Hornformel. Die Überprüfung der Existenz eines solchen Ersatzes kann in der linearen Zeit erfolgen. Daher ist die Erfüllbarkeit solcher Formeln in P, da sie gelöst werden kann, indem zuerst dieser Austausch durchgeführt und die Erfüllbarkeit der resultierenden Hornformel geprüft wird.
![]() Eine Formel mit 2 Klauseln kann unzufrieden (rot), 3 -zufrieden (grün), xor-3-unzufrieden (blau) oder/und 1-zu-3 Die 1. (Hor) und 2. (Vert) Klausel. |
Xor-satisfability
Lösen eines XOR-SAT-Beispiels durch Gaußsche Eliminierung | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ein weiterer Sonderfall ist die Klasse von Problemen, bei denen jede Klausel XOR enthält (d. H. Exklusiv oder) und nicht (einfach) oder Operatoren.[Anmerkung 5] Das ist in P, da eine XOR-SAT-Formel auch als System der linearen Gleichungen MOD 2 angesehen werden kann und in der Kubikzeit von gelöst werden kann Gaußsche Eliminierung;[18] Ein Beispiel finden Sie in der Box. Diese Neuaufstellung basiert auf dem Verwandtschaft zwischen Booleschen Algebren und Booleschen Ringenund die Tatsache, dass das arithmetische Modulo zwei bildet a endliches Feld. Seit a Xor b Xor c bewertet true, wenn und nur dann genau 1 oder 3 Mitglieder von {a,b,c} sind wahr, jede Lösung des 1-in-3-SAT-Problems für eine gegebene CNF -Sat, vgl. Bild. Infolgedessen ist es für jede CNF-Formel möglich, das von der Formel definierte XOR-3-SAT-Problem zu lösen, und basierend auf dem Ergebnis schließen entweder, dass das 3-SAT-Problem lösbar ist oder dass das 1-in-3- SAT -Problem ist unlösbar.
Vorausgesetzt dass das Komplexitätsklassen P und NP sind nicht gleichweder 2- noch Horn- noch XOR-Satisfability sind im Gegensatz zu SAT NP-Vervollständigung.
Schäfers Dichotomie -Theorem
Die obigen Einschränkungen (CNF, 2CNF, 3CNF, Horn, XOR-sa) banden die betrachteten Formeln so zu Konjunktionen von Subformeln; Jede Restriktion gibt eine bestimmte Form für alle Subformeln an: Beispielsweise können nur binäre Klauseln in 2CNF Subformeln sein.
Schaefers Dichotomie-Theorem stellt fest, dass das entsprechende Erfüllbarkeitsproblem für jede Beschränkung der Booleschen Funktionen verwendet werden kann, die zur Bildung dieser Subformeln verwendet werden können. Die Mitgliedschaft in P über die Erfüllbarkeit von 2CNF-, Horn- und XOR-SAT-Formeln ist Sonderfälle dieses Satzes.[14]
Die folgende Tabelle fasst einige häufige Varianten des SAT zusammen.
Code | Name | Beschränkungen | Anforderungen | Klasse |
---|---|---|---|---|
3sat | 3-Satsfabilität | Jede Klausel enthält 3 Literale. | Mindestens ein wörtliches muss wahr sein. | NPC |
2SAT | 2-Satsfabilität | Jede Klausel enthält 2 Literale. | Mindestens ein wörtliches muss wahr sein. | P |
1-in-3-sa | Genau 1 3-sa | Jede Klausel enthält 3 Literale. | Genau ein wörtliches muss wahr sein. | NPC |
1-in-3-sa+ | Genau 1 positiv 3-sa | Jede Klausel enthält 3 positive Literale. | Genau ein wörtliches muss wahr sein. | NPC |
Nae3sat | Nicht alle gleiche 3-Sat-Un infizierende | Jede Klausel enthält 3 Literale. | Entweder müssen ein oder zwei Literale wahr sein. | NPC |
Nae3sat+ | Nicht alle gleiche positive 3-sa | Jede Klausel enthält 3 positive Literale. | Entweder müssen ein oder zwei Literale wahr sein. | NPC |
PL-sa | Planar saß | Das Inzidenzdiagramm (Klausel-Variable-Diagramm) ist Planar. | Mindestens ein wörtliches muss wahr sein. | NPC |
L3sat | Linear 3-sa | Jede Klausel schneidet höchstens eine andere Klausel, und die Kreuzung ist genau ein wörtliches. | Mindestens ein wörtliches muss wahr sein. | NPC |
Hornsa | Horn -Befriedigung | Hornklauseln (höchstens ein positives wörtliches). | Mindestens ein wörtliches muss wahr sein. | P |
Xor-sa | XOR STANDIALITIALIALITY | Jede Klausel enthält eher XOR -Operationen als oder. | Der Xor aller Literale muss wahr sein. | P |
Erweiterungen des SAT
Eine Erweiterung, die seit 2003 erhebliche Popularität erlangt hat Befriedigungsmodulo -Theorien (SMT) Das kann CNF-Formeln mit linearen Einschränkungen, Arrays, All-Differenz-Einschränkungen, Anrichen, anreichern können. uninterpretierte Funktionen,[19] usw. Solche Erweiterungen bleiben typischerweise NP-Complete, aber jetzt sind sehr effiziente Löser verfügbar, die viele solcher Arten von Einschränkungen verarbeiten können.
Das Problem der Erfüllbarkeit wird schwieriger, wenn beides "für alle" (∀) und "da existiert" (∃) Quantifizierer dürfen die booleschen Variablen binden. Ein Beispiel für einen solchen Ausdruck wäre ∀x ∀y ∃z (x ∨ y ∨ z) ∧ (¬x ∨ ¬y ∨ ¬z); es ist gültig, da für alle Werte von x und yein angemessener Wert von z kann gefunden werden, nämlich. z= Wahr, wenn beide x und y sind falsch und z= Falsch sonst. SAT selbst (stillschweigend) verwendet nur ∃ Quantifizierer. Wenn stattdessen nur ∀ Quantifizierer zulässig sind, sind die sogenannten Tautologie Problem wird erhalten, was ist CO-NP-Complete. Wenn beide Quantifizierer erlaubt sind, wird das Problem als das genannt Quantifiziertes Problem der Booleschen Formel (QBF), was gezeigt werden kann PSPACE-Complete. Es wird allgemein angenommen, dass PSPACE-Vervollständigungsprobleme in NP streng schwieriger sind als jedes Problem, obwohl dies noch nicht bewiesen wurde. Verwenden von hoch parallele P -Systeme, QBF-SAT-Probleme können in der linearen Zeit gelöst werden.[20]
Gewöhnliche SAT fragt, ob es mindestens eine variable Zuordnung gibt, die die Formel wahr macht. Eine Vielzahl von Varianten befasst sich mit der Anzahl solcher Aufgaben:
- Maj-sa fragt, ob die Mehrheit aller Aufgaben die Formel wahr macht. Es ist bekannt, dass es vollständig ist für Pp, eine probabilistische Klasse.
- #SatDas Problem des Zählens, wie viele variable Zuordnungen eine Formel erfüllen, ist ein Zählproblem, kein Entscheidungsproblem und ist ist #P-Complete.
- Einzigartiger Sat[21] Ist das Problem der Bestimmung, ob eine Formel genau eine Zuordnung hat. Es ist vollständig für uns,[22] das Komplexitätsklasse Beschreibung von Problemen, die durch eine nicht deterministische Polynomzeit lösbar sind Turing Maschine Dies akzeptiert, wenn genau ein nicht deterministisches Akzeptanzpfad vorhanden ist und etwas anderes ablehnt.
- Eindeutig-sat ist der Name, der dem Erfüllbarkeitsproblem gegeben wird, wenn die Eingabe ist eingeschränkt zu Formeln mit höchstens eine zufriedenstellende Aufgabe. Das Problem wird auch genannt USAat.[23] Ein Lösungsalgorithmus für eindeutiges SAT darf ein Verhalten, einschließlich endloser Schleifen, auf einer Formel mit mehreren zufriedenstellenden Aufgaben aufweisen. Obwohl dieses Problem einfacher erscheint, haben Valiant und Vazirani gezeigt[24] das, wenn es ein praktisches (d.h. Randomisierte Polynomzeit) Algorithmus, um es zu lösen, dann alle Probleme in Np kann genauso leicht gelöst werden.
- Max-sa, das Maximaler Erfüllbarkeitsproblem, ist ein Fnp Verallgemeinerung von SAT. Es fragt nach der maximalen Anzahl von Klauseln, die durch jede Zuordnung erfüllt werden können. Es hat effizient Näherungsalgorithmen, aber np-hard, um genau zu lösen. Schlimmer noch, es ist es APX-Complete, was bedeutet, dass es keine gibt Polynom-Zeit-Approximationsschema (PTAs) für dieses Problem, es sei denn, p = np.
- Wmsat ist das Problem, eine Zuordnung von Mindestgewicht zu finden, die eine monoton Boolesche Formel erfüllt (d. H. Eine Formel ohne Negation). Die Gewichte von Propositionsvariablen sind im Eingang des Problems angegeben. Das Gewicht einer Zuordnung ist die Summe der Gewichte echten Variablen. Dieses Problem ist NP-Complete (siehe th. 1 von [25]).
Andere Verallgemeinerungen beinhalten die Erfüllbarkeit für Erste- und Logik zweiter Ordnung, Probleme mit der Einschränkung der Zufriedenheit, 0-1 Ganzzahlprogrammierung.
Eine befriedigende Aufgabe finden
Während SAT ist a Entscheidungsproblem, das Suchproblem Die Suche nach einer befriedigenden Aufgabe reduziert sich auf SAT. Das heißt, jeder Algorithmus, der korrekt antwortet, wenn eine Instanz von SAT lösbar ist, kann verwendet werden, um eine zufriedenstellende Zuordnung zu finden. Zunächst wird die Frage auf der angegebenen Formel φ gestellt. Wenn die Antwort "Nein" ist, ist die Formel nicht zufriedenstellbar. Andernfalls wird die Frage auf der teilweise instanziierten Formel φ gestellt{x1= True}, d.h. φ mit der ersten Variablen x1 durch True ersetzt und entsprechend vereinfacht. Wenn die Antwort "Ja" ist, dann x1= Wahr, sonst x1= Falsch. Die Werte anderer Variablen können anschließend auf die gleiche Weise gefunden werden. In Summe, n+1 Läufe des Algorithmus sind erforderlich, wo n ist die Anzahl der unterschiedlichen Variablen in φ.
Diese Eigenschaft wird in mehreren Theoreme in der Komplexitätstheorie verwendet:
Algorithmen zum Lösen von SAT
Da das SAT-Problem NP-Vervollständigung ist, sind dafür nur Algorithmen mit exponentieller schlimmster Fall bekannt. Trotzdem wurden in den 2000er Jahren effiziente und skalierbare Algorithmen für SAT entwickelt und haben zu dramatischen Fortschritten bei unserer Fähigkeit beigetragen, Probleminstanzen mit zehn Tausenden von Variablen und Millionen von Einschränkungen (d. H. Klausel) automatisch zu lösen.[1] Beispiele für solche Probleme in elektronische Designautomatisierung (EDA) einschließen Formale Äquivalenzprüfung, Modellprüfung, formelle Überprüfung von Pipeline -Mikroprozessoren,[19] Automatische Testmustererzeugung, Routing von Fpgas,[26] Planung, und Planungsprobleme, usw. Ein satlösender Motor wird auch als wesentlicher Bestandteil der elektronische Designautomatisierung Werkzeugkasten.
Zu den wichtigsten Techniken, die von modernen SAT -Löser verwendet werden Davis -Putnam -logemann -Loveland -Algorithmus (oder dpll), Konfliktorientiertes Lernen (CDCL) und stochastisch lokale Suche Algorithmen wie Walksat. Fast alle SAT-Löser enthalten Auszeiten, sodass sie in angemessener Zeit enden, auch wenn sie keine Lösung finden können. Unterschiedliche SAT -Löser finden unterschiedliche Instanzen einfach oder hart, und einige zeichnen sich bei der Suche nach Lösungen und anderen als Unzufriedenheit.
SAT-Löser werden in SAT-Lösungs-Wettbewerben entwickelt und verglichen.[27] Moderne SAT -Solvers haben unter anderem auch erhebliche Auswirkungen auf die Bereiche der Softwareverifizierung, Einschränkung der künstlichen Intelligenz und Operationsforschung.
Siehe auch
- Unzufriedener Kern
- Befriedigungsmodulo -Theorien
- Sa zählen
- Planar saß
- Karloff -Zwick -Algorithmus
- Erfüllbarkeit der Schaltung
Anmerkungen
- ^ Das SAT -Problem für willkürlich Formeln sind auch NP-Vervollständigung, da es sich leicht als in NP befindet und für CNF-Formeln nicht einfacher sein kann als SAT.
- ^ mindestens so hart wie jedes andere Problem in NP. Ein Entscheidungsproblem ist NP-Complete, wenn es nur dann in NP ist und NP-Hard ist.
- ^ d.h. so dass ein wörtliches nicht die Negation des anderen ist
- ^ nämlich. alle Maxterms das kann mit gebaut werden d1, ⋯, ⋯,dk, außer d1∨ ⋯ ∨dk
- ^ Formell verallgemeinerte konjunktive normale Formen mit einer ternären booleschen Funktion R werden angewendet, was nur dann wahr ist, wenn 1 oder 3 seiner Argumente sind. Eine Eingangsklausel mit mehr als 3 Literalen kann in eine gleichbedeutbare Konjunktion von Klauseln Á 3 Literale ähnlich verwandelt werden Oben; d.h. xor-sa kann auf xor-3-sa reduziert werden.
Externe Links
- SAT -Spiel: Versuchen Sie selbst, ein Boolesche Befriedigungsproblem zu lösen
- Die International SAT -Wettbewerbswebsite
- Internationale Konferenz über Theorie und Anwendungen von Erfüllbarkeitstests
- Journal über Zufriedenheit, Boolesche Modellierung und Berechnung
- SAT LIVE, eine aggregierte Website für die Erforschung des Befriedigungsproblems
- Jährliche Bewertung von Maxsat Solvers
Verweise
- ^ a b Ohrimenko, Olga; Stuckey, Peter J.; Codish, Michael (2007), "Propagation = Lazy Clause Generation", Prinzipien und Praxis der Einschränkungsprogrammierung - CP 2007, Vorlesungsnotizen in Informatik, Vol. 4741, S. 544–558, Citeseerx 10.1.1.70.5471, doi:10.1007/978-3-540-74970-7_39,
Moderne SAT -Solver können häufig Probleme mit Millionen von Einschränkungen und Hunderttausenden von Variablen bewältigen
. - ^ Hong, Ted; Li, Yanjing; Park, gesungen; Mui, Diana; Lin, David; Kaleq, Ziyad Abdel; Hakim, Nagib; Naeimi, Helia; Gardner, Donald S.; Mitra, subhasiisch (November 2010). "QED: Schnellfehlererkennungstests für eine effektive Nach-Silicon-Validierung". 2010 IEEE International Test Conference: 1–10. doi:10.1109/test.2010.5699215. ISBN 978-1-4244-7206-2. S2CID 7909084.
- ^ Karp, Richard M. (1972). "Reduzierbarkeit unter kombinatorischen Problemen" (PDF). In Raymond E. Miller; James W. Thatcher (Hrsg.). Komplexität von Computerberechnungen. New York: Plenum. S. 85–103. ISBN 0-306-30707-3. Archiviert von das Original (PDF) Am 2011-06-29. Abgerufen 2020-05-07. Hier: S.86
- ^ Alfred V. Aho und John E. Hopcroft und Jeffrey D. Ullman (1974). Das Design und die Analyse von Computeralgorithmen. Lesen/MA: Addison-Wesley. ISBN 0-201-00029-6. Hier: S.403
- ^ Massacci, Fabio; Marraro, Laura (2000-02-01). "Logische Kryptanalyse als SAT -Problem". Journal of Authoricated Argumenting. 24 (1): 165–203. doi:10.1023/a: 1006326723002. ISSN 1573-0670. S2CID 3114247.
- ^ Mironov, Ilya; Zhang, Lintao (2006). Biere, Armin; Gomes, Carla P. (Hrsg.). "Anwendungen von SAT -Solvers auf die Kryptanalyse von Hash -Funktionen". Theorie und Anwendungen von Erfriedigungstests - SAT 2006. Vorlesungsnotizen in Informatik. Berlin, Heidelberg: Springer. 4121: 102–115. doi:10.1007/11814948_13. ISBN 978-3-540-37207-3.
- ^ Vizel, Y.; Weissenbacher, G.; Malik, S. (2015). "Boolesche Erfüllbarkeitslöser und ihre Anwendungen bei der Modellprüfung". Proceedings of the IEEE. 103 (11): 2021–2035. doi:10.1109/jproc.2015.2455034. S2CID 10190144.
- ^ Cook, Stephen A. (1971). "Die Komplexität von Theorem-Probier-Verfahren" (PDF). Verfahren des 3. jährlichen ACM -Symposiums über die Theorie des Computers: 151–158. Citeseerx 10.1.1.406.395. doi:10.1145/800157.805047. S2CID 7573663.
- ^ Levin, Leonid (1973). "Universelle Suchprobleme (Russisch: универсальные задачи перебора, universell'nye perebornye zadachi)". Probleme der Informationsübertragung (Russian: проблеgst передачи ches фор & мbehT, problemy Peredachi Informatii). 9 (3): 115–116. (PDF) (auf Russisch), übersetzt ins Englische von übersetzt von Trakhtenbrot, B. A. (1984). "Eine Übersicht über russische Ansätze an Perebor (Brute-Force-Suche) Algorithmen ". Annalen der Geschichte des Computers. 6 (4): 384–400. doi:10.1109/mahc.1984.10036. S2CID 950581.
- ^ a b Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman (1974). Das Design und die Analyse von Computeralgorithmen. Addison-Wesley. ISBN 9780201000290.; Hier: THM.10.4
- ^ Aho, Hopcroft, Ullman[10] (1974); Thm.10.5
- ^ Schöning, UWE (Okt 1999). "Ein probabilistischer Algorithmus für k-Sat- und Einschränkungszufriedenheitsprobleme " (PDF). Proc. 40. Ann. Symp. Grundlagen der Informatik. S. 410–414. doi:10.1109/sffcs.1999.814612. ISBN 0-7695-0409-4. S2CID 123177576.
- ^ Bart Selman; David Mitchell; Hector Levesque (1996). "Harte Zufriedenheitsprobleme generieren". Künstliche Intelligenz. 81 (1–2): 17–29. Citeseerx 10.1.1.37.7362. doi:10.1016/0004-3702 (95) 00045-3.
- ^ a b c Schaefer, Thomas J. (1978). "Die Komplexität der Erfüllbarkeitsprobleme" (PDF). Verfahren des 10. jährlichen ACM -Symposiums zur Computertheorie. San Diego, Kalifornien. S. 216–226.
- ^ (Schaefer, 1978), S. 222, Lemma 3.5
- ^ Arkin, Esther M.; Banik, Aritra; Carmi, Paz; Citovsky, GUI; Katz, Matthew J.; Mitchell, Joseph S. B.; Simakov, Marina (2018-12-11). "Auswahl und Abdeckung farbiger Punkte". Diskrete angewandte Mathematik. 250: 75–86. doi:10.1016/j.dam.2018.05.011. ISSN 0166-218X.
- ^ Buning, H.K.; Karpinski, Marek; Flogel, A. (1995). "Auflösung für quantifizierte booleale Formeln". Informationen und Berechnung. Elsevier. 117 (1): 12–18. doi:10.1006/inco.1995.1025.
- ^ Moore, Cristopher; Mertens, Stephan (2011), Die Art der Berechnung, Oxford University Press, p. 366, ISBN 9780199233212.
- ^ a b R. E. Bryant, S. M. German und M.N. Velev, Mikroprozessorüberprüfung unter Verwendung effizienter Entscheidungsverfahren für eine Logik der Gleichheit mit nicht interpretierten Funktionen, in analytischen Tableaus und verwandten Methoden, S. 1–13, 1999.
- ^ Alhazov, Artiom; Martín-Video, Carlos; Pan, Linqiang (2003). "Lösen eines PSPACE-Complete-Problems durch Erkennen von P-Systemen mit eingeschränkten aktiven Membranen". Fundamenta Informaticae. 58: 67–77. Hier: Sekte.3, thm.3.1
- ^ Blass, Andreas; Gurevich, Yuri (1982-10-01). "Über das einzigartige Erfüllbarkeitsproblem". Informationen und Kontrolle. 55 (1): 80–88. doi:10.1016/s0019-9958 (82) 90439-9. ISSN 0019-9958.
- ^ "Komplexitätszoo: U - Komplexitätszoo". Komplexitätzoo.uwaterloo.ca. Archiviert von das Original Am 2019-07-09. Abgerufen 2019-12-05.
- ^ Kozen, Dexter C. (2006). "Ergänzende Vorlesung F: Einzigartige Erfüllbarkeit". Theorie der Berechnung. Texte in Informatik. London: Springer-Verlag. p. 180. ISBN 9781846282973.
- ^ Valiant, L.; Vazirani, V. (1986). "NP ist so einfach wie das Erkennen von einzigartigen Lösungen" (PDF). Theoretische Informatik. 47: 85–93. doi:10.1016/0304-3975 (86) 90135-0.
- ^ Buldas, Ahto; Lenin, Aleksandr; Willemson, Jan; Charnamord, Anton (2017). Obana, Satoshi; Chida, Koji (Hrsg.). "Einfache Unberührungszertifikate für Angriffsbäume". Fortschritte in der Informations- und Computersicherheit. Vorlesungsnotizen in Informatik. Springer International Publishing. 10418: 39–55. doi:10.1007/978-3-319-64200-0_3. ISBN 9783319642000.
- ^ Gi-joon nam; Sakallah, K. A.; Rutenbar, R. A. (2002). "Ein neuer FPGA-detaillierter Routing-Ansatz über suchbasierte booleale Befriedigung" (PDF). IEEE-Transaktionen zum computergestützten Design integrierter Schaltkreise und Systeme. 21 (6): 674. doi:10.1109/tcad.2002.1004311.
- ^ "Die International SAT -Wettbewerbswebseite". Abgerufen 2007-11-15.
Zusätzliche Referenzen bis zum Datum der Veröffentlichung:
- Michael R. Garey & David S. Johnson (1979). Computer und Unverdaulichkeit: Ein Leitfaden zur Theorie der NP-Vervollständigung. W.H. Freeman. ISBN 0-7167-1045-5. A9.1: LO1 - LO7, S. 259 - 260.
- Marques-Silva, J.; Glass, T. (1999). "Kombinationsäquivalenzüberprüfung unter Verwendung von Erfreulichkeit und rekursivem Lernen" (PDF). Konferenz und Ausstellung von Design, Automatisierung und Test in Europa, 1999. Proceedings (Kat. Nr. PR00078) (PDF). p. 145. doi:10.1109/Datum.1999.761110. ISBN 0-7695-0078-1.
- Clarke, E.; Biere, a.; Raimi, R.; Zhu, Y. (2001). "Begrenzte Modellprüfung mit Erfreulichkeitslösung". Formale Methoden im Systemdesign. 19: 7–34. doi:10.1023/a: 1011276507260. S2CID 2484208.
- Giunchiglia, e.; Tacchella, A. (2004). Giunchiglia, Enrico; Tacchella, Armando (Hrsg.). Theorie und Anwendungen von Erfriedigungstests. Vorlesungsnotizen in Informatik. Vol. 2919. doi:10.1007/b95238. ISBN 978-3-540-20851-8. S2CID 31129008.
- Babic, D.; Bingham, J.; Hu, A. J. (2006). "B-Cubing: Neue Möglichkeiten für eine effiziente Satlösung" (PDF). IEEE -Transaktionen auf Computern. 55 (11): 1315. doi:10.1109/tc.2006.175. S2CID 14819050.
- Rodriguez, C.; Villagra, M.; Baran, B. (2007). "Asynchrone Teamalgorithmen für boolesche Befriedigung" (PDF). 2007 2. Bio-inspirierte Modelle für Netzwerk-, Informations- und Computersysteme. S. 66–69. doi:10.1109/bimnics.2007.4610083. S2CID 15185219.
- Carla P. Gomes; Henry Kautz; Ashish Sabharwal; Bart Selman (2008). "Befriedigung Solvers". In Frank van Harmelen; Vladimir Lifschitz; Bruce Porter (Hrsg.). Handbuch der Wissensrepräsentation. Grundlagen der künstlichen Intelligenz. Vol. 3. Elsevier. S. 89–134. doi:10.1016/s1574-6526 (07) 03002-7. ISBN 978-0-444-52211-5.
- Vizel, Y.; Weissenbacher, G.; Malik, S. (2015). "Boolesche Erfüllbarkeitslöser und ihre Anwendungen bei der Modellprüfung". Proceedings of the IEEE. 103 (11): 2021–2035. doi:10.1109/jproc.2015.2455034. S2CID 10190144.
Dieser Artikel enthält Material aus einer Spalte im ACM Sigda E-Newsletter durch Prof. Karem Sakallah
Der Originaltext ist verfügbar hier