Tseitin-Transformation

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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.

Motivation[Bearbeiten]

Ü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[Bearbeiten]

Durch die Verwendung einer erfüllbarkeitsäquivalenten Umformung ist es 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[Bearbeiten]

Das Beispiel soll hier an der Formel \phi 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 \phi 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 äquivalenten 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.

Da die Variable, die für die ursprüngliche Formel steht, (hier: x_4) Teil der konstruierten Formel ist gilt trivialerweise T(\phi) \to \phi. Somit ist jede erfüllende Belegung von T(\phi) insbesondere eine erfüllende Belegung von \phi. Dies ist von Vorteil, da T(\phi) weniger Klauseln hat und sich deshalb einfacher eine erfüllende Belegung finden lässt als auf der ursprünglichen Formel.

Erweiterung nach Plaisted und Greenbaum[Bearbeiten]

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

Polarität[Bearbeiten]

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 gerade 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[Bearbeiten]

  • G. S. Tseitin: On the complexity of derivation in propositional calculus. Leningrad Seminar on Mathematical Logic, 1970.
  • D. A. Plaisted, S. Greenbaum: A Structure-Preserving Clause Form Translation. Journal of Symbolic Computation, 1986, doi:10.1016/S0747-7171(86)80028-1