Konjunktiv Normalform

In der Booleschen Logik und im Booleschen Kalkül ist eine Formel in konjunktiver Normalform oder FNC (Englisch, konjunktive Normalform oder CNF ) eine Konjunktion von Klauseln , wobei eine Klausel eine Disjunktion von Literalen ist . Die Formeln in FNC werden im Rahmen des automatischen Beweises von Theoremen oder sogar bei der Lösung des SAT-Problems (insbesondere im DPLL-Algorithmus ) verwendet.

Definition und Beispiele

Ein logischer Ausdruck ist in FNC genau dann, wenn es sich um eine Konjunktion einer oder mehrerer Disjunktionen eines oder mehrerer Literale handelt . Genau wie in einer disjunktiven Normalform (DNF) sind die einzigen Operatoren in der FNC logisch , logisch oder und Negation . Der Operator kann nicht nur in einem Literal verwendet werden, dh er kann nur einer Variablen vorangehen. Beispielsweise sind alle folgenden Ausdrücke in FNC enthalten:

Beispiele für Formeln in FNC:

Die folgenden Ausdrücke sind jedoch nicht in FNC enthalten:

Gegenbeispiele für Formeln in FNC:
  1. - Die Negation steht vor der Formel, die nicht atomar ist (es ist keine Variable).
  2. - a und ist in einem oder verschachtelt

Umstellung auf äquivalente FNC

Jede Boolesche Formel kann in Form einer FNC-Formel umgeschrieben werden, die denselben Wahrheitswert hat und daher logisch äquivalent ist. Das Konvertieren eines Ausdrucks in einen FNC erfordert die Verwendung logischer Transformationsregeln, z. B. die Beseitigung von Doppelverneinungen, De Morgans Gesetzen und dem Gesetz der Verteilungsfähigkeit .

Umwandlung in FNC:

Die Anwendung der Verteilungsgesetze kann in einigen Fällen dazu führen, dass die Formel exponentiell wächst .

Formel, deren FNC eine exponentielle Größe hat:

die FNC eines Ausdrucks der folgenden Form in disjunktiver Normalform mit n Begriffen:

Wessen FNC der Größe 2 n hat die Form:

Gleichwertige lineare Umwandlung

Um exponentielle Transformationen zu vermeiden, können Transformationen durch Einführung zusätzlicher Variablen angewendet werden. Daher erzeugt diese Art der Transformation nicht mehr wie die vorherige Transformation logisch äquivalente Formeln, sondern Transformationen, die die Erfüllbarkeit der ursprünglichen Formel bewahren .

Diese Transformation wird manchmal als Tseytin- Transformation (oder Tseitin-Transformation) bezeichnet.

Die Formel von Beispiel 2 kann beispielsweise durch Einführen der Variablen umgeschrieben werden .

Beispiel für eine lineare Transformation:

Eine Formel der folgenden Form:

Kann in einer nicht zufriedenstellenden Formel umgeschrieben werden

Intuitiv repräsentiert in diesem Beispiel die Variable die Wahrheit der -ten Konjunktion der ursprünglichen Formel und der Klauseln und drückt die Bedingung aus . Mit anderen Worten, wenn es wahr ist, dann und muss es auch wahr sein. Der erste Satz der Transformation erfordert, dass mindestens einer der Punkte wahr ist, damit die Formel erfüllt ist, so dass mindestens einer der Sätze der ursprünglichen Formel wahr ist .

Wir können Transformationen auch auf Typklauseln basieren . Diese Klauseln implizieren Äquivalenz  ; Wir können in diesen Formeln die Definition als Alias für die Formel sehen .

Solche Transformationen ermöglichen es, eine FNC-Formel zu erhalten, deren Größe in Bezug auf die Größe der ursprünglichen Formel linear ist .

SAT-Problem

Das SAT-Problem ist das algorithmische Problem, das aus einer Formel besteht, mit der in FNC entschieden werden kann, ob es gültig ist oder nicht. Das Problem ist NP-vollständig , selbst für den speziellen 3-SAT-Fall, in dem nur Klauseln mit höchstens drei Literalen zulässig sind. Andererseits kann das Problem mit Klauseln der Größe 2, 2-SAT in Polynomzeit gelöst werden.

Siehe auch

Anmerkungen und Referenzen

  1. (en) Jean Betrema, „  Computermodelle  “ , Kapitel 9: NP-vollständige Probleme> SAT ist NP-vollständig> CNF ist NP-vollständig.
    Beweis und lineare Umwandlung einer SAT-Formel in einen nicht zufriedenstellenden CNF.
  2. GS Tseitin, Zur Komplexität der Ableitung in der Aussagenrechnung , (akademisches Kapitel),1970, [ online lesen ]