Zeitin-Transformation
Die Zeitin-Transformation (auch Zeitin-Verfahren, Tseitin-Transformation, 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 im Allgemeinen nicht äquivalent, sondern nur erfüllbarkeitsäquivalent. Das Verfahren wurde von Grigori Zeitin entwickelt.
Motivation
[Bearbeiten | Quelltext bearbeiten]Üblicherweise werden Äquivalenzumformungen wie etwa die De Morgan’schen Gesetze, das Distributivgesetz und andere verwendet, um eine beliebige aussagenlogische Formel 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 nur 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:
Idee
[Bearbeiten | Quelltext 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 | Quelltext bearbeiten]Das Beispiel soll hier an der Formel gezeigt werden.
Zunächst werden alle Teilformeln der Länge nach aufgelistet:
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:
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:
Nun muss nur noch jedes Konjunkt separat in eine KNF umgewandelt werden, und zwar mit Hilfe der üblichen Äquivalenzumformungen. Exemplarisch wird dies an einem Konjunkt gezeigt:
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: ) Teil der konstruierten Formel ist, gilt trivialerweise . Umgekehrt lässt sich jedes Modell von so erweitern, dass es ebenfalls ein Modell von ist. Hierzu werden die eingeführten Variablen (hier: ) jeweils so gesetzt, dass sie unter der Interpretation die geforderte Äquivalenz erfüllen.
Somit ist genau dann erfüllbar, wenn erfüllbar ist, und jede erfüllende Belegung von ist ebenfalls eine erfüllende Belegung von . Dies ist von Vorteil, da 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 | Quelltext bearbeiten]Diese Erweiterung zum klassischen Zeitin-Verfahren benutzt das Konzept der Polarität (N. V. Murray, 1982)[1] als wesentlichen Bestandteil.
Polarität
[Bearbeiten | Quelltext 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 Zeitin-Transformation:
- Die Polarität einer Teilformel hat keine Auswirkung auf die Einführung neuer Variablen.
- 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 mit positiver Polarität wird die neue Variable wie folgt eingeführt:
Dieselbe Teilformel wird bei negativer Polarität so ersetzt:
Im Allgemeinen bewirken diese beiden Änderungen, dass die resultierende KNF kleiner als bei der Zeitin-Transformation ist, so lange nicht alle Teilformeln in beiden Polaritäten vorkommen.
Spätere Forschungsarbeiten[Quelle?] beschäftigen sich mit Heuristiken für die geeignete Einführung neuer Variablen, so dass nicht jede Subformel zu einer Erhöhung der Variablenanzahl führt.
Quellen
[Bearbeiten | Quelltext bearbeiten]- G. S. Zeitin: 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
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ N. V. Murray: Completely Non-Clausal Theorem Proving. In: Artificial Intelligence. Band 18, 1982, S. 67–85.