Resolution (Logik)

Verfahren der formalen Logik, um eine logische Formel auf Gültigkeit zu testen
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. Dezember 2006 um 21:11 Uhr durch Simeon87 (Diskussion | Beiträge) (+nl). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Resolution der ist ein Verfahren der formalen Logik, um eine logische Formel auf Gültigkeit zu testen.

Die Resolution ist ein Verfahren des Widerspruchsbeweises: Statt direkt die Allgemeingültigkeit einer Formel zu zeigen, leitet sie einen logischen Widerspruch aus deren Verneinung ab.

Diese Herleitung geschieht mittels eines Algorithmus auf rein formalem Weg und kann deshalb von einem Computerprogramm durchgeführt werden. Die Resolution ist eine der bekanntesten Techniken des Maschinengestützten Beweisens.

Das Resolutionsverfahren in der Aussagenlogik

Resolvente (auch: Resolvent)

Seien  ,   Klauseln einer aussagenlogischen Formel, die in konjunktiver Normalform vorliegt. Gibt es ein Literal  , welches in   positiv und in   negativ vorkommt, ist die Vereinigung beider Klauseln ohne das positive und negative Literal   eine Resolvente (auch: der Resolvent) .

 
 

 

Es darf immer nur genau ein Literal resolviert werden. Je nach Ausgangsklauseln ist die Bildung verschiedener Resolventen möglich.

Anders notiert: Aus

 

wird auf die Resolvente

 

geschlossen.

Die Resolvente ist nicht äquivalent zu den Ausgangsklauseln. Die Bedeutung der Resolvente liegt vielmehr darin, dass die Ausgangsklauseln nur dann beide gleichzeitig erfüllbar sind, wenn auch die Resolvente erfüllbar ist (notwendige Bedingung). Gelingt es die leere Klausel zu resolvieren, die stets unerfüllbar ist, ist somit die Unerfüllbarkeit der gesamten Formel gezeigt.

Beweis

Da die Resolvente   eine notwendige Bedingung für die Ausgangsklauseln   und   ist, gilt

 .

Man sagt   folgt aus   und  . Hieraus kann man folgenden Beweis zur Korrektheit der Resolution ableiten:

 
 
 
 
 
 

Res-Operator

Das Ausführen eines einzelnen Resolutionsschrittes wird mit dem Res-Operator notiert:

 , wobei   eine Resolvente zweier Klauseln aus   ist

Mit   bezeichnet man die unendliche Menge aller möglichen Resolutionsschritte auf  .

Somit sind folgende Aussagen möglich:

  1. ist die leere Klausel Element von  , ist   unerfüllbar und
  2. ist die leere Klausel Element von  , ist   eine Tautologie

Resolution und Prädikatenlogik

Problemstellung

Für interessantere Problemstellungen ist das Instrumentarium der Aussagenlogik nicht ausreichend. Das Prinzip der Resolution sollte von der einfachen Aussagenlogik auf die Prädikatenlogik erster Stufe ausgeweitet werden können. Neben logischen Literalen sind dabei zu berücksichtigen:

  • Variablen (beispielsweise Zahlenvariablen), üblicherweise mit Symbolen wie   und   bezeichnet
  • die Quantoren   (es existiert ein, für das gilt ...) und   (für alle y gilt ...),
  • Konstanten, beispielsweise  
  • ein- und mehrwertige Funktionen, üblicherweise mit Symbolen wie   oder   bezeichnet.

Ein durchaus typisches Beispiel für eine prädikatenlogische Aussage ist:

1)  

(Anmerkung: Setzen wir   und  , so liefert uns die obige Formel die formal-logische Definition der Stetigkeit der Funktion   im Punkt  .)

Damit auf solche Aussagen die Resolution angewendet werden kann, müssen sie umgeformt und das oben beschriebene Verfahren erweitert werden.

Normalisierung

Die ersten Schritte bestehen darin, die zu widerlegende Aussage in eine Form zu bringen, die der konjunktiven Normalform der Aussagenlogik ähnelt.

  1. Man bringt die zu widerlegende Formel in die Pränexform. Nach dieser Umformung stehen die Quantoren alle am Anfang der Formel, und der Rest der Formel hat die Gestalt einer konjunktiven Normalform.
  2. Durch die Anwendung von Skolemfunktionen eliminiert man alle Existenzquantoren   aus der Formel und bringt sie in die Skolemform.
  3. Nun sind alle Variablen in der Funktion an Allquantoren   gebunden. Trifft man die Übereinkunft, Konstanten und Variablen unterschiedlich zu bezeichnen, beispielsweise Konstanten mit   und Variablen mit  , dann kann auch auf die explizite Notation des Allquantors verzichtet werden. Man lässt ihn ebenfalls weg und erhält die Klauselform der Aussage.[1]

Beispielsweise lautet die Klauselform der Formel 1) aus dem vorigen Abschnitt:

2)  

Substitution und Vereinheitlichung

Die Formeln

  und  

scheinen auf den ersten Blick nicht resolvierbar zu sein, da sie sich in   und   unterscheiden. Da die freie Variable   jedoch implizit ein Stellvertreter für alle   ist, darf (unter anderem)   für   eingesetzt werden.

Man erhält also die beiden Terme

  und  

die sich offensichtlich miteinander resolvieren lassen.

Folgende Ersetzungen sind möglich:

3a) Ersetze Variable durch Konstante:      
3b) Ersetze Variable durch eine andere Variable:      
3c) Ersetze Variable durch Funktion einer Variablen:      

Die Ersetzung von Variablen in einem Literal muss in konsistenter Weise durchgeführt werden: Wird eine Variable an einer Stelle durch einen Term ersetzt, so muss dies innerhalb des Literals überall geschehen:

4a) Korrekte Ersetzung:      
4b) Verbotene Ersetzung:      

Sei   eine Menge von Variablen. Sei Sei   eine Menge von Termen, die aus Funktionen, Variablen oder Konstanten zusammengesetzt sein können.

  • Ein System   von Ersetzungen   heißt eine Substitution.

Seien   Literale über demselben Prädikat  , wobei die   wiederum Terme sind.

  • Eine Substitution   heißt eine Vereinheitlichung von  , wenn durch die Anwendung von   die Argumente aller Literale zur Übereinstimmung gebracht werden, das heißt, wenn  .

Zwei Literale über demselben Prädikat haben nicht notwendigerweise eine Vereinheitlichung. Beispielsweise lassen sich   und   nicht vereinheitlichen, wenn   und   unterschiedliche Konstanten sind.

  • Eine Vereinheitlichung   von Literalen heißt allgemeinste Vereinheitlichung, wenn es für jede andere Vereinheitlichung dieser Literale eine Substitution   gibt, so dass  .

Wenn eine Menge von Literalen eine Vereinheitlichung besitzt, dann besitzt sie eine allgemeinste Vereinheitlichung. Diese kann mit Hilfe eines relativ einfachen Algorithmus [2] ermittelt werden.

Resolution prädikatenlogischer Klauseln

Mit diesem Instrumentarium kann das Resolutionsverfahren auf Aussagen der Prädikatenlogik ausgeweitet werden.

  • Seien   zwei Klauseln einer normalisierten prädikatenlogischen Aussage. Ohne Beschränkung der Allgemeinheit darf vorausgesetzt werden, dass diese keine übereinstimmenden Variablen enthalten.
  • Seien   und   positive bzw. negiert vorkommende Literale in   bzw.  , die eine allgemeinste Vereinheitlichung   besitzen.

Dann heißt

  •   ein binärer Resolvent von   und  .

  • Sei ferner   eine Klausel mit einer Teilmenge von Literalen, die eine allgemeinste Vereinheitlichung   besitzt.

Dann heißt

  •   ein Faktor von  .

Ein Resolvent zweier Klauseln   ist

  • entweder ein binärer Resolvent von   und  .
  • oder ein binärer Resolvent von   und eines Faktors von  .
  • oder ein binärer Resolvent von eines Faktors von   und  .
  • oder ein binärer Resolvent eines Faktors von   und eines Faktors von  .

Das Resolutionsverfahren für prädikatenlogische Aussagen besteht darin, so lange solche Resolventen zu erzeugen, bis die leere Klausel erzeugt und damit der Wirderspruchsbeweis erbracht ist.[3]

Terminiertheit und Komplexität

Im Falle der Aussagenlogik terminiert das Verfahren: Es liefert stets in endlicher Zeit ein Ergebnis, ob eine vorgelegte Aussage wahr oder falsch ist. Es gehört allerdings zur Klasse der NP-vollständigen Verfahren, das heißt, dass im Allgemeinen die Rechenzeit exponentiell mit der Anzahl der Literale wächst.

Im Falle der Prädikatenlogik terminiert das Verfahren zwar stets mit dem korrekten Ergebnis, wenn ihm eine tautologische Formel vorgelegt wird. Im allgemeinen Fall kommt es jedoch vor, dass das Verfahren kein Ende findet. Wäre es anders, dann wäre das Resolutionsverfahren ein Algorithmus, um prädikatenlogische Formeln allgemein zu entscheiden - was unmöglich ist, da das Gültigkeitsproblem in der Prädikatenlogik nicht entscheidbar ist.

Quellen

  1. Davis, Martin: Eliminating the Irrelevant from Mechanical Proofs. in: Journal of Symbolic Logic, ISSN 0022-4812, Vol. 32, No. 1 (Mar., 1967), pp. 118-119
  2. Chang, Chin-Liang; Lee, Richard Char-Tung: Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973, ISBN 0121703509, S. 77ff
  3. Chang, Chin-Liang; Lee, Richard Char-Tung: Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973, ISBN 0121703509, S. 80-81

Literatur

Chang, Chin-Liang; Lee, Richard Char-Tung: Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973, ISBN 0121703509