Tseitin-Transformation

Tseitin-Transformation

Die Tseitin-Transformation (oder auch das Tseitin-Verfahren) bezeichnet eine Methode, mit der Formeln aus der Aussagenlogik auf eine konjunktive Normalform (KNF) gebracht werden können. Die resultierende konjunktive Normalform ist dabei nicht etwa äquivalent, sondern nur erfüllbarkeitsäquivalent.

Inhaltsverzeichnis

Motivation

Üblicherweise werden Äquivalenzumformungen wie etwa die De Morgan’schen Gesetze, das Distributivgesetz und andere verwendet, um beliebige aussagenlogische Formeln in eine konjunktive Normalform zu bringen.

Durch die Anwendung des Distributivgesetzes kann es im Allgemeinen zu einem exponentiellen Anstieg der Anzahl der Konjunktionen kommen. Um diesen Anstieg zu begrenzen, wird die Formel in eine erfüllbarkeitsäquivalente Form gebracht.

Für ein Beispiel mit 2 Klauseln mit je 4 Variablen, auf die das Distributivgesetz angewandt wird, sieht man den sich dabei ergebenden, exponentiellen Anstieg der Konjunktionen:


\begin{align}
(p_1 \land p_2 \land p_3 \land p_4) \lor (q_1 \land q_2 \land q_3 \land q_4) \equiv {} &
(p_1 \lor q_1) \land (p_1 \lor q_2) \land (p_1 \lor q_3) \land (p_1 \lor q_4) \land {} \\
& (p_2 \lor q_1) \land (p_2 \lor q_2) \land (p_2 \lor q_3) \land (p_2 \lor q_4) \land {} \\
& (p_3 \lor q_1) \land (p_3 \lor q_2) \land (p_3 \lor q_3) \land (p_3 \lor q_4) \land {} \\
& (p_4 \lor q_1) \land (p_4 \lor q_2) \land (p_4 \lor q_3) \land (p_4 \lor q_4)
\end{align}

Idee

Durch die Verwendung einer erfüllbarkeitsäquivalenten Umformung, ist es nun möglich während der Transformation, Variablen einzuführen.

Die grundlegende Idee ist dabei für jede Subformel eine Variable einzuführen. Mithilfe der aussagenlogischen Äquivalenz werden dann diese Subformeln mit den neuen Variablen verbunden und alle resultierenden Bedingungen miteinander konjugiert. Danach wird jede dieser Bedingungen separat in KNF gebracht.

Beispiel

Das Beispiel soll hier an der Formel ϕ gezeigt werden.

\phi := ((p \lor q) \land r) \to (\neg s)

Zunächst werden alle Teilformeln der Länge nach aufgelistet:


\begin{align}
&\neg s\\
&p \lor q\\
&(p \lor q) \land r\\
&((p \lor q) \land r) \to (\neg s)
\end{align}

Nun werden 4 Variablen eingeführt und durch das Bikonditional mit den Subformeln verknüpft. Bei dieser Gelegenheit werden Teilformeln bereits durch entsprechende Variablen substituiert:


\begin{align}
x_1 &\leftrightarrow \neg s\\
x_2 &\leftrightarrow p \lor q\\
x_3 &\leftrightarrow x_2 \land r\\
x_4 &\leftrightarrow x_3 \to x_1
\end{align}

Nun werden alle diese Substitutionen konjugiert. Wichtig dabei ist, dass die Variable, die für die ursprüngliche Formel ϕ stand, als eigenes Konjunkt hinzugefügt wird.

Die entsprechende neue Formel sieht wie folgt aus:


T(\phi) := x_4 \land (x_4 \leftrightarrow x_3 \to x_1) \land (x_3 \leftrightarrow x_2 \land r) \land (x_2 \leftrightarrow p \lor q) \land (x_1 \leftrightarrow \neg s)

Nun müssen nur noch alle Konjunkte separat in KNF umgewandelt werden, welche mit den üblichen equivalenten Umformungen durchgeführt werden. Exemplarisch wird dies an einem Konjunkt gezeigt:


\begin{align}
x_2 \leftrightarrow p \lor q &\equiv
x_2 \to (p \lor q) \land ((p \lor q) \to x_2) \\
&\equiv (\neg x_2 \lor p \lor q) \land (\neg(p \lor q) \lor x_2) \\
&\equiv (\neg x_2 \lor p \lor q) \land ((\neg p \land \neg q) \lor x_2) \\
&\equiv (\neg x_2 \lor p \lor q) \land (\neg p \lor x_2) \land (\neg q \lor x_2)
\end{align}

Man beachte, dass im letzten Schritt wieder das Distributivgesetz angewandt wurde, aber in diesem Schritt gibt es nur noch einen konstanten Zuwachs von Konjunktionen.

Am Ende wird diese Transformation auf allen Konjunkten angewandt und die resultierende KNF ist erfüllbarkeitsäquivalent zur Ausgangsformel und hat im Allgemeinen weniger Klauseln. Es kann vorkommen, dass dies für kleinere Formeln nicht gilt.

Erweiterung nach Plaisted und Greenbaum

Diese Erweiterung zum klassischen Tseitin-Verfahren benutzt das Konzept der Polarität (N. V. Murray, 1982) als wesentlichen Bestandteil.

Polarität

Polarität bezeichnet die Parität der Anzahl der Negationen im Syntaxbaum einer aussagenlogischen Formel vom Wurzelknoten bis zum gewünschten Knoten. Demnach hat ein Knoten, welcher eine ungerade Anzahl an Negationen vom Wurzelsymbol zu ihm besitzt, eine negative Polarität (entsprechend für positive Anzahl an Negationen und positive Polarität).

Bei der Erweiterung nach Plaisted und Greenbaum gibt es zwei wesentliche Unterschiede zur normalen Tseitin-Transformation:

  1. Die Polarität einer Teilformel hat keine Auswirkung auf die Einführung neuer Variablen.
  2. Anstatt der Biimplikation, wird bei jeder neuen Variable eine Implikation eingeführt.

Die Richtung der eingeführten Implikation hängt von der Polarität ab:

Bei einer Teilformel p \land q mit positiver Polarität wird die neue Variable x wie folgt eingeführt:


\begin{align}
x \rightarrow (p \land q)
\end{align}

Dieselbe Teilformel bei negativer Polarität:


\begin{align}
\neg(p \land q) \rightarrow (\neg x) 
\end{align}

Im Allgemeinen bewirken diese beiden Änderungen, dass die resultierende KNF kleiner als bei der Tseitin-Transformation ist, so lange alle Teilformeln nicht in beiden Polaritäten vorkommen.

Zukünftige Forschungsarbeit beschäftigt sich mit Heuristiken für die geeignete Einführung von neuen Variablen, sodass nicht alle Subformeln zu einer Erhöhung der Variablenanzahl führen.

Quellen

  • G. S. Tseitin. On the complexity of derivation in propositional calculus. Leningrad Seminar on Mathematical Logic, 1970.
  • D. A. Plaisted und S. Greenbaum. A Structure-Preserving Clause Form Translation. Journal of Symbolic Computation, 1986.

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Conjunctive normal form — In Boolean logic, a formula is in conjunctive normal form (CNF) if it is a conjunction of clauses, where a clause is a disjunction of literals. As a normal form, it is useful in automated theorem proving. It is similar to the product of sums form …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”