Skript Logik und Regelverarbeitung Hans Kleine Büning
Theodor Lettmann
15. Oktober 2002
ii
Inhaltsverzeichnis 0
E...
217 downloads
1637 Views
1MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Skript Logik und Regelverarbeitung Hans Kleine Büning
Theodor Lettmann
15. Oktober 2002
ii
Inhaltsverzeichnis 0
Einführung
1
0.1
Wissensbasierte Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
0.1.1
Künstliche Intelligenz und wissensbasierte Systeme . . . . . . . . . . . . . . . . . .
1
0.1.2
Gebiete der KI mit wissensbasierter Ausrichtung . . . . . . . . . . . . . . . . . . .
2
0.1.3
Trennung von Wissen und Verarbeitung . . . . . . . . . . . . . . . . . . . . . . . .
4
0.1.4
Methoden für die Erstellung wissensbasierter Systeme . . . . . . . . . . . . . . . .
5
0.1.5
Beispiele für symbolische Wissensrepräsentationen . . . . . . . . . . . . . . . . . .
6
0.1.6
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
Expertensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
0.2
1
0.2.1
Einsatzgebiete von Expertensystemen . . . . . . . . . . . . . . . . . . . . . . . . . 10
0.2.2
Problemklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
0.2.3
Architektur von Expertensystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
0.2.4
Die Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
0.2.5
Vergleich: Expertensystem ↔ Experte . . . . . . . . . . . . . . . . . . . . . . . . . 14
Einführung in die Aussagenlogik
17
1.1
Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2
Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2.1
Negationsnormalform (NNF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2.2
Konjunktive Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2.3
Disjunktive Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3
Komplexität von Erfüllbarkeitsproblemen . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4
Erfüllbarkeit und 2–KNF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.5
Davis–Putnam Algorithmen
1.6
Partielle Erfüllbarkeitsalgorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
iii
INHALTSVERZEICHNIS
iv 1.7
1.8
1.9
2
3
Grundlagen der Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1.7.1
Stufensättigungsstrategie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.7.2
P– und N–Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
1.7.3
Hyperresolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.7.4
Lineare Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1.7.5
Davis–Putnam Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.7.6
Input–Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1.7.7
Unit–Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
1.7.8
Unit–Preference Strategie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Horn-Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 1.8.1
Umbenennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.8.2
Unit–Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Kalküle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 1.9.1
Frege–Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
1.9.2
Lineare Ungleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Einführung in die Prädikatenlogik
105
2.1
Syntax und Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.2
Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 2.2.1
Pränexe Normalform (PNF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.2.2
Skolem-Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
2.3
Substitution und Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.4
Prädikatenlogische Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Produktionsregelsysteme 3.1
Definition von Produktionsregelsystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.1.1
3.2
121
Algorithmische Darstellung des Interpreters . . . . . . . . . . . . . . . . . . . . . . 125
Probleme bei Produktionsregelsystemen mit Negation . . . . . . . . . . . . . . . . . . . . . 137 3.2.1
Interpretation entsprechend dem Negation-by-Failure Konzept . . . . . . . . . . . . 138
3.2.2
Interpretation der Negation in Bezug auf die aktuelle Datenbasis . . . . . . . . . . . 140
3.3
Ein aussagenlogisches Modell für Produktionsregelsysteme . . . . . . . . . . . . . . . . . . 143
3.4
Das Problem der Inkonsistenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.4.1
Ein Algorithmus zum Test auf Inkonsistenz . . . . . . . . . . . . . . . . . . . . . . 146
3.4.2
Inkonsistenz und das aussagenlogische Modell . . . . . . . . . . . . . . . . . . . . 147
INHALTSVERZEICHNIS 3.5
3.6
Das Problem der Äquivalenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 3.5.1
Äquivalenz bei aussagenlogischen Formeln . . . . . . . . . . . . . . . . . . . . . . 150
3.5.2
Äquivalenz von Produktionsregelsystemen . . . . . . . . . . . . . . . . . . . . . . 150
Integration von prozeduralen Elementen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.6.1
4
4.1.1
Zugehörigkeitsfunktion und Fuzzy-Menge . . . . . . . . . . . . . . . . . . . . . . . 157
4.1.2
Träger und α–Schnitt einer Fuzzy–Menge . . . . . . . . . . . . . . . . . . . . . . . 159
4.1.3
Fuzzy–Mengenoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.1.4
Fuzzy-Relation und zugehörige Operationen . . . . . . . . . . . . . . . . . . . . . 162
4.2
Fuzzy-Regeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
4.3
Linguistische Variablen und Modifizierer
. . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Approximatives Schließen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.4
Fuzzifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
4.5
Defuzzifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.6
Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.7
Heuristische Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 4.7.1
6
157
Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4.3.1
5
Prozeduren im Aktionsteil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Fuzzy–Logik 4.1
v
Regeln mit Konfidenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Maschinelles Lernen
181
5.1
Lernen von Entscheidungsbäumen und Regelmengen . . . . . . . . . . . . . . . . . . . . . 182
5.2
ID3 - Ein heuristischer Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 5.2.1
Die Attributauswahlheuristik ID3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.2.2
Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Neuronale Netze 6.1
191
Theoretische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 6.1.1
Das konnektionistische Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.1.2
Arbeitsweise neuronaler Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.1.3
Selbstorganisation - Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
6.1.4
Lernheuristiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
6.1.5
Gewichtsupdate: Singlestep oder Batchmode . . . . . . . . . . . . . . . . . . . . . 208
INHALTSVERZEICHNIS
vi 6.1.6 6.2
6.3
7
Lernverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Topologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 6.2.1
Performanz von Multilayer Feedforward Netzen . . . . . . . . . . . . . . . . . . . 210
6.2.2
Lineare Separabilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
6.2.3
Overfitting und Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Beispiele
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.3.1
XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.3.2
Parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.3.3
Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
6.3.4
Monks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6.3.5
Two Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Unsicherheit und Vagheit
223
7.1
Grobe Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
7.2
Statistische Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 7.2.1
Satz von Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
7.2.2
Dempster-Shafer Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Kapitel 0
Einführung In der Vorlesung Wissensbasierte Systeme soll dargestellt werden, was wissensbasierte Systeme und Expertensysteme sind, was sie von anderen Programmen unterscheidet und wie sie aufgebaut sind. Die wesentlichen Leistungsmerkmale dieser Form von Software werden vorgestellt und ein Einblick in die Schwierigkeiten und Anforderungen bei der Erstellung eines solchen Systems gegeben. Ein Schwerpunkt im Rahmen der Vorlesung sind die Wissensrepräsentation mit jeweils passenden Wissensverarbeitungs- und Inferenzmechanismen.
0.1 Wissensbasierte Systeme Zunächst werden die Architektur von wissensbasierten Systemen und Expertensystemen und die Unterschiede zu anderen Programmen, insbesondere die Trennung von Wissen und Verarbeitung durch deklarative Darstellung, beschrieben. Dazu gehört insbesondere eine Einordnung dieser Systeme in das Gebiet der Künstlichen Intelligenz.
0.1.1 Künstliche Intelligenz und wissensbasierte Systeme Die künstliche Intelligenz ist ein Forschungsgebiet, in dem versucht wird, menschliche Aktivitäten, die normalerweise Intelligenz erfordern, dem Rechner zugänglich zu machen. Beispiele für solche Aktivitäten sind das Planen einer Reise, das Beweisen mathematischer Sätze, das Erstellen medizinischer Diagnosen oder das Sehen und Erkennen von Gegenständen. Allerdings weckt der Begriff „Künstliche Intelligenz“ oft falsche Assoziationen (vgl. Duden Informatik1 ): . . . Die Bezeichnung „Künstliche Intelligenz entstand als Übersetzung von „artificial intelligence“. Dieser Begriff war Mitte der 50er Jahre in der USA geboren worden. Die Übersetzung von „artificial“ als „künstlich“ bedeutet zugleich „unecht“, „erkünstelt“, „Schein-“. Die Programme, die in der KI entstehen, verhalten sich also für den Betrachter als ob sie Intelligenz besäßen. Auch das Wort „intelligence“ besitzt im Englischen eine weitergehende Bedeutung als das Wort „Intelligenz“ im Deutschen, nämlich denkbezogene Information, Einsicht und Verständnis. . . . 1
Duden Informatik, Dudenverlag, 1988, S. 314
1
2
KAPITEL 0. EINFÜHRUNG
Die Forschung auf dem Gebiet der künstlichen Intelligenz erfolgt dabei unter zwei verschiedenen Aspekten. Während ein Teil der Forschung versucht, dem Menschen bisher vorbehaltene Fähigkeiten als informationsverarbeitende Prozesse zu realisieren, wird auf der anderen Seite versucht, den Begriff der Intelligenz naturwissenschaftlichen Untersuchungsmethoden zugänglich zu machen. Zu diesem Zweck steht die künstliche Intelligenz in Verbindung mit vielen anderen wissenschaftlichen Disziplinen wie z. B. Informatik, Psychologie, Philosophie, Linguistik, Biologie und Ingenieurwissenschaften. Im Mittelpunkt aller Arbeiten steht jedoch der Begriff der Wissensverarbeitung. Hier wird untersucht, wie das Wissen, das jedem intelligenten Verhalten zugrunde liegt, formal repräsentiert und maschinell verarbeitet werden kann. Wenn diese Ergebnisse in Programme umgesetzt werden, führt dies dann zur Entwicklung von sogenannten wissensbasierten Systemen (WBS), also Software, die Wissen in einer geeigneten Form repräsentiert und Verfahren enthält, die es ermöglichen, dieses Wissen zu verknüpfen und so zu Schlußfolgerungen zu kommen. Im Überblick läßt sich bei dabei ein Trend von Software zur Lösung unterschiedlichster Probleme hin zu Software zur Lösung sehr spezieller Probleme feststellen. So sollte das Ende der 50er Jahre entwickelte Programm GPS (General Problem Solver), wie schon der Name besagt, ein allgemeiner Problemlöser sein, d.h. es sollte unterschiedlichste Probleme aus den verschiedensten Bereichen lösen. Dabei wurden jedoch nur Lösungen relativ einfacher Probleme erreicht. Als Ursache dafür wurde erkannt, daß intelligentes Verhalten eine Unmenge von Wissen erfordert, das für den Menschen oft selbstverständlich ist, aber dem Computer erst explizit mitgeteilt werden muß. Hierbei stellt vor allem die Menge dieses Hintergrundwissens eine unüberwindbare Schranke dar. Der Ausweg, der sich hier anbietet, ist die Beschränkung auf einen klar abgegrenzten Bereich, der es vor allem erlaubt, vorab das für die Bearbeitung benötigte Wissen einzugrenzen. Somit war ein wichtiges Ergebnis der Arbeit an GPS die Erkenntnis, daß es sinnvoller ist, von dem Entwurf eines allgemeinen (Lösungs-)Verfahrens für zu verschiedene Problemarten abzusehen und sich auf jeweilige spezielle Aufgabenklassen zu konzentrieren, mit dem Ziel, hierfür zugeschnittene Verfahren anzugeben. 1976 erfolgte dann der Übergang zu wirklich anwendungsorientierten Problemen. Damals wurde das Programm MYCIN zur Unterstützung von Ärzten bei der Diagnose von bakteriellen Infektionen entwickelt. Es simulierte auf einem engen Bereich, nämlich Diagnose und Beratung auf dem Gebiet der Infektionen, bei denen Bakterien im Blut auftreten sowie bei entzündlichen Infektionen der Rückenmarkshäute, die Fähigkeiten eines Experten. Hierbei war es möglich, das Wissen dieses Experten genau abzugrenzen. Dieses Programm gilt als richtungsweisend für heutige Expertensysteme, da wesentliche Konzepte und Strukturen in viele folgende Entwicklungen übernommen wurden. Heute ist die Entwicklung von KI-Techniken in einigen Gebieten so weit fortgeschritten, daß kommerzielle Anwendungen (z. B. Expertensysteme) möglich sind. Zudem werden im Moment die bisherigen Erfahrungen mit Expertensystemen in strukturierte Entwurfsmethodiken umgesetzt, die zukünftige Entwicklungen vereinfachen sollen.
0.1.2 Gebiete der KI mit wissensbasierter Ausrichtung Aus einer anwendungsorientierten Sicht kann man viele Aufgaben der künstlichen Intelligenz in folgende wichtige Gebiete einordnen: Natürlichsprachliche Systeme, Deduktionssysteme, Bildverarbeitende Systeme, Robotertechnologie und Expertensysteme. Die meisten dieser Aufgaben verlangen die Anwendung von Wissen, d. h. die Erfassung, die Speicherung und die Verarbeitung von relevanten Probleminformationen. Daher sind Systeme, die in diesen Bereichen
0.1. WISSENSBASIERTE SYSTEME
3
entwickelt werden häufig wissensbasierte Systeme. Im folgenden werden die einzelnen Teilbereiche der künstlichen Intelligenz kurz vorgestellt. Natürlichsprachliche Systeme: In diesem Forschungsbereich werden die komplexen informationsverarbeitenden Prozesse mit rechnerorientierten Methoden untersucht, die dem Verstehen und der Produktion natürlicher Sprache zugrundeliegen. Das Ziel dieser Untersuchungen ist dabei, die Mensch–Maschine Kommunikation zu verbessern und die an intelligentes Sprachverhalten gebundenen Leistungen, wie zum Beispiel die Dialogführung, maschinell verfügbar zu machen. Deduktionssysteme: Deduktionssysteme unterstützen den Prozeß des logischen Folgerns aus bestimmten Fakten und Annahmen. Wichtige Einsatzgebiete von Deduktionssystemen sind dabei u. a. • das automatische oder computerunterstützte Beweisen von mathematischen Sätzen und Sätzen der formalen Logik, • der Entwurf von Inferenzmechanismen in Expertensystemen und • die Programmverifikation, d.h. die (teil-)automatische Überprüfung der Korrektheit von Programmen. Bildverarbeitende Systeme: Die Bildverarbeitung ist der Bereich der künstlichen Intelligenz, der die große Anzahl von visuellen Prozesse der maschinellen Verarbeitung zugänglich macht. Zu den Aufgaben im Rahmen der Bildverarbeitung gehört: • das Wahrnehmen von Objekten, • das Klassifizieren von Objekten, • die Unterscheidung von Farben und Helligkeiten und • die Berücksichtigung speziellen Wissens aus dem Einsatzgebiet. Ein weiteres Anwendungsgebiet der Bildverarbeitung ist die Mustererkennung, insbesondere das Lesen von Schriften. Zum Erkennen von Buchstaben wird dabei z. B. das Vorkommen von bestimmten Mustern in einer Schrift überprüft und dann aus der Konstellation dieser Muster Rückschlüsse auf den Buchstaben gezogen. Robotertechnologie: Die Robotertechnologie befaßt sich mit der Planung von Aktionssequenzen für Roboter sowie der Verknüpfung von sensorischer, motorischer und sprachlicher Informationsverarbeitung. Unter einem Roboter versteht man dabei ein System, das in der Lage ist, • sich in seiner Umwelt frei zu bewegen, • seine Umwelt zu erfassen, • mit seiner Umwelt zu kommunizieren, • Pläne zu entwerfen und auszuführen und • Aufgaben auszuführen.
KAPITEL 0. EINFÜHRUNG
4
Das Ziel ist die Entwicklung autonomer und mobiler Roboter. Im Gegensatz dazu sind heutige Industrieroboter nur programmierbare Maschinen, die bestimmte wiederholbare Tätigkeiten ausführen, z.B. Schweißpunkte setzen, sich aber nur in einer für sie vorbereiteten Umgebung zurechtfinden, sich also nicht beliebig frei bewegen können. Expertensysteme: Expertensysteme sind Programme, mit denen das Spezialwissen und die Schlußfolgerungsfähigkeit qualifizierter Fachleute auf eng begrenzten Aufgabengebieten nachgebildet werden kann. Dies wird in der Regel mit der Hilfe wissensbasierter Techniken erreicht. Aufgrund der zahlreichen Anwendungsmöglichkeiten handelt es sich um den im kommerziellen Bereich am weitesten verbreiteten Teilbereich. Sie werden in Abschnitt 0.2 ausführlich vorgestellt. Im weiteren werden wir verstärkt auf diesen Bereich eingehen und wissensbasierte Techniken vor allem im Umfeld der Expertensystementwicklung vorstellen.
0.1.3 Trennung von Wissen und Verarbeitung Wie wir schon gesehen haben, handelt es sich bei wissensbasierten Systemen um Programme, die sozusagen zweigeteilt sind, wobei der eine Teil Wissen in einer geeigneten Form repräsentiert und der andere Teil dieses Wissen mit Hilfe geeigneter Verfahren verknüpft. Dabei kann insbesondere auf den zweiten Teil nicht verzichtet werden, da das repräsentierte Wissen nur Tatsachen und Beziehungen beschreibt, die erst noch zur Lösung der Fragestellung verbunden werden müssen. Man spricht deshalb von deklarativem (beschreibendem) Wissen. In einem konventionellen Programm ist dagegen der Lösungsweg Schritt für Schritt in einer Folge von Anweisungen festgelegt. Man spricht daher von prozeduralem Wissen. In Abbildung 1 werden die beiden Realisierungsmöglichkeiten dargestellt. konventionell
wissensbasiert
Algorithmen
Problemlösungsstrategie Wissen
Daten
Daten
Abbildung 1: Gegenüberstellung konventionelles und wissensbasiertes Vorgehen Vorteile der deklarativen Darstellung sind: • Das Wissen kann in kleinen, überschaubaren Einheiten sozusagen lokal dargestellt werden. Dies erleichtert es auch, Änderungen an der Beschreibung vorzunehmen. • Verbindung zu anderen Beschreibungselementen wird durch die Verwendung gleicher Symbole angezeigt. Die eigentliche Verknüpfung erfolgt jedoch erst bei der Verarbeitung durch das jeweilige Verfahren (Symbolverarbeitung). • Die Verfahren interpretieren und verknüpfen diese Symbole. Mit der gleichen Beschreibung können daher unter Umständen unterschiedliche Verfahren für unterschiedliche Zwecke arbeiten. • Somit ist es möglich, das Wissen über die gültigen Beziehungen und Zusammenhänge im dargestellten Bereich, das sogenannte bereichsbezogene Wissen, von der eigentlichen Problemlösungsstrategie zu trennen.
0.1. WISSENSBASIERTE SYSTEME
5
Weitere Vorteile dieser Vorgehensweise sind in Stichworten Erklärungsfähigkeit und Verarbeitung von vagem und unsicheren Wissen. Nachteile der deklarativen Vorgehensweise sind dagegen: • Da eine geeignete Beschreibungsform und ein dazu passendes Verfahren gefunden und implementiert werden muß, besteht ein hoher Entwicklungsaufwand. • Im Vergleich zu einem prozeduralen Algorithmus, der ein Problem direkt löst, ist auch die Abarbeitung weitaus aufwendiger und eventuell nicht so zielgerichtet. Daher sollte man wissensbasierte Techniken vor allem dort einsetzen, wo zwar eine prinzipielle Lösungsmethode bekannt ist, aber kein befriedigender ausschließlich prozeduraler Ansatz existiert. Ein weiteres Einsatzfeld ist gegeben, wenn man auf der gleichen Beschreibung der Zusammenhänge unterschiedliche Verfahren arbeiten lassen möchte.
0.1.4 Methoden für die Erstellung wissensbasierter Systeme Die Hauptaufgaben wissensbasierter Systeme liegen in den Bereichen des Erkennens von Beziehungen, des Ziehens von Schlußfolgerungen und des Steuerns der Anwendung von Wissen. Für die Lösung dieser Aufgaben wurden eine Reihe von Methoden und Techniken für die Erstellung wissensbasierter Systeme entwickelt. Diese Methoden bzw. Techniken lassen sich in die Bereiche Wissensrepräsentation, Wissensverarbeitung und Wissenserwerb einteilen. Wissensrepräsentation: Gegenstand der Wissensrepräsentation ist die Erfassung und Formalisierung von Wissen, um eine maschinelle Verarbeitung zu ermöglichen. Wie schon erwähnt unterscheidet man dabei zwei Arten des Wissens und deren zugeordnete Repräsentationsformalismen: prozedurales und deklaratives Wissen. Prozedurales Wissen enthält vor allem eine Beschreibung der Vorgehensweise, wie man zur Lösung eines Problems gelangt. Prozedurales Wissen läßt sich dabei adäquat mit konventionellen Programmiersprachen wie C darstellen. Deklaratives Wissen basiert dagegen mehr auf einer Beschreibung eines Problems oder Sachverhaltes ohne Betrachtung der Vorgehensweise zur Lösung des beschriebenen Problems. Es steht also das Was im Vordergrund. Daher gehört zu deklarativem Wissen auch immer ein Verfahren, das die Auswertung der Beschreibungen übernimmt. Deklaratives Wissen kann z.B. dargestellt werden durch: • Logik Wissen wird durch Formeln der z.B. Aussagen- oder Prädikatenlogik dargestellt. • Regeln Wissen wird in Regelform dargestellt, z.B. Wenn man hinausgeht und es regnet, dann wird ein Regenschirm benötigt. • Semantische Netze Wissen wird graphisch als Netz von Objekten und deren Beziehungen untereinander dargestellt. • Objektorientierte Ansätze Wissen wird durch strukturierte Objektbeschreibungen hinterlegt.
6
KAPITEL 0. EINFÜHRUNG
Wissensverarbeitung: Zu den jeweiligen Repräsentationsformen gehören strukturierten Verfahren, sogenannte Inferenzmechanismen, mit dem das Wissen einer Repräsentationsform untersucht und verknüpft wird. Durch die Inferenzmechanismen wird es ermöglicht, aufgrund gegebener Zusammenhänge Schlußfolgerungen zu ziehen. Ein Beispiel für einen Inferenzmechanismus ist die Vorwärtsverkettung, die Bedingungsteile und Schlußfolgerungen von „Wenn—Dann“–Regeln verknüpft, indem die Schlußfolgerungen von erfüllten Regeln als Bedingungen für weitere Regeln verwendet werden. Ein häufig angewandtes Verfahren zur Problemlösung ist die Untersuchung aller potentieller Lösungswege im Lösungsraum mittels einer bestimmten Strategie. Im Gegensatz zur erschöpfenden Suche, bei der wirklich alle potentiellen Lösungswege untersucht werden, grenzen sogenannte heuristische Suchverfahren den Suchraum durch geeignete Annahmen ein. Durch solche heuristischen Annahmen verringert sich die Anzahl der zu untersuchenden Lösungswege, wobei jedoch u.U. nicht mehr die optimale Lösung gefunden wird. Wissensakquisition: Hiermit wird die Erhebung von Wissen aus verschiedenen Wissensquellen (z.B. Experten, Fachbücher und Manuals) und die Implementierung dieses Wissens in eine ausführbaren Wissensbasis bezeichnet. Da die Wissensakquisition auch die Wartung einer Wissensbasis einschließt, ist es unbedingt notwendig, sie schon bei dem Entwurf zu berücksichtigen. Dies ist ein weiterer zentraler Punkt bei der Erstellung wissensbasierter Systeme. Typischerweise ist das Anwendungsgebiet eines wissensbasierten Systems Veränderungen unterworfen. Beispielsweise müssen in einem Konfigurierungssystem neue Bauteile berücksichtigt werden, in einem Beratungssystem neue Bestimmungen. Daher muß das Wissen eines wissensbasierten Systems modifizierbar sein, um auch den geänderten Anforderungen zu genügen. Man unterscheidet bei der Anpassung wissensbasierter Systeme den Regelfall Wissenserwerb, bei dem neues Wissen von außen eingegeben wird, und den nur selten realisierten Fall des Lernens, bei dem das Wissen vom System durch Verwendung geeigneter Verfahren – sozusagen selbständig – erweitert wird.
0.1.5 Beispiele für symbolische Wissensrepräsentationen Logelei von Zweistein Das Wochenende hat Lisa gern für sich. Doch jeden der fünf Werktage verbringt sie mit genau einem ihrer drei Freunde. Wen Lisa nächste Woche wann sieht, hat sie so festgelegt: „Sehe ich am Donnerstag Andreas oder Jörg, so treffe ich Philipp am Dienstag.
(ADo ∨ JDo ) → P hDi
Halte ich am Mittwoch Jörg in den Armen, so werde ich den Freitag entweder Philipp oder Jörg widmen.
JM i → (P hF r ∨ JF r )
Treffe ich Philipp am Mittwoch, dann muß ich auch Donnerstag bei ihm sein.
P hM i → P hDo
Sehe ich Philipp am Montag, dann werde ich, sofern ich mit Andreas am Dienstag kein Rendezvous habe, Philipp auch am Donnerstag treffen.
(P hM o ∧ ¬ADi ) → P hDo
Schließe ich Dienstag Andreas in die Arme, so soll Jörg, wenn nicht schon am Mittwoch, dann am Donnerstag mein Liebhaber
ADi → (JM i ∨ JDo )
0.1. WISSENSBASIERTE SYSTEME
7
sein. Schenke ich Jörg Montag meine Gunst, so ist Andreas am Freitag an der Reihe.
JM o → AF r
Falls ich mit Andreas weder für Montag noch für Dienstag verabredet bin, werde ich ihn auch am Mittwoch nicht sehen.“
(¬AM o ∧ ¬ADi ) → ¬AM i
Fragestellung: Trifft Lisa am Mittwoch Philipp?
P hM i ??
Zusammenhang von Graphen Gegeben ist ein Graph G = (V, E) mit Knotenmenge V und Kantenmenge E, E ⊆ V × V . Fragestellung: Ist der Graph G nicht zusammenhängend, d.h. gibt es zwei Knoten in G, die nicht über einen Pfad von Kanten in G verbunden sind. Beispielgraph:
g K1 K2
g @ @ @g
K4
g A A Ag
g K7
K5 K3
K6
g
g K8
Knoten {K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8 } Kanten {(K1 , K2 ), (K2 , K3 ), (K4 , K5 ), (K5 , K6 ), (K5 , K7 )}
Mögliche Formalisierung der Fragestellung 1. Repräsentation des Graphen („Inputfakten“): • für alle Knoten k1 und k2 , die durch eine Kante im Graphen G verbunden sind Kante(k1 , k2 ) • für alle Knoten k1 und k2 , die nicht durch eine Kante im Graphen G verbunden sind ¬Kante(k1 , k2 ) 2. Axiomatisierung der Pfadbedingung („Regeln“):
∀ K1 , K2 : Pfad(K1 , K2 ) ↔
Kante(K1 , K2 ) ∨ ∃ K : Pfad(K1 , K) ∧ Pfad(K, K2 )
3. Formulierung der Frage („Goal“): ∃ K1 , K2 : ¬Pfad(K1 , K2 )
KAPITEL 0. EINFÜHRUNG
8 Symbolisches Differenzieren Dif (X, 1) Dif (V + W, DV + DW ) ← Dif (V, DV ), Dif (W, DW )
Dif (V ∗ W, (DV ∗ W ) + (V ∗ DW )) ← Dif (V, DV ), Dif (W, DW ) ??
|= Dif ((X ∗ X) + X, Y) Y = (1 ∗ X + X ∗ 1) + 1
0.1.6 Zusammenfassung Für eine realistische Einschätzung der Möglichkeiten von wissensbasierten Systemen ist es immer sinnvoll, sich zu verdeutlichen, daß sich dahinter nur eine neue bzw. andere Art der Programmerstellung verbirgt. Diese kann wie in Abbildung 2 durch einen Vergleich von Daten- und Wissensverarbeitung verdeutlicht werden: Datenverarbeitung
Wissensverarbeitung
Darstellung und Verarbeitung von Daten Numerische Operationen Feststehende Algorithmen
Darstellung und Verarbeitung von Wissen Symbolverarbeitung inferenzielles Bearbeiten, gesteuert durch Heuristiken effektives Bearbeiten von großen Wissensbasen
effektives Bearbeiten von großen Datenbanken
Abbildung 2: Vergleich Daten- und Wissensverarbeitung Der zentrale Punkt ist hierbei die auf einer deklarativen Wissensrepräsentation basierende Trennung von bereichsspezifischem Wissen und einer darauf arbeitenden Problemlösungskomponente. Die für die Bearbeitung mit wissensbasierten Techniken geeigneten Problemstellungen lassen sich folgendermaßen charakterisieren: • Es handelt sich um eine komplexe Aufgabe in einem abgegrenzten Bereich. Das für die Lösung benötigte Wissen ist also groß genug, um den Einsatz von wissensbasierten Systemen zu rechtfertigen, stammt aber aus nur wenigen Bereichen, die eindeutig definiert und fest umrissen sind. • Es existiert zwar kein befriedigender konventioneller Ansatz, das Problem zu lösen, jedoch ist der prinzipielle Problemlösungsprozeß bekannt und läßt sich schrittweise beschreiben. • Das darzustellende Wissen ist relativ stabil, unterliegt aber gewissen Änderungen in der Zeit, z.B. durch Innovation oder Änderung von Rahmenbedingungen. Die Art der möglichen Änderungen ist vorab bekannt, so daß sie geeignet bei der Entwicklung berücksichtigt werden kann. • Für die Dauer der Entwicklung stehen Experten zur Verfügung, die die Aufgabe gegenwärtig lösen und die kooperativ das nötige Fachwissen liefern und auch bei der Evaluierung des Systems, z.B. anhand von Testfällen, mitarbeiten.
0.2. EXPERTENSYSTEME
9
0.2 Expertensysteme E. Feigenbaum definiert ein Expertensystem als . . . ein intelligentes Computerprogramm, das Wissen und Inferenzverfahren benutzt, um Probleme zu lösen, die immerhin so schwierig sind, daß ihre Lösung ein beträchtliches menschliches Fachwissen erfordert. Das auf diesem Niveau erforderliche Wissen in Verbindung mit den verwendeten Inferenzverfahren kann als Modell für das Expertenwissen der versiertesten Praktiker des jeweiligen Fachgebietes angesehen werden. Ausgangspunkt für die Einführung eines Expertensystems ist eine bestimmte Anwendungsdomäne, die von einem bzw. mehreren Experten beherrscht wird. Mit einem Expertensystem möchte man u.a. die zeitliche und örtliche Unababhängigkeit von diesen Experten bzw. seiner Expertise erzielen. Unter einem Experten versteht man in diesem Zusammenhang eine Person, die aufgrund bestimmter Eigenschaften in der Lage ist, Probleme aus einem speziellen Bereich zu lösen. Zu den wichtigsten Eigenschaften eines Experten zählen: • Er besitzt Wissen über den Problembereich. – Die Aneignung dieses Wissens erfolgt durch Ausbildung und Erfahrung. – Er besitzt eine Begriffswelt und kennt die Zusammenhänge zwischen den Begriffen. – Er arbeitet mit vagem Wissen (unsichere Informationen). – Der Experte kennt die Zusammenhänge zu anderen Wissensgebieten und hat Hintergrundwissen über einen Sachverhalt (Common Sense). – Er kennt Verweise auf Wissensquellen. – Er kann Wissen erwerben und falsches Wissen korrigieren. • Er kann Probleme durch Verknüpfen von Wissen lösen. • Er kann seine Ergebnisse durch Verdeutlichen seines Lösungsweges erklären. Ein Expertensystem simuliert dieses Verhalten auf einem abgegrenzten Bereich. Es wird deshalb durch folgende Eigenschaften charakterisiert (vgl. [Pu 88]): Transparenz : Expertensysteme können ihre Problemlösung durch Angabe des benutzten Wissens erklären. Flexibilität : Es ist möglich, einzelne Wissensstücke relativ leicht hinzuzufügen, zu verändern oder zu löschen. Benutzerfreundlichkeit : Der Umgang mit Expertensystemen erfordert kein programmiersprachliches Vorwissen (weder für den Endbenutzer, noch für den Experten). Kompetenz : Expertensysteme verfügen über eine hohe Problemlösungsfähigkeit in ihrem Anwendungsbereich. Zumindest die ersten beiden Eigenschaften können sinnvoll mit wissensbasierten Techniken, insbesondere einer deklarativen Wissensdarstellung, erreicht werden.
10
KAPITEL 0. EINFÜHRUNG
0.2.1 Einsatzgebiete von Expertensystemen Mit Expertensystemen wird also versucht, die Eigenschaften eines Experten auf einem meist sehr eingegrenzten Gebiet zu simulieren. Klassische Beispiele für solche Gebiete sind die Diagnose einer Krankheit, das Konfigurieren einer Rechenanlage oder das Interpretieren von Meßwerten. Die in der Praxis entwickelten Expertensysteme lassen sich verschiedenen Anwendungskategorien zuordnen, aus denen sich die Einsatzgebiete ergeben. In [HayRo 83] werden dazu folgende Kategorien verwendet: Interpretationssysteme: Interpretationssysteme dienen der Ableitung von Situationsbeschreibungen aus vorliegenden Daten. Dazu müssen diese Daten analysiert werden, um ihre Bedeutung zu erfassen. Bei den Daten handelt es sich meist um Werte aus der realen Welt wie z.B. Meßdaten, Radar-Signale etc. Beispiele für Interpretationssysteme sind Systeme für Sensorauswertung, Bildanalyse und Identifikation gesprochener Sprache. Überwachungssysteme: Überwachungssysteme haben die Aufgabe, das tatsächliche Verhalten von Systemen mit Sollwerten zu vergleichen und bei der Überschreitung von vorgegebenen Schwellenwerten Warnungen auszugeben. Solche Systeme finden Anwendung in der Medizin, der Luftraumüberwachung und in Kraftwerken. Diagnosesysteme: Diagnosesysteme dienen dazu, fehlerhaftes Verhalten in anderen Systemen aufgrund von Beobachtungen aufzuspüren. Diagnosesysteme müssen dazu in der Lage sein, beobachtete Verhaltensfehler, Symptome o.ä. auf die verursachenden Fehler zurückzuführen. Die meisten Diagnosesysteme werden entweder im technischen oder im medizinischen Bereich eingesetzt. Simulationssysteme: Vorhersage- oder Simulationssysteme werden verwendet, um die möglichen Konsequenzen einer gegebenen Situation vorherzusagen oder zu simulieren. Dazu verwenden diese Systeme ein Modell des zu untersuchenden Systems zusammen mit Regeln zur Beschreibung des möglichen Verhaltens. Daraus können dann Verhaltensprognosen abgeleitet werden, die im Falle mehrerer möglicher Entwicklungen mit Wahrscheinlichkeiten versehen sind. Vorhersagesysteme werden z.B. im Bereich der Wettervorhersage und der Simulation digitaler Schaltkreise eingesetzt. Entwurfs-, Konfigurationssysteme: Entwurfssysteme stellen komplexe Gebilde aus Einzelteilen oder Komponenten unter Berücksichtigung von Nebenbedingungen zusammen. Mögliche Anwendungen umfassen dabei den Entwurf digitaler Schaltungen oder die Zusammenstellung von Computersystemen. Man unterscheidet Entwurfssysteme oft auch in Design- und Konfigurationssysteme, wobei die Konfigurationssysteme nur Elemente einer fest vorgegebenen Komponentenbibliothek verwenden dürfen. Planungssysteme: Planungssysteme haben eine ähnliche Aufgabenstellung wie Entwurfssysteme, nur daß die betrachteten Komponenten nun keine Bauteile, sondern Aktionen sind. Die Aufgabe eines Planungssystems ist also die Erzeugung eines Plans als eine Sequenz von Aktionen. Dabei sind die (zeitlichen) Wechselwirkungen der einzelnen Aktionen zu berücksichtigen. Anwendungsbeispiele für Planungssysteme sind die Planung von Roboteraktionen und die Planung komplizierter (z.B. molekulargenetischer) Experimente. Debuggingsysteme: Debuggingsysteme dienen der Bestimmung von geeigneten Therapien für Systemfehler. Dazu benötigen diese Systeme Planungs-, Entwurfs- und Vorhersagefähigkeiten um geeignete Maßnahmen zur Behebung gefundener Fehler vorzuschlagen. Solche Systeme werden im Bereich des Software-Debugging eingesetzt.
0.2. EXPERTENSYSTEME
11
Reparatursysteme: Reparatursysteme haben die Aufgabe einen Plan zur Durchführung einer bestimmten Therapie zu entwerfen und auszuführen. Denkbar sind solche Systeme in den Bereichen von Netzwerken, Computerwartung und der Luft- und Raumfahrt. Instruktionssysteme: Instruktionssysteme verfolgen die Diagnose, das Debugging und die Korrektur des Wissens eines Lernenden. Typischerweise wird dazu zuerst ein Modell des vorhandenen Wissen aufgrund des beobachteten Interaktions-Verhaltens des Lernenden aufgebaut. Anschließend werden Schwachstellen in diesem Modell diagnostiziert und entsprechende Maßnahmen zur Behebung dieser Schwachstellen abgeleitet. Diese Maßnahmen werden dann in ein spezielles Lernprogramm umgesetzt. Kontrollsysteme: Kontrollsysteme haben die Aufgabe, andere Systeme zu überwachen und im Fehlerfalle in die Steuerung der Systeme einzugreifen. Dabei werden Entscheidungen automatisch gefällt, solange gewisse Grenzen nicht überschritten werden. Von anderen Autoren (z.B. [MeBoGe 90]) werden weitere Aufgabenstellungen und zugehörige Systeme erwähnt. Diese Aufgaben lassen sich jedoch meist einer der oben angeführten Kategorien zuordnen. Expertisesysteme: Expertisesysteme formulieren unter Verwendung von Diagnoseergebnissen Situationsanalysen. Der Zustand eines betrachteten Systems wird also von Expertisesystemen aufbereitet (z.B. Bilanzanalysen). Beratungssysteme: Beratungssysteme geben im Dialog mit dem Benutzer Handlungsempfehlungen für eine gegebene Situation. Ein Beispiel für eine Beratungsaufgabe ist die Anlageberatung. Selektionssysteme: Selektionssysteme dienen der Auswahl von Elementen aus einer großen Zahl von Alternativen. Zugangssysteme: Zugangssysteme stellen in der Regel intelligente Benutzeroberflächen für konventionelle Systeme dar und sollen dem ungeübten Benutzer den Umgang mit komplexen Systemen erleichtern. Diese Systeme können auch eine aktive Unterstützung durch die Überwachung von möglichen Fehlerfällen liefern. Die Zuordnung eines Systems zu einem Aufgabentyp ist immer nur grob zu treffen, da echte Anwendungen meist Aspekte verschiedener Aufgabentypen enthalten. Zum Beispiel kann ein System zur Wettervorhersage als Teilaufgaben Interpretation (Eingrenzung Hoch- und Tiefdruckgebiete), Simulation (Abschätzung zukünftiger Wetterlagen) oder auch Diagnose (Fehlerermittlung bei falschen Voraussagen) enthalten. Trotzdem ist eine Klassifikation von (realisierten) Expertensystemen durchaus als sinnvoll zu betrachten, um die einmal gemachten Erfahrungen für neue Projekte verwerten zu können. Zielsetzung einer solchen Klassifikation von Aufgabengebieten ist damit eine Zuordnung von Techniken und Lösungsansätzen zu allgemeineren Aufgabenstellungen.
0.2.2 Problemklassen Bei einer abstrakten Betrachtungsweise können die oben angeführten Aufgabentypen in zwei Klassen eingeteilt werden, die für eine Zuordnung spezieller Methoden und Techniken geeigneter erscheinen, nämlich analysieren und synthetisieren. Diese beiden Problemklassen werden wir noch etwas genauer betrachten. Analyse–Aufgaben: Die Problemklasse der Analyse–Aufgaben umfaßt alle Aufgaben, bei denen schon existierende Objekte un-
KAPITEL 0. EINFÜHRUNG
12
tersucht werden. Aus einer Menge vorgegebener Möglichkeiten werden dann eine oder mehrere als Lösung ausgewählt. Man spricht daher auch vom Problemtyp der Klassifikation. Die Klasse der Analyse-Aufgaben umfaßt Aufgaben wie Diagnose, Interpretation, Überwachung etc., bei denen ein bekanntes Muster wiederzuerkennen ist. Synthese–Aufgaben: Synthese–Aufgaben sind alle diejenigen Aufgaben, bei denen vorher noch nicht existierende Objekte zusammengesetzt werden müssen. Dabei werden diese Objekte aus vorgegebenen, eventuell parametrisierten, kleineren Elementen oder Teillösungen zusammengesetzt, wobei das zusammengesetzte Objekt bestimmten Randbedingungen genügen muß. Diese Vorgehensweise entspricht der Konstruktion, die sich in die Bereiche Konfiguration und Planung unterteilen läßt. Daher spricht man auch vom Problemtyp der Konfiguration und Planung. Die einzelnen, im vorherigen Abschnitt angeführten Aufgabenstellungen lassen sich diesen Problemklassen zuordnen. Nur der Aufgabentyp der Simulation wird dabei oft auch als eine eigenständige Klasse angesehen, obwohl die Simulation in Expertensystemen eher die Rolle eines Werkzeugs spielt und in der Regel nur eine Teilaufgabe im Lösungsprozeß übernimmt.
0.2.3 Architektur von Expertensystemen Die wissensbasierte Vorgehensweise, die gekennzeichnet ist von der Trennung des zugrundeliegenden Wissens und seiner Verarbeitung mit einem Inferenzverfahren, erfordert zumindest (vergl. Abbildung 3) eine Wissensbasis die das Wissen aus dem Anwendungsbereich, das sogenannte Domänenwissen, in einer geeigneten Struktur enthält, und eine sogenannte Inferenzkomponente, die auf der Wissensbasis arbeitet und das dargestellte Wissen zur Problemlösung verknüpft, aber weitgehend unabhängig vom speziellen Wissen der Anwendungsdomäne ist.
-
Inferenzkomponente
6 ? Bereichsspezifische Wissensbasis
Abbildung 3: Der Kern eines Expertensystems Mit einem Expertensystem kommt zum einen der Experte in Kontakt, der — in der Regel mit der Hilfe eines Knowledge Engineers — sein Wissen in das System einbringt und auch die Arbeitsweise des Systems überprüft, und zum anderen der Benutzer, der das System konsultiert um sein spezielles Problem zu lösen. Um jedoch ein vernünftiges Arbeiten mit solch einem System zu ermöglichen, werden zusätzlich zu den oben genannten noch eine Reihe weiterer Komponenten benötigt.
0.2.4 Die Architektur Aus der wesentlichen Idee der wissensbasierten Vorgehensweise, nämlich der Trennung von Wissensdarstellung und Wissensverarbeitung, ergeben sich die Komponenten Wissensbasis und Inferenzkomponente. Da mit dem Benutzer ein Dialog geführt werden soll, somit Eingaben auf Zulässigkeit überprüft werden müssen
0.2. EXPERTENSYSTEME
13
usw., ergibt sich die Notwendigkeit einer Dialog- oder auch Fragekomponente. Eine weitere Komponente ist für die Erklärung zuständig. Schließlich muß das Wissen in die Wissensbasis eingebracht werden. Hierzu dient die sogenannte Wissenserwerbskomponente. Daraus läßt sich die in Abbildung 4 dargestellte Architektur für Expertensysteme ableiten:
Experte
Benutzer
* HH Y HH HH Erklärungskomponente
6 ?
Dialogkomponente 6
? Fallspezifisches Wissen
? Wissenserwerbskomponente
6 Inferenzkomponente
?
6 ?
Zwischenergebnisse und Problemlösungen
Bereichsspezifisches Expertenwissen
Abbildung 4: Architektur eines Expertensystems Die in diesem Bild dargestellten Komponenten werden im folgenden genauer beschrieben. Wissensbasis: Die Wissensbasis enthält das gesamte Wissen eines Expertensystems in einer geeigneten Wissensrepräsentationsform. Dabei lassen sich meistens drei Arten von Wissen unterscheiden: • Bereichsspezifisches Expertenwissen: Dieses Wissen wird vom Experten bei der Erstellung des Expertensystems hinterlegt. Es repräsentiert die gültigen Zusammenhänge und Beziehungen in dem jeweiligen Anwendungsbereich. Dieses Wissen wird im Laufe der Zeit eventuell ergänzt und gepflegt, jedoch wird es während einer Konsultation vom Benutzer nicht verändert. • Fallspezifisches Faktenwissen: Dieses wird vom Benutzer innerhalb der Konsultation eingegeben und dient dazu, die im speziellen Fall zutreffenden Sachverhalte darzustellen. • Zwischen- und Endergebnisse: Zwischen- und Endergebnisse werden im Laufe der Konsultation vom System hergeleitet und der Wissensbasis hinzugefügt. Inferenzkomponente: Die Inferenzkomponente, die auch Problemlösungskomponente genannt wird, bildet zusammen mit der Wissensbasis den Kern eines Expertensystems. Die Inferenzmaschine verknüpft das in der Wissensbasis hinterlegte Expertenwissen und versucht daraus eine Lösung für ein Problem abzuleiten. Dialogkomponente: Der Benutzer gibt über die Dialogkomponente das fallspezifische Wissen ein, stellt Fragen an das System
14
KAPITEL 0. EINFÜHRUNG
und gibt Antworten auf Fragen des Systems. Sie ist die Schnittstelle zwischen Endbenutzer und Expertensystem. Natürlich sollte die Dialogkomponente auch Hilfetexte bereitstellen und bei Gegenfragen des Benutzers das entsprechende Verfahren der Erklärungskomponente starten. Erklärungskomponente: Zum Nachvollziehen der Vorgehensweise des Expertensystems ist eine Erklärungskomponente notwendig. Die Erklärungskomponente verdeutlicht dabei die einzelnen Schritte des Inferenzmechanismus auf dem Weg zur Lösung, indem sie z.B. anzeigt, welche Regeln aktuell bearbeitet werden und was bisher hergeleitet wurde. Wissenserwerbskomponente: Der Experte baut mit Hilfe der Wissenserwerbskomponente den bereichsspezifischen Teil der Wissensbasis auf. Die Wissenserwerbskomponente ist dabei die Schnittstelle des Expertensystems zum Experten. Sie unterstützt den Umwandlungsprozeß von Expertenwissen in eine maschinell verarbeitbare Form. In der Regel ist ein Editor vorhanden, der die Erfassung in der jeweiligen Wissensrepräsentationsform unterstützt und auch erste Zulässigkeitsüberprüfungen vornimmt. Es können jedoch auch weitere Tools vorhanden sein, die z.B. Inkonsistenzen melden oder sogar induktiv aus einer Sammlung von Beispielen Regeln generieren. Abschließend sei noch darauf hingewiesen, daß ein Expertensystem seine fallspezifischen Daten natürlich nicht nur im Dialog mit dem Benutzer erhalten kann, sondern auch z.B. über eine geeignete Datenbankschnittstellen auf Daten aus einer Datenbank zugreifen kann oder die Ausgangsdaten eines zu überwachenden Prozesses abfragen kann. In diesen Fällen ist es die Aufgabe der Dialogkomponente, die richtige Zuordnung vorzunehmen. Zusammenfassend kann man sagen, daß diese Architektur die Realisierung der Eigenschaften Transparenz, Flexibilität und Benutzerfreundlichkeit unterstützen soll.
0.2.5 Vergleich: Expertensystem ↔ Experte Eine realistische Einschätzung der Leistungsfähigkeit von Expertensystemen muß auch einem Vergleich von Expertensystemen mit Experten enthalten. Ein solcher Vergleich der Leistungsfähigkeiten kann anhand folgender Kriterien stattfinden: Wissenserhaltung: Einmal eingegebenes Wissen ist in einem Expertensystem ständig vorhanden, was beim Experten nicht immer der Fall ist. Ein Experte vergißt, ein Expertensystem aber nicht. Zeitliche und örtliche Unabhängigkeit: Expertensysteme machen eine Konsultation zu jedem Zeitpunkt möglich, d.h. ein Problem kann ohne Verzögerung bearbeitet werden. Die Abhängigkeit von einem Experten kann dagegen zu hohen Kosten, wie z.B. Reisekosten und Ausfallzeiten führen. Unabhängigkeit von Umwelteinflüssen: Eine weitere Stärke von Expertensystemen ist, daß sie sich nicht durch Lustlosigkeit, Stress und übermäßige Inanspruchnahme in ihrem Problemlösungsverhalten beeinflussen lassen. Hintergrundwisssen: Ein Experte verfügt über ein breites Hintergrundwissen, dessen Integration in Expertensysteme aufgrund seines Umfanges große Probleme bereitet. Nicht vorhergesehene Umstände stellen ein Expertensystem vor große Probleme.
0.2. EXPERTENSYSTEME
15
Kreativität: Diese Eigenschaft des Menschen, die auch unkonventionelle Lösungsmethoden erlaubt, fehlt dem Computer. Er kann prinzipiell nur vorgedachte Lösungen anbieten. Lernfähigkeit: Ähnlich der Kreativität ist ein Expertensystem auch im Bereich der Lernfähigkeit, d.h. der selbständigen Anpassung an neue Situationen, dem Experten weit unterlegen. Größe des Problemkreises: Während ein Expertensystem nur in einem sehr begrenzten Bereich eingesetzt werden kann, ist dem Experte ein weitaus größerer Problemkreis zugänglich.
Wissenserhaltung zeitl. u. örtl. Unabhängigkeit Unabh. v. Umwelteinflüssen Hintergrundwissen Lernfähigkeit Größe des Problemkreises Kreativität
Experte
Expertensystem
– – – + + + +
+ + + – – – –
Abbildung 5: Vergleich Experte - Expertensystem Expertensysteme sind wissensbasierte Systeme, die das Verhalten eines Experten auf einem eng abgegrenzten Bereich simulieren. Expertensysteme können ihre Problemlösungen durch Angabe des benutzten Wissens erklären, das repräsentierte Wissen kann gepflegt und verändert werden. Komplizierte Domänen, die viel Wissen und eine große Flexibilität des Experten verlangen, sind für Expertensysteme (noch) ungeeignet. Als Programme können Expertensysteme letztlich nur Probleme in einem vorgedachten Rahmen lösen. Lösungen, die echte Kreativität verlangen und für die ganz neue Wege beschritten werden müssen, können sie nicht liefern. Trotzdem gibt es eine ganze Reihe von Anwendungsbereichen in denen Expertensysteme eingesetzt werden, von denen die wichtigsten wohl die Diagnose und die Konfiguration sind. In [MeBoGe 90] findet sich eine ausführliche Auflistung von Expertensystemen aus den unterschiedlichsten Bereichen.
16
KAPITEL 0. EINFÜHRUNG
Kapitel 1
Einführung in die Aussagenlogik 1.1 Grundlagen Aussagenlogische Formeln sind aufgebaut aus Elementaraussagen, die wir im weiteren Atome oder aussagenlogische Variable nennen. Diese können durch logische Operationen (Junktoren) zu komplexen Formeln verknüpft werden. Wir lassen hierfür die Konjunktion (∧), die Disjunktion (∨) und die Negation (¬) zu. Wenn nicht ausdrücklich anders festgelegt, werden Atome mit Großbuchstaben A, B, C, . . . und A0 , A1 , A2 , . . . bezeichnet. Formeln werden durch griechische Buchstaben α, β, γ, . . . und Φ, Ψ, . . . repräsentiert. Definition 1.1.1 (Aussagenlogische Formeln) Die Klasse der aussagenlogischen Formeln AL wird induktiv definiert durch die folgenden vier Schritte. (1) Jedes Atom ist eine Formel. (2) Ist α eine Formel, so ist auch (¬α) eine Formel. (3) Falls α und β Formeln sind, so sind auch (α ∧ β) und (α ∨ β) Formeln. (4) Nur mit (1) – (3) gebildete Ausdrücke sind Formeln. Aussagenlogische Formeln werden häufig auch als Ausdrücke bezeichnet. Jede aussagenlogische Formel besitzt eine eindeutige Zerlegung: Sie ist entweder ein Atom, eine Negation, eine Konjunktion oder eine Disjunktion. Wir führen die Implikation (α → β) als eine Abkürzung für ((¬α) ∨ β) ein. Ebenfalls als Abkürzung verwenden wir die Äquivalenz (α ↔ β) für ((α → β) ∧ (β → α)). Durch die in der Definition der aussagenlogischen Formeln vorgeschriebenen Klammern kann eine Formel sehr leicht unübersichtlich werden. Um Klammern sparen zu können, ist es deshalb sinnvoll, folgende Bindungsregeln festzulegen. Bindungsregeln: 1.) ¬ bindet stärker als ∧. 2.) ∧ bindet stärker als ∨.
17
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
18
3.) Binäre Operatoren gleicher Stärke werden als links geklammert angesehen. Beispiel: a) Die Formel (¬((A ∨ (¬B)) ∧ ((¬A) ∨ ((¬B) ∧ (¬(¬C)))))) vereinfacht sich dann zu ¬((A ∨ ¬B) ∧ (¬A ∨ ¬B ∧ ¬¬C)). b) Die Formel ¬A ∨ B ∨ D ∨ ¬E steht abkürzend für ((((¬A) ∨ B) ∨ D) ∨ (¬E)). 2 Für eine Formel α bezeichnen wir mit atoms (α) die Menge der in α auftretenden Atome. Ein Literal ist ein Atom oder ein negiertes Atom (¬A). Ein Atom A heißt auch positives Literal und ¬A negatives Literal. Für die Menge der Literale über einer Atommenge A schreiben wir literals (A), für die Menge der Literale über den Atomen einer Formel α abkürzend literals (α) statt literals (atoms (α)). Definition 1.1.2 (Länge einer aussagenlogischen Formel) Die Länge |α| einer aussagenlogischen Formel α wird induktiv definiert durch: 1.) Für jedes Atom A gilt |A| := 1. 2.) Für jede Formel α gilt |(¬α)| := |α|. 3.) Für Formeln α und β gilt |(α ∨ β)| := |(α ∧ β)| := |α| + |β| Nach dieser Definition haben beispielsweise die Formeln ¬((A ∨ ¬B) ∧ (¬A ∨ ¬B ∧ ¬¬C)) und A ∧ B ∧ C ∧ D ∧ E beide die Länge 5. Das Längenmaß |α| nimmt also wenig Rücksicht auf die Struktur einer Formel. Bei der Beurteilung der Komplexität von Algorithmen wirkt sich die Berücksichtigung von Namenslängen, d.h. die Anzahl der Zeichen im Bezeichner eines Atoms, nicht nur bei der Eingangsgröße aus, sondern zum Teil ist auch die Komplexität selbst größer. Müssen etwa Atome mit neuen Namen erzeugt werden, so kann die Erzeugung aufgrund der Länge des Namens mit O(log n) wesentlich in die Komplexität eingehen. Eine ganze Reihe von Manipulationen logischer Formeln läßt sich auf die Ersetzung von Teilformeln durch andere Formeln zurückführen. Ein Spezialfall ist die Ersetzung eines Atoms oder eines Literals durch eine Formel. Der eher operationale Charakter einer Ersetzung ist aus der Definition nicht erkennbar, da hier das Ergebnis der Substitution spezifiziert wird. Definition 1.1.3 (Substitution) Für aussagenlogische Formeln σ und τ wird die Substitution von σ durch τ in α, in Zeichen α[σ/τ ], induktiv definiert durch:
α=A α = ¬α α= β ∨γ α= β ∧γ
σ=α τ τ τ τ
sonst A ¬α [σ/τ ] β[σ/τ ] ∨ γ[σ/τ ] β[σ/τ ] ∧ γ[σ/τ ]
Es ist zu beachten, daß nur alle Vorkommen von σ in α durch τ ersetzt werden. Dadurch ist sichergestellt, daß der Ersetzungsprozeß abbricht, da Vorkommen von σ in τ nicht berücksichtigt werden, d.h. nicht ersetzt werden. Eine Formel, in der die zu ersetzende Formel nicht vorkommt, bleibt unverändert.
1.1. GRUNDLAGEN
19
Definition 1.1.4 (Bewertung von Atomen) Eine Bewertung oder Interpretation ist eine Abbildung
: {A0 , A1 , A2 , . . .} → {0, 1}, der Atome auf die Wahrheitswerte 0 (falsch) und 1 (wahr). Definition 1.1.5 (Bewertung aussagenlogischer Formeln) Sei eine Bewertung der Atome. Wir erweitern diese Bewertung zu einer — wieder mit bezeichneten — Bewertung für aussagenlogische Formeln
: {α | α aussagenlogische Formel} → {0, 1} durch die folgenden Regeln.
(¬α) :=
(α ∨ β) :=
(α ∧ β) :=
1 falls (α) = 0 0 sonst 1 falls (α) = 1 oder (β) = 1 0 sonst 1 falls (α) = (β) = 1 0 sonst
Für eine Formel α müssen zwei Bewertungen, die auf atoms (α) gleich sind, auch den gleichen Wahrheitswert liefern. Lemma 1.1.6 (Koinzidenzlemma) Seien 1 und 2 Bewertungen und α eine aussagenlogische Formel. Dann gilt: (∀A ∈ atoms (α) : 1 (A) = 2 (A))
=⇒
1 (α) = 2 (α)
Da die Menge atoms (α) einer Formel α endlich ist, lassen sich in einer endlichen Tabelle alle möglichen Bewertungen für atoms (α) systematisch aufzählen. Eine solche Tabelle nennt man Wahrheitstafel oder Wahrheitstabelle. Beispiel: Eine Wahrheitstafel für die Formel α = (A ∨ B) ∧ ¬C hat das folgende Aussehen: A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
A∨B 0 0 1 1 1 1 1 1
¬C 1 0 1 0 1 0 1 0
(A ∨ B) ∧ ¬C 0 0 1 0 1 0 1 0
Die Bewertung (A) = 1, (B) = 1 und (C) = 0 entspricht der vorletzten Zeile und liefert (α) = 1 als Ergebnis. 2
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
20
Definition 1.1.7 (erfüllbar, widerspruchsvoll, Tautologie) Eine aussagenlogische Formel α heißt erfüllbar genau dann, wenn es eine Bewertung mit (α) = 1 gibt. Eine Formel α heißt widerspruchsvoll genau dann, wenn für alle Bewertungen (α) = 0 gilt. Eine Formel α ist eine Tautologie genau dann, wenn für alle Bewertungen (α) = 1 gilt. Statt „α ist eine Tautologie“ verwendet man auch die Sprechweise „α ist (allgemein–)gültig“. Offensichtlich besteht ein einfacher Zusammenhang zwischen den Begriffen. Lemma 1.1.8
Sei α eine Formel, dann gilt: α ist widerspruchsvoll ⇐⇒ α ist nicht erfüllbar ⇐⇒ ¬α ist Tautologie
Beweis: Sei α widerspruchsvoll, dann gilt nach Definition für alle Bewertungen (α) = 0. Es gibt also keine Bewertung mit (α) = 1, d.h. α ist nicht erfüllbar. Da für Bewertungen (α) = 0 ⇐⇒ (¬α) = 1 gilt, folgt sofort, daß ¬α eine Tautologie ist. Definition 1.1.9 (Semantischer Folgerungsbegriff) Seien α und β Formeln, dann folgt β (semantisch) aus α (α |= β) genau dann, wenn für alle Bewertungen
gilt:
(α) = 1 =⇒ (β) = 1 Eine Formel β folgt also semantisch aus einer Formel α, wenn β in jedem Kontext wahr ist, in dem auch alpha wahr ist. Beispiel: Sei α = A ∧ (¬A ∨ B) und β = B, dann gilt α |= β, denn
(A) = 1, (B) = 1
(A) = 1, (B) = 0
(A) = 0, (B) = 1
(A) = 0, (B) = 0
=⇒ =⇒ =⇒ =⇒
( (α) = 1 und (β) = 1)
(α) = 0
(α) = 0
(α) = 0
Für jede Bewertung gilt also die Beziehung (α) = 1 =⇒ (β) = 1.
2
Der semantische Folgerungsbegriff wird häufig — kanonisch erweitert — für eine (auch unendliche) Formelmenge verwendet. Wir schreiben α1 , . . . , αn |= β bzw. F |= β mit einer Formelmenge F. Die Schreibweise |= α ist damit äquivalent zu „α ist Tautologie“. Ein Zusammenhang zwischen Folgerbarkeit und Erfüllbarkeit, der im weiteren sehr oft benutzen werden wird, besagt, daß die Folgerung α |= β überprüft werden kann, indem wir (α ∧ ¬β) auf Widerspruch testen. Dies entspricht einem indirekten Beweis. Lemma 1.1.10
Sei α eine aussagenlogische Formel, dann gilt:
a) α |= β ⇐⇒ (α ∧ ¬β) ist widerspruchsvoll. b) α ist widerspruchsvoll ⇐⇒ Für alle Formeln β gilt: α |= β c) α ist widerspruchsvoll ⇐⇒ Es gibt eine Formel β mit : α |= (β ∧ ¬β)
1.1. GRUNDLAGEN
21
Beweis: Wir zeigen nur die erste Aussage, die Beweise der weiteren Aussagen bleiben dem Leser als Übung überlassen. Gelte α |= β, d.h. für alle Bewertungen für atoms (α)∪atoms (β) gilt: ( (α) = 1 =⇒
(β) = 1), also (¬α∨ β) = 1 und damit (¬(¬α∨ β)) = 0. Außerdem gilt (¬(¬α∨ β)) = (α∧ ¬β). Daraus folgt (α∧¬β) = 0, d.h. (α∧¬β) ist widerspruchsvoll. Die umgekehrte Richtung ist offensichtlich ebenfalls korrekt. Beide Aussagen können auch für Formelmengen anstelle der Einzelformel α gezeigt werden. In ähnlicher Weise läßt sich die folgende Aussage beweisen. Lemma 1.1.11 (Deduktionstheorem für |=) Seien α und β aussagenlogische Formeln und M eine Menge von Formeln, dann gilt: M ∪ {α} |= β
=⇒
M |= (α → β)
Zwischen aussagenlogischen Formeln kann man verschiedene Ausprägungen von „Ähnlichkeit“ feststellen. Definition 1.1.12 (Logische Äquivalenz) Zwei Formeln α und β heißen (logisch) äquivalent, abgekürzt α ≈ β, genau dann, wenn für jede Bewertung
gilt: (α) = (β), d.h. wenn gilt |= α ↔ β. Für diesen Äquivalenzbegriff lassen sich einige Vererbungsregeln und Umformungsgesetze formulieren, deren Beweise als Übung dem Leser überlassen bleiben. α ≈ β =⇒ ¬α ≈ ¬β α ≈ β =⇒ γ ∧ α ≈ γ ∧ β α ≈ β =⇒ γ ∨ α ≈ γ ∨ β Negation ¬¬α ≈ α Idempotenz α∨α≈α α∧α≈α Kommutativität α ∨ β ≈ β ∨ α α∧β ≈ β ∧α Assoziativität (α ∨ β) ∨ σ ≈ α ∨ (β ∨ σ) (α ∧ β) ∧ σ ≈ α ∧ (β ∧ σ) Distributivität (α ∧ β) ∨ σ ≈ (α ∨ σ) ∧ (β ∨ σ) (α ∨ β) ∧ σ ≈ (α ∧ σ) ∨ (β ∧ σ) De Morgan ¬(α ∧ β) ≈ ¬α ∨ ¬β ¬(α ∨ β) ≈ ¬α ∧ ¬β Vererbung
Die Anwendung dieser Umformungsgesetze erfolgt in der Regel lokal innerhalb einer Formel. Die Zulässigkeit solcher Anwendungen formuliert das folgende Lemma. Lemma 1.1.13 Sei α eine aussagenlogische Formel, γ eine Teilformel von α und δ eine weitere Formel mit γ ≈ δ. Ist β die Formel, die aus der Ersetzung eines Vorkommens von γ in α durch δ entsteht, so gilt auch α ≈ β. Zu beachten ist hier, daß die Äquivalenz von Ausgangs– und Zielformel bei jeder einzelnen Ersetzung gilt. Als Folgerung von Lemma 1.1.13 erhält man dann γ≈δ
=⇒
α ≈ α[γ/δ]
Wie wir später noch sehen werden, ist für eine Reihe von Anwendungen die oben definierte logische Äquivalenz zu stark, z.B. dann, wenn uns nur interessiert, ob zwei Formeln bezüglich einer (festen) Menge von Atomen die gleichen Folgerungen besitzen. Dies führt uns zur folgenden Definition.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
22
Definition 1.1.14 (–Äquivalenz) Sei eine nicht–leere Menge von Atomen und seien α und β aussagenlogische Formeln. Dann heißen diese
Formeln –äquivalent, abgekürzt α ≈ β, genau dann, wenn für alle Formeln π mit Atomen aus gilt: α |= π
⇐⇒
β |= π
Sei beispielsweise α = (A → B) ∧ (B → C) und β = (A → C), dann gilt α ≈ β für = {A, C}. Die Formeln α und β sind aber nicht äquivalent. Auf die Verwendbarkeit dieser Äquivalenz werden wir in späteren Kapiteln eingehen. Eine weitere Abschwächung des Äquivalenzbegriffes ist die sogenannte Erfüllbarkeitsäquivalenz. Sie verbindet zwei Formeln nur in Bezug auf ihre Erfüllbarkeit. Definition 1.1.15
(Erfüllbarkeitsäquivalenz) sat
Zwei Formeln α und β heißen erfüllbarkeitsäquivalent, abgekürzt α ≈ β, genau dann, wenn gilt: α ist erfüllbar
⇐⇒ sat
β ist erfüllbar
Sei beispielsweise α = A ∨ B und β = C, dann gilt α ≈ β.
1.2. NORMALFORMEN
23
1.2 Normalformen 1.2.1 Negationsnormalform (NNF) Eine erste wirklich strukturelle Vereinfachung von Formeln beruht auf der Idee, eine Negation nur direkt vor die jeweiligen Atome zu stellen. Die implizit Negationen enthaltenden Operatoren → und ↔ sind in dieser Darstellung nicht zugelassen. Definition 1.2.1 (Negationsnormalform) Eine Formel α ist in Negationsnormalform (NNF) genau dann, wenn jedes Negationszeichen direkt vor einem Atom steht und keine zwei Negationszeichen direkt hintereinander stehen. Die Klasse der aussagenlogischen Formeln in Negationsnormalform bezeichnen wir mit NNF. Anstatt durch Angabe ihrer Eigenschaften können Formeln in Negationsnormalform induktiv wie folgt beschrieben werden: 1. Für jedes Atom A sind A und ¬A Formeln in Negationsnormalform. 2. Falls α und β Formeln in Negationsnormalform sind, so sind es auch (α ∧ β) und (α ∨ β). 3. Nur mit 1. und 2. gebildete Ausdrücke sind Formeln in Negationsnormalform. Gegenüber den allgemeinen aussagenlogischen Formeln haben wir also schwächere Bildungsregeln. Die Transformation einer Formel in die Negationsnormalform kann sehr leicht mit Hilfe der Umformungsregeln von De Morgan ¬(α ∧ β) ≈ ¬α ∨ ¬β und ¬(α ∨ β) ≈ ¬α ∧ ¬β sowie der Negationsregel ¬¬α ≈ α durchgeführt werden. Wir erhalten damit sofort die folgende Aussage. Lemma 1.2.2
Zu jeder Formel α gibt es eine äquivalente Formel in Negationsnormalform (NNF).
1.2.2 Konjunktive Normalform Der nächste Schritt einer Normierung der Darstellung von Formeln ist die Umwandlung in eine Konjunktion von Disjunktionen (Klauseln) aus einer beliebigen Formel in NNF. Definition 1.2.3 (Klausel) Eine Formel α = (L1 ∨ . . . ∨ Ln ) mit den Literalen Li (1 ≤ i ≤ n) bezeichnen wir als Klausel. Sind alle Literale einer Klausel negativ, so ist es eine negative Klausel; sind alle Literale positiv, so ist es eine positive Klausel. Alle anderen Klauseln sind gemischte Klauseln. Eine Klausel α wird k–Klausel genannt, falls α maximal k Literale enthält. 1–Klauseln werden auch als Unit–Klauseln bezeichnet. Definition 1.2.4 (Konjunktive Normalform, KNF, k–KNF) Eine Formel α ist in Konjunktiver Normalform (KNF) genau dann, wenn α eine Konjunktion von Klauseln ist, d.h. α = α1 ∧ . . . ∧ αn mit Klauseln αi (1 ≤ i ≤ n). Eine Formel α ist in k–KNF genau dann, wenn α eine Konjunktion von k–Klauseln ist. Die entsprechenden Formelklassen werden mit KNF und k–KNF bezeichnet.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
24
Eine Formel aus KNF ist eine Horn–Formel, wenn jede Klausel maximal ein positives Literal enthält. Sie ist eine definite Horn–Formel, wenn jede Klausel genau ein positives Literal enthält. Die Klauseln heißen entsprechend (definite) Horn–Klauseln. Die entsprechenden Formelklassen werden mit HORN und DHORN bezeichnet. Für assoziative Operatoren wie die Konjunktion und die Disjunktion bietet sich bei gleichrangiger Verknüpfung oftmals eine Mengenschreibweise an. Eine Klausel ist demnach eine Menge von Literalen, eine Formel in KNF ist eine Menge von Mengen von Literalen. Wir werden beide Schreibweisen verwenden. Beispiel: Für die Formel α = (A ∨ B) ∧ (A ∨ ¬B) ∧ (¬A ∨ B) ∧ (¬A ∨ ¬B) aus KNF ist eine mögliche Mengendarstellung α = {{A, B}, {A, ¬B}, {¬A, B}, {¬A, ¬B}} 2 Die für die Junktoren ∧ und ∨ gültigen Idempotenz–, Assoziativ– und Kommutativgesetze erlauben die mit der Mengenschreibweise einhergehenden üblichen Konventionen wie Auslassen von Mehrfachvorkommen, beliebige Umordnung von Elementen etc. Das folgende Lemma besagt, daß jede Formel in eine äquivalente Formel in KNF transformiert werden kann. Lemma 1.2.5
Zu jeder aussagenlogischen Formel α gibt es eine Formel β in KNF mit α ≈ β.
Aus Gründen der Einfachheit nehmen wir auch für den Algorithmus an, daß die Ausgangsformel in Negationsnormalform gegeben ist. Algorithmus 1.1: T–TRANS–EQUIV–KNF Input: Formel α in Listen– oder Baumdarstellung ohne → und ↔ in NNF Output: zu α äquivalente Formel in KNF function T–TRANS–EQUIV–KNF (α : ↑al-formula ) : ↑al-formula begin repeat αorig := α; switch (α) case α = β ∧ γ: α := T–TRANS–EQUIV–KNF(β)∧ T–TRANS–EQUIV–KNF(γ); case α = β ∨ γ: β := T–TRANS–EQUIV–KNF(β); γ := T–TRANS–EQUIV–KNF(γ); if ( β = δ ∧ ) then α := (δ ∨ γ) ∧ ( ∨ γ); else if ( γ = δ ∧ ) then α := (β ∨ δ) ∧ (β ∨ ); else α := β ∨ γ; default: /∗ Keine Aktion nötig. ∗/; end {switch}; until ( αorig = α ); return α;
1.2. NORMALFORMEN
25
end;
Lemma 1.2.6 Es gibt eine Folge von Formeln αn mit |αn | = 2n, für die jede äquivalente Formel βn ∈ KNF mindestens die Länge 2n besitzt. Ein Beweis läßt sich mit den folgenden Formeln führen. Sei αn = 1≤i≤n (Ai,1 ∧ Ai,2 ), mit paarweise verschiedenen Atomen A1,1 , A1,2 , . . . , An,1 , An,2 . Offensichtlich hat αn die Länge 2n. Eine minimale äquivalente Formel in KNF mit 2n Klauseln ist βn = j1 ,...,jn∈{1,2} (A1,j1 ∨ . . . ∨ An,jn ). Ebenso wie die Länge der erzeugten Formel aus KNF zum Problem werden kann, ist es im allgemeinen nicht möglich, die Klausellänge zu reduzieren. Lemma 1.2.7 Für alle k ≥ 1 gibt es eine Formel αk in (k + 1)–KNF, zu der es keine äquivalente Formel β in k–KNF gibt. Beweis: Sei αk = (A1 ∨ . . . ∨ Ak+1 ) für paarweise verschiedene Atome Ai (1 ≤ i ≤ k + 1). Angenommen es gebe eine Formel β in k–KNF, also β = δ1 ∧ . . . ∧ δm mit k–Klauseln δj (1 ≤ j ≤ m), die zu αk äquivalent ist. O.B.d.A. enthalte δ1 nicht das Atom Ak+1 . Wenn wir nun eine Bewertung wählen, für die
(δ1 ) = 0 ist und (Ak+1 ) = 1 angenommen wird, dann gilt (αk ) = 1, aber (β) = 0. Dies ist ein Widerspruch zur Annahme. Wählen wir an Stelle der logischen Äquivalenz eine schwächere Version, nämlich die Erfüllbarkeitsäquivalenz, so ist eine platzsparende Transformation in eine äquivalente Konjunktive Normalform sehr leicht möglich. Die Idee beruht auf der Ersetzung von (ϕ ∧ ψ) ∨ π durch (ϕ ∨ ¬A) ∧ (ψ ∨ ¬A) ∧ (π ∨ A), wobei A ein neues Atom für die Formel ist. Zu verstehen ist diese Ersetzung als Einführung des neuen Namens A für die Teilformel ϕ ∧ ψ und eine Beschreibung der Zusammenhänge. Es gilt (ϕ ∧ ψ) ∨ π
sat
≈ ≈
(A ↔ (ϕ ∧ ψ)) ∧ (A ∨ π) (A ∨ ¬ϕ ∨ ¬ψ) ∧ (¬A ∨ ϕ) ∧ (¬A ∨ ψ) ∧ (A ∨ π)
sat
(¬A ∨ ϕ) ∧ (¬A ∨ ψ) ∧ (A ∨ π)
≈
Man beachte, daß zwischen den ersten beiden und den letzten beiden Formeln jeweils die Erfüllbarkeitsäquivalenz gilt. Man kann zwischen Ausgangs– und Zielformel zwar auch die –Äquivalenz zeigen, wobei die Menge der Atome der Ausgangsformel bezeichnet, wir nutzen diesen stärkeren Zusammenhang an dieser Stelle jedoch nicht aus. Verschiedene Varianten dieser ursprünglich auf Tseitin [Tse 70] bzw. [BBFMP 73] zurückgehenden Idee sind (in der Regel in Versionen für die Prädikatenlogik) in der Literatur beschrieben, unter anderem in [Eder 85], [PlGr 86] und [BdT 90]. Der nachfolgende Algorithmus T–TRANS–KNF generiert nach diesem Verfahren zu jeder Formel α eine erfüllbarkeitsäquivalente Formel β in KNF. Algorithmus 1.2: T–TRANS–KNF Input: Formel α in Listen– oder Baumdarstellung ohne → und ↔ in NNF Output: zu α erfüllbarkeitsäquivalente Formel in KNF
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
26
function T–TRANS–KNF(α : ↑al-formula) : ↑al-formula; var γ : ↑al-formula ; function REK–TRANS–KNF( β : ↑al-formula ) : ↑al-formula; var β1 , β2 , σ1 , σ2 : ↑al-formula ; A : atom; begin switch (β) case β = β1 ∧ β2 : return(REK–TRANS–KNF(β1 ) ∧ REK–TRANS–KNF(β2 )); case β = β1 ∨ β2 : if (β1 = σ1 ∧ σ2 ) then begin σ1 :=REK–TRANS–KNF(σ1 ); σ2 :=REK–TRANS–KNF(σ2 ); A := pos-unit(new_atom()); if γ = NULL then γ := (¬A ∨ σ1 ) ∧ (¬A ∨ σ2 ); else γ := γ ∧ (¬A ∨ σ1 ) ∧ (¬A ∨ σ2 ); return(A∨ REK–TRANS–KNF(β2 )); end {then} else if (β2 = σ1 ∧ σ2 ) then begin { analog } ... end {then} else return(REK–TRANS–KNF(β1 )∨ REK–TRANS–KNF(β2 )); default: /∗ Keine Aktion nötig. ∗/; end {switch}; end; begin repeat γ := NULL; α :=REK–TRANS–KNF(α); if γ <> NULL then α := α ∧ γ; until ( γ = NULL ); return(α); end;
In der Prozedur REK–TRANS–KNF ist zu beachten, daß die Atome, die neu erzeugt werden, nur als Knoten erzeugt werden. Will man diesen Atomen auch gleichzeitig neue Namen zuweisen, muß entsprechend mehr Aufwand getrieben werden. Satz 1.2.8 Der Algorithmus T–TRANS–KNF erzeugt zu jeder Formel α der Länge n in O(n2 ) Schritten eine erfüllbarkeitsäquivalente Formel β in KNF mit der Länge O(n). Beweis: Den Beweis des Satzes führen wir mit einer Induktion über die Anzahl der Fehlstellungen in dem Formelbaum der Ausgangsformel. In einem NNF–Formelbaum ist ein ∧–Knoten in einer Fehlstellung, wenn er einen ∨–Knoten als Vorfahren hat (von der Wurzel aus gesehen). Die Anzahl der Fehlstellungen ist dann die Anzahl der ∧–Knoten, die Nachfahren von ∨–Knoten sind. Sie wird mit #F (α) bezeichnet. Enthält die Ausgangsformel keine Fehlstellung, dann ist α schon in KNF. Gehen wir nun davon aus, daß α insgesamt (n + 1) Fehlstellungen besitzt. Sei (ϕ ∧ ψ) ∨ π (bzw. π ∨ (ϕ ∧ ψ)) eine Teilformel in α, so daß in dem Pfad von dieser Teilformel zur Wurzel von T (α) keine weitere Fehlstellung auftritt. Dann wird der Formelbaum T (α) durch die Operation in den Formelbaum T (α∗ ) wie in Abbildung 1.1 transformiert, wobei P das neue Atom bezeichnet. Offensichtlich gilt
#F (α∗ ) = #F (α) − 1 = n
1.2. NORMALFORMEN
27
T (α) :
=⇒ T (α∗ ) :
∧/∨
∧/∨
∧/∨
∨
∧/∨
\
∧ T (ϕ)
@
T (π)
∨
\
T (ψ)
P
∧
H H H
∨
% e
¬P
∧
" b b " T (ϕ)
∨
% e
¬P
T (ψ)
T (π)
Abbildung 1.1: Transformation des Formelbaumes Denn durch den ∧–Knoten als neue Wurzel können keine neuen Fehlstellungen entstehen. Die Zahl der Fehlstellungen innerhalb von T (ϕ), T (ψ) und T (π) sowie dem von der Transformation unberührten Rest von T (α) bleiben unter der Transformation unverändert. Also terminiert dieses Verfahren, jede Formel wird schließlich in eine Formel in KNF transformiert. Da #F (α) kleiner gleich der Anzahl der vorkommenden ∧–Zeichen ist und jede Ersetzung in maximal linearer Zeit in Abhängigkeit von der Länge der jeweiligen Formel durchgeführt werden kann, ergibt sich eine quadratische Gesamtzeit. Denn die Länge der resultierenden Formel hängt linear von der Ausgangsformel ab, da in jedem Schritt 3 neue Vorkommen von Literalen hinzugefügt werden. Offensichtlich sind (ϕ ∧ ψ) ∨ π und (ϕ ∨ ¬P ) ∧ (ψ ∨ ¬P ) ∧ (π ∨ P ) erfüllbarkeitsäquivalent, da P ein neues Atom für α ist. Hieraus läßt sich aber nicht direkt ableiten, daß auch α und die resultierende Formel erfüllbarkeitsäquivalent sind, da das Analogon zu Lemma 1.1.13 nicht gilt (vgl. Beispiel im Anschluß an Definition 1.1.15). Hier muß vielmehr ausgenutzt werden, daß eine erfüllende Bewertung von α immer zu einer erfüllenden Bewertung von T–TRANS–KNF(α) erweitert werden kann und daß umgekehrt die Einschränkung einer erfüllenden Bewertung von T–TRANS–KNF(α) auf atoms (α) eine erfüllende Bewertung von α liefert. Ein Beweis kann durch eine Induktion über die Anzahl der Einzelersetzungen geführt werden. Liegt eine Formel α in KNF vor, so kann man diese Normalform noch weiter vereinfachen, so daß jede Klausel maximal 3 Literale enthält. Wir ersetzen jede Klausel (L1 ∨ . . . ∨ Ln ) mit (n ≥ 4) durch die folgende Konjunktion von Klauseln: Seien P2 , . . . , Pn−1 neue Atome, dann bilden wir die Konjunktion
(L1 ∨ L2 ∨ P2 ) ∧
(¬Pi−1 ∨ Li ∨ Pi ) ∧ (¬Pn−1 ∨ Ln−1 ∨ Ln ).
2
Offensichtlich sind beide Formeln erfüllbarkeitsäquivalent. Diese Grundidee ist im Algorithmus T–TRANS–3–KNF umgesetzt. Algorithmus 1.3: T–TRANS–3–KNF Input: Formel α in Listen– oder Baumdarstellung in KNF Output: zu α erfüllbarkeitsäquivalente Formel in 3–KNF
28
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
function T–TRANS–3–KNF(α : ↑al-formula ) : ↑al-formula var ϕ, ψ, π, A : ↑al-formula ; k, i : integer; formula-stack, clause-stack, literal-stack : stack-type; begin init-stack (clause-stack); init-stack (literal-stack); init-stack (formula-stack); push (α, formula-stack); α := NULL; while ( not-empty (formula-stack) ) ϕ := top(formula-stack); pop (formula-stack); if (ϕ = ψ ∧ π) then begin push (π, formula-stack); push (ψ, formula-stack); end {then}; else begin k := 0; push (ϕ, clause-stack); while (not-empty (clause-stack)) ϕ := top (clause-stack); pop (clause-stack); if (ϕ = ψ ∨ π) then begin push (π, clause-stack); push (ψ, clause-stack); end {then}; else begin k := k + 1; push (ϕ, literal-stack); end {else}; end {while}; ϕ := top (literal-stack); pop (literal-stack); foreach i ∈ {1, . . . , k − 3} do ϕ := ϕ ∨ top(literal-stack); pop (literal-stack); A := pos-unit (new_atom()); α := α ∧ (ϕ ∨ A); ϕ := ¬A; end {foreach}; while (not-empty (literal-stack)) ϕ := ϕ ∨ top (literal-stack); pop (literal-stack); end {while}; α := α ∧ ϕ; end {else}; end {while}; end;
Die Ersetzung der Klauseln, die mehr als 3 Literale besitzen, durch die Konjunktion neuer Klauseln kann man unter der Voraussetzung, daß die Generierung eines neuen Atom ein Schritt ist, insgesamt in linearer Zeit durchführen. Die resultierende Formel besitzt maximal die Länge 3(n − 2), falls die Ausgangsformel α die Länge n hat. Insgesamt erhalten wir die folgende Aussage. Satz 1.2.9 Zu jeder Formel α in KNF erzeugt der Algorithmen T–TRANS–3–KNF in linearer Zeit eine erfüllbarkeitsäquivalente Formel in 3–KNF.
1.2. NORMALFORMEN
29
1.2.3 Disjunktive Normalform Eine zur Konjunktiven Normalform analoge Normalform aussagenlogischer Formeln ist die Disjunktive Normalform. Definition 1.2.10 (Disjunktive Normalform, DNF) Eine Formel α ist in Disjunktiver Normalform (DNF) genau dann, wenn α eine Disjunktion von Konjunktionen negativer und positiver Literale ist, d.h. α = α1 ∨ . . . ∨ αn mit αi = (Li,1 ∧ . . . ∧ Li,mi ) (1 ≤ i ≤ n). Die entsprechende Formelklasse ist DNF. Zu einer beliebigen Formel α mit den Atomen {A1 , . . . , An } kann man in einfacher Weise eine logisch äquivalente Disjunktive Normalform angeben, indem man zu jeder erfüllenden Bewertung von α die (A ) (A ) Konjunktion A1 1 ∧ . . . ∧ An n mit A0i := ¬Ai und A1i := Ai bildet und diese Konjunktionen mit ∨ verbindet. Jeder dieser sogenannten Minterme ist für genau die ihn definierende Bewertung wahr und für sonst keine Bewertung. Also ist die so gebildete Disjunktive Normalform logisch äquivalent zur Ausgangsformel. Lemma 1.2.11
Sei α eine Formel in KNF, dann ist die Negationsnormalform von ¬α in DNF.
Der Beweis dieser einfachen Folgerung (Induktion über den Formelaufbau) bleibt dem Leser überlassen. Definition 1.2.12 (Duale Formel) Zu einer Formel in Negationsnormalform definieren wir induktiv die duale Formel d(α) zu α durch: 1. Ist α ein Literal, so ist d(α) := α. 2. Ist α = β ∨ γ, so ist d(α) := β ∧ γ. 3. Ist α = β ∧ γ, so ist d(α) := β ∨ γ. Die duale Formel entsteht also durch Ersetzen aller Junktoren ∨ durch ∧ und aller Junktoren ∧ durch ∨. Für die so definierten dualen Formeln gelten die folgenden Aussagen. Lemma 1.2.13
Sei α eine Formel in KNF, dann gilt:
1. d(α) ist in DNF. 2. α ist Tautologie 3. α ist erfüllbar
⇐⇒ ⇐⇒
d(α) ist widerspruchsvoll. d(α) ist keine Tautologie.
Die Beweise dieser Folgerungen (ebenfalls Induktionen über den Formelaufbau) bleiben dem Leser überlassen.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
30
1.3 Komplexität von Erfüllbarkeitsproblemen Die Frage nach der Existenz einer Bewertung, für die eine Formel α wahr wird, kann man unter mehreren Gesichtspunkten betrachten. Einmal ist von Interesse, ob eine Beschreibung in Form einer aussagenlogischen Formel unter gewissen Umständen wahr werden kann. Des weiteren haben wir gesehen, daß die Beantwortung des Folgerungsproblems „Gilt α |= β?“ auf den Test „ Ist α ∧ ¬β widerspruchsvoll?“ und damit auf einen Test auf Erfüllbarkeit zurückgeführt werden kann. Der einfachste Algorithmus für den Erfüllbarkeitstest ist sicherlich die Überprüfung aller Bewertungen einer Formel. Besitzt eine Formel aber n Atome, so bedarf es eventuell einer Folge von 2n Tests, wodurch wir eine exponentielle Laufzeit erhalten. Zur Klassifizierung der Komplexität des Erfüllbarkeitsproblems und anderer Probleme werden die Komplexitätsklassen P, NP, coNP und DP verwendet. An dieser Stelle wollen wir nur sehr knapp die für unsere Zwecke nötigen Begriffe einführen. Für eine ausführliche Beschreibung des Problembereiches und der dort verwendeten Konzepte der Turingmaschinen verweisen wir auf [GaJo 79]. Dort findet sich auch eine umfangreiche Zusammenstellung vergleichbarer Problemstellungen aus ganz unterschiedlichen Bereichen. Ein Problem ist eine Klasse M = {x ∈ Σ∗ | Q(x)}, wobei Σ∗ den Grundbereich der Klasse bezeichnet, z.B. Σ∗ = IN oder Σ∗ = KNF, und Q(x) eine Eigenschaft von x beschreibt, z.B. x gerade oder x erfüllbar. P ist die Klasse der Probleme, die sich mit einer deterministischen Turingmaschine in polynomieller Zeit, d.h. in polynomiell vielen Schritten lösen lassen. M ∈P
⇐⇒
∃ Turingmaschine T ∃ Polynom p ∀x ∈ Σ∗ : T entscheidet in höchstens p(|x|) Schritten, ob Q(x) gilt oder nicht.
Die maximale Schrittzahl ist abhängig von der Länge des Inputs x für die Maschine T , z.B. für x ∈ IN kann |x| = log2 x, die Länge der Darstellung von x als Dualzahl gewählt werden. Grob gesagt, ist ein Problem M dann in P, falls es einen Algorithmus gibt, der — gemessen in der Länge des Inputs — in polynomieller Zeit bei Eingabe von x ∈ Σ∗ die Frage beantwortet, ob Q(x) gilt. Analog ist NP die Klasse der Probleme, die mit einer nicht–deterministischen Turingmaschine in polynomieller Zeit entschieden werden können. Eine nicht–deterministische Turingmaschine hat im Gegensatz zur deterministischen Maschine die zusätzliche Eigenschaft, daß in ihrem Programm optionale Verzweigungen enthalten sind, die Maschine „rät“, mit welchem Programmteil sie fortfahren will. Eine nicht–deterministische Turingmaschine T entscheidet ein Problem M = {x ∈ Σ∗ | Q(x)} in polynomieller Zeit, falls T die Menge M in polynomieller Zeit akzeptiert. Das heißt, es gibt ein Polynom q, so daß bei Eingabe von x ∈ Σ∗ in q(|x|) vielen Schritten (durch richtiges Raten) eine Antwort „Q(x) gilt“ möglich ist, falls tatsächlich Q(x) gilt, im Fall, daß Q(x) nicht gilt, aber die Antwort „Q(x) gilt“ nicht möglich ist. In der Terminologie der Algorithmen ist also ein Problem M in der Klasse NP, wenn es einen Algorithmus gibt, der in polynomieller Zeit für x ∈ Σ∗ durch Raten und Rechnen die Antwort „Q(x) gilt“ liefern kann dann und auch nur dann, wenn Q(x) gilt.
1.3. KOMPLEXITÄT VON ERFÜLLBARKEITSPROBLEMEN
31
Beispiel: Die Klasse der erfüllbaren aussagenlogischen Formeln bezeichnet SAT∗ := {α ∈ AL | α erfüllbar}. Das Problem SAT∗ liegt in NP, denn ein Algorithmus kann in linearer Zeit eine Bewertung
raten und anschließend überprüfen, ob (α) = 1 gilt. 2 Die Klasse coNP enthält die Probleme, deren Komplement in NP liegt. Sei also M = {x ∈ Σ∗ | Q(x)} in NP, dann ist M := {x ∈ Σ∗ | ¬Q(x)} in coNP. Das Problem SAT∗ := {α ∈ AL | α widerspruchvoll} liegt also in coNP. Bis heute ist außer den offensichtlichen Inklusionen P ⊆ NP und P ⊆ coNP unbekannt, in welcher Beziehung die Klassen zueinander stehen. Von speziellem Interesse sind die Frage P = NP und die Frage NP = coNP. Die Probleme in den Klassen NP und coNP stammen aus den unterschiedlichsten Bereichen. Um die Komplexität der Problem besser vergleichen zu können, führen wir einen weiteren Begriff ein. Man sagt, ein Problem M ist polynomiell reduzierbar auf ein Problem M , wenn es eine in polynomieller Zeit mit einer deterministischen Turingmaschine berechenbare Transformation der Elemente von M in Elemente aus M und der Elemente von M in Elemente aus M gibt, d.h. M ist polynomiell reduzierbar auf M genau dann, wenn es eine polynomielle Transformation f : Σ∗ → Σ∗ gibt mit x ∈ M ⇐⇒ f (x) ∈ M für alle x ∈ Σ∗ . Die Frage, ob es zu einem Problem einen polynomiellen deterministischen Algorithmus gibt, ist demnach für M mindestens so schwer zu beantworten wie für M , da sich aus einem solchen Verfahren für M mithilfe der Transformation leicht ein polynomielles Verfahren für M gewinnen läßt. Ein Problem M ∈ NP ist NP–vollständig, falls jedes Problem M aus NP polynomiell auf M reduzierbar ist. Aus der polynomiellen Lösbarkeit eines NP–vollständigen Problem würde dann sofort die Gleichheit P = NP folgen. NP–vollständige Probleme sind also in diesem Sinne die schwierigsten Probleme in NP. Für den Beweis der NP–Vollständigkeit eines Problems M genügt es, die folgenden beiden Aussagen zu zeigen: 1. M ist in NP. 2. Es gibt ein als NP–vollständig bekanntes Problem M und eine polynomielle Transformation f mit: ∀x ∈ Σ∗ : x ∈ M ⇐⇒ f (x) ∈ M . Die coNP–Vollständigkeit eines Problems M beweist man am einfachsten, indem man die NP– Vollständigkeit von M , dem Komplement von M in Σ∗ , zeigt. Ein Problem M ist NP– bzw. coNP–hart, falls es eine Reduktion eines NP–vollständigen bzw. coNP– vollständigen Problemes auf M gibt. In [PaYa 84] ist die Klasse DP = {X ∩ Y | X ∈ NP, Y ∈ coNP} eingeführt worden. Ein Problem M ist D P –vollständig, falls sich jedes Problem aus DP polynomiell auf M reduzieren läßt. Ein Beispiel für ein D P –vollständiges Problem ist SAT–UNSAT = {(α, β) | α ∈ SAT∗ , β ∈ SAT∗ }. Für uns ist die Aussage, das ein Problem NP–vollständig ist, ein Hinweis, der besagt, daß es unter der allgemein akzeptierten Annahme P = NP keinen schnellen, nicht einmal einen Polynomzeit–Algorithmus gibt, der das Problem löst. Gibt es aber solche schwierigsten Probleme in der Klasse NP? Das erste NP–vollständige Problem, das in der Literatur beschrieben wird, ist die Klasse SAT∗ aller erfüllbaren aussagenlogischen Formeln. Die NP–Vollständigkeit wurde in [Coo 71] und [Lev 73] gezeigt. Für uns heißt dies — wir gehen von P = NP aus —, daß es keinen „schnellen“ Erfüllbarkeitstest für beliebige aussagenlogische Formeln gibt. Damit ist gemeint, daß es zu jedem Erfüllbarkeitsalgorithmus Beispielformeln mit einer superpolynomiellen Laufzeit gibt. Wir haben also als Ausweg nur die Möglichkeit, mit Hilfe guter Heuristiken die Erfüllbarkeit vieler Formeln effizient zu entscheiden und nach geeigneten Teilklassen
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
32
aussagenlogischer Formeln zu suchen, die effizient bearbeitet werden können. Die erste Teilklasse, die wir untersuchen wollen, ist die Klasse der Formeln in Konjunktiver Normalform KNF. Wir definieren zunächst einmal die Mengen k–SAT und SAT. Definition 1.3.1 Sei k ≥ 1, dann definieren wir: SAT∗ := {α ∈ AL | α erfüllbar} SAT := {α ∈ KNF | α erfüllbar} k–SAT := {α ∈ k–KNF | α erfüllbar} Für diese Formelklassen sind die folgenden Aussagen bekannt. Satz 1.3.2
Es gilt:
1. SAT∗ und SAT sind NP–vollständig. 2. k–SAT ist NP–vollständig für k ≥ 3. Beweis: Ad 1: Wie bereits gesagt, stammen diese Ergebnisse von Cook [Coo 71] und Levin [Lev 73]. Auf den Beweis wollen wir hier nicht eingehen und verweisen auf die Originalarbeiten. Eine ausführliche Beschreibung findet man auch in [GaJo 79]. Ad 2: Der polynomielle Algorithmus TRANS–3–KNF aus Kapitel 1.2 transformiert jede Formel aus KNF in eine erfüllbarkeitsäquivalente Formel in 3–KNF. Mit Teil 1 folgt die Behauptung.
1.4. ERFÜLLBARKEIT UND 2–KNF
33
1.4 Erfüllbarkeit und 2–KNF Die syntaktische Einschränkung der Formeln auf 2–KNF, also Formeln in KNF mit Klauseln mit jeweils maximal zwei Literalen, führt zu einem relativ einfach zu lösenden Erfüllbarkeitsproblem. In [Tar 72] ist gezeigt worden, daß für Formeln in 2–KNF ein Algorithmus existiert, der die Formeln in Linearzeit auf Erfüllbarkeit testet. Eine zentrale Rolle spielt dabei der zu einer Formel assoziierte Graph, da man einen engen Zusammenhang zwischen Zyklen mit komplementären Literalen und der Unerfüllbarkeit von Formeln herstellen kann. Wir setzen im folgenden einige Grundbegriffe aus der Graphentheorie voraus. Definitionen und Sätze können den entsprechenden Lehrbüchern entnommen werden, z.B. [Ju 90]. Ein gerichteter Graph G = (V, E) besteht aus einer Knotenmenge V und einer Menge gerichteter Kanten E ⊂ V2 . Für eine Kante (v1 , v2 ) schreiben wir v1 → v2 , um die Kantenrichtung klarzustellen. Häufig müssen wir Teilgraphen betrachten, unter denen wir in der Regel die induzierten Teilgraphen verstehen, die für V ⊂ V durch (V , {(v1 → v2 ) ∈ E | v1 , v2 ∈ V }) definiert werden, also alle Kanten des ursprünglichen Graphen enthalten, die Anfangs– und Endpunkt in V haben. Wir führen den assoziierten Graphen nicht nur für Formeln in 2–KNF, sondern für beliebige Formeln in KNF ein. Definition 1.4.1 (Assoziierter Graph) Für eine Klausel αi = (Li,1 ∨ . . . ∨ Li,ki ) mit ki > 1 ist der assoziierte Graph G(αi ) ein gerichteter Graph, bestehend aus der Knotenmenge V (αi ) := {Li,1 , . . . , Li,ki , ¬Li,1 , . . . , ¬Li,ki } (Doppelte Negationssymbole werden gestrichen.), und der Kantenmenge E(αi ) := {¬Li,r → Li,s | 1 ≤ r = s ≤ ki }. (Der Pfeil → gibt auch die Kantenrichtung an.) Für jede Unit–Klausel L bilden wir die Kante ¬L → L. Der zu α = {α1 , . . . , αn } assoziierte Graph G(α) ist die Vereinigung der assoziierten Graphen G(α1 ), . . . , G(αn ) der einzelnen Klauseln von α: G(α) :=
n i=1
V (αi ),
n
E(αi )
i=1
Beispiel: Sei α = {(A ∨ B ∨ C), (¬A ∨ D), (¬D ∨ C)}. Der zu α assoziierte Graph ist in Abbildung 1.2 angegeben. B
¬A 6 ) -C ¬B HH Y H HH H j H H -D 1A -¬D ¬C 6
G(α) :
Abbildung 1.2: Assoziierter Graph zu α 2 Man beachte, daß die Zuordnung von assoziierten Graphen im allgemeinen nicht injektiv ist, d.h. es gibt Formeln α und β mit G(α) = G(β), aber α ≈ β. Ein Beispiel für solch ein Formelpaar ist α = {(A ∨ B ∨
34
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
C)} und β = {(A ∨ B), (B ∨ C), (A ∨ C)}. Für Formeln in 2–KNF folgt aber aus G(α) = G(β) auch sofort α ≈ β. Der assoziierte Graph einer Formel ist also ein gerichteter Graph, dessen Knoten wir der Einfachheit halber mit den Literalen über den Atomen der Formel bezeichnen. Für Formeln in 2–KNF entsprechen die Kanten den möglichen Darstellungen der Klauseln als Implikationen. Eine Implikationskette in der Formel entspricht dann einem Weg im assoziierten Graphen. Eine effiziente Datenstruktur zur Verarbeitung von (gerichteten) Graphen ist die Adjanzenzlistendarstellung. Ein Graph wird durch eine Liste (einen Array) der Knoten jeweils mit einer Liste der zu diesem Knoten adjazenten (d.h. durch eine Kante verbundenen) Knoten. Für den Graphen des obigen Beispiels sieht eine symbolische Adjazenzlistendarstellung folgendermaßen aus: A ¬A B ¬B C ¬C D ¬D
: : : : : : : :
D; B, C; ; A, C; ; A, B, ¬D; C; ¬A;
Die Liste der adjazenten Knoten ist in der Datenstruktur natürlich eine Liste von Verweisen in die Knotenliste. Daher können sehr effizient mögliche Pfade verfolgt werden. Die Adjazenzlistenstruktur des assoziierten Graphen haben wir unmittelbar vorliegen, wenn eine Formel in KNF in der Datenstruktur für die Konjunktive Normalform gespeichert ist. Die Atomliste dieser Datenstruktur entspricht der Knotenliste. Die Vorkommenslisten für die positiven bzw. negativen Literale eines Atoms entsprechen der Adjazenzliste. Liegt etwa die Formel aus obigem Beispiel in der KNF–Datenstruktur vor, so können wir für den Knoten ¬A des assoziierten Graphen die adjazenten Knoten bestimmen, indem wir bei dem Atomknoten für A in der KNF–Datenstruktur die Vorkommensliste für das Literal A verfolgen. Das erste Vorkommen ist in der Klausel (A ∨ B ∨ C). Die Vorkommensliste für A verweist auf das Literal A in der Klausel. Wenn wir dem Rückverweis des Literalknotens auf den Klauselknoten für diese Klausel folgen, haben wir anschließend Zugriff auf die dortige Literalliste für die Klausel. Der Reihe nach können wir dann die Literalknoten der Klausel aufsuchen; jeder Literalknoten außer dem für A entspricht einer Nennung eines adjazenten Knotens in der Adjazenzliste für A. Das Vorzeichenfeld im Literalknoten und der Verweis auf das Atom geben an, um welchen Knoten es sich handelt. Der erste Literalknoten ungleich dem für A ist der Knoten für B. Das Vorzeichen ist positiv, also wird die Kante ¬A → B repräsentiert. Durch den Verweis auf den Atomknoten für B vom Literalknoten für B in dieser Klausel kann über die dortige Vorkommensliste für ¬B der Pfad ¬A → B weiter verlängert werden. Zusammenfassend können wir sagen, daß wir durch Verwendung der KNF–Datenstruktur implizit die Adjazenzlistendarstellung des assoziierten Graphen vorliegen haben. Alle Eigenschaften des Graphen können ohne Mehraufwand unmittelbar in dieser Struktur mit den bekannten Algorithmen überprüft werden. Ein gerichteter Graph heißt stark zusammenhängend genau dann, wenn für alle Knoten v und u ein Weg von v nach u existiert. Ein maximaler stark zusammenhängender induzierter Teilgraph eines Graphen heißt starke Zusammenhangskomponente. Innerhalb einer starken Zusammenhangskomponente ist also jeder Knoten von jedem Konten erreichbar. Da die Wege im Graphen den Implikationsketten in der Formel entsprechen, erhalten wir durch Kettenschluß, daß zwischen den Literalen eine Äquivalenz gilt.
1.4. ERFÜLLBARKEIT UND 2–KNF
35
Lemma 1.4.2 Sei α in 2–KNF und G(α) der assoziierte Graph. Dann gilt für zwei Literale L1 und L2 über Atomen aus α: Wenn L1 und L2 in der gleichen starken Zusammenhangskomponente von G(α) liegen, dann gilt α |= (L1 ←→ L2 ). Den Beweis dieses Lemmas bleibt dem Leser überlassen. Für erfüllbare Formeln gilt übrigens auch die Rückrichtung. Da innerhalb starker Zusammenhangskomponenten es von jedem Knoten zu jedem Knoten einen Weg gibt, existiert insbesondere ein Weg von dem Knoten zu sich selbst zurück. Handelt es sich dabei um einen Weg mit mindestens einer Kante, so sprechen wir von einem Zykel. Ein Graph heißt zyklenfrei oder azyklisch, wenn er keinen Zykel enthält. Die starken Zusammenhangskomponenten eines azyklischen Graphen müssen daher einelementig sein. Für die Knoten eines gerichteten, azyklischen Graphen können wir eine Anordnung der Knoten angeben, die sogenannte topologische Sortierung, die die folgende Eigenschaft hat: Sei v1 , . . . , vn die Anordnung der Knoten des Graphen, so gilt für jede Kante vi → vj sofort i < j. Wenn also ein Weg von einem Knoten K zu einem Knoten L in einem gerichteten azyklischen Graphen führt, so steht in jeder topologischen Sortierung der Knoten L hinter K (aber nicht unbedingt unmittelbar hinter K). Diese Ordnung können wir auf eine Zerlegung von gerichteten Graphen in ihre starken Zusammenhangskomponenten übertragen. Denn fassen wir jede Komponente als Knoten auf, so ist der resultierende Graph zyklenfrei, also ein gerichteter azyklischer Graph, für den wir eine topologische Sortierung der Knoten bestimmen können. Auf diesem Graphen kann auch einfach eine Nachfolgerrelation für starke Zusammenhangskomponenten verifiziert werden. Seien G1 und G2 starke Zusammenhangskomponenten, dann ist G1 Vorgänger von G2 , falls eine Kante von G1 nach G2 führt. G2 wird auch Nachfolger von G1 genannt. In [Tar 72] ist ein Algorithmus angegeben, der alle starken Zusammenhangskomponenten in umgekehrter topologischer Ordnung in linearer Zeit bestimmt, d.h. in einer Reihenfolge G1 , . . . , Gm , wobei Gi kein Nachfolger von Gj für i > j ist. Der angestrebte Algorithmus für den Test von 2–KNF–Formeln auf Erfüllbarkeit beruht nun auf der folgenden Idee. 1. Bestimme zur Formel α den assoziierten Graph G(α). 2. Generiere mit einem geeigneten Algorithmus in linearer Zeit die starken Zusammenhangskomponenten in umgekehrter topologischer Ordnung. 3. α ist nicht erfüllbar genau dann, wenn eine starke Zusammenhangskomponente S in G(α) ein komplementäres Paar von Literalen L, ¬L enthält. Fassen wir jede starke Zusammenhangskomponente als Knoten auf, dann erhalten wir einen gerichteten azyklischen Graphen. Eine erfüllende Bewertung läßt sich dann durch Auswertung dieses Graphen gewinnen, falls keine starke Zusammenhangskomponente komplementäre Paare besitzt. Die Auswertung verläuft dabei in der Reihenfolge, wie sie durch die umgekehrte topologische Ordnung gegeben ist. Sei nun α ∈ 2–KNF und G(α) der assoziierte Graph, dann besitzt dieser Graph 2n Kanten und 2m Knoten, falls α genau m Atome und n Klauseln enthält. Beispiel:
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
36
1. Sei α1 = {(A ∨ B), (¬A ∨ B), (A ∨ ¬B), (¬A ∨ ¬B)}, dann erhalten wir den assoziierten Graphen aus Abbildung 1.3. ¬A 6 ?
¬B
B 6 ?
A
Abbildung 1.3: Assoziierter Graph zu α1 2. Sei α2 = {(A ∨ B), (C ∨ D), (¬A ∨ B), (¬C ∨ ¬B)}, dann erhalten wir den assoziierten Graphen aus Abbildung 1.4. ¬A −→ B −→ ¬C −→ D ↑ ↑ ¬D −→ C −→ ¬B −→ A Abbildung 1.4: Assoziierter Graph zu α2 2 Weiterhin führen wir zu G(α) den dualen Graphen G(α) ein. Er entsteht aus G(α), indem wir jedes Literal durch das negierte Literal ersetzen und die Kantenrichtung umdrehen, d.h. L1 → L2 wird durch ¬L2 → ¬L1 ersetzt. (Doppelte Negationszeichen werden eliminiert.) Der Zusammenhang zwischen dem Erfüllbarkeitsproblem für Formeln in 2–KNF und den assoziierten Graphen läßt sich wie folgt beschreiben: Sei eine Bewertung für α, dann ordnen wir jedem Knoten des Graphen G(α) die Bewertung zu, die durch
festgelegt ist. D.h. jeder Knoten L in G(α) hat als Label die Bewertung (L). Damit erhalten wir ()
(α) = 1 genau dann, wenn gilt: 1. Für jedes Atom A haben die Knoten A und ¬A komplementäre Wahrheitswerte.
2. Keine Kante A → B hat für A den Wert 1 und für B den Wert 0. Als nächstes beweisen wir einen Hilfssatz. Lemma 1.4.3
Für α ∈ 2–KNF sind die folgenden Aussagen äquivalent:
1. Die Formel α ist erfüllbar. 2. Es gibt kein Atom A in α, so daß die entsprechenden Knoten A und ¬A von G(α) in ein und derselben starken Zusammenhangskomponente liegen. 3. Für alle starken Zusammenhangskomponenten S von G(α) gilt S = S. Ausgehend von diesem Lemma haben wir sofort ein schnelles Verfahren, das die Erfüllbarkeit testet. Wir erzeugen dazu die starken Zusammenhangskomponenten und überprüfen, ob ein komplementäres Paar von Literalen in einer Komponente liegt.
1.4. ERFÜLLBARKEIT UND 2–KNF
37
Bemerkung: Die Resolution, die wir in Abschnitt 1.7 einführen werden, wäre an dieser Stelle sehr hilfreich. Denn es läßt sich für α ∈ 2–KNF sehr einfach zeigen: α | RES (L1 ∨ L2 ) ⇐⇒ ¬L1 → L2 , ¬L2 → L1 sind Wege in G(α). ⇐⇒ ¬L → L ist ein Weg in G(α). α | RES L Mit dieser Beobachtung folgt sofort die Äquivalenz der drei Bedingungen unter Zuhilfenahme von α ist widerspruchsvoll
⇐⇒ ⇐⇒
α | RES ∃L : (α | RES L und α | RES ¬L)
Bevor wir die Äquivalenz aus Lemma 1.4.3 beweisen, wollen wir einige Hilfsaussagen beweisen. (Mit V (S) bezeichnen wir hier die Knotenmenge einer starken Zusammenhangskomponente S eines gerichteten Graphen G.) 1. Die Relation
x ∼ y :⇐⇒ Es gibt eine starke Zusammenhangs– komponente S mit x, y ∈ V (S).
ist eine Äquivalenzrelation auf der Knotenmenge eines Graphen. 2. Zwei starke Zusammenhangskomponenten mit einem nicht–leeren Durchschnitt sind gleich. 3. Ist S eine starke Zusammenhangskomponente von G(α), so ist auch S eine starke Zusammenhangskomponente von G(α). 4. Sei S eine starke Zusammenhangskomponente von G(α) für α ∈ 2–KNF, dann gilt: ∃A ∈ atoms (α) : A, ¬A ∈ V (S)
⇐⇒
∀L ∈ V (S) : L, ¬L ∈ V (S)
Begründung: Seien B ∈ V (S) und A, ¬A ∈ V (S). Da S eine starke Zusammenhangskomponente von G(α) ist, gibt es Wege A → C1 , C1 → C2 , . . . , Cr−1 → Cr , Cr → B und B → D1 , D1 → D2 , . . . , Ds−1 → Ds , Ds → ¬A in S mit Knoten Ci und Dj . Aus der Konstruktion von G(α) folgt dann: ¬A ← ¬C1 , ¬C1 ← ¬C2 , . . . , ¬Cr ← ¬B und ¬B ← ¬D1 , ¬D1 ← ¬D2 , . . . , ¬Ds ← A sind Wege in G(α). Insgesamt erhalten wir so Wege von A nach ¬B und von ¬B nach ¬A und da A, ¬A ∈ V (S) auch einen Weg von ¬A nach A. Also gilt ¬B ∈ V (S), da Wege A → ¬B und ¬B → A existieren. Beweis: (zu Lemma 1.4.3) 1⇒2: Sei α erfüllbar mit einer Bewertung und nehmen wir an, daß A und ¬A in einer starken Zusammenhangskomponente von G(α) auftreten. Dann gibt es einen Weg von A nach ¬A und von ¬A nach A. Übertragen wir die Bewertung der Formel auf den assoziierten Graphen, so gilt Bedingung 1. aus Aussage (), da
eine Bewertung ist. Auf einem der Wege aber wird Bedingung 2. aus () verletzt, im Widerspruch zur Erfüllbarkeit von α. 2⇒3: Kommen für kein Atom A die Knoten A und ¬A in einer starken Zusammenhangskomponente vor, so gilt offensichtlich S = S für alle starken Zusammenhangskomponenten S von G(α). 3⇒2: Gelte nun für alle starke Zusammenhangskomponenten S von G(α) die Aussage S = S. Nehmen wir an, ein V (S) enthalte die Knoten A und ¬A.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
38
Nach der oben gemachten Beobachtung gilt damit für jeden Knoten L ∈ V (S) auch ¬L ∈ V (S). Nach Definition der starken Zusammenhangskomonenten als von V (S) induzierter Teilgraph liegt mit jeder Kante L1 → L2 auch ¬L2 → ¬L1 in S. Damit gilt aber S = S im Widerspruch zur Voraussetzung. (3, 2) ⇒ 1 : Wir gehen davon aus, daß für alle starken Zusammenhangskomponenten S gilt S = S¯ und keine starke Zusammenhangskomponente Knoten für komplementäre Literale enthält. Sei S1 , . . . , St die Folge der starken Zusammenhangskomponenten in umgekehrter topologischer Anordnung, d.h. Si ist kein Vorgänger von Sj für 1 ≤ i < j ≤ t, die durch den oben erwähnten Linearzeit– Algorithmus aus [Tar 72] erzeugt worden ist. Ein Bewertungsalgorithmus, der für α eine erfüllende Bewertung bestimmt, beruht auf der folgenden Idee: „Setze die noch unbelegten Si (d.h. alle Knoten in Si ) von links nach rechts auf 1 und gleichzeitig die S¯i auf 0, bis alle Knoten belegt sind.“ Unter der Voraussetzung, daß keine starke Zusammenhangskomponente Knoten zu komplementären Literalen enthält, induziert diese Belegung der Knoten des Graphen eine Bewertung auf α. Denn da für jedes Atom A, dessen zugehöriger Knoten A in einer starken Zusammenhangskomponente S liegt, der Knoten ¬A in S¯ liegt, gilt (A) = 0 ⇐⇒ (¬A) = 1 und umgekehrt. Offensichtlich erfüllt diese Bewertung auch alle Klauseln, deren zugehörige Kanten in starken Zusammenhangskomponenten liegen, da Anfangs– und Endknoten der Kanten die gleiche Belegung erhalten haben. Es bleiben also nur die Klauseln zu betrachten, deren zugehörige Kanten verschiedene starke Zusammenhangskomponenten verbinden. Sei L1 ∨ L2 eine solche Klausel in α und nehmen wir an, daß diese Klausel nicht erfüllt, also
(L1 ) = (L2 ) = 0 gilt. L1 ← ¬L2 ist eine Kante in G(α) und der Knoten zu L1 liege in der starken Zusammenhangskomponente Si , der Knoten zu ¬L2 in Sj mit i = j. Da i und j die Indizes bezüglich der umgekehrten topologischen Sortierung sein sollen, gilt i < j. Nach Voraussetzung ist Si mit dem Wert 0 und Sj mit dem Wert 1 belegt worden. Aufgrund des gewählten Bewertungsverfahrens muß es Indizes k und l geben mit k < i und Sk = S¯i sowie l > j und Sl = S¯j . Die Komponente Sk enthält dann den Knoten ¬L1 und Sl den Knoten L2 . Nach Konstruktion des assoziierten Graphen gibt es eine Kante L2 ← ¬L1 . Also ist Sk ein Vorgänger von Sl im Widerspruch zur umgekehrten topologischen Anordnung der starken Zusammenhangskomponenten. Demnach werden alle Klauseln der Formel α durch diese Bewertung erfüllt, α ist also erfüllbar. Beispiel: Sei wieder α = {(A ∨ B), (C ∨ D), (¬A ∨ B), (¬C ∨ ¬B)}, dann erhalten wir den assoziierten Graphen aus Abbildung 1.4. Die starken Zusammenhangskomponenten sind einelementig. Eine umgekehrte topologische Sortierung der Knoten ist beispielsweise D, ¬C, B, A, ¬A, ¬B, C, ¬D. Der Belegungsalgorithmus setzt die Werte für die Literale dann wie folgt fest:
(D) = 1, ( (¬D) = 0); (¬C) = 1, ( (C) = 0);
(B) = 1, ( (¬B) = 0); (A) = 1, ( (¬A) = 0); 2 Algorithmus 1.4: SAT–2–KNF Input: Formel α in KNF–Datenstruktur Output: Boolescher Wert für Erfüllbarkeit und im Fall „erfüllbar“ eine erfüllende Belegung in den entsprechenden Feldern der Atomknoten function SAT–2–KNF(α : 2–KNF) : boolean; begin
1.4. ERFÜLLBARKEIT UND 2–KNF
39
S := Liste der starken Zusammenhangskomponenten des assoziierten Graphen {S wird berechnet mit dem Algorithmus von Tarjan} {S ist eine Liste von Listen aus Paaren von Vorzeichen } { (0/1 für negiert/nicht negiert) und Atomen} foreach s in S do if ( s enthält komplementäre Literale ) then return(false); foreach atom A in α do value(A) := unbelegt; foreach s in S do foreach pair (sign,A) in s do if ( value(A) = unbelegt ) then value(A) = sign; end return(true); end
Da die starken Zusammenhangskomponenten in linearer Zeit berechnet werden können, benötigt das Verfahren, das wir mit SAT–2–KNF bezeichnen wollen, auch nur lineare Zeit, denn die starken Zusammenhangskomponenten auf komplementäre Literale zu prüfen ist mit einer geeigneten Datenstruktur in linearer Zeit möglich. Dies trifft auch für die Berechnung einer erfüllenden Bewertung zu. Satz 1.4.4 Der Algorithmus SAT–2–KNF entscheidet in linearer Zeit die Erfüllbarkeit von Formeln in 2–KNF und liefert eine erfüllende Bewertung, falls die Formel erfüllbar ist.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
40
1.5 Davis–Putnam Algorithmen Als nächstes wollen wir eine Klasse von Erfüllbarkeitsalgorithmen betrachten, die in ihrer Grundidee auf Davis und Putnam [DaPu 60] beruhen, wobei wir als einzige Einschränkung an die Syntax der Formeln die Forderung stellen, daß die Formeln in Negationsnormalform, d.h. Negationssymbole stehen direkt vor den Atomen, vorliegen müssen. Die wesentliche Idee der Algorithmen beruht auf der Beobachtung, daß man für manche Atome sehr schnell entscheiden kann, welche Werte eine erfüllende Bewertung annehmen muß. Wenn diese Entscheidung zu kompliziert wird, probiert man für ein Atom einmal den Wert wahr und einmal den Wert falsch aus. Dadurch, daß der Wahrheitswert für dieses Atom bekannt ist, läßt sich die Formel verkürzen. Wir benutzen hierfür die folgende, an eine Substitution erinnernde Schreibweise. Definition 1.5.1 Für eine Formel α und ein Atom A definieren wir die Abbildungen α[A/1] (bzw. α[A/0]) als Ergebnis des folgenden Erseztungsprozesses: 1. Ersetze in α jedes Vorkommen von A durch 1. 2. Tritt nun eine Teilformel ¬1 auf, ersetze sie durch 0, eine Teilformel ¬0 ersetze durch 1. Teilformeln β ∧ 1 sowie β ∨ 0 werden durch β ersetzt. Teilformeln β ∨ 1 werden durch 1 und Teilformeln β ∧ 0 werden durch 0 ersetzt. 3. Schritt 2 wird so lange durchgeführt, bis keine weitere Ersetzung möglich ist. Für α[A/0] werden die Vorkommen von A durch 0 ersetzt, die weiteren Schritte sind gleich. In diesem Zusammenhang führen wir die folgenden Abkürzungen ein: α[A/1](¬A) bezeichnet die Menge der Klauseln aus α, die das Literal A nicht enthalten, und α[A/0](A) bezeichnet die Menge der Klauseln aus α, die das Literal ¬A nicht enthalten. Anschaulich entspricht die Abbildung α[A/i] mit i ∈ {0, 1} einer Teilbewertung der Formel α durch
(A) = i. Dadurch, daß die Literale A und ¬A wahr bzw. falsch gesetzt werden, läßt sich die Formel α vereinfachen. Für eine Formel in KNF bedeutet dies, daß für α[A/1] alle Klauseln aus α gestrichen werden, die das Literal A enthalten, und aus allen anderen Klauseln ein eventuell vorkommendes Literal ¬A gestrichen wird. Für α[A/0] sind die Kürzungen genau umgekehrt. Die Kürzungen bei Formeln in KNF haben zu folgender Sprechweise geführt: Wir bezeichnen den Wert 1 als leere Formel und den Wert 0 als die leere Klausel. Alternativ schreiben wir für die leere Klausel auch . (Man findet als Bezeichnung der leeren Formel manchmal auch das Symbol .) Die leere Formel wird als wahr interpretiert (alle Klauseln sind wahr) und die leere Klausel als falsch (kein Literal dieser Klausel kann mit wahr belegt werden). Dies wird auch motiviert durch die Beobachtung, daß eine Teilbewertung (A) = i nicht zu einer erfüllenden Bewertung von α fortgesetzt werden kann, wenn α[A/i] = 0 gilt, bzw. umgekehrt jede Fortsetzung der Teilbewertung eine erfüllende Bewertung ergibt, falls α[A/i] = 1 gilt. Der Einfachheit halber behandeln wir α[A/1] und α[A/0] wie Formeln. Folgende Eigenschaften lassen sich unmittelbar für die Abbildungen α[A/1] und α[A/0] zeigen.
1.5. DAVIS–PUTNAM ALGORITHMEN Proposition 1.5.2
41
Für jedes Atom A gilt:
1. Für jede Formel α ist α[A/i], i ∈ {0, 1}, entweder die leere Formel oder α[A/i] enthält die leere Klausel oder α[A/i] ist eine Formel, in der das Atom A nicht auftritt. 2. Es gilt α ∧ A ≈ α[A/1] ∧ A und α ∧ ¬A ≈ α[A/0] ∧ ¬A. 3. α ist erfüllbar genau dann, wenn α[A/1] = 1 oder α[A/0] = 1 gilt oder wenn zumindest eine der Formeln α[A/1] und α[A/0] die leere Klausel nicht enthält und erfüllbar ist. Durch Testen der Teilbelegungen α[A/1] und α[A/0] kann rekursiv die Erfüllbarkeit von α entschieden werden. Ein Sonderfall ist hier, daß das Atom A nur positiv oder nur negativ vorkommt. Mit Hilfe der folgenden Regeln bauen wir nun Algorithmen auf, die die Erfüllbarkeit testen: 1. Pure–Literal Regel Kommt ein Atom A in einer Formel α nur positiv oder nur negativ vor, so können wir A mit wahr (1) bzw. falsch (0) belegen und die Formel dementsprechend kürzen. 2. Splitting Regel Kommt jedes Atom sowohl positiv als auch negativ vor, dann wählen wir ein Atom A aus α und bilden aus α die zwei Formeln α[A/1] und α[A/0]. Die Ausgangsformel α ist genau dann erfüllbar, wenn bei einer der Kürzungen der Wert 1 oder eine erfüllbare Formel als Ergebnis auftritt. Welches Atom A wir im Fall der Splitting Regel wählen, beeinflußt natürlich entscheidend den weiteren Verlauf. Wir werden später noch auf verschiedene Auswahlkriterien eingehen. Im folgenden wählen wir stets das erste in α vorkommende Atom. Jede der beiden Regeln führt das Erfüllbarkeitsproblem für eine Formel mit n Atomen zurück auf ein Erfüllbarkeitsproblem für eine Formel mit maximal (n − 1) Atomen, so daß für jede Formel in endlich vielen Schritten ein Ergebnis vorliegt. Algorithmen, die mit Hilfe dieser beiden Regeln mit verschiedenen Heuristiken und gegebenenfalls auch zusätzlichen Verfeinerungen arbeiten, nennen wir im folgenden Davis–Putnam Algorithmen oder kurz DP– Algorithmen. Für die Pure–Literal Regel und die Splitting Regel verwenden wir Funktionen, die die entsprechenden Atome liefern, und eine Transformationsroutine, die die Kürzung vornimmt. • function PURE(α : KNF;var s:{0, 1}):Atom; Die Funktion PURE liefert für eine Formel α (einen Pointer auf) ein Atom, daß in α nur positiv bzw. nur negativ vorkommt. Zusätzlich wird im Parameter s das Vorzeichen zurückgegeben, 1 für nur positives Vorkommen, 0 für nur negatives Vorkommen. Ist kein solches Atom in α vorhanden, liefert PURE den Wert NULL. • function SPLIT(α : KNF):Atom; Die Funktion SPLIT liefert das linkserste Atom in α.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
42
• function REDUCE(α : KNF,A:Atom,s:{0, 1}):KNF; Die Funktion REDUCE liefert zu α die entsprechend den Kürzungsregeln gebildete Formel α[A/s]. 1 Für die beiden Grenzfälle α[A/s] = 0 und α[A/s] = 1 können auch zusätzliche Flags im Formelknoten vorgesehen werden, die diese speziellen Situationen anzeigen. Innerhalb der nachfolgenden Algorithmen verwenden wir aber die intuitivere Notation α[A/s]. Der Kern des Algorithmus DP ist die folgende rekursive Funktion, die den Wert true liefert, falls α erfüllbar ist, und im anderen Fall das Ergebnis false. Algorithmus 1.5: DP Input: α aussagenlogische Formel Output: Boolescher Wert für die Erfüllbarkeit function DP(α : Formel) : boolean; begin if α = 1 then return(true); if α = 0 then return(false); A := PURE(α, s); if A <> NULL then return(DP(α[A/s]); A := SPLIT(α); if DP(α[A/1]) = true then return(true); else return(DP(α[A/0])); end;
Wie man sich leicht klar macht, gilt die folgende Aussage. Lemma 1.5.3 Sei α eine Formel, dann liefert die Funktion DP angesetzt auf α den Wert true, falls α erfüllbar ist, und sonst den Wert false. Wir stellen die Abarbeitung der Algorithmen DP als Baum TDP (α) dar. Die Wurzel des Baumes ist die Ausgangsformel. An den Knoten stehen die reduzierten Formeln oder einer der Werte 0 oder 1. • Wird auf eine Formel die Pure–Literal–Regel angewandt, so hat der entsprechende Knoten einen Sohn mit dem Ergebnis der Anwendung der Regel als Label. • Im Fall der Splitting Regel hat der Knoten zwei Söhne. Der linke Sohn hat als Label die Formel α[A/1] und der rechte Sohn die Formel α[A/0]. • Ist das Ergebnis einer Regelanwendung einer der Werte 0 oder 1, so hat der Knoten keinen Sohn. Der Algorithmus DP arbeiten den Baum TDP (α) mit der Tiefensuchstrategie ab. Ein Backtracking setzt ein, wenn ein Blatt mit Wert 0 erreicht worden ist. Für nicht erfüllbare Formeln wird der vollständige Baum erzeugt, wobei an allen Blättern der Wert 0 steht. Die Formel ist erfüllbar, falls ein Blatt den Wert 1 besitzt. Die Algorithmen brechen bei Erreichen eines solchen Blattes ab. Für die Splitting-Regel SPLIT, die das am weitesten links stehende Atom in der Formel auswählt, wollen wir nun ein Beispiel durchrechnen. Die Kürzungen können natürlich mit Hilfe der Löschmarken in der Datenstruktur für α durchgeführt werden. Der Kopieraufwand entfällt dadurch, allerdings müssen diese virtuellen Löschungen vor alternativen Reduzierungen wieder rückgängig gemacht werden. Dabei darf man die Löschungen aufgrund purer Literale nicht vergessen! 1
1.5. DAVIS–PUTNAM ALGORITHMEN
43
Beispiel: Sei α = ¬A ∨ ((¬B ∨ C) ∧ (B ∨ D) ∧ ¬C ∧ ¬D ∧ (A ∨ B)) Dann hat der Baum TDP (α) die in Abbildung 1.5 angegebene Form. α
Z Z A = 1 ZA=0 Z Z
(B ∨ D) ∧ (¬B ∨ C) ∧ ¬C ∧ ¬D
B = 1
C ∧ ¬C ∧ ¬D
D ∧ ¬C ∧ ¬D
¬D = 1
¬C = 1
C ∧ ¬C
T T C=0 C =1 TT 0
0
1
Q Q QB=0 QQ
D ∧ ¬D
T
D =1
0
T D=0 TT 0
Abbildung 1.5: TDP (α) 2 Bisher haben wir beliebige aussagenlogische Formeln zugelassen. Beschränken wir uns auf Formeln in KNF, so können wir noch weitere Regeln berücksichtigen. Zunächst einmal nutzen wir die Beobachtung, daß das Literal einer Unit–Klausel durch eine erfüllende Bewertung auf wahr gesetzt werden muß. Diese Regel nennen wir Unit–Regel. • function UNIT(α:Formel; var s:{0, 1}):Atom; Die Funktion UNIT liefert für eine Formel α ein Atom, daß in α als Unit–Klausel auftritt. Zusätzlich wird im Parameter s das Vorzeichen zurückgegeben, 1 für positive Unit, 0 für negative Unit. Ist kein solches Atom in α vorhanden, liefert UNIT den Wert NULL. Eine offensichtliche Einsparung ergibt sich, wenn man keine Mehrfachvorkommen von Literalen in einer Klausel und keine Mehrfachvorkommen von Klauseln innerhalb einer Formel zuläßt. Erstere lassen sich in der Datenstruktur für KNF in linearer Zeit durch Kennzeichnung mit Löschmarken eliminieren. Mehrfachvorkommen von Klauseln sind schwieriger feststellbar, sie zu eliminieren braucht quadratische Zeit in der Länge der Formel. Aber nicht nur Mehrfachvorkommen von Klauseln, auch Verkürzungen von Klauseln kann man im Hinblick auf die Erfüllbarkeit berücksichtigen. Definition 1.5.4 (Subsumption) Seien π1 und π2 zwei Klauseln. Wir sagen π1 subsumiert π2 genau dann, wenn jedes Literal aus π1 auch in π2 auftritt. Eine Formel α ∈ KNF subsumiert eine Formel β ∈ KNF genau dann, wenn jede Klausel aus β von einer Klausel aus α subsumiert wird. Wir benutzen auch die Sprechweise π1 ist eine Teilklausel von π2 , falls π1 die Klausel π2 subsumiert.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
44
Aus der Erfüllbarkeit einer Klausel folgt sofort die Erfüllbarkeit aller Klauseln, die sie subsumiert. Da in einer Formel α in KNF alle Klauseln konjunktiv verknüpft sind, brauchen wir nur diejenigen zu berücksichtigen, die von keiner anderen Klausel subsumiert werden. Eine entsprechende Reduktion der Ausgangsformel nimmt die folgende Funktion SUBSUMPTION–REDUCE vor. • function SUBSUMPTION–REDUCE(α : KNF):KNF; Die Subsumptions–Regel nutzt aus, daß ohne Veränderung der Erfüllbarkeit in einer Formel α = {α1 , . . . , αm } jede Klausel αi gestrichen werden kann, für die eine Klausel αj mit αj ⊆ αi in α vorkommt. Eine mögliche Realisierung zeigt der folgende Code. function SUBSUMPTION–REDUCE(α : KNF):KNF; begin foreach clause κ in α do foreach clause λ in α, λ = κ do if ( κ ⊂ λ ) then α := α \ {λ}; end Wie man sieht, ist die Subsumptionsregel relativ aufwendig. Man kann allerdings — ohne die Korrektheit der Verfahren zu verändern — auf diesen Schritt verzichten. Für den folgenden Algorithmus DPA, der die Splitting Regel SPLIT verwendet, also das am weitesten links stehende Atom der Formel für ein Splitting auswählt, und zusätzlich die Pure–Literal–, die Unit– und die Subsumptions–Regel benutzt, gilt offensichtlich wieder, daß der Algorithmus den Wert true liefert genau dann, wenn die Formel erfüllbar ist. Algorithmus 1.6: DPA Input: α in Datenstruktur für KNF Output: Boolescher Wert für Erfüllbarkeit function DPA(α : KNF):boolean; begin if α = 1 then return(true); if α = 0 then return(false); A := PURE(α, s); if A <> NULL then return(DPA(α[A/s])); A := UNIT(α, s); if A <> NULL then return(DPA(α[A/s])); α := SUBSUMPTION–REDUCE(α); A := SPLIT(α); if ( DPA(α[A/1]) = true ) then return(true); else return(DPA(α[A/0])); end
Es ist nicht schwierig, zu dem Algorithmus DPA eine Menge {αn | n ∈ IN} von Formeln anzugeben, die nicht erfüllbar sind und für deren Entscheidung (in n) exponentiell viele Schritte durchgeführt werden müssen bei einer in n linearen Formellänge.
1.5. DAVIS–PUTNAM ALGORITHMEN Wir definieren
45
α0 := {(A0 ∨ B0 ), (¬A0 ∨ ¬B0 ), (A0 ∨ ¬B0 ), (¬A0 ∨ B0 )} αn+1 := {(¬An+1 ∨ Bn+1 ), (An+1 ∨ ¬Bn+1 )} ∪ αn
Dann ist αn ∈ 2–KNF und nicht erfüllbar, da die Teilformel α0 schon nicht erfüllbar ist. Die Funktion DPA, angewandt auf αn , erzeugt einen Baum, an dessen Blättern der Wert 0 steht (siehe Abbildung 1.6).
Bn ∧ αn−1
αn
HH HH HH H
¬Bn ∧ αn−1
αn−1
Bn−1 ∧ αn−2
αn−1
@ @ @ @
@ @ @
¬Bn−1 ∧ αn−2
Bn−1 ∧ αn−2
αn−2
αn−2
αn−2
αn−2
L LL
L LL
L LL
.. .
.. .
.. .
.. .
.. .
.. .
¬Bn−1 ∧ αn−2
.. .
L LL
.. .
Abbildung 1.6: TDP A (αn ) In den Ebenen, in denen nur αi auftreten, werden die Splittingfunktionen und in den anderen die Pure– Funktion angewendet. Die Unit–Regel kommt erst in der letzten Ebene zum Zuge, und die Subsumptions– Regel wird überhaupt nicht benutzt. Die Länge von αn ist 4n + 8. Zählen wir die Anzahl der Funktionsaufrufe, so erhalten wir 23+n − 4 Aufrufe. Insgesamt erhalten wir also schon ohne Berücksichtigung des Aufwands für die Regelanwendungen eine exponentielle Laufzeit. Lemma 1.5.5 Die Anzahl der geschachtelten Funktionsaufrufe im Algorithmus DPA kann nicht durch ein Polynom in der Länge der zu entscheidenden Formel beschränkt werden. Ob man nun eine Variante des Davis–Putnam Algorithmus praktisch einsetzen sollte, ist im allgemeinen natürlich schwer zu sagen. Bei einer Reihe von Experimenten hat sich dieser Algorithmustyp aber sehr gut bewährt [BuKB 93]. Entscheidend für die Leistungsfähigkeit der Algorithmen ist die Auswahl eines geeigneten Atoms im Fall der Anwendung der Splitting–Regel. Einige der Auswahlkriterien sind: • Wähle das erste in der Formel vorkommende Atom. • Wähle das Atom, welches am häufigsten vorkommt. • Wähle das Atom, das in den kürzesten Klauseln am häufigsten vorkommt.
46
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK • Berechne für jedes Atom die Summe der Längen der Klauseln in denen das Atom auftritt. Wähle das Atom mit der größten Summe. • Berechne die Anzahl der positiven und negativen Vorkommen in den kürzesten Klauseln und wähle ein Atom mit der größten Differenz. • [vGe 88] Wähle das Atom entsprechend der ersten zutreffenden Regel: 1. Wenn mindestens ein Atom öfter als dreimal in der Formel vorkommt, dann wähle unter diesen Atomen das Atom, für das das Produkt aus der Anzahl seiner positiven und negativen Vorkommen maximal ist. 2. Wenn kein Atom öfter als dreimal und mindestens ein Atom dreimal vorkommt, dann wähle ein Atom, das genau dreimal vorkommt. 3. Wenn alle Atome genau zweimal in der Formel vorkommen, dann wähle eines davon aus. • Sei hi (L) die Anzahl der Klauseln der Länge i, in denen das Literal L vorkommt. Berechne Hi (A) = max(hi (A), hi (¬A)) + 2 min(hi (A), hi (¬A)) und wähle das Atom mit dem maximalen Vektor (H1 (A), . . . , Hn (A)) in Bezug auf die lexikographische Ordnung [BuKB 93].
Einen zusätzlichen großen Vorteil bietet aber die übersichtliche Struktur der Verarbeitung. Gerade bei der Untersuchung von durchschnittlichen Laufzeiten unter gewissen Verteilungsannahmen sind manchmal Ergebnisse relativ leicht zu erzielen. Im nächsten Abschnitt werden wir für zwei Versionen von Davis–Putnam Algorithmen diese Berechnung durchführen.
1.6. PARTIELLE ERFÜLLBARKEITSALGORITHMEN
47
1.6 Partielle Erfüllbarkeitsalgorithmen Im folgenden Abschnitt soll ein ganz anderer Ansatz zur Lösung des Erfüllbarkeitsproblems vorgestellt werden. Er basiert auf der Idee, eine vorliegende, nicht erfüllende Bewertung lokal so zu verändern, daß schließlich eine erfüllende Bewertung erreicht wird, falls die Formel erfüllbar ist. Ein einfaches Verfahren dieser Art findet sich in [Pa 91]. Eine Analyse eines ähnlichen Verfahrens in [KoPa 92] zeigt, daß ein solches Verfahren durchaus für eine erfüllbare Formel fast immer eine erfüllende Belegung bestimmen kann. Eine Möglichkeit der lokalen Modifikation einer Bewertung besteht darin, irgendeine für die Bewertung falsche Klausel und aus dieser ein Literal auszuwählen und dann die Bewertung für dieses Literal zu verändern. Alle anderen Atome der Formel behalten die frühere Bewertung. Die neue Bewertung erfüllt zumindest die bisher mit falsch bewertete Klausel. Diesen Prozeß der lokalen Veränderung führen wir wiederholt durch. Die Anzahl der Wiederholungen richtet sich nach der Ausgangsformel und wird durch eine Funktion local : KNF → IN gesteuert. Wir zeigen zunächst den Algorithmus; auf die Frage, wie solch eine Funktion local aussehen sollte, gehen wir anschließend ein. Algorithmus 1.7: RANDOM-SAT Input: Φ ∈ KNF Output: true, wenn α ∈ SAT und erfüllende Bewertung gefunden, sonst false function RANDOM-SAT(α:KNF):boolean; begin
:= zufällig geratene Bewertung; i :=local (Φ); while i ≥ 0 do begin if (Φ) = 1 then return(true); { Zufällige Änderung der Belegung } M := {ϕ ∈ Φ | (ϕ) = 0}; rate zufällig ein ϕ∗ ∈ M ; rate zufällig ein L ∈ ϕ∗ ;
(L) := 1; (¬L) := 0; { Ansonsten bleibt unverändert } i := i − 1; end while; return(false); end;
Der Algorithmus RANDOM–SAT liefert nur für erfüllbare Formeln zufallsgesteuert eventuell eine erfüllende Bewertung. Für widerspruchsvolle Formeln erhalten wir immer den Wert false, wegen der Zufallssteuerung und der Beschränkung der Anzahl der Veränderungen durch die Funktion local aber auch für manche erfüllbare Formel. Eine schwierige Frage ist, wie oft wir die Änderung der Bewertung durchführen sollten, um mit einigermaßen großer Sicherheit aus dem Ergebnis schließen zu können, daß die Formel erfüllbar bzw. widerspruchsvoll ist. Für Formeln in 2–KNF ist in [Pa 91] gezeigt worden, daß bei Verwendung der Funktion local (Φ) = |Φ|2 die Wahrscheinlichkeit eine erfüllende Bewertung zu finden, bei erfüllbarem Φ mit wachsender Länge von Φ gegen 1 konvergiert.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
48
Satz 1.6.1 Der Algorithmus RANDOM–SAT angewendet auf Formeln in 2–KNF ∩ SAT und local (Φ) = |Φ|2 liefert mit gegen 1 konvergierender Wahrscheinlichkeit eine erfüllende Bewertung bei wachsender Länge der Formeln, d.h. für Φ ∈ 2–KNF ∩ SAT gilt: lim P ({RANDOM-SAT(Φ) = true}) = 1
|Φ|→∞
Anstelle der Auswahl eines beliebigen Literals aus einer für die Bewertung falschen Klausel, sind auch andere lokale Veränderungskriterien z.B. in [Gu 92] und [SeLeMi 92] untersucht worden. Ein Kriterium ist die lokale Maximierung von erfüllten Klauseln. Sei eine Bewertung, die die Formel nicht erfüllt. Dann berechnen wir für jedes Atom A die Anzahl der erfüllten Klauseln für die Bewertung
A , die sich von nur in A unterscheidet. Als neue Bewertung wählen wir eine Bewertung A mit einem Atom A, für die die Anzahl der erfüllten Klauseln maximal ist. Auch hier muß wieder die Anzahl der Iterationen mit dieser lokalen Maximierungen der erfüllten Klauseln festgelegt werden. Dazu verwenden wir ebenfalls eine Funktion local : KNF → IN, die nicht zu komplex sein sollte und auch keine zu großen Werte liefern sollte. Haben die lokalen Änderungen zu keinem Erfolg geführt, beginnen wir wieder mit einer neuen Bewertung. Die Anzahl dieser „äußeren“ Iterationen wird durch eine Funktion global : KNF → IN festgelegt. Es besteht ebenfalls wieder das Problem, die Funktionen global und local so zu definieren, daß für erfüllbare Formeln eine realistische Chance für das Finden einer erfüllenden Bewertung besteht. Algorithmus 1.8: GREEDY–SAT Input: Φ ∈ KNF Output: true, wenn α ∈ SAT und erfüllende Bewertung gefunden, sonst false function GREEDY-SAT(α:KNF):boolean; begin j := global (Φ); while j ≥ 0 do begin
:= zufällig geratene Bewertung; i := local (Φ); while i ≥ 0 do begin if (Φ) = 1 then return(true); { lokales Maximum der Anzahl der erfüllbaren Klauseln } max := 0; max-atom-set := ∅; foreach A ∈ atoms (Φ) do begin
(A) := 1 − (A); m(A) := |{ϕ ∈ Φ | (ϕ) = 1}|; if m(A) = max then max-atom-set := max-atom-set ∪ {A}; if m(A) > max then begin max := m(A); max-atom-set := {A}; end then;
(A) := 1 − (A); end foreach; rate zufällig ein A ∈ max-atom-set;
(A) := 1 − (A);
1.6. PARTIELLE ERFÜLLBARKEITSALGORITHMEN
49
i := i − 1; end while; j := j − 1; end while; return(false); end;
Um Wiederholungen in der ersten While–Schleife zu vermeiden, könnten wir eine neue Bewertung raten, die noch nicht bearbeitet worden ist. Dies führt aber sehr schnell zu Platz– und damit auch zu Zeitproblemen. Aus theoretischer Sicht würde ein solcher Algorithmus das Erfüllbarkeitsproblem vollständig lösen, wenn wir die Anzahl der Wiederholungen nur groß genug wählen. Zusammenfassend läßt sich feststellen, daß der Algorithmus GREEDY–SAT ebenfalls nur für erfüllbare Formeln zu einem eindeutigen Ergebnis kommen kann. Wie groß die Funktionen global und local zu wählen sind, um mit bestimmten Wahrscheinlichkeit eine erfüllende Bewertung zu finden, ist unklar. Experimentelle Ergebnisse für eine Auswahl von Formeln und weitere Heuristiken sind in [SeLeMi 92] und in [Gu 92] zu finden.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
50
1.7 Grundlagen der Resolution Der Resolutionskalkül ist ein Beweiskalkül, der auf Klauselmengen, d.h. Formeln in KNF arbeitet und nur eine Schlußregel besitzt. Der Resolution liegt die folgende Vorstellung zu Grunde: 1. Wir bearbeiten nur Formeln in KNF. 2. Aus zwei Klauseln (α ∨ L) und (β ∨ ¬L) kann eine neue Klausel (α ∨ β) erzeugt werden. Dies ist die einzige Schlußregel des Resolutionskalküls. 3. Wir versuchen, die leere Klausel zu erzeugen. Dies gelingt genau dann, wenn die Ausgangsformel widerspruchsvoll ist. Man beachte, daß Klauseln und Formeln, wenn nicht ausdrücklich anderes festgelegt ist, als Mengen aufgefaßt werden. So ist zum Beispiel eine Klausel (A ∨ ¬B ∨ A) die Menge {A, ¬B} und damit gleichwertig zur Klausel (¬B ∨ A). Doppelte Vorkommen von Literalen werden als ein Auftreten behandelt. Wir werden sowohl die übliche Klauseldarstellung als auch die Mengendarstellung verwenden. Definition 1.7.1 Das Schema
(Resolutionsregel) α β (Res) (α \ {L}) ∪ (β \ {¬L})
bezeichnen wir als die Resolutionsregel. Sei α eine Klausel mit einem Literal L und β eine Klausel mit dem Literal ¬L, dann ist Resolutionsregel auf die beiden Klauseln anwendbar. Wir sagen, α und β können über L (bzw. ¬L) resolviert werden. Ausgehend von den Klauseln α und β wird so eine neue Klausel (α \ {L}) ∪ (β \ {¬L}) erzeugt, die wir als Resolvente bezeichnen. α und β sind die Elternklauseln der Resolvente. Durch die Anwendung der Resolutionsregel werden also alle Vorkommen des Literals L aus α und alle Vorkommen des Literals ¬L aus β entfernt, bevor die Resolvente als Vereinigung der Restklauseln gebildet wird. Enthält die Resolvente also ein Literal L (bzw. ¬L ), so muß dieses bereits in β (bzw. α) enthalten sein. Graphisch stellen wir die Anwendung der Resolutionsoperation wie in Abbildung 1.7 als Baum dar.
α
@ @ @ @
β
(α \ {L}) ∪ (β \ {¬L})
Abbildung 1.7: Baumdarstellung eines Resolutionsschrittes Durch die Anwendung der Resolutionsregel werden Literale aus den Elternklauseln entfernt. Eine besondere Situation liegt vor, wenn dies bewirkt, daß die Resolvente leer ist, wenn z.B. die Elternklauseln A und ¬A sind. Zur Kennzeichnung dieser Situation verwenden wir die zu Beginn von Abschnitt 1.5 eingeführte leere Klausel zur Bezeichnung der leeren Resolvente. (Die leere Klausel wird von jeder Bewertung als falsch interpretiert!)
1.7. GRUNDLAGEN DER RESOLUTION
51
Zum besseren Verständnis der Resolution wollen wir einige Beispiele angeben. Darin werden auf die generierten Resolventen erneut Resolutionen angewandt. Die graphische Repräsentation einer solchen Folge von Resolutionsschritten ist daher ein Baum, der (Resolutions–)Herleitungsbaum. Steht in der Wurzel die leere Klausel, bezeichnen wir den Baum als Resolutionswiderlegungsbaum oder Beweisbaum. Beispiele:
a) Sei α1 = {(A ∨ B), (¬B ∨ C), (¬C ∨ D)}. A∨B
¬B ∨ C
@ @ @
A∨C
@ @ @
¬C ∨ D
A∨D
Abbildung 1.8: Resolutionsherleitung aus α1 b) Sei α2 = {(A ∨ B), (¬A ∨ B), (A ∨ ¬B), (¬A ∨ ¬B)}. A∨B
S S
¬A ∨ B
S
B
¬A ∨ ¬B
b b b b b
e e e
A ∨ ¬B
¬B
% % %
" " " " "
Abbildung 1.9: Resolutionswiderlegung für α2 c) Sei α3 = {(¬A ∨ ¬B ∨ ¬C), (A ∨ ¬D), (B ∨ ¬C), (C ∨ ¬F ), F }. 2 Für einen Resolutionsschritt
α∨L,¬L∨β (Res) α∨β
schreiben wir auch
1 α ∨ β. α ∨ L, ¬L ∨ β | RES
Mit der Resolutionsregel verfügen wir über einen Formalismus, der es uns erlaubt, mit rein syntaktischen Transformationen neue Klauseln zu generieren. Die Resolventen stehen mit den Elternklauseln in Beziehung, sie werden aus den Elternklauseln hergeleitet. Den Begriff der Herleitung wollen wir für spätere Untersuchungen präzisieren.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
52
¬A ∨ ¬B ∨ ¬C
SS
S S
A ∨ ¬D
¬B ∨ ¬C ∨ ¬D
SS S S
B ∨ ¬C
¬C ∨ ¬D
JJ J J
C ∨ ¬F
¬D ∨ ¬F
JJ
F
J J
¬D
Abbildung 1.10: Resolutionsherleitung aus α3 Definition 1.7.2 (Herleitung) Sei α = {α1 , . . . , αn } eine Formel in KNF und π eine Klausel. Eine Folge π1 , . . . , πk ist eine Herleitung der Klausel π aus α, wenn π = πk gilt und für alle j mit 1 ≤ j ≤ k gilt πj ∈ α oder es gibt j1 und 1 πj . Wir sagen, π ist (mit der Resolution) herleitbar aus α, in j2 mit 1 ≤ j1 , j2 < j und πj1 , πj2 | RES Zeichen α | RES π. Die Klauseln aus α bezeichnen wir als Ausgangs– oder Startklauseln oder auch als Input–Klauseln. Die Länge der Herleitung π1 , . . . , πk ist |{π1 , . . . , πk } \ {α1 , . . . , αn }|, die Anzahl der Klauseln in der Herleitung, die nicht schon in der Ausgangsformel enthalten sind. Wir können also | RES
1 als den transitiven und reflexiven Abschluß von |RES
auffassen. Dabei ver-
1 δ die Schreibweise wenden wir für α = {α1 , . . . , αn } ∈ KNF mit Klauseln αi und αj und αi , αj | RES 1 1 δ oder auch α | RES δ. α1 , . . . , αn | RES
Für Resolventenmengen verwenden wir analoge Abkürzungen. Für die Herleitungen α |RES L1 und α | RES L2 schreiben wir kurz α | RES L1 , L2 . Für β = {β1 , . . . , βm } mit α | RES βj für alle 1 ≤ j ≤ m schreiben wir α | RES β. Alternativ kann auch die Gesamtzahl der Klauseln in der Herleitung als Länge der Herleitung definiert werden, statt die Anzahl der tatsächlich neu generierten Klauseln zu betrachten. Unsere Definition gibt so die Anzahl der tatsächlich benötigten Anwendungen der Resolutionsregel an, während die alternative Definition die Anzahl der benötigten Klauseln zählt. Beide Werte können nie um mehr als die Anzahl der Ausgangsklausel voneinander differieren. In der Regel sind nur minimale Herleitungen von Interesse, also Herleitungen, aus denen wir keine Klausel mehr streichen können, ohne die Eigenschaft zu verlieren, Herleitung der gewünschten Klausel zu sein. Solche Herleitungen entsprechen dann einem Herleitungsbaum, wobei die Herleitung den Baum bis auf Vertauschung von Nachfolgern eines Knotens festlegt (linker und rechter Sohn vertauscht) und umgekehrt die Herleitung eine umgekehrte topologische Sortierung der Klauseln im Herleitungsbaum angibt. Eine Baumdarstellung ist aber meist nicht minimal, da mehrfach verwendete Teilherleitungen auch mehrfach auftreten. Verzichten wir darauf, erhalten wir einen (gerichteten azyklischen) Graphen, aber keinen Baum mehr.
1.7. GRUNDLAGEN DER RESOLUTION
53
Eine minimale Herleitung ist aber noch längst nicht immer eine kürzeste Herleitung, denn Herleitungen müssen nicht eindeutig sein. (Hierfür überlegt man sich leicht Beispiele.) Insbesondere ist die Reihenfolge der Klauseln in einer Herleitung nicht eindeutig. Betrachten wir einmal die folgende Situation. Die Literale A, ¬A, L und ¬L seien in α, β und γ nicht enthalten. Ist (A ∨ α ∨ β) die Resolvente von (L ∨ A ∨ α) und (¬L ∨ β) über L und resolvieren wir anschließend (A ∨ α ∨ β) und (¬A ∨ γ), um (α ∨ β ∨ γ) zu erhalten, dann können wir ebensogut zunächst (L ∨ A ∨ α) und (¬A ∨ γ) resolvieren und danach das Ergebnis (L ∨ α ∨ γ) mit (¬L ∨ β) resolvieren, um damit ebenfalls (α ∨ β ∨ γ) zu erhalten. (L ∨ A ∨ α)
(¬L ∨ β)
@ @ @
(A ∨ α ∨ β)
(¬A ∨ γ)
@ @ @
(α ∨ β ∨ γ)
Abbildung 1.11: Herleitungsbaum für (α ∨ β ∨ γ) L∨A∨α
(¬A ∨ γ)
@ @ @
(L ∨ α ∨ γ)
(¬L ∨ β)
@ @ @
(α ∨ β ∨ γ)
Abbildung 1.12: Alternativer Herleitungsbaum für (α ∨ β ∨ γ) Eine Verallgemeinerung dieser Beobachtung wird im nachfolgenden Lemma formuliert. Lemma 1.7.3 (Vertauschungslemma) Seien α, β und γ Klauseln und L1 und L2 Literale mit L2 ∈ α, L1 , ¬L2 ∈ β und ¬L1 ∈ γ. Dann kann die Resolutionsherleitung, in der zunächst β und gamma über L1 resolviert werden und anschließend die Resolvente mit α über L2 , so verändert werden, daß zunächst nur Resolutionen über L2 und danach erst eine Resolution über L1 vorgenommen werden. Die letzte Resolvente ist entweder exakt die letzte Resolvente der ersten Herleitung oder eine Teilklausel hiervon. Beweis: Die Ausgangssituation ist in Abbildung 1.13 angegeben. Als Beweis für das Lemma genügt die Angabe entsprechend konstruierter Herleitungsbäume, siehe Abbildung 1.14 und 1.15. (Zur Verdeutlichung sind die Kanten mit dem Literal markiert, über die resolviert wird.) Bei der Vertauschung der Literalreihenfolge muß eine Fallunterscheidung danach vorgenommen werden, ob L2 ∈ γ gilt oder nicht. Nur im Fall L1 ∈ α und ¬L2 ∈ γ ergibt sich als Resultatsklausel im ersten Fall eine echte Teilklausel der ursprünglichen Resultatsklausel. Die Transformation aus Lemma 1.7.3 kann lokal in jedem Resolutionsherleitungsbaum angewendet werden. Im Falle, daß die letzte Resolvente eine Teilklausel der ursprünglichen letzten Resolvente ist, entfallen enventuell Teile des bisherigen Resolutionsbaumes. Für Widerlegungen ist die Herleitung einer Teilkausel
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
54
β
γ
L1J α
l L2 l l l
J J
(β \ {L1 }) ∪ (γ \ {¬L1 })
, , , ,
(α \ {L2 }) ∪ (β \ {L1 , ¬L2 }) ∪ (γ \ {¬L1 , ¬L2 })
Abbildung 1.13: Resolutionsherleitungsbaum L1 vor L2 α
β
J L2J J J
(α \ {L2 }) ∪ (β \ {¬L2 }) Ll 1l l l
γ
, , , ,
(α \ {L1 , L2 }) ∪ (β \ {L1 , ¬L2 }) ∪ (γ \ {¬L1 })
Abbildung 1.14: Resolutionsherleitungsbaum L2 vor L1 im Fall ¬L2 ∈ γ α
J L2J J
β
J
(α \ {L2 }) ∪ (β \ {¬L2 })
b
L1 b
b b b
α
J L2J J J
γ
(α \ {L2 }) ∪ (γ \ {¬L2 })
" " " " "
(α \ {L2 }) ∪ (β \ {L1 , ¬L2 }) ∪ (γ \ {¬L1 , ¬L2 })
Abbildung 1.15: Resolutionsherleitungsbaum L2 vor L1 im Fall ¬L2 ∈ γ ohne Belang, aber nicht jede mit der Resolution herleitbare Klausel ist in jeder Reihenfolge der Resolutionschritte herleitbar. Bemerkung: Ein Resolutionsherleitungsbaum kann durch geeignete lokale Transformationen auch linearisiert werden, d.h. in jedem Resolutionsschritt ist der eine Resolutionspartner die unmittelbar zuvor generierte Resolvente und der andere entweder eine Ausgangsklausel oder eine fühere Resolvente. Der Teilbaum aus Abbildung 1.13 wird dann ersetzt im Fall ¬L2 ∈ γ wie oben durch den in Abbildung 1.14 Teilbaum und im Fall ¬L2 ∈ γ durch den in Abbildung 1.16 amgegebenen Teilbaum. Bei der zweiten Verwendung von α im letzten Resolutionsschritt greifen wir erneut auf das erste Vorkommen von α im Resolutionsherleitungsbaum zu. Es liegt nun zwar kein Baum mehr vor, aber wir erkennen deutlich die lineare Struktur. Eine Motivation für diese Ersetzung erhalten wir aber erst mit der Vorstellung der linearen Resolution in Abschnitt 1.7.4. Die Resolutionsregel und ihre Verwendung in Herleitungen nennen wir auch den Resolutionskalkül. Als nächstes wollen wir die syntaktische Herleitbarkeit mittels Resolution mit dem semantischen Folgerungsbegriff vergleichen. Wir müssen sicherstellen, daß auf der einen Seite jede aus einer Formel α mit syntaktischen Mitteln herleitbare Formel β auch semantisch folgt, also α |= β gilt. Wir bezeichnen dies als die
1.7. GRUNDLAGEN DER RESOLUTION
α
J LJ 2
55
β
J J
(α \ {L2 }) ∪ (β \ {¬L2 }) Ll 1l
l l
γ
, , , ,
(α \ {L1 , L2 }) ∪ (β \ {L1 , ¬L2 }) ∪ (γ \ {¬L1 })
b
L2 b
b b b
(α \ {L2 }) ∪ (β \ {L1 , ¬L2 }) ∪ (γ \ {¬L1 , ¬L2 })
Abbildung 1.16: Linearisierter Resolutionsherleitungsbaum im Fall ¬L2 ∈ γ Korrektheit eines Kalküls. Auf der anderen Seite sollten alle Formeln, die semantisch folgerbar sind, auch mit dem rein syntaktischen Kalkül hergeleitet werden können. Diesen Aspekt nennt man die Vollständigkeit eines Kalküls. Für den Resolutionskalkül gilt eine etwas eingeschränkte Form der Vollständigkeit, die Widerlegungsvollständigkeit. Mit Hilfe der Resolutionsregel können wir nur neue Klauseln generieren, die Teile der Elternklauseln enthalten, also insbesondere keine neuen Atome einführen. Wenn wir aber die herzuleitende Formel β negieren, in KNF transformieren und in dieser Form zur Ausgangsformel α hinzunehmen, gilt aber, daß wir genau dann mit Hilfe der Resolutionsregel die leere Klausel generieren können, wenn β semantisch aus α folgerbar ist. Eine Herleitung der leeren Klausel heißt daher auch Resolutionswiderlegung oder kurz Widerlegung bzw. Resolutionsbeweis oder kurz Beweis. Diese Eigenschaft der Resolution, die Korrektheit und die Widerlegungsvollständigkeit, zeigen wir im nächsten Satz. Satz 1.7.4
Es gilt:
1. Der Resolutionskalkül ist korrekt. Sei α ∈ KNF, dann gilt für alle Klauseln π: α | RES π ⇒ α |= π 2. Der Resolutionskalkül ist nicht vollständig. Es gibt Formeln α ∈ KNF und Klauseln π, so daß gilt: α |= π und nicht α | RES π 3. Der Resolutionskalkül ist widerlegungsvollständig. Sei α ∈ KNF, dann gilt: α widerspruchsvoll ⇒ α | RES 1 δ sofort α1 , α2 |= δ. Die allgemeine Beweis: Ad 1: Für Klauseln α1 und α2 folgt aus α1 , α2 | RES Behauptung erhält man durch eine Induktion über die Anzahl der Resolutionsschritte für α |RES δ.
Ad 2: Sei α = A und π = A ∨ B, dann gilt α |= π, aber π läßt sich aus α nicht mit Hilfe der Resolution herleiten.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
56
Ad 3: Um die Widerlegungsvollständigkeit der Resolution (oder von Restriktionen der Resolution) zu zeigen, empfiehlt sich ein induktiver Beweis. Typische Parameter für die Induktion sind die Länge der Formel, die Anzahl der Atome oder die Anzahl der Klauseln. Da widerspruchsvolle Formeln vorausgesetzt sind, ist der Induktionsanfang meist einfach zu zeigen. Im Induktionsschritt betrachten wir dann meist die Formeln α[¬A/1] und α[¬A/0], die ebenfalls widerspruchsvoll sind und auch kürzer als die Ausgangsformel. Aus den nach Induktionsvoraussetzung existierenden Widerlegungen für diese Formeln wird dann eine Widerlegung für die Ausgangsformel konstruiert. Hier zeigen wir durch Induktion über die Länge widerspruchsvoller Formeln, daß die leere Klausel herleitbar ist. Die kürzeste widerspruchsvolle Formel besteht aus zwei Unit–Klauseln. A, ¬A | RES .
Ist α = {A, ¬A}, so gilt
Sei nun α mit der Länge n + 1 gegeben. Da nach Voraussetzung α widerspruchsvoll ist, gibt es ein Atom A, welches in α sowohl positiv als auch negativ vorkommt. Wir zerlegen nun α in die Formel α[A/1] und α[¬A/1]. α[A/1] und α[¬A/1] sind nicht erfüllbar, da α widerspruchsvoll ist. Ergibt sich für eine der beiden Reduktionen der Wert 0, so enthält α eine Klausel A (falls α[¬A/1] = 0) oder eine Klausel ¬A (falls α[A/1] = 0). Nehmen wir an, daß sowohl α[A/1] als auch α[¬A/1] nicht den Wert 0 ergeben. Da α[A/1] und α[¬A/1] widerspruchsvoll sind, folgt mit der Induktionsvoraussetzung α[A/1] |RES und α[¬A/1] | RES . Fügen wir in α[A/1] die eliminierten Literale ¬A und zu α[¬A/1] die Atome A wieder hinzu — die resultierenden Formeln bezeichnen wir mit α[A/1](¬A) und α[¬A/1](A) — , dann sind diese Formeln Teilformeln von α. In α[A/1](¬A) bzw. α[¬A/1](A) können wir alle Herleitungsschritte ganz analog zur Herleitung α[A/1] | RES bzw. α[¬A/1] | RES durchführen. Es gilt daher entweder sofort α[¬A/1](¬A) |RES bzw. α[A/1](¬A) | RES und wir haben damit eine Herleitung der leeren Klausel aus α, oder aber es gilt α[A/1](¬A) | RES ¬A und α[¬A/1](A) | RES A. Da α[A/1](¬A) und α[¬A/1](A) Teilformeln von α sind, können wir die Herleitungen für ¬A und A aneinanderfügen und als letzten Resolutionsschritt ¬A, A |RES anfügen. Wir erhalten insgesamt eine Herleitung der leeren Klausel aus α. Die übrigen Fälle werden analog gezeigt. Die Unvollständigkeit der Resolution scheint uns die Möglichkeit zu nehmen, Formeln direkt herzuleiten. Denn die Widerlegungsvollständigkeit spielt in gewisser Weise einen indirekten Beweis wider, in dem wir die Zielformel von vorn herein in negierter Form vorliegen haben und nutzen können. Direkte Beweise sind mit der Resolution aber dennoch möglich, wenn wir zulassen, daß wir zunächst stärkere Aussagen beweisen (dies sind bei Klauseln kürzere Klauseln), und die eigentliche Zielformel als Abschwächung sehen. Lemma 1.7.5
Sei α ∈ KNF und π eine Klausel, dann gilt: α |= π ⇐⇒ ∃ Teilklausel π ⊂ π : α | RES π
Zu jeder folgerbaren Klausel π können wir also eine Klausel π mit der Resolution herleiten, so daß gilt: π subsumiert π. Beweis: Wegen der Korrektheit der Resolution genügt es nach Satz 1.7.4, die Richtung von links nach rechts zu zeigen. Gelte also α |= π mit π = (L1 ∨ . . . ∨ Ls ) und damit wieder nach Satz 1.7.4 α ∪
1.7. GRUNDLAGEN DER RESOLUTION
57
{¬L1 , . . . , ¬Ls } | RES . Nach Lemma 1.7.3 können wir durch Vertauschen von Resolutionsschritten stets erreichen, daß alle Resolutionen mit Unit–Klauseln erst am Ende der Herleitung durchgeführt werden. Insbesondere können wir die Reihenfolge der Resolutionen mit Unit–Klauseln so verändern, daß alle Resolutionen mit Klauseln aus {¬L1 , . . . , ¬Ls } als letzte durchgeführt werden, d.h. im Resolutionsbaum unmittelbar über der Wurzel stehen. (Auf die Induktionsbeweise dieser beiden Aussagen verzichten wir hier.) Dadurch daß bei den Vertauschungen der Resolutionsschritte die ursprüngliche Resolvente verkürzt werden kann (vgl. Vertauschungslemma 1.7.3), können Teile des Resolutionsbaumes entfallen. Insgesamt behalten wir nach jeder Vertauschung von Resolutionsschritten eine Herleitung der leeren Klausel aus α ∪ {¬L1 , . . . , ¬Ls }. Wir können deshalb annehmen, daß wir in der Widerlegung schließlich zu einer Klausel π gelangen, aus der nur noch mit Hilfe von Resolutionen mit Klauseln aus {¬L1 , . . . , ¬Ls } die leere Klausel generiert wird, ohne daß zuvor eine der Klauseln aus {¬L1 , . . . , ¬Ls } in der Herleitung von π benutzt wurde. Dann hat π aber die Form π = (Li1 ∨ . . . ∨ Lir ) mit 1 ≤ ij ≤ n. (Insbesondere kann π die leere Klausel sein.) Also ist π eine Teilklausel von π und es gilt α |RES π . Die Pigeonhole–Formeln ϕn beschreiben das Problem, n + 1 Tauben auf n Löcher zu verteilen. Als Atome wählen wir daher Xi,j mit 1 ≤ i ≤ n und 1 ≤ j ≤ n + 1; der Index i bezeichnet das Loch, der Index j die Taube, d.h. Xi,j steht für „Taube j ist in Loch i“. Die Formel ϕn besteht aus zwei Teilen, für die wir jeweils auch die intendierte Semantik angeben: 1. Höchstens eine Taube ist in jedem Loch: αn :=
(¬Xi,k ∨ ¬Xi,j )
1≤i≤n 1≤k<j≤n+1
2. Jede Taube ist in einem Loch: βn :=
(X1,j ∨ . . . ∨ Xn,j )
1≤j≤n+1
3. ϕn := αn ∧ βn ϕn besitzt insgesamt (n + 1) · n Atome und 12 · n2 · (n + 1) 2–Klauseln sowie (n + 1) n-Klauseln und damit die Länge n · (n + 1)2 . Beispiel: ϕ2 (3 Tauben und 2 Löcher) hat die folgende Gestalt: ϕ2 = (¬X1,1 ∨ ¬X1,2 ) ∧ (¬X1,1 ∨ ¬X1,3 ) ∧ (¬X1,2 ∨ ¬X1,3 )∧ (¬X2,1 ∨ ¬X2,2 ) ∧ (¬X2,1 ∨ ¬X2,3 ) ∧ (¬X2,2 ∨ ¬X2,3 )∧ (X1,1 ∨ X2,1 ) ∧ (X1,2 ∨ X2,2 ) ∧ (X1,3 ∨ X2,3 ) 2 Offensichtlich sind die Formeln ϕn widerspruchsvoll. Satz 1.7.6 Es gibt eine Konstante c > 1, so daß für ausreichend große n jede Resolutionswiderlegung von ϕn zur leeren Klausel mindestens cn verschiedene Klauseln enthält.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
58
1.7.1 Stufensättigungsstrategie Als erste und recht einfache Resolutionsstrategie behandeln wir die Stufensättigungsstrategie (Level Saturation). Hiermit wird ein Verfahren zur systematischen Generierung aller Resolventen bezeichnet, bei dem die Reihenfolge der Generierung der Höhe des Resolutionsherleitungsbaumes entspricht. Um diese Strategie formal einfach beschreiben zu können, definieren wir für α ∈ KNF und n ≥ 0 die Menge der Klauseln, die mit Hilfe von n Resolutionsschritten hergeleitet werden kann. Definition 1.7.7 Sei α ∈ KNF und n ∈ IN, n ≥ 0. Dann sei Res0 (α) Res1 (α) Resn+1 (α) Res∗ (α)
:= := := :=
α 1 {π | ∃τ1 τ2 ∈ α : τ1 , τ2 | RES π} ∪ {α} 1 n Res (Res (α)) für n > 0 n n Res (α)
Wir bezeichnen Res∗ (α) auch als Resolutionsabschluß von α. Offensichtlich gilt Resn (α) ⊂ Resn+1 (α) für alle n. Da α nur endliche viele Atome enthält, kollabiert diese Hierarchie, d.h. es gibt ein m mit Res∗ (α) = Resm (α). Ein einfacher Algorithmus entscheidet nun, ob eine Formel α widerspruchsvoll ist, indem sukzessive die Mengen Resn (α) berechnet werden. Das Verfahren bricht ab, wenn die leere Klausel auftritt oder Resn (α) = Resn+1 (α) für ein n gilt. Innerhalb dieses Verfahrens verwenden wir die Funktion Res1 , die die Formelmenge im Argument, vergrößert um die Menge aller in einem Resolutionsschritt generierbaren Klauseln liefert. Wie wir noch sehen werden, läßt sich dieses Verfahren in Hinblick auf Laufzeit und Suchraum noch erheblich verbessern. Da wir in Satz 1.7.6 aber gezeigt haben, daß die Resolution im Worst–Case exponentiell ist, bewirken diese Modifikationen zwar in einigen Fällen kürzere Rechenzeiten, es bleiben aber immer noch Formeln übrig, die nur mit großem, nämlich exponentiellem Aufwand zu entscheiden sind. Algorithmus 1.9: RESOLUTION Input: α ∈ KN F Output: Boolescher Wert für die Erfüllbarkeit von α function RESOLUTION(α : KNF) : boolean; begin n := 0; Res[0] := α; repeat n := n + 1; Res[n] := Res1 (Res[n − 1]); if ∈ Res[n] then return(false); until Res[n] = Res[n − 1]; return(true); end:
Eine übersichtliche Methode zur Bestimmung des Resolutionsabschlusses auf dem Papier ist die Darstellung als Tabelle. In den einzelnen Spalten sind die Klauseln der Mengen Res0 (α), Res1 (α)\Res0 (α), Res2 (α)\ Res1 (α), . . . aufgeführt, sie werden nacheinander bestimmt. Zu Anfang kennen wir nur die Klauseln der
1.7. GRUNDLAGEN DER RESOLUTION
59
ersten Spalte, nämlich Res0 (α) = α. Seien nun bereits n Spalten gefüllt. Die Klauseln der nächsten freien Spalte n + 1 erhalten wir, indem wir dort alle Resolventen zwischen einer Klausel der Spalte n und einer der Klauseln aus den Spalten 0, . . . , n aufführen, die noch nicht in der Tabelle enthalten sind. Auf tautologische Klauseln kann man verzichten, wenn man mit dieser Methode nur die leere Klausel erzielen will. Beispiel: Wir geben die Resolvententabelle für die Formel α bis zur Stufe 3 an. α = {{¬A, ¬B, ¬C}, {A, ¬D}, {B, ¬C}, {C, ¬F }, {F }} 1. 2. 3. 4. 5.
0 {¬A, ¬B, ¬C} {A, ¬D} {B, ¬C} {C, ¬F } {F }
6. 7. 8. 9. 10.
1 {¬B, ¬C, ¬D} {¬A, ¬C} {¬A, ¬B ∨ ¬F } {B, ¬F } {C}
(1, 2) (1, 3) (1, 4) (3, 4) (4, 5)
11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
2 {¬C, ¬D} {¬B, ¬D, ¬F } {¬C, ¬F } {¬A, ¬C, ¬F } {¬A, ¬B} {B} {¬C, ¬D, ¬F } {¬B, ¬D} {¬A} {¬A, ¬F }
(6, 3) (6, 4) (7, 4) (8, 3) (8, 5) (10, 3) (6, 9) (6, 10) (7, 10) (8, 9)
21. 22.
3 {¬D, ¬F } {¬D} ...
(11, 4) (11, 10)
Im Vergleich zum Beispiel am Anfang des Kapitels haben wir nun eine Herleitung von ¬D mit einer Tiefe des Herleitungsbaumes von nur 3. Zusätzlich wissen wir, daß es keinen „flacheren“ Herleitungsbaum geben kann. 2 Je nachdem aus welcher Spalte die zweite Resolvente stammt, kann man die Klauseln innerhalb einer Spalte auch noch gruppieren. Hilfreich ist zusätzlich eine Numerierung der Klauseln und bei jeder Resolvente die Angabe der Elternklausel. Auf diese Weise kann man zu jeder Klausel der Tabelle leicht eine Herleitung angeben.
1.7.2 P– und N–Resolution Sowohl P–Resolution als auch N–Resolution können als rein syntaktische Anforderungen an die Resolutionspartner formuliert werden. Wenn wir fordern, daß eine der Elternklauseln nur positive Literale enthält, bezeichnen wir die Einschränkung als P–Resolution; analog bezeichnen wir einen Resolutionsschritt als N–Resolutionsschritt, wenn eine der Elternklauseln nur negative Klauseln enthält. Die beiden Restriktionen P– und N–Resolution sind eng miteinander verwandt, gerade im Zusammenhang mit der Klasse der Horn–Formeln ist die N–Resolution die bekanntere Restriktion. Die P–Resolution für Horn–Formeln ist gleichzeitig immer auch eine Unit–Resolution und wird als reine Restriktion daher nicht verwendet. Definition 1.7.8 (P–/N–Resolution) Sei α ∈ KNF. Einen Resolutionsschritt mit Klauseln π1 und π2 aus α bezeichnen wir als 1 1 π (π1 , π2 | N-RES π), wenn gilt P–Resolutionsschritt (N–Resolutionsschritt), in Zeichen π1 , π2 | P-RES
1 π und π1 oder π2 nur positive (negative) Literale enthält. π1 , π2 | RES
1 1 bzw. | N-RES bezeichnen wir mit | P-RES bzw. | N-RES . Den reflexiven und transitiven Abschluß von |P-RES Eine Resolutionsherleitung ist eine P–(N–)Resolutionsherleitung, wenn jeder Resolutionsschritt in ihr ein P–(N–)Resolutionsschritt ist.
Da eine Elternklausel nur positive (bzw. nur negative) Literale enthalten darf, kann dieselbe Einschränkung nicht auch für die andere Elternklausel gelten, da dann keine Resolution möglich wäre. Für Horn–Formeln, in deren Klauseln ja jeweils maximal ein positives Literal auftritt, führt ein N–Resolutionsschritt wieder zu einer negativen Klauseln, und in einer N–Resolutionsherleitung wird nur eine negative Anfangsklausel benutzt.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
60
Beide Restriktionen können wir als Spezialfälle der semantischen Resolution auffassen. Wählen wir als Bewertung die, die alle Atome mit 0 bewertet, so sind alle Klauseln mit 1 bewertet, die mindestens ein negatives Literal enthalten, alle positiven Klauseln allerdings sind mit 0 bewertet. Eine P–Resolutionsherleitung ist daher eine Herleitung mit der semantischen Resolution und genau dieser Bewertung. Ganz analog gilt dies für die N–Resolution mit der Bewertung, die alle Atome mit 1 bewertet. Wir erhalten so die Korrektheit der P–Resolution und der N–Resolution als Korollar der Korrektheit der Resolution und die Widerlegungsvollständigkeit als Folgerung aus der Widerlegungsvollständigkeit der semantischen Resolution. Satz 1.7.9
Sei α ∈ KNF, dann gilt: α ist widerspruchsvoll ⇐⇒ α | P-RES ⇐⇒ α | N-RES
Beweis: Wir geben hier zusätzlich einen unmittelbaren Beweis für die Widerlegungsvollständigkeit der N–Resolution mit Hilfe einer Induktion über die Anzahl n der Atome in α. Analog kann der Beweis auch für die P–Resolution geführt werden. Sei α also widerspruchsvoll. Im Fall n = 1 muß daher gelten {A, ¬A} ⊂ α, so daß mit einem N– Resolutionsschritt die leere Klausel herleitbar ist. Sei nun n > 1 und A sei ein Atom in α. Dann sind α[A/1] und α[A/0] widerspruchsvoll und enthalten höchstens n − 1 Atome. Mit der Induktionsvoraussetzung erhalten wir α[A/1] |N-Res und α[A/0] | N-Res . Die N–Resolutionsschritte in α[A/1] sind analog in α[A/1](¬A) möglich, da zu Anfangsklauseln und Resolventen gegebenenfalls ein negatives Literal hinzugefügt wird. Wir erhalten so entweder α[A/1](¬A) | N-Res und haben damit eine N–Resolutionsherleitung der leeren Klausel, oder wir erhalten α[A/1](¬A) | N-Res ¬A. In diesem Fall gilt α | N-Res α[A/0], denn alle positiven Literale A können aus den Klauseln von α durch einen N–Resolutionsschritt mit ¬A eliminiert werden. Insgesamt erhalten wir also ebenfalls α | N-Res .
1.7. GRUNDLAGEN DER RESOLUTION
61
1.7.3 Hyperresolution Die in [Rob 65] eingeführte positive (bzw. negative) Hyperresolution ist eine Verschärfung der Restriktion der P–Resolution (N–Resolution). Wir beschreiben nachfolgend zunächst die negative Hyperresolution, die wir kurz Hyperresolution nennen. Wird in einer N–Resolutionsherleitung eine neue negative Klausel erzeugt, dann ist eine nicht–negative Klausel mit einer Folge von negativen Klauseln resolviert worden. Diese einzelnen N–Resolutionsschritte fassen wir zusammen zu einem (negativen) Hyperresolutionsschritt, in dem wir simultan die nicht–negative Klausel mit allen negativen Klauseln resolvieren. Definition 1.7.10 (Hyperresolution) Sei π = {A1 , . . . , An , ¬B1 , . . . , ¬Bm } eine Klausel mit Atomen A1 , . . . , An , B1 , . . . , Bm und sei αi = {¬Ai } ∪ σi für 1 ≤ i ≤ n, so daß alle αi negative Klauseln sind. Die Hyperresolutionsregel ist definiert als π α1 , . . . , αn (Hyp-Res) σ1 ∪ . . . ∪ σn ∪ {¬B1 , . . . , ¬Bm } Die Klausel π wird bei der Hyperresolution simultan mit allen negativen Klauseln α1 , . . . , αn resolviert, in Zeichen 1 σ1 ∪ . . . ∪ σn ∪ {¬B1 , . . . , ¬Bm }. π, α1 , . . . , αn | Hyp-RES Analog zu den Definitionen für die Resolution können wir den Begriff der Hyperresolutionsherleitung 1 mit definieren und bezeichnen den reflexiven und transitiven Abschluß der Hyperresolution |Hyp-RES | Hyp-RES . Im Gegensatz zu den bisher behandelten Restriktionen der Resolution handelt es sich bei Hyperresolutionsherleitungen nicht unmittelbar um Resolutionsherleitungen, denn in einem Hyperresolutionsschritt sind ja mehrere (N–)Resolutionsschritte zusammengefaßt. Beispiel: Die folgende Abbildungen 1.17 und 1.18 zeigen einen Hyperresolutionsschritt und eine entsprechende Folge von N–Resolutionsschritten. 2 ¬A ∨ ¬P
¬B ∨ ¬Q
¬C ∨ ¬R
PP PP l PP l PP l
P ∨ Q ∨ R ∨ ¬D
¬A ∨ ¬B ∨ ¬C ∨ ¬D
Abbildung 1.17: Hyperresolutionsschritt ¬C ∨ ¬R
¬B ∨ ¬Q
¬A ∨ ¬P
l l l
l l l
l l l
P ∨ Q ∨ R ∨ ¬D
, , ,
P ∨ Q ∨ ¬C ∨ ¬D
, , ,
P ∨ ¬B ∨ ¬C ∨ ¬D
, , ,
¬A ∨ ¬B ∨ ¬C ∨ ¬D
Abbildung 1.18: Entsprechende N–Resolutionsherleitung
62
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
Wenn wir die Zusammenfassung rückgängig machen, erhalten wir unmittelbar eine N–Resolutionsherleitung, also die Korrektheit der Hyperresolution. Für die Widerlegungsvollständigkeit müssen wir zeigen, daß wir eine Resolutionsherleitung finden können, deren Einzelresolutionen zu Hyperresolutionsschritten gruppiert werden können. Satz 1.7.11
Die Hyperresolution ist korrekt und widerlegungsvollständig für Formeln in KNF.
Beweis: Nach dem bisher Gesagten genügt es, die Widerlegungsvollständigkeit zu zeigen, d.h.: α ist widerspruchsvoll =⇒ α | Hyp-RES . Für jede Formel α = {α1 , . . . , αn } definieren wir size(α) := |α| − n. Wir zeigen mit einer Induktion über size(α), daß für jede widerspruchsvolle Formel eine Hyperresolutionsherleitung der leeren Klausel existiert. Aus size(α) = 0 folgt sofort, daß es Unit–Klauseln A und ¬A in α geben muß, da α nach Voraussetzung widerspruchsvoll ist. Indem wir die beiden Klauseln resolvieren, erhalten wir eine Hyperresolutionsherleitung der leeren Klausel. Sei nun size(α) = k + 1. Kommt in α jedes negative Literal nur in negativen Unit–Klauseln vor, dann muß es eine positive Klausel geben, die durch simultane Resolution, d.h. durch einen Hyperresolutionsschritt, zur leeren Klausel führt. Andernfalls wäre α im Widerspruch zur Voraussetzung erfüllbar. Gebe es nun eine Klausel, die sowohl negative als auch positive Literale besitzt und sei αi eine solche Klausel, die das negative Literal ¬L enthält. Dann definieren wir α∗i := αi \ {¬L}, ϕ := (α \ {αi }) ∪ {α∗i } und ψ := (α \ {αi }) ∪ {{¬L}}. Da α widerspruchsvoll ist, müssen auch ϕ und ψ widerspruchsvoll sein. Außerdem gilt size(ϕ), size(ψ) < size(α). Also gibt es Hyperresolutionsherleitungen ϕ |Hyp-RES und ψ | Hyp-RES . Die Resolutionswiderlegung von ϕ kann analog in α durchgeführt werden. Es ergibt sich entweder schon eine Herleitung der leeren Klausel oder des negativen Literals ¬L, d.h. α |Hyp-RES ¬L. Die Hyperresolutionsherleitung kann dann mit der Hyperresolutionswiderlegung von ψ (außer {¬L}) fortgesetzt werden, so daß insgesamt eine Hyperresolutionswiderlegung von α entsteht. Wie bereits zu Anfang des Abschnitts gesagt, hätten wir bei der Definition der Hyperresolution anstelle der simultanen Resolution mit negativen Klauseln auch die simultane Resolution mit positiven Klauseln und einer Klausel, die negative Literale enthält, verlangen können, so daß eine neue positive Klausel als Resolvente entsteht. Diese Verschärfung der P–Resolution bezeichnen wir als positive Hyperresolution. Definition 1.7.12 (Positive Hyperresolution) Sei π = {¬A1 , . . . , ¬An , B1 , . . . , Bm } eine Klausel mit Atomen A1 , . . . , An , B1 , . . . , Bm und sei αi = {Ai } ∪ σi für 1 ≤ i ≤ n, so daß alle αi positive Klauseln sind. Die positive Hyperresolutionsregel ist definiert als π α1 , . . . , αn (Pos-Hyp-Res) σ1 ∪ . . . ∪ σn ∪ {B1 , . . . , Bm } Die Klausel π wird bei der positiven Hyperresolution simultan mit allen positiven Klauseln α1 , . . . , αn resolviert, in Zeichen 1 σ1 ∪ . . . ∪ σn ∪ {B1 , . . . , Bm }. π, α1 , . . . , αn | Pos-Hyp-RES Aus Gründen der Symmetrie folgt sofort, daß auch die positive Hyperresolution widerlegungsvollständig ist. Um die unterschiedliche Arbeitsweise der beiden Varianten der Hyperresolution zu erläutern, betrachten wir Klauseln als Implikationen, d.h. eine Klausel {A1 , . . . , Am , ¬B1 , . . . , ¬Bn } entspricht einer Implikation B1 , . . . , Bn → A1 , . . . , Am , wobei die rechte Liste A1 , . . . , Am als Disjunktion und die linke Liste B1 , . . . , Bn als Konjunktion aufzufassen ist. Die Abarbeitung der (negativen) Hyperresolution kann man
1.7. GRUNDLAGEN DER RESOLUTION
63
dann grob beschreiben als rückwärtsgerichtet (entgegen den Implikationspfeil) und die Abarbeitung der positiven Hyperresolution als vorwärtsgerichtet. Beispiel: Sei etwa α = {(B, C → A), (F → C), (F → B)} gegeben und wir möchten entscheiden, ob α |= A gilt. Wir wollen zunächst mit der positiven Hyperresolution und dann mit der (negativen) Hyperresolution nachweisen, daß α ∧ ¬A widerspruchsvoll ist. Einen negativer/positiver Hyperresoluionsschritt erkennen wir im Hyperresolutionsbaum an den in der Regel mehr als zwei Söhnen eines Knotens. Der rechte Sohn enthält immer die gemischte Klausel, die übrigen die negativen/positiven Klauseln. F
AA
F →B
F
F →C
AA A A B C B, C → A HH H HH A
JJ
¬A
J
Abbildung 1.19: Widerlegung mit positiver Hyperresolution Bei der positiven Hyperresolution erhalten wir eine Widerlegung, für die am Ende die Frage widerlegt wird (siehe Abbildung 1.19). Bei der (negativen) Hyperresolution beginnen wir mit der negierten Frage ¬A ¬A
@ @
A ∨ ¬B ∨ ¬C
@
¬B ∨ ¬C
@ @ @
B ∨ ¬F
¬C ∨ ¬F
@ @ @
C ∨ ¬F ¬F
e e e
F
% % %
Abbildung 1.20: Widerlegung mit (negativer) Hyperresolution (siehe Abbildung 1.20).
2
64
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
1.7.4 Lineare Resolution Definition 1.7.13 (Lineare Resolution) Sei α = {α1 , . . . , αm } ∈ KNF. Eine Resolutionsherleitung π0 , π1 , . . . , πn aus α für eine Klausel π ist eine lineare Resolutionsherleitung, in Zeichen α |Lin-Res π, genau dann, wenn gilt π0 ∈ α, πn = π und für alle
1 πi+1 mit τ ∈ α oder τ = πj für ein j ≤ i. 1 < i < n ist πi , τ | RES
Die Klausel τ wird als Seitenklausel bezeichnet und die Klauseln πi heißen Verbindungsklauseln (center clauses). Der folgende Satz sagt aus, daß die lineare Resolution keine Restriktion ist, die die Korrektheit oder die Widerlegungsvollständigkeit beeinträchtigt. Satz 1.7.14 Sei α ∈ KNF, dann gilt: α ist widerspruchsvoll genau dann, wenn es eine Klausel τ in α gibt, so daß die leere Klausel ausgehend von τ linear resolviert werden kann. Ist α minimal widerspruchsvoll, d.h. durch Streichen einer Klausel wird α erfüllbar, dann kann eine beliebige Klausel aus α als Startklausel gewählt werden. Beweis: Da die lineare Resolution über eine spezielle Eigenschaft von Resolutionsherleitungen definiert ist, steht die Korrrektheit außer Frage. Ohne Beschränkung der Allgemeinheit setzen wir voraus, daß α minimal widerspruchsvoll ist. (Durch sukzessives Streichen von Klauseln läßt sich eine minimal widerspruchsvolle Formel α ⊂ α bestimmen.) Sei π eine beliebige Klausel in α. Wir zeigen nun durch Induktion über die Anzahl n der Atome in α, daß die leere Klausel ausgehend von π linear resolviert werden kann. Für n = 1 kann α nur aus den Klauseln A und ¬A bestehen. π ist eine dieser Klauseln un mit einem Resolutionsschritt erreichen wir die leere Klausel. Die Widerlegung ist offenbar linear. Sei nun n > 1 und sei π eine beliebige Klausel aus α. Fall 1: π ist eine Unit–Klausel, π = {L}. Mit α ist natürlich auch α[L/1] widerspruchsvoll. Die Formel α[L/1] enthält höchstens n−1 Atome und ist ebenfalls minimal widerspruchsvoll. Aufgrund der Minimalität von α ist α[L/1] eine Klausel τ enthalten, die aus einer Klausel σ = τ ∪ {¬L} in α gebildet worden ist. Nach Induktionsvoraussetzung gibt es eine lineare Resolutionsherleitung von τ zur leeren Klausel. Wir erhalten eine lineare Resolutionsherleitung ausgehend von L zur leeren Klausel, indem wir zuerst L und τ ∪{¬L} resolvieren und daran die nach Induktionsvoraussetzung gegebene lineare Resolutionswiderlegung anschließen. Falls als letzte Resolvente ¬L auftritt, fügen wir noch einen weiteren Resolutionsschritt mit der Ausgangsklausel L an. Insgesamt ergibt sich eine lineare Herleitung. Fall 2: π enthalte mehr als ein Literal. Sei L ein Literal in π und π := π \ {L}. Dann ist α[¬L/1] widerspruchsvoll und π ist eine Klausel in α[¬L/1]. Außerdem ist α[¬L/1] \ {π } erfüllbar, da α minimal widerspruchsvoll ist. α[¬L/1] enthält aber höchsten n − 1 Atome. Sei α∗ [¬L/1] eine minimale widerspruchsvolle Teilformel von α[¬L/1]. Da α[¬L/1] \ {π } erfüllbar ist, muß π eine Klausel in α∗ [¬L/1] sein. Nach Induktionsvoraussetzung gibt es eine lineare Resolutionswiderlegung in α∗ [¬L/1] ausgehend von π . Bezeichnen wir mit α∗ [¬L/1](L) die Klauseln aus α, die zu α∗ [¬L/1] führen, so können wir eine analoge lineare Resolutionsherleitung mit Startklausel π bilden, die zur Klausel L führt.
1.7. GRUNDLAGEN DER RESOLUTION
65
Existiert eine Unit–Klausel ¬L in α, dann erhalten wir mit einem weiteren Resolutionsschritt mit dieser Inputklausel eine lineare Herleitung der leeren Klausel. Andernfalls bilden wir analog eine minimal widerspruchsvolle Teilformel α∗ [L/1] von α[L/1], die eine Klausel σ = σ \ {¬L} mit ¬L ∈ σ enthält. Analog gilt dann auch α∗ [L/1] | Lin-Res und α∗ [L/1](¬L) | Lin-Res ¬L mit σ bzw. σ als Startklausel. Die letzte Herleitung fügen wir an die lineare Herleitung von L an. (Die Startklausel ist σ und ¬L ∈ σ.) Aus der letzten Klausel ¬L der Gesamtherleitung erhalten wir durch einen weiteren Resolutionsschritt mit L die leere Klausel. Insgesamt haben wir in allen Fällen von einer minimal widerspruchsvollen Formel und einer beliebigen Klausel daraus als Startklausel eine lineare Herleitung der leeren Klausel angeben können. Bei der linearen Resolution ist eine der Elternklauseln für den nächsten Resolutionsschritt die zuletzt gewonnene Resolvente, die andere kann eine Ausgangsklausel oder eine andere frühere Resolvente sein. Je nach Auswahl von Ausgangsklauseln und bisherigen Resolventen für die Resolutionsschritte ergeben sich unterschiedliche Herleitungen, auch solche, die nicht zu einer Widerlegung fortgesetzt werden können. Wird beispielsweise in einer linearen Herleitung der Formel α = {A, (A ∨ C), ¬A} im ersten Schritt die Klausel ¬A mit der Klasuel (A ∨ C) resolviert, dann kann diese Herleitung nicht zu einer Widerlegung für α ergänzt werden. Eine mögliche weitere Restriktion der linearen Resolution ist die zusätzliche Einschränkung der Auswahl des zu eliminierenden Literals. Definition 1.7.15 (SL–Resolution) Eine SL–Resolutionsherleitung ist eine lineare Resolutionsherleitung, bei der in jedem Resolutionsschritt das nächste zu eliminierende Literal durch die Seitenklausel des letzten Resolutionsschrittes eingeführt wurde oder, falls kein Literal durch die Seitenklausel eingeführt wurde, aus der darüberliegenden Verbindungsklausel gewählt wurde. Die Abkürzung SL steht für selected literal. Als Herleitungsoperator verwenden wir |SL-Res . Durch die Reihenfolgenvorschrift kann der Fall eintreten, daß ein Literal mehrfach in der gesamten Herleitung eliminiert werden muß. Beispiel: Sei α = {(A ∨ ¬B), (B ∨ D), (¬D), (¬A ∨ D)} und die Anfangsklausel sei (A ∨ ¬B). A ∨ ¬B
e e e
B∨D
% % %
A∨D
S S
S
¬D (D wurde eingeführt)
A
J J J
¬A ∨ D (Kein neues Literal eingeführt)
D
T T
¬D (D wurde eingeführt)
T
Abbildung 1.21: SL–Resolutionswiderlegung für α
2
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
66
Satz 1.7.16 Sei α ∈ KNF, dann gilt: α ist widerspruchsvoll genau dann, wenn es eine Klausel τ in α gibt, so daß es eine SL– Resolutionsherleitung der leeren Klausel ausgehend von τ gibt. Ist α minimal widerspruchsvoll, d.h. durch Streichen einer Klausel wird α erfüllbar, dann kann eine beliebige Klausel aus α als Startklausel gewählt werden. Beweis: Der Beweis verläuft analog zum Beweis der Korrektheit und der Widerlegungsvollständigkeit der linearen Resolution. Zu beachten ist, daß in Fall 1 sofort bei Einführung des Literals ¬A durch eine Seitenklausel mit der Unit A resolviert werden muß, um eine SL–Resolutionsherleitung zu erhalten. Analog ist im Fall 2 die Herleitung α∗ [L/1](¬L) | SL-Res ¬L an jeder Stelle einzufügen, an der L durch eine Seitenklausel eingeführt wird. Alle Literale ¬L in dieser Herleitung werden mit der letzten Resolvente vor dem Einfügen eliminiert.
1.7.5 Davis–Putnam Resolution Eine weitere Einschränkung der regulären Resolution ist die sogenannte Davis–Putnam Resolution. Dieser Restriktion liegt ebenso wie den in Abschnitt 1.5 vorgestellten Davis–Putnam Algorithmen die Idee zu Grunde, nacheinander für jedes Atom A, das sowohl positiv als auch negativ in einer Formel α vorkommt, alle Vorkommen zu eliminieren, d.h. alle Klauseln mit Vorkommen von A und ¬A werden resolviert und anschließend werden diese Klauseln zugunsten der Resolventen gestrichen. Tautologische Klauseln können dabei unberücksichtigt bleiben. Definition 1.7.17 (Davis–Putnam Resolution) Sei α ∈ KNF mit atoms (α) = {A1 , . . . , Ak }. Eine reguläre Resolutionsherleitung aus α heißt Davis– Putnam Resolutionsherleitung, falls es eine Permutation τ gibt, so daß in der Herleitung die Klauseln so aufeinanderfolgen, daß zu Beginn nur Resolventen über Aτ (1) stehen, gefolgt von Resolventen über Aτ (2) usw. Für Herleitungen, die dieser Anforderung genügen, benutzen wir die Schreibweise |DP-Res . In jedem Pfad eines Davis–Putnam Resolutionsbaumes stimmt dann die Reihenfolge der Atome, über die resolviert wird, (gegebenenfalls mit Auslassungen) mit Aτ (1) , . . . , Aτ (k) überein. Da nach den Resolutionen über das erste Atom A dieses im weiteren nicht mehr berücksichtigt wird, können wir annehmen, daß wir durch alle Resolutionen über A eine Formel erhalten, die nur aus den Resolventen besteht und Klauseln, die von vornherein A nicht enthielten. Wir betrachten die Ausgangsklauseln, die A enthalten, als gelöscht. Ist nach dieser Elimination eines Atoms A eine der Resolventen die leere Klausel, so ist die Ausgangsformel widerspruchsvoll; ansonsten sind die resultierende Formel und die Ausgangsformel erfüllbarkeitsäquivalent, d.h. die Ausgangsformel ist widerspruchsvoll genau dann, wenn die resultierende Formel widerspruchsvoll ist. Da in der resultierenden Formel das Atom A nicht mehr vorkommt, wird später nicht mehr über A resolviert, die Gesamtherleitung ist daher zwangsläufig regulär. Eine Folgerung aus dieser Überlegung ist der folgende Satz. Satz 1.7.18
Die Davis–Putnam Resolution ist korrekt und widerlegungsvollständig für Formeln in KNF.
Mit Hilfe des Vertauschungslemma 1.7.3 für die Resolution können wir aus einer regulären Herleitung auch eine Davis–Putnam Herleitung generieren.
1.7. GRUNDLAGEN DER RESOLUTION
67
Für die Wahl eines geeigneten, d.h. vorteilhaften Atoms A können wir die Heuristiken einsetzen, die auch schon in Abschnitt 1.5 für die Davis–Putnam Algorithmen beschrieben wurden, wenn auch mit umgekehrten Vorzeichen wie etwa maximale Anzahl der Vorkommen eines Atoms. Während bei den Davis–Putnam Algorithmen eine große Anzahl von Vorkommen eines Atoms eine deutliche Reduzierung der Formel bedeuten konnte, steht dieses Merkmal bei der Davis–Putnam Resolution für eine möglicherweise große Anzahl von Resolventen, so daß Atome mit minimaler Anzahl von Vorkommen vorzuziehen sind. Auf die Heuristiken wollen wir hier nicht näher eingehen. Die nachfolgende Funktion DPR realisiert das vorgestellte Verfahren der Davis–Putnam Resolution. Algorithmus 1.10: DPR Input: α ∈ KNF Output: Boolescher Wert für die Erfüllbarkeit function DPR(α : KNF) : boolean; begin if ( es gibt kein Atom, das positiv und negativ vorkommt ) then return(true); wähle ein Atom A aus α, das positiv und negativ vorkommt; S(A) := {(β \ {A}) ∪ (γ \ {¬A}) | β, γ Klauseln in α}; if ∈ S(A) then return(false); α := α ∪ S(A); { entferne in α alle Klauseln mit Atom A }; D(A) := {β | A ∈ β oder ¬A ∈ β}; α := α \ D(A); return (DPR(α)); end;
Entsprechend den zuvor angestellten Überlegungen folgt sofort, daß die Funktion DPR den Wert false liefert, falls die Formel widerspruchsvoll ist, und ansonsten den Wert true.
1.7.6 Input–Resolution Die bisher vorgestellten Restriktionen und Strategien sind korrekt und widerlegungsvollständig für die gesamte Formelklasse KNF. Es gibt jedoch eine ganze Reihe von leistungsfähigen Restriktionen, die zwar im allgemeinen nicht widerlegungsvollständig sind, aber für Teilklassen, wie z.B. die Klasse der Horn– Formeln, ausreichen. Die erste Restriktion, die wir einführen wollen, ist die sogenannte Input–Resolution. Definition 1.7.19 (Input–Resolution) Sei α = {α1 , . . . , αn } ∈ KNF. Eine Resolutionsherleitung π1 , . . . , πm der Klausel π ist eine Input– 1 πi gilt mit Resolutionsherleitung aus α genau dann, wenn für alle 1 ≤ i ≤ m gilt πi ∈ α oder πj1 , πj2 | RES j1 , j2 < i und πj1 ∈ α oder πj2 ∈ α. Beispiel: Sei α = {(¬A ∨ ¬B), (B ∨ ¬D), (A ∨ ¬C), D, C}. Eine Input–Resolutionswiderlegung für α ist im Abbildung 1.22 dargestellt. 2 Da in jedem Resolutionsschritt eine der beteiligten Klauseln aus der zugrunde liegenden Formel stammt, muß die andere Klausel die Resolvente des vorherigen Resolutionsschrittes sein, um einen Herleitungsbaum zu erhalten. Daher ist jede Input–Resolutionsherleitung auch linear. Entsprechend verwenden wir wieder
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
68 ¬A ∨ ¬B
e e e
B ∨ ¬D
%
% %
¬A ∨ ¬D
e e e
A ∨ ¬C
% % %
¬C ∨ ¬D
S S S
C
¬D
e e e
D
% % %
Abbildung 1.22: Input–Resolutionswiderlegung für α die Bezeichnungen Verbindungsklauseln und Seitenklauseln. In Input–Resolutionsherleitungen ist jede der Seitenklauseln und natürlich auch die Anfangsklausel in der Ausgangsformel α enthalten. Wie man an der Beispielformel α = {(A ∨ ¬B), (¬A ∨ B), (A ∨ B), (¬A ∨ ¬B)} sieht, ist die Input– Resolution nicht widerlegungsvollständig. O.B.d.A. sei der erste Resolutionsschritt (A ∨ ¬B), (A ∨ 1 A. Dann gibt es für A zwei mögliche Klauseln, und zwar (¬A ∨ B) und (¬A ∨ ¬B). WähB) | RES len wir die erste Klausel, so erhalten wir als nächste Resolvente B. Dafür gibt es wieder nur zwei Klauseln (A ∨ ¬B) und (¬A ∨ ¬B). Durch Verwendung der ersten Klausel erhalten wir wieder A, diese Herleitung brauchen wir daher nicht weiter zu verfolgen. Im anderen Fall ist ¬A das Ergebnis, das wiederum nur mit (A ∨ ¬B) oder (A ∨ B) resolviert werden kann. Damit sind wir in der gleichen Situation wie nach dem ersten Resolutionsschritt. Es treten insgesamt als Resolventen der Input–Resolution nur die Unit–Klauseln A, ¬A, B, ¬B auf, daher wiederholt sich spätestens nach dem fünften Resolutionsschritt die Resolvente. Folgerung 1.7.20 klasse KNF.
Die Input–Resolution ist korrekt, aber nicht widerlegungsvollständig für die Formel-
Da die Input–Resolution nicht widerlegungsvollständig für Formeln in KNF ist, müssen wir allerdings eine noch einfachere Struktur der Formeln verlangen. Wir werden zeigen, daß die Input–Resolution für Horn– Formeln ein ausreichend starker Herleitungsapparat ist. Es sind in der Literatur eine Reihe von Verfeinerungen der Input–Resolution zu finden, obwohl sie, wie auch alle Kombinationen mit weiteren Restriktionen, nicht widerlegungsvollständig für die Klasse KNF sind. Nachfolgend stellen wir eine Auswahl solcher Kombinationen vor. Da die Input–Resolution eine spezielle lineare Resolution ist, liegt es nahe, auch hier die Restriktion „Selected Literal“ zusätzlich zu fordern. Durch Umgruppieren der Resolutionsschritte können wir aus jeder Input–Resolutionsherleitung eine Herleitung erhalten, die gleichzeitig auch eine SL–Resolutionsherleitung ist. Definition 1.7.21 ((SL,Input)–Resolution) Eine (SL,Input)–Resolutionsherleitung ist eine Input–Resolutionsherleitung, die gleichzeitig auch eine SL– Resolutionsherleitung ist. Beispiel: Sei also wieder α = {(¬A ∨ ¬B), (A ∨ ¬C), (B ∨ ¬D), D, C}. Der Herleitungsbaum in Abbildung 1.23 beschreibt eine Widerlegung, die der SL– und der Input–Restriktion genügt. Die Input–Herleitung der leeren Klausel für diese Formel, die im letzten Beispiel gegeben wurde, besaß diese Eigenschaft nicht. 2
1.7. GRUNDLAGEN DER RESOLUTION
69
¬A ∨ ¬B
e e
B ∨ ¬D
%
%
¬A ∨ ¬D
S S
D
¬A
S S
A ∨ ¬C
¬C
S S
S
C
Abbildung 1.23: SL–Input–Resolutionswiderlegung für α Wir können die Input–Resolution auch mit anderen Restriktionen kombinieren, die nicht aus dem Umfeld der linearen Resolution stammen. Wir können beispielsweise verlangen, daß alle Verbindungsklauseln negative Klauseln sind. (Da wir die leere Klausel als negative Klausel auffassen können, kann die Forderung auch in Widerlegungen erfüllt werden.) Diese zusätzliche Restriktion wird sowohl im Beispiel für die Input–Resolution als auch für die (SL,Input)–Resolution erfüllt. Definition 1.7.22 (Input,N)–Resolution Eine (Input,N)–Resolutionsherleitung ist eine Input–Resolutionsherleitung, die gleichzeitig auch eine N– Resolutionsherleitung ist, d.h. alle Verbindungsklauseln und die Startklausel müssen negative Klauseln sein. Diese Bedingung, daß die Verbindungsklauseln negative Klauseln sein müssen, ist sehr restriktiv. Denn es ist nicht mehr möglich, in einer Herleitung eine Klausel mit mehr als einem positiven Literal zu verwenden. In diesem Fall enthielte die Resolvente mindestens ein positives Literal, ist also keine negative Klausel mehr. Alle an einer (Input,N)–Resolutionsherleitung beteiligten Klauseln müssen demnach negativ sein oder dürfen höchstens ein positives Literal enthalten. Diese Klauseln sind gerade Horn–Klauseln, die (Input,N)– Resolution ist daher auch nur sinnvoll für Horn–Formeln. Als Kombination der (SL,Input)– und der (Input,N)–Resolution erhalten wir die SLDS –Resolution, die wir nur noch für die Klasse der Horn–Formeln einführen. Definition 1.7.23 (SLDS –Resolution) Eine SLDS –Resolutionsherleitung aus einer Formel α ∈ HORN ist eine (SL,Input)–Resolutionsherleitung, die gleichzeitig auch eine (Input,N)–Resolutionsherleitung ist. Die Beschränkung der SLDS –Resolution auf Horn–Formeln ist nach der Bemerkung für die (Input,N)– Resolution sinnvoll, da man hiermit nur Widersprüche im Horn–Teil von Formeln zeigen kann. Die Bezeichnung SLD steht für „Selected Literal for Definite Horn–clauses“, da als Seitenklauseln nur definite Horn–Klauseln in Frage kommen. Der Index S kennzeichnet, daß Klauseln als Mengen (Sets) von Literalen aufgefaßt werden. Ein Kennzeichen von Mengen ist, daß kein Element mehrfach in einer Menge auftritt. Im Resolutionskontext bedeutet dies, daß ein Literal in der Regel bei weitem nicht so oft eliminiert werden muß, wie es durch Seitenklauseln in die Resolvente eingegangen ist. Wir verallgemeinern daher das Konzept der Menge zu sogenannten Multimengen. Mit Multimenge bezeichnen wir eine Menge, in der auch doppelte Vorkommen von Elementen erlaubt sind. Beispielsweise
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
70
sind {A, B, C, A} und {A, B, C} zwei verschiedene Multimengen, die zur einer Menge transformiert beide {A, B, C} ergeben. Im Gegensatz zu Listen ist in Multimengen die Reihenfolge (der Nennung) der Elemente beliebig. 2 Die Resolutionsoperation läßt sich kanonisch auf Klauseln erweitern, die wir als Multimengen auffassen. So liefert die Resolution für die Klauseln {A, ¬B} und {¬A, ¬B} die Resolvente {¬B, ¬B}. Doppelte Vorkommen dürfen also nicht entfernt werden. Definition 1.7.24 (SLD–Resolution) Eine SLD–Resolutionsherleitung aus einer Horn–Formel ist eine SLDS –Resolutionsherleitung, in der die Klauseln als Multimengen aufgefaßt und verarbeitet werden. Die Verwendung von Multimengen kann natürlich zu einer Erhöhung der Anzahl der Resolutionsschritte führen. Aus einer SLDS –Resolutionsherleitung kann aber eine SLD–Resolutionsherleitung konstruiert werden, da eine Verkürzung der Resolventen zur leeren Klausel letztendlich auf positiven Unit–Klauseln beruht. Diese können natürlich beliebig häufig in einer Widerlegung eingesetzt werden, um Mehrfachvorkommen in Multimengen zu eliminieren. Beispiel: Sei α = {¬A, (A ∨ ¬B ∨ ¬C), (B ∨ ¬C), C}. Abbildung 1.24 zeigt eine SLD– Resolutionswiderlegung fur α. Die zweitletzte Klausel {¬C, ¬C} durfte nicht zu {¬C} vereinfacht werden. {¬A}M
{A, ¬B, ¬C}M
@ @
{¬B, ¬C}M
{B, ¬C}M
@ @
{¬C, ¬C}M
{C}M
@ @
{¬C}M
@ @
{C}M {}M
Abbildung 1.24: SLD–Resolutionswiderlegung für α Wir mußten also mit {C} zweimal resolvieren.
2
Anders als bei Horn–Formeln können wir auch mit der allgemeinen Resolutionsregel allein keinen Beweiskalkül für Formeln in KNF aufbauen, wenn wir die Klauseln als Multimengen auffassen. Dies zeigt bereits der Versuch, aus der Formel α = {{A, B}, {¬A, B}, {A, ¬B}, {¬A, ¬B}} nur mit der Resolution unter Verwendung von Multimengen die leere Klausel herzuleiten. Abgesehen von der Wahl der geeigneten Seitenklauseln bleibt bei der SLD–Resolution noch offen, in welcher Reihenfolge wir die Literale eliminieren wollen. Die SL–Resolution fordert nur, daß zunächst eines der in der letzten Seitenklausel eingeführten Literale als erstes eliminiert wird. Diese Wahlfreiheit ist aufgehoben, wenn wir statt der Multimengen für die Klauseldarstellung nun Listen verwenden. Listen implizieren im Gegensatz zu Mengen eine Ordnung auf ihren Elementen, die durch die 2
Wir können Multimengen als Mengen darstellen, indem wir jedem Element der Multimenge einen Index zuordnen, also Paare aus Element und Index bilden, z.B. {(A, 1), (B, 1), (C, 1), (A, 2)} für die obige Multimenge. Der Index gibt das n–te Vorkommen an. Passende Relationen ∈M , ∪M , ∩M , ⊂M , \M , . . . zur Berücksichtigung dieser Indizes lassen sich einfach definieren.
1.7. GRUNDLAGEN DER RESOLUTION
71
Reihenfolge gegeben ist. Eine Klausel (L1 ∨ . . . ∨ Ln ) ist also als Liste [L1 , . . . , Ln ] gesehen eine (geordnete) Folge von Literalen. Im Gegensatz zur (Multi–)Mengendarstellung unterscheiden sich nun z.B. [L1 , . . . , Ln ] und [Ln , . . . , L1 ] voneinander. Mehrfache Vorkommen von Literalen dürfen in der Listendarstellung natürlich ebenfalls nicht entfernt werden. Für Horn–Formeln fordern wir, daß positive Literale immer am Anfang der Klausellisten stehen, gefolgt von negativen Literalen. Wir legen nun fest, daß eine Resolution nur mit den Literalen am Listenanfang erlaubt ist. Definition 1.7.25 (SLDF –Resolution) Eine SLDF –Resolutionsherleitung aus einer Horn–Formel ist eine SLD–Resolutionsherleitung, in der die Klauseln als Listen aufgefaßt und verarbeitet werden. In jedem Resolutionsschritt tritt das Atom A, über das resolviert wird, als negatives Literal am Anfang der Liste für die Verbindungsklausel [¬A, ¬B1 , . . . , ¬Br ] auf und als positives Literal am Anfang der Liste für die Seitenklausel [A, ¬C1 , . . . , ¬Cs ]. Die Resolventenliste entsteht, indem wir die Restliste der Verbindungsklausel an die Restliste der Seitenklausel anhängen [¬C1 , . . . , ¬Cs , ¬B1 , . . . , ¬Br ]. Der Index F bei der SLDF –Resolution steht für „first literal“. Anstelle des ersten Literals der Verbindungsklausel hätten wir auch das letzte Literal oder eine andere vernünftige Auswahl festlegen können. Die einzige Freiheit besteht bei der SLDF –Resolution nur noch in der Wahl der Seitenklauseln, d.h. der definiten Horn–Klauseln, die mit der negativen Verbindungsklausel resolviert werden. Dies hat aus Sicht der Implementation deutliche Vorteile. Es kann darauf verzichtet werden, mehrfache Vorkommen von Literalen in der Resolvente zu finden. Zur Aufzählung aller möglichen Herleitungen genügt es, z.B. mit einem geeignet gesteuerten Backtracking–Verfahren (Iterative Deepening) alle möglichen Seitenklauseln der Reihe nach durchzuprobieren, es sind aber nicht mehr alle zu irgendeinem Literal der Verbindungsklausel passenden Seitenklauseln zu untersuchen. Da wir im Verfahren so nur eine Schleife haben, erhöht sich die Übersichtlichkeit. Andererseits darf man nicht vergessen, daß diese Einschränkung der Wahlmöglichkeiten mit im allgemeinen längeren Herleitungen „bezahlt“ werden muß. Im Kapitel über die Horn–Logik werden wir noch näher auf die SLDS –, SLD– und die SLDF –Resolution eingehen. An dieser Stelle wollen wir die Besprechung mit dem Beweis der Widerlegungsvollständigkeit für die Klasse der Horn–Formeln beenden. Satz 1.7.26 Jede der folgenden Resolutionsrestriktionen ist korrekt, aber nicht widerlegungsvollständig für Formeln in KNF, jedoch widerlegungsvollständig für Horn–Formeln: 1. Input–Resolution 2. (SL,Input)–Resolution 3. (Input,N)–Resolution 4. SLDS –Resolution 5. SLD–Resolution 6. SLDF –Resolution Beweis: Die Korrektheit jeder der genannten Restriktionen ist offensichtlich. An dem Beispiel α = {(A ∨ B), (¬A ∨ B), (A ∨ ¬B), (¬A ∨ ¬B)} haben wir bereits gezeigt, daß mit Hilfe der Input–Resolution die leere Klausel nicht hergeleitet werden kann, obwohl die Formel widerspruchsvoll
72
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
ist. Jede der anderen Restriktionen kann als Input–Resolution aufgefaßt werden oder aus einer entsprechenden Herleitung schnell eine Input–Resolutionsherleitung konstruiert werden. Daher gilt die Aussage auch für diese Restriktionen. Für die Widerlegungsvollständigkeit für Horn–Formeln brauchen wir umgekehrt den Beweis nur für die schärfste Restriktion, die SLDF –Resolution zu führen. Sei α also eine widerspruchsvolle Horn–Formel. Daher muß α mindestens eine positive Unit–Klausel A enthalten. Ohne Beschränkung der Allgemeinheit können wir annehmen, daß α keine weiteren Klauseln der Form (A ∨ β) enthält. Wir zeigen nun durch eine Induktion über die Länge von α, daß es eine SLDF – Resolutionswiderlegung für α gibt. Für die kürzeste widerspruchsvolle Horn–Formel α = {¬A, A} mit |α| = 2 ist eine SLDF –Resolutionsherleitung der leeren Klausel offensichtlich. Sei nun |α| > 2 und α enthalte wieder die Unit–Klausel A, aber keine weiteren Klauseln mit dem Literal A. Wir nehmen weiter an, daß α die Klausel ¬A nicht enthält. Bilden wir nun die Formel α[A/1], so liegt damit eine wiederum widerspruchsvolle Horn–Formel vor, für die nach Induktionsvoraussetzung eine SLDF –Resolutionsherleitung der leeren Klausel existiert. Die Schritte dieser Herleitung können analog in α durchgeführt werden. Tritt dabei in einer Verbindungsklausel als erstes Literal der Liste ¬A auf, so fügen wir einen Resolutionsschritt mit der Unit–Klausel A der Ausgangsformel α ein. Insgesamt erhalten wir so eine SLDF –Resolutionswiderlegung für α.
1.7.7 Unit–Resolution Eine weitere unvollständige Resolutionsrestriktion ist die Unit–Resolution, bei der eine der Elternklausel immer eine Unit–Klausel, d.h. eine aus nur einem Literal bestehende Klausel sein muß. Definition 1.7.27 (Unit–Resolution) Eine Unit–Resolutionsherleitung ist eine Resolutionsherleitung, bei der in jedem Schritt eine der Eltern1 bzw. | U-RES . Für eine Formel klauseln eine Unit–Klausel ist. Als Bezeichnungen verwenden wir |U-RES ∗ Φ ∈ KNF ist der Unit–Resolutionsabschluß von Φ die Menge U Res (Φ) := {π | Φ | U-RES π}. Die Unit–Resolution läßt sich auch ganz analog zur allgemeinen Resolution über eine eingeschränkte Resolutionsregel definieren: L (¬L ∨ α) (Unit-Res) α (L bezeichnet ein Literal, wir können also mit positiven oder negativen Unit–Klauseln resolvieren.) Im Gegensatz zu den linearen Restriktionen handelt es sich hier nicht um eine Einschränkung der Herleitungen, sondern wie bei N–/P–Resolution um eine Restriktion der Resolutionsregel selbst. Ein Unit–Resolutionsschritt bewirkt immer eine Verkürzung einer Elternklausel, so daß jede Resolvente eine Teilklausel einer der Elternklauseln ist. Unit–Resolutionsschritte sind daher auch beliebig vertauschbar, da keine neuen Literale in die Resolventen eingeführt werden. Es gilt für eine Formel α ∈ KNF mit der Unit–Klausel {L1 } ∈ α die logische Äquivalenz α ≈ L1 ∧ α[L1 /1]. Die Streichungen von Literalen ¬L1 aus Klauseln in α sind gerade Unit–Resolutionsschritte. Können wir den Prozeß mit Unit–Klauseln aus den reduzierten Formeln fortsetzen, so erhalten wir schließlich α ≈ L1 ∧ . . . ∧ Lk ∧ α[L1 /1, . . . , Lk /1]. Enthält α[L1 /1, . . . , Lk /1] die leere Klausel, so war α widerspruchsvoll und wir haben eine Unit– Resolutionswiderlegung gefunden. Allerdings treten bei diesem Prozeß zwei Probleme auf. Zum einen können wir zu einer widerspruchsvollen Formel gelangen, die keine Unit–Klausel mehr enthält. Die Formel α = {(A ∨ B), (¬A ∨ B), (A ∨
1.7. GRUNDLAGEN DER RESOLUTION
73
¬B), (¬A ∨ ¬B)} ist ein Beispiel für eine widerspruchsvolle Formel, auf die die Unit–Resolution nicht anwendbar ist. Folgerung 1.7.28 Die Unit–Resolution ist korrekt, aber nicht widerlegungsvollständig für die Formelklasse KNF. In Kapitel 1.8 werden wir zeigen, daß die Unit–Resolution für eine Formel α genau dann zur leeren Klausel führt, wenn α eine Teilformel besitzt, die durch Umbenennung in eine Horn–Formel transformiert werden kann und diese Horn–Formel widerspruchsvoll ist. Für diese Formelklasse, also insbesondere für die Horn–Formeln ist die Unit–Resolution widerlegungsvollständig, d.h. mit der Unit–Resolution kann die leere Klausel erzeugt werden. An dieser Stelle wollen wir die Unit–Resolution mit der Input–Resolution vergleichen. Der folgende Satz aus [Cha 70] zeigt die Äquivalenz der Unit– und der Input–Resolution hinsichtlich widerlegbarer Formeln. Unterschiede finden sich zwischen den beiden Restriktionen zum Beispiel in Bezug auf Herleitbarkeit von Primimplikanten. Näheres dazu werden wir im Kapitel 1.8 besprechen. Satz 1.7.29
Sei α ∈ KNF, dann gilt: α | U-RES ⇐⇒ α | Input-Res
Beweis: Aufgrund der Korrektheit beider Restriktionen erhalten wir für jede Richtung aus der Existenz der entsprechenden Herleitung der leeren Klausel auch, daß die Ausgangsformel widerspruchsvoll ist. Durch Induktion über die Anzahl der Atome in α zeigen wir zunächst die Richtung α |Input-Res =⇒ α | U-RES . Es gelte also α | Input-Res . Enthält α genau ein Atom, so sind A und ¬A Klauseln in α und es gilt A, ¬A |RES . Es handelt sich hierbei sowohl um eine Input– als auch um eine Unit–Resolution. Gelte nun |atoms (α)| > 1. Da die leere Klausel sich im letzten Herleitungsschritt nur aus zwei Unit–Klauseln ergeben kann, gibt es Literale L und ¬L mit α |Input-Res L und ¬L ist Unit–Klausel in α. Wir können ohne Einschränkung davon ausgehen, daß außer in diesem letzten Schritt in der Input– Resolutionswiderlegung nicht über das Literal L resolviert wird. (Ein solcher Schritt kann weggelassen werden und verkürzt die Widerlegung.) Daher kann die Herleitung α |Input-Res L analog in α[L/0] durchgeführt werden und liefert dort die leere Klausel . Nach Induktionsvoraussetzung existiert dann auch eine Unit–Resolutionswiderlegung für α[L/0]. Resolvieren wir nun zuerst die Unit–Klausel ¬L mit allen Klauseln in α mit Literal L, so erhalten wir α | U-RES α[L/0]. Durch Verbinden der Herleitungsteile ergibt sich eine Widerlegung für α, d.h. α | U-RES . Die umgekehrte Richtung α | U-RES =⇒ α | Input-Res zeigen wir ebenfalls mit einer Induktion über die Anzahl der Atome in α. Der Induktionsanfang kann aus der vorherigen Induktion übernommen werden. Gelte nun wieder |atoms (α)| > 1. Aus α | U-RES folgt, daß α mindestens eine Unit–Klausel L enthält. Mit dem Vertauschungslemma 1.7.3 können wir den Herleitungsbaum und damit die Herleitung so umstrukturieren, daß alle Resolutionen über das Literal L nur mit der Klausel L und einer weiteren Klausel aus α an den Blättern des Herleitungsbaumes durchgeführt werden. Resolvieren wir L mit allen Klauseln mit Literal ¬L, so erhalten wir α |Unit-Res α[L/1] und haben, wenn wir die transformierte Herleitung noch entsprechend verkürzen, eine Unit–Resolutionswiderlegung für α[L/1].
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
74
Nach Induktionsvoraussetzung folgt α[L/1] |Input-Res . Diese Input–Resolutionswiderlegung kann analog für die Formel α[L/1](¬L) durchgeführt werden, so daß wir sofort α[L/1](¬L) |Input-Res erhalten oder aber α[L/1](¬L) | Input-Res ¬L. In letzterem Fall kann mit einem weiteren Input–Resolutionsschritt mit der Klausel L die Widerlegung beendet werden. Aus der Widerlegungsvollständigkeit der Input–Resolution für Horn–Formeln (Satz 1.7.26) folgt sofort die Widerlegungsvollständigkeit der Unit–Resolution für diese Formelklasse. Korollar 1.7.30
Die Unit–Resolution ist widerlegungsvollständig für die Klasse der Horn–Formeln.
Bereits am Anfang dieses Abschnitts hatten wir mit einer recht groben Abschätzung gezeigt, daß mit der Unit–Resolution in O(|α|2 ) eine Formel α widerlegt werden kann, sofern dies mit der Unit–Resolution überhaupt möglich ist. Aufgrund dieser geringen Komplexität ist die Unit–Resolution ein Verfahren, daß sinnvoll als erster Test eingesetzt werden kann, bevor eine widerlegungsvollständige Restriktion die Erfüllbarkeit entscheidet. Die Frage ist daher, wie schnell sich mit der Unit–Resolution tatsächlich entscheiden läßt, ob eine Horn–Formel widerspruchsvoll ist, bzw. ob es zu einer beliebigen Formel in KNF eine Unit– Resolutionswiderlegung gibt. Die Grundidee für ein solches Verfahren ist recht einfach, und zwar resolvieren wir mit den Unit–Klauseln nacheinander solange, bis die leere Klausel erzeugt worden ist oder keine neue Anwendung mehr möglich ist. Wir nutzen zusätzlich die triviale, aber wichtige Beobachtung aus, daß nach einer Unit–Resolution der Klauseln π = {L1 , . . . , Ln , L} und {¬L} die Elternklausel π durch die Resolvente ersetzt werden kann, da diese eine Teilklausel von π ist. In jeder weiteren Verwendung von π in einer Widerlegung kann stattdessen die Resolvente genutzt und die Widerlegung sogar noch gekürzt werden. Es genügt also, die zu den Unit–Klauseln komplementären Literale in den Klauseln mit mehr als einem Literal zu streichen. Neu auftretende Unit–Klauseln werden anschließend genauso behandelt. Dieser Prozeß wird in einer Schleife maximal so oft durchgeführt, wie die Formel lang ist, endet aber schon vorher bei Auftreten komplementärer Unit–Klauseln oder dann, wenn alle anfangs vorhandenen oder sich ergebende Unit–Klauseln entsprechend zur Formelkürzung eingesetzt worden sind. Um einen Linearzeit–Algorithmus zu erhalten, genügt es also, die entsprechenden Stellen der komplementären Auftreten von Literalen in konstanter Zeit zu finden und zu bearbeiten. Mit einer geeigneten Datenstruktur läßt sich dies erreichen. Wenn wir die Atome in einem Array realisieren und voraussetzen, daß die Atome der Formel durchnumeriert sind (Nummer des Atoms gleich Index im Array), so ist auch das Einlesen in linearer Zeit möglich. (Andernfalls müssen wir für die Suche zur Erkennung eines Namens für ein Atom O(log n) Zeit aufwenden.) Wir werden diesen Algorithmus in Kapitel 1.8 näher eingehen und dort auch den folgenden Satz beweisen. Satz 1.7.31 Für α ∈ KNF ist die Herleitbarkeit der leeren Klausel mit der Unit–Resolution α |Unit-Res in linearer Zeit entscheidbar.
1.7.8 Unit–Preference Strategie Die Unit–Resolution weist gegenüber anderen Restriktionen deutliche Vorteile auf: Resolventen sind Verkürzungen einer Elternklausel und können diese ersetzen, der Zeitaufwand und die Länge der Herleitung sind gering. Leider ist die Unit–Resolution nicht widerlegungsvollständig für die gesamte Klasse KNF.
1.7. GRUNDLAGEN DER RESOLUTION
75
Die Unit–Preference Strategie versucht die Vorteile der Unit–Resolution weitgehend zu erhalten, ohne die Widerlegungsvollständigkeit einzubüßen. Sie nutzt aus, daß es häufig sinnvoll sein kann, zuerst mit kurzen Klauseln, also insbesondere mit Unit–Klauseln zu resolvieren, so daß dadurch umfangreiche Resolventen möglichst lange vermieden werden. Generell ist die Durchführung von Unit–Resolutionsschritten sinnvoll, da hieraus immer eine Vereinfachung der Ausgangsformel resultiert. Es handelt sich bei der Unit–Preference Strategie um eine Ordnungsstrategie, die als Verfeinerung der Stufensättigungsstrategie aufgefaßt werden kann. Die Unit–Preference Strategie, wie sie in [WoCaRo 64] eingeführt worden ist, betrachtet die Klauseln der Ausgangsformel geordnet nach ihrer Länge (d.h. der Anzahl der Literale). Vereinfacht läßt sie sich durch folgende Schritte beschreiben: 1. Führe alle (neuen) Unit–Resolutionen durch, die möglich sind. 2. Ansonsten wähle ein beliebiges, noch nicht benutztes Klauselpaar zur Resolution entsprechend der Stufensättigungsstrategie. 3. Wenn eine neue Unit–Klausel erzeugt worden ist, dann gehe zu Schritt 1, ansonsten gehe zu Schritt 2. Diese Schleife wird so lange ausgeführt, wie noch neue Resolventen generiert werden können oder die leere Klausel als Resolvente auftritt. 3 Wir wollen zunächst auf das schon einmal angesprochene Problem der kürzesten Resolutionsbeweise eingehen, d.h. auf die Frage, welche Widerlegungslängen die Vorgehensweise der Unit–Preference Strategie liefert. Als erstes betrachten wir die reine Unit–Resolution. Wir vergleichen dazu die Länge der kürzesten Unit–Resolutionswiderlegungen und die Länge der kürzesten Resolutionswiderlegungen. Es wird sich zeigen, daß die kürzeste Unit–Resolutionswiderlegung für eine minimale widerspruchsvolle Formel Φ die Länge O(n2 ) haben kann, während die Länge der kürzesten Resolutionswiderlegung von Φ aber nur O(n) ist. Zusätzlich zeigen wir noch, daß dieses Größenverhältnis das beste ist, das wir erreichen können. Satz 1.7.32
Für alle n ≥ 3 gibt es eine Formel Φn , so daß gilt:
1. Φn ist minimal widerspruchsvoll. 2. |Φn | = n2 + 4n + 1 3. Die kürzeste Unit–Resolutionswiderlegung benötigt n2 + 2n Schritte. 4. Die kürzeste Resolutionswiderlegung benötigt 2n + 1 Schritte. Beweis: Für jedes n definieren wir die Formel Φn = {(B1 ∨ . . . ∨ Bn ), (D)}∪ {(¬Bi ∨ A1 ∨ . . . ∨ An ) | 1 ≤ i ≤ n} ∪ {(¬Ai ∨ ¬D) | 1 ≤ i ≤ n} Φn ist offensichtlich widerspruchsvoll. Wenn wir dagegen eine Klausel entfernen, ist die resultierende Formel erfüllbar, d.h. Φn ist auch minimal widerspruchsvoll. Die Länge von Φn ist n+1+n·(n+1)+2n = n2 + 4n + 1. 3 In der Prädikatenlogik ist die Generierung unendlich vieler Resolventen möglich. Daher muß in einer Implementation der Unit–Preference Strategie zur Vermeidung einer Endlosschleife das Programm z.B. bei Erreichen einer bestimmten Stufe in der Stufensättigungsstrategie abgebrochen werden. Hierbei muß auch die Zugehörigkeit der Unit–Klauseln zu den Stufen beachtet werden, da auch die Generierung unendlich vieler Unit–Klauseln möglich ist.
76
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
Die Länge der kürzesten Unit–Resolutionswiderlegung ist n2 + 2n, wie man leicht sehen kann. (n Unit– Resolutionen mit D, je n Unit–Resolutionen mit ¬Ai für 1 ≤ i ≤ n und zuletzt n Unit–Resolutionen mit B1 , . . . , Bn .) Die Länge der kürzesten Resolutionswiderlegung ist 2n+1. Dazu resolvieren wir nacheinander die Klauseln (¬Bi ∨ A1 ∨ . . . ∨ An ) für 1 ≤ i ≤ n mit der Klausel (B1 ∨ . . . ∨ Bn ) bzw. der vorherigen Resolvente. Wir erhalten in n Schritten die Klausel (A1 ∨ . . . ∨ An ). Anschließend erreichen wir mit weiteren n + 1 Resolutionsschritten die leere Klausel. Definition 1.7.33 (Minimalität für die Unit–Resolution) Eine Formel Φ ∈ KNF bezeichnen wir als minimal für die Unit–Resolution, falls Φ |U-RES gilt und für jede echte Teilformel Φ∗ ⊂ Φ es keine Unit–Resolutionswiderlegung gibt. Wir zeigen nun, daß solche für die Unit–Resolution minimalen Formeln nur beschränkt kürzere Resolutionswiderlegungen besitzen können. Satz 1.7.34 Sei Φ eine widerspruchsvolle Formel, die minimal für die Unit–Resolution ist und deren kürzeste Unit–Resolutionswiderlegung t Schritte benötigt. Dann benötigt die kürzeste Resolutionswiderlegung √ mindestens t Resolutionsschritte. Beweis: Wir führen den Beweis durch eine Induktion über die Länge der Formel. Für Φ = {A, ¬A} benötigen die Unit–Resolution und auch die unbeschränkte Resolution jeweils einen Schritt. Nehmen wir nun an, daß Φ die Länge t + 1 besitzt. An dieser Stelle verwenden wir im Vorgriff auf das Kapitel der Horn–Formeln den Satz 1.8.18. Dieser Satz besagt, daß jede unerfüllbare und für die Unit– Resolution minimale Formel Φ in eine Horn–Formel umbenannt werden kann. Wir können daher ohne Beschränkung der Allgemeinheit annehmen, daß Φ eine Horn–Formel ist. Da Φ wiederspruchsvoll ist, muß Φ mindestens eine positive Klausel, d.h. als Horn–Formel eine positive Unit–Klausel A enthalten. Da Φ minimal ist, enthält keine weitere Klausel das Literal A. Mit Hilfe der Unit–Resolution können wir daher die wiederum widerspruchsvolle und für die Unit–Resolution minimale Formel Φ[A/1] erzeugen. Da Φ[A/1] auch kürzer als Φ ist, folgt nach Induktionsvoraussetzung: Wenn die kürzeste Unit–Resolutionswiderlegung für Φ[A/1] insgesamt r Schritte benötigt, dann benötigt die kürzeste √ Resolutionswiderlegung mindestens r Schritte. Wir nehmen nun an, daß ¬A in s Klauseln auftritt. Dann benötigt die kürzeste Unit–Resolutionswiderlegung für Φ r + s Schritte, denn im Laufe jeder Unit–Resolutionswiderlegung muß jedes Vorkommen von ¬A einzeln durch eine Unit–Resolution eliminiert werden. Da Φ minimal für die Unit–Resolution ist, sind außerdem alle Klauseln mit Literal ¬A an der Widerlegung beteiligt. Sei qA die Länge der kürzesten Resolutionswiderlegung für Φ[A/1]. Die kürzeste Resolutionswiderlegung für Φ benötigt qA + 1 Schritte, da Φ aufgrund der Minimalität für die Unit–Resolution auch minimal im Hinblick auf die Resolution ist. Hier wird ausgenutzt, daß Φ eine Horn–Formel ist. Dann gilt:
2 + 2qA + 1 ≤ (qA + 1)2 r + s ≤ r + 2qA + 1 ≤ qA
Die erste Ungleichung gilt, da die Anzahl der Resolutionsschritte qA größer oder gleich s − 1 sein muß, da Φ[A/1] mindestens die s Klauseln enthält, die durch Streichung von ¬A entstehen, und alle Klauseln aufgrund der Minimalität von Φ[A/1] bezüglich der Resolution auch an jeder Resolutionsherleitung beteiligt sind.
1.7. GRUNDLAGEN DER RESOLUTION
77
Damit haben wir das gewünschte Ergebnis gezeigt. Für die detailierte Untersuchung der Unit–Preference Strategie führen wir an dieser Stelle die sogenannte k–Resolution ein, bei der die Länge einer der Elternklauseln durch k beschränkt ist. Als Spezialfall erhalten wir als 1–Resolution die Unit–Resolution. Definition 1.7.35 (k–Resolution) Ein k–Resolutionsschritt ist ein Resolutionsschritt mit der Einschränkung, daß eine der Elternklauseln eine k–Klausel ist. Formal heißt das für Klauseln ϕ und ψ 1 ϕ, ψ | k-Res π
⇐⇒
1 ϕ, ψ | RES π und (|ϕ| ≤ k oder |ψ| ≤ k)
1 . Mit | k-Res bezeichnen wir wie üblich die reflexive und transitive Erweiterung von |k-Res
Wir bezeichnen für eine Formel Φ ∈ KNF den k–Resolutionsabschluß von Φ mit k-Res∗ (Φ) := {π | Φ | k-Res π}. Man beachte, daß natürlich alle Klauseln von Φ in k-Res∗ (Φ) enthalten sind. Für jede Widerlegung werden aus k-Res∗ (Φ) nur solche Klauseln benötigt, die maximal jedes Atom einmal enthalten, da längere Klauseln tautologisch sind. D.h. für jede widerspruchsvolle Formel Φ ∈ KNF kann für k > |atoms (Φ)| eine k–Resolutionwiderlegung angegeben werden. Für k = 1 ist, wie gesagt, die k–Resolution gerade die Unit–Resolution. Für k = 2, d.h. eine der Elternklauseln besitzt höchstens zwei Literale, sieht man sofort, daß die 2–Resolution mächtiger als die Unit– Resolution, aber nicht widerlegungsvollständig für Formeln in 3–KNF ist. Offensichtlich ist sogar für jedes k die k–Resolution nicht widerlegungsvollständig für die Klasse KNF. Denn ein einfaches Beispiel für eine mit der k–Resolution nicht widerlegbare Formel ist Φk+1 ∈ k + 1–KNF, die Formel über den Atomen {A1 , . . . , Ak+1 }, die aus allen Klauseln bestehen, die alle diese Atome enthalten. Jede dieser Formeln Φk+1 ist aber widerspruchsvoll, aber die k–Resolution kann nicht angewendet werden, da Φk+1 nur Klauseln der Länge k + 1 besitzt. Eine modifizierte Version der Unit–Preference Strategie basiert auf der sukzessiven Berechnung der k– Resolutionsabschlußmengen. Diese Berechnung erfolgt im nachfolgenden Algorithmus durch die Funktion k–RES, die die Datenstruktur der Ausgangsformel um die mit der k–Resolution herleitbaren Klauseln erweitert. Innerhalb dieser Funktion k–RES kann wieder die Länge der Klauseln und Resolventen bei der Generierung der Resolutionsabschlußmengen berücksichtigt werden; wir wollen hierauf aber nicht näher eingehen, eine Vorgehensweise ist in [WoCaRo 64] beschrieben. Algorithmus 1.11: SHORT–CLAUSES Input: Φ ∈ KNF Output: true, falls Φ erfüllbar und false sonst begin k := 0; while ∈ / Φ or k ≤ |atoms (Φ)| do begin { Level k + 1 } k := k + 1; Φ := k–RES(Φ); end; if ∈ Φ then return(false) else return(true);
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
78 end;
Bei der Analyse des Algorithmus stößt man sofort auf die Frage, wie sich der Transformationsalgorithmus T–TRANS–3–KNF, der eine Formeln in KNF in eine erfüllbarkeitsäquivalente Formel in 3–KNF überführt, auf die Widerlegbarkeit mit der k–Resolution auswirkt. Der Algorithmus T–TRANS–3–KNF ersetzt lange Klauseln durch mehrere kurze Klauseln. Dabei wird jede Klausel (L1 ∨ . . . ∨ Ln ) mit n > 3 ersetzt durch die Klauseln (L1 ∨ L2 ∨ P1 ), (¬P1 ∨ L3 ∨ P2 ), . . . , (¬Pn−3 ∨ Ln−1 ∨ Ln ), wobei P1 , . . . , Pn−3 jeweils neue Atome für die Ausgangsformel sind. Dann gilt natürlich für k ≥ 3, daß, falls die ursprüngliche Formel mit der k–Resolution widerlegbar ist, sie auch nach der Transformation in 3–KNF mit der k–Resolution widerlegbar ist. Lemma 1.7.36
Für k ≥ 3 und Φ ∈ KNF gilt: Φ | k-Res
=⇒
T–TRANS–3–KNF(Φ) | k-Res
Umgekehrt gibt es aber Beispiele, für die T–TRANS–3–KNF(Φ) | k-Res gilt, jedoch nicht Φ | k-Res .
1.8. HORN-LOGIK
79
1.8 Horn-Logik Die im folgenden behandelten Formeln, die sogenannten Horn–Formeln, wurden bereits in Kapitel 1.2 eingeführt. Eine Klausel π ist eine Horn–Klausel genau dann, wenn π maximal ein positives Literal enthält. Eine Horn–Formel ist eine Konjunktion von Horn–Klauseln. Die Klasse der Horn–Formeln wird mit HORN bezeichnet. Beispiele für Horn–Klauseln sind (A ∨ ¬B ∨ ¬C) und (¬A ∨ ¬B), A und ¬B. Keine Horn– Klauseln sind dagegen (A ∨ B) und (A ∨ B ∨ ¬C). Der Anteil der Horn–Formeln an allen Formeln in KNF ist zwar relativ gering, trotzdem lassen sich viele Anwendungen als Horn–Formeln darstellen. Wir wollen hier nur kurz auf die Größenverhältnisse eingehen. Betrachten wir Formeln in 3–KNF mit n Klauseln der Länge 3, so gibt es insgesamt M (3n) = A(3n) · 23n Formeln. A(3n) bezeichnet die Anzahl der Verteilungen von bis zu 3n Atomen auf 3n Stellen. 23n drückt die Anzahl der möglichen Verteilungen von Negationen auf 3n Stellen aus. Für Horn–Formeln mit n Klauseln der Länge 3 gibt es ebenso A(3n) Verteilungen von Atomen. Die Anzahl der möglichen Verteilungen von Negationen auf n Klauseln beträgt aber hier nur 4n . Insgesamt erhalten wir als Anzahl der Horn–Formeln H(3n) = A(3n) · 22n . Daraus ergibt sich als Verhältnis H(3n) : M (3n) = 1 : 2n . Eine wichtige Teilklasse der Horn–Formeln sind die sogenannten definiten Horn–Formeln, die ebenfalls in Kapitel 1.2 eingeführt wurden. Eine definite Horn–Klausel ist eine Klausel mit genau einem positiven Literal. Eine Konjunktion von definiten Horn–Klauseln bezeichnen wir als definite Horn–Formel und die Klasse dieser Formeln mit DHORN. Eine definite Horn–Klausel A1 ∨¬A2 . . . ∨¬An läßt sich auch als Implikation A1 ← A2 , . . . , An schreiben. Für Horn–Formeln lassen sich einige einfache, jedoch hilfreiche Aussagen zeigen. Lemma 1.8.1
Für Horn–Formeln gilt:
1. Jede definite Horn–Formel ist erfüllbar. 2. Eine Horn–Formel α ist erfüllbar, falls α keine positive Unit–Klausel enthält. Eine Horn–Formel kann also nur dann widerspruchsvoll sein, falls sie mindestens eine negative Klausel enthält. In einer widerspruchsvollen Horn–Formel gibt es unter den negativen Klauseln immer eine, so daß die Menge der definiten Horn–Klauseln zusammen mit dieser einen negativen Klauseln schon widerspruchsvoll ist. Lemma 1.8.2 Sei α = β ∪ γ eine widerspruchsvolle Horn–Formel, wobei β nur definite Horn–Klauseln und γ nur negative Klauseln enthält, dann gilt: α ist widerspruchsvoll
⇐⇒
∃γ0 ∈ γ : (β ∪ {γ0 } ist widerspruchsvoll)
Beweis: Sei α = β ∪ γ widerspruchsvoll und sei für alle γ0 ∈ γ die Formel β ∪ {γ0 } erfüllbar. Sind A1 , . . . , Am die aus β folgerbaren Atome, d.h. β |= Aj für 1 ≤ j ≤ m, dann gilt atoms (γ0 ) ⊆ {A1 , . . . , Am }. Sei eine Bewertung mit (Aj ) = 1 für 1 ≤ j ≤ m und für alle Atome B ∈ {A1 , . . . , Am } sei (B) = 0. Dann folgt (γ0 ) = 1 für alle γ0 ∈ γ. Andererseits besitzt eine unter dieser Bewertung unerfüllbare Klausel aus β Prämissen nur aus {A1 , . . . , Am }. Damit ist die Konklusion ebenfalls ein folgerbares Atom, im Widerspruch zur Unerfüllbarkeit der Klausel. Also gilt (β) = 1 und daher (α) = 1 im Widerspruch zur Voraussetzung.
80
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
Lemma 1.8.3 Die Klassen HORN, DHORN und 2–KNF sind abgeschlossen gegen Deduktion, d.h. sei α ∈ HORN (DHORN, 2–KNF) und π eine nicht tautologische Klausel mit α |= π, dann gibt eine Teilklausel ρ von π, mit α |= ρ und ρ ist Horn–Klausel (definite Horn–Klausel, 2–Klausel). Beweis: Wegen Lemma 1.7.5 wissen wir, daß für jede nicht tautologische Klausel π, die aus einer Formel α ∈ KNF folgt, es eine Teilklausel ρ von π gibt, die mit Hilfe der Resolution aus α erzeugt werden kann. Da die Resolution, angewandt auf Horn–Klauseln (definite Horn–Klauseln, 2–Klauseln), wieder eine Horn– Klausel (definite Horn–Klausel, 2–Klausel) ergibt, folgt sofort die Behauptung, wenn wir die leere Klausel als Horn–Klausel bzw. 2–Klausel auffassen. (Formeln aus DHORN sind immer erfüllbar!) Eine weitere Besonderheit von Horn–Formeln ist die Abgeschlossenheit gegenüber der Durchschnittbildung für erfüllende Bewertungen. Der Durchschnitt zweier Bewertungen 1 und 2 über Atomen A1 , . . . , An ist definiert als ( 1 ∩ 2 )(Ai ) := 1 (Ai ) · 2 (Ai ) für 1 ≤ i ≤ n. Lemma 1.8.4 Sei α eine erfüllbare Horn–Formel mit erfüllenden Bewertungen 1 und 2 , dann ist auch der Durchschnitt dieser Bewertungen ( 1 ∩ 2 ) eine erfüllende Bewertung von α. Beweis: Sei α eine erfüllbare Horn–Formel mit atoms (α) = {A1 , . . . , An } und seien 1 und 2 zwei erfüllende Bewertungen von α. Wir zeigen, daß jede Klausel in α vom Durchschnitt ( 1 ∩ 2 ) erfüllt wird. Ist L eine Unit–Klausel in α, dann gilt 1 (L) = 2 (L) = ( 1 ∩ 2 )(L). Sei nun π = (A0 ∨ ¬A1 ∨ . . . ∨ ¬Ak ) eine definite Horn–Klausel in α. Für 1 (A0 ) = 2 (A0 ) = 1 folgt ( 1 ∩ 2 )(π) = 1. Falls 1 (A0 ) = 2 (A0 ) = 0, dann gibt es ein r und s mit 1 (Ar ) = 2 (As ) = 0. Damit gilt auch ( 1 ∩ 2 )(Ar ) = ( 1 ∩ 2 )(As ) = 0 und daher ( 1 ∩ 2 )(π) = 1. Sei 1 (A0 ) = 1 und 2 (A0 ) = 0, dann gibt es ein r mit 2 (Ar ) = 0. Da ( 1 ∩ 2 )(Ar ) = 0 gilt, folgt sofort ( 1 ∩ 2 )(π) = 1. Sei π = (¬A1 ∨ . . . ∨ ¬At ) eine negative Klausel, dann gibt es r und s mit 1 (¬Ar ) = 1 und 2 (¬As ) = 1. Also gilt ( 1 ∩ 2 )(Ar ) = ( 1 ∩ 2 )(As ) = 0 und damit ( 1 ∩ 2 )(π) = 1. Wir haben also für jeden Klauseltyp gezeigt, daß der Durchschnitt von 1 und 2 die Klausel erfüllt. Also erfüllt ( 1 ∩ 2 ) auch die Formel α.
1.8.1 Umbenennung Zu Beginn des letzten Absatzes hatten wir bereits gesagt, daß der Anteil der Horn–Formeln in der Klasse KNF eher klein ist. Daher existiert natürlich nicht zu jeder Formel in KNF eine äquivalente Horn–Formel, wie schon das Beispiel (A ∨ B) zeigt. Eine Möglichkeit für manche Formeln zwar nicht zu einer logisch äquivalenten Horn–Formel, aber ohne umfangreiche strukturelle Transformationen doch zu einer erfüllbarkeitsäquivalenten Horn–Formel zu gelangen, ist die simultane Ersetzung von Atomen durch die entsprechenden negierten Atome. Wenn wir in der Formel (A ∨ B) das Atom A durch ¬A ersetzen, erhalten wir mit (¬A ∨ B) eine Horn–Klausel. Auf diese Umbenennung, die auch als Renaming bezeichnet wird, wollen wir nun näher eingehen. Definition 1.8.5 (Umbenennung) Sei α eine Formel in KNF, dann heißt eine Funktion f : literals (α) → literals (α) Umbenennung genau dann, wenn für alle L ∈ literals (α) gilt: f (L) ∈ {¬L, L} und f (¬L) ≈ ¬f (L). Die Menge aller Umbenennungen von α bezeichnen wir mit U (α).
1.8. HORN-LOGIK
81
Beispiele: a) Sei α = {(A ∨ B ∨ ¬C), (¬A ∨ ¬C), (B ∨ ¬D)} und f (A) = ¬A, f (B) = ¬B, f (C) = C und f (D) = D, dann erhalten wir mit dieser Umbenennung die Horn–Formel f (α) = {(¬A ∨ ¬B ∨ ¬C), (A ∨ ¬C), (¬B ∨ ¬D)}. b) Für die Formel β = {(A ∨ B ∨ C), (¬A ∨ ¬B ∨ ¬C)} gibt es dagegen keine Umbenennung, die zu einer Horn–Formel führt. 2 Die Existenz einer Umbenennung, die zu einer Horn–Formel führt, kann sogar in linearer Zeit entschieden werden kann. Wir stellen einen Algorithmus vor, der auf den Arbeiten [Asp 80] und [Le 78] basiert. Satz 1.8.6
Die Klasse {α ∈ KNF | ∃f ∈ U (α) : f (α) ∈ HORN} ist in linearer Zeit entscheidbar.
Beweis: Der Beweis beruht im wesentlichen auf einer linearen Transformation, die einer beliebigen Formel α ∈ KNF eine Formel T (α) aus 2–KNF zuordnet, so daß T (α) erfüllbar ist genau dann, wenn es eine Umbenennung f ∈ U (α) mit f (α) ∈ HORN gibt. Jede erfüllende Bewertung für T (α) liefert eine Umbenennung. Da Unit–Klauseln unter allen Umbenennungen Horn–Klauseln bleiben, brauchen sie nicht berücksichtigt zu werden. Wir gehen daher im folgenden von einer Formel α = {α1 , . . . , αm } ∈ KNF aus, die keine Unit–Klauseln enthält. Die Idee besteht nun darin, für jede Klausel zu fordern, daß nach der Umbenennung von je zwei Literalen aus der Klausel mindestems eines negativ sein muß. Es kann dann also höchstens ein positives Literal in jeder Klausel geben. Man kann dies durch eine Formel aus 2–KNF ausdrücken, die alle möglichen Literalpaare jeder Klausel enthält. Eine erfüllende Bewertung für diese Formel bewertet von je zwei Literalen der Klausel mindestens eines positiv und somit höchstens ein Literal negativ. Hieraus kann die Umbenennung abgelesen werden. Allerdings würde bei diesem Vorgehen die Bildung aller Literalpaare zu jeder Klausel bei nicht beschränkten Klausellängen zu einem insgesamt quadratischen Aufwand führen. Man hilft sich hier mit neuen zur Abkürzung eingeführten Atomen, entsprechend dem Vorgehen beim Verfahren T–TRANS–k–KNF. Für jede Klausel αi = (Li,1 ∨ . . . ∨ Li,ki ) führen wir neue Atome Yi,1 , . . . , Yi,ki −1 ein und definieren T (αi ) := {(Li,1 ∨ Yi,1 )} ∪ {(¬Yi,j−1 ∨ Li,j ), (¬Yi,j−1 ∨ Yi,j ), (Li,j ∨ Yi,j )} ∪ 1<j
{(¬Yi,ki −1 ∨ Li,ki )}; T (αi ). T (α) := 1≤i≤m
Als Implikationsgraph stellt sich T (αi ) so dar: ¬Li,3 ... ¬Li,ki ¬Li,2 ↓ ↓ ... ↓ ¬Yi,1 ← ¬Yi,2 ← . . . ← ¬Yi,ki−1 ↓ ↓ ... ↓ Li,2 ... Li,ki−1 Li,1 Offensichtlich gilt T (α) |= Li,j ∨ Li,p für 1 ≤ i ≤ m und 1 ≤ j < p ≤ ki , also für je zwei verschiedene Literale einer Klausel. Denn sei z.B. j < p, dann gilt: (Li,j ∨ Yi,j ), (¬Yi,j ∨ Yi,j+1 ), (¬Yi,j+1 ∨
82
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
Yi,j+2 ), . . . , (¬Yi,p−2 ∨Yi,p−1), (¬Yi,p−1 ∨Li,p ) |= (Li,j ∨Li,p ). Somit erhalten wir T (α) |= {(Li,j ∨Li,p ) | 1 ≤ i ≤ m, 1 ≤ j = p ≤ ki } =: S(α). Wir zeigen nun zuerst, daß die Existenz einer Umbenennung f mit f (α) ∈ HORN die Erfüllbarkeit von T (α) impliziert. Sei f ∈ U (α) mit f (α) ∈ HORN gegeben. Wir führen eine partielle erfüllende Bewertung ein, und zwar sei (Li,j ) = 1, falls f (Li,j ) negativ ist, und (Li,j ) = 0 sonst. Offensichtlich gilt für jede Klausel αi , daß für je zwei Literale f (Li,j ) und f (Li,j ) für 1 ≤ j < p ≤ ki mindestens eines der Literale negativ ist und daß maximal ein positives Literal f (Li,t ) mit 1 ≤ t ≤ ki existiert. Damit folgt auch (Li,j ∨ Li,p ) = 1 für alle 1 ≤ j < p ≤ ki . Eine solche Klausel kann unter nur dann den Wert 0 annehmen, wenn beide Literale f (Li,j ) und f (Li,p ) positiv sind. Dies steht aber im Widerspruch zu f (αi ) ∈ HORN. Es bleibt noch zu zeigen, daß aus der Erfüllbarkeit von S(α) unter auch die Erfüllbarkeit von T (α) unter
folgt. Dazu führen wir eine Fallunterscheidung nach der Belegung der Atome unter durch, die man pro Klausel leicht am oben angegebenen Implikationsgraphen von T (αi ) verfolgen kann. Offensichtlich genügt es, der Reihe nach für alle 1 ≤ p ≤ ki den Fall zu betrachten, daß (Li,p ) = 0 und für alle 1 ≤ j < p aber (Li,j ) = 1 gilt. Da (S(α)) = 1 gilt und entsprechende 2–Klauseln in S(α) enthalten sind, folgt (Li,q ) = 1 für alle p < q ≤ ki . Damit erhalten wir die Möglichkeit, die Werte für Yi,1 , . . . , Yi,ki −1 unter festzulegen. Mit
(Yi,j ) := 0 für 1 ≤ j < p und (Yi,q ) := 1 für p ≤ q < ki erhalten wir (T (αi )) = 1. Da die Atome Yi,j mit 1 ≤ j ≤ ki für jede Klausel insgesamt neu gewählt wurden, für je zwei Klauseln also disjunkt sind, haben wir eine zulässige Erweiterung von auf T (α) definiert mit (T (α)) = 1. Im zweiten Schritt zeigen wir nun umgekehrt, wie aus einer erfüllenden Bewertung von T (α) eine Umbenennung f bestimmt werden kann mit f (α) ∈ HORN. Da T (α) erfüllbar ist, muß auch S(α) erfüllbar sein. Für eine erfüllende Bewertung und eine Klausel αi folgt dann ({Li,j ∨ Li,p | 1 ≤ j = p ≤ ki }) = 1 und daher gilt für maximal ein t mit 1 ≤ t ≤ ki die Aussage (Li,t ) = 0. Auf dieser Eigenschaft erfüllender Bewertungen von T (α) beruht die Konstruktion einer Umbenennung. Wir definieren für jedes Atom A ∈ atoms (α) f (A) = ¬A, falls (A) = 1 und f (A) = A sonst. Die Umbenennung impliziert f (αi ) ∈ HORN für jede Klausel αi , denn enthielte f (αi ) zwei positive Literale f (Li,j ) und f (Li,p ) mit 1 ≤ j < p ≤ ki , so wäre die Klausel Li,j ∨ Li,p aus S(α) unter nicht erfüllbar. Betrachten wir die Konstruktion von T (α), so sehen wir, daß die Länge von T (α) linear von der Länge von α abhängt und T (α) in linearer Zeit generiert werden kann. Außerdem ist T (α) eine Formel in 2–KNF. Wir können den Linearzeit–Algorithmus SAT–2–KNF auf T (α) anwenden und erhalten in linearer Zeit, falls T (α) erfüllbar ist, eine erfüllende Bewertung und damit eine Umbenennung f mit f (α) ∈ HORN . Insgesamt erhalten wir einen Linearzeit–Algorithmus, den wir mit UMBENENNUNG bezeichnen. Algorithmus 1.12: UMBENENNUNG Input: α ∈ KNF Output: true und ein f ∈ U (α) mit f (α) ∈ HORN, falls eine Umbenennung existiert, false sonst function UMBENENNUNG(α : KNF) : boolean; begin
1.8. HORN-LOGIK
83
{ Sei α = {α1 , . . . , αn , αn+1 , . . . , αr } mit {αn+1 , . . . , αr } Unit–Klauseln } σ := {α1 , . . . , αn }; β := {αn+1 , . . . , αr }; T (α) := ∅; for i = 1 to n do begin { Sei αi = (Li,1 ∨ . . . ∨ Li,k )} for j = 1 to k − 1 do Yi,j := new-atom(); Ti := {(Li,1 ∨ Yi,1 )} ∪ {(¬Yi,k−1 ∨ Li,k )}; Ti := Ti ∪ 1<j
Eine Reihe von Transformationen erhalten die Eigenschaft, daß eine Umbenennung in eine Horn–Formel existiert. Ein Beispiel dafür ist die Anwendung des Algorithmus T–TRANS–3–KNF aus Abschnitt 1.2, der zu jeder Formel aus KNF eine erfüllbarkeitsäquivalente Formel in 3–KNF erzeugt. Der Beweis verbleibt als Übungsaufgabe. Lemma 1.8.7
Sei α ∈ KNF und β = T–TRANS–3–KNF(α), dann gilt: ∃f0 ∈ U (α) : f0 (α) ∈ HORN
⇐⇒
∃f1 ∈ U (β) : f1 (β) ∈ HORN
Der Beweis des folgenden Satzes zeigt, daß Formeln in 2–KNF für die Umbenennung eine interessante Rolle spielen. Satz 1.8.8
Sei α ∈ 2–KNF.
a) α enthalte keine Unit–Klauseln, dann gilt: ∃f ∈ U (α) : f (α) ∈ HORN =⇒ α ist erfüllbar. b) α ist erfüllbar =⇒ ∃f ∈ U (α) : f (α) ∈ HORN Beweis: Ad a: Enthält eine Horn–Formel keine Unit–Klauseln, dann ist die Formel erfüllbar. Da eine Umbenennung die Erfüllbarkeit erhält, folgt sofort die Behauptung. Ad b: Im ersten Schritt wenden wir den Algorithmus SAT-2-KNF auf α an und erhalten in linearer Zeit eine erfüllende Bewertung . Eine brauchbare Umbenennung ist dann f (A) = ¬A, falls (A) = 1 und f (A) = A sonst.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
84
Sei αi = (L1 ∨ L2 ) eine Klausel in α, dann gilt (L1 ) = 1 oder (L2 ) = 1. O.B.d.A. gelte (L1 ) = 1. Sei L1 = A, dann ist f (L1 ) = ¬L1 . Für L1 = ¬A und wegen (L1 ) = (¬A) = 1 folgt sofort f (L1 ) = f (¬A) = ¬A = L1 . Also ist f (L1 ) ein negiertes Atom. Da wir nur Klauseln mit maximal 2 Literalen betrachten, ist jede Klausel eine Horn–Klausel. Schränkt man die Syntax der Zielformeln einer Umbenennung noch weiter ein, führt dies eventuell zu einem wesentlich komplexeren Problem. Eine mögliche und sinnvolle Zielklasse sind die definiten Horn–Formeln DHORN. Satz 1.8.9
{α ∈ HORN | ∃f ∈ U (α) : f (α) ∈ DHORN} ist NP–vollständig.
Beweis: Das Problem kann mit einem nicht–deterministischen Algorithmus in polynomialer Zeit gelöst werden, indem eine Umbenennung geraten und die Struktureigenschaft überprüft wird. Die Vollständigkeit zeigen wir durch eine Reduktion des 1–3–SAT-Problems, wobei wir an Stelle der positiven Klauseln nur negative Klauseln zulassen. Sei α = {α1 , . . . , αm } mit αi = (¬Ai,1 ∨ ¬Ai,2 ∨ ¬Ai,3 ) und Atomen Ai,j gegeben. Man beachte, daß α eine Horn–Formel ist. Dann gilt: α ∈ 1–3–SAT
⇐⇒
∃f ∈ U (α) : f (α) ∈ DHORN.
Sei α ∈ 1–3–SAT, dann gibt es eine Bewertung , so daß für jedes i mit 1 ≤ i ≤ m genau ein j mit 1 ≤ j ≤ 3 mit (¬Ai,j ) = 1 existiert. Die Umbenennung f ist dann definiert durch f (A) = ¬A, falls
(¬A) = 1 und f (A) = A sonst. Da in jeder Klausel genau ein negiertes Atom durch ein nicht–negiertes Atom ersetzt wird, ist f (α) eine definite Horn–Formel. Sei nun umgekehrt eine Umbenennung f (α) ∈ DHORN gegeben. Dann gibt es zu jeder Klausel αi = (¬Ai,1 ∨ ¬Ai,2 ∨ ¬Ai,3 ) ein negiertes Atom ¬Ai,j , das durch Ai,j ersetzt wird. Die anderen negierten Atome bleiben bestehen. Mit der Definition (¬A) = 1 falls f (A) = ¬A und f (A) = A sonst, erhalten wir eine erfüllende Bewertung, die den Anforderungen genügt. Also liegt α in 1–3–SAT. Als Konsequenz aus dem vorherigen Satz ergibt sich dieses Lemma. Lemma 1.8.10
{α ∈ KNF | ∃f ∈ U (α) : f (α) ∈ DHORN} ist NP–vollständig.
Betrachten wir anstelle der Horn–Formeln oder der KNF–Formeln Ausdrücke in 2–KNF, so ist dagegen sehr schnell feststellbar, ob es eine Umbenennung in eine definite Horn–Formel gibt. Lemma 1.8.11
{α ∈2–KNF | ∃f ∈ U (α) : f (α) ∈ DHORN} ist in linearer Zeit entscheidbar.
Beweis: Wir nutzen wieder den Algorithmus SAT–2–KNF aus, der in linearer Zeit eine Formel aus 2–KNF auf Erfüllbarkeit testet. Zu jeder Formel α = {α1 , . . . , αm } ∈ 2–KNF konstruieren wir eine Formel β ∈ 2–KNF, die genau dann erfüllbar ist, wenn es eine Umbenennung f ∈ U (α) gibt mit f (α) ∈ DHORN. Für αi = (¬A ∨ ¬B) oder (A ∨ B) sei βi := (¬A ↔ B); für αi = (¬A ∨ B) oder (A ∨ ¬B) sei βi := (A ↔ B); für αi = A sei βi = A und für αi = ¬A sei βi = ¬A. Sei nun β erfüllbar mit der Bewertung , dann überführt die Umbenennung f (A) = A, falls (A) = 1, und f (A) = ¬A sonst, die Formel α in eine definite Horn–Formel. Gelte nun umgekehrt, daß es eine Umbenennung f ∈ U (α) mit f (α) ∈ DHORN gibt. Eine erfüllende Bewertung für β erhalten wir mit (A) = 1, falls f (A) = A, und (A) = 0 sonst.
1.8. HORN-LOGIK
85
Insgesamt ergibt sich ein linearer Aufwand, da β in linearer Zeit konstruiert werden kann und eine Formel in 2–KNF in linearer Zeit mit dem Algorithmus SAT–2–KNF auf Erfüllbarkeit überprüft werden kann. Der nachfolgende Algorithmus UMBENENNUNG–2–KNF–DHORN realisiert dieses Verfahren; die Umbenennung f kann in Form einer Markierung der Atom–Knoten der Datenstruktur an das aufrufende Programm zurückgegeben werden. Algorithmus 1.13: UMBENENNUNG–2-KNF–DHORN Input: α = {α1 , . . . , αm } ∈ 2–KNF Output: true und f ∈ U (α) : f (α) ∈ DHORN, falls f existiert und false sonst function UMBENENNUNG–2-KNF–DHORN(α : 2–KNF) : boolean; begin for i = 1 to m do begin if αi = (¬A ∨ ¬B) or αi = (A ∨ B) then βi := (A ∨ B) ∧ (¬A ∨ ¬B); if αi = (¬A ∨ B) or αi = (A ∨ ¬B) then βi := (¬A ∨ B) ∧ (A ∨ ¬B); if αi = A then βi = A; if αi = ¬A then βi = ¬A; end; {β := {β1 , . . . , βm }} if SAT–2–KNF(β) = false then return(false) else begin { (β) = 1} foreach atom A ∈ α do if (A) = 1 then f (A) := A else f (A) := ¬A; return(true); end; end;
Wenn wir schon nicht alle Formeln in KNF durch eine Umbenennung in eine Horn–Formel transformieren können, dann ist es manchmal doch hilfreich, zumindest einen Teil der Klauseln in Horn–Klauseln umzubenennen. Eine mögliche Frage ist, ob von einer Formel in KNF nicht mindestens m Klauseln in eine Horn–Formel umbenannt werden können. Diese Problemstellung bezeichnen wir mit „Partial Renaming HORN“. Problem: Partial Renaming HORN Eingabe: α = {α1 , . . . , αn } ∈ KNF, m ≤ n fest Frage:
Gibt es eine Umbenennung f ∈ U (α), so daß wenigstens m Klauseln αi1 , . . . , αim aus α nach der Umbenennung in HORN sind, d.h. f ({αi1 , . . . , αim }) ∈ HORN
Lemma 1.8.12
Das Problem Partial Renaming HORN ist NP–vollständig.
Beweis: Die NP–Vollständigkeit zeigen wir ebenfals durch eine Reduktion des 1–3–SAT–Problems. Sei α = {(A1,1 ∨ A1,2 ∨ A1,3 ), . . . , (An,1 ∨ An,2 ∨ An,3 )} eine Formel, in der nur positive Literale auftreten. Wir ordnen der Formel α die folgende Formel β zu:
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
86 Zu jeder Klausel (Ai,1 ∨ Ai,2 ∨ Ai,3 ) sei
βi := {(Ai,1 ∨ Ai,2 ∨ Ai,3 ), (¬Ai,1 ∨ ¬Ai,2 ), (¬Ai,2 ∨ ¬Ai,3 ), (¬Ai,1 ∨ ¬Ai,3 ), (¬Ai,1 ∨ Ai,2 ∨ Ai,3 ), (Ai,1 ∨ ¬Ai,2 ∨ Ai,3 ), (Ai,1 ∨ Ai,2 ∨ ¬Ai,3 )} und β := β1 ∪ . . . ∪ βn . Wir zeigen nun α ∈ 1–3–SAT ⇐⇒ ∃δ ⊆ β : die Anzahl der Klauseln in δ ist mindestens 5n und es gibt eine Umbenennung f ∈ U (β) mit f (δ) ∈ HORN. Sei α ∈ 1–3–SAT, dann gibt es eine Bewertung , so daß genau ein Atom Ai,j in jeder Klausel für diese Bewertung wahr wird. O.B.d.A. sei für alle i dieses Atom Ai,1 . Wir definieren dann f (A) = ¬A, falls
(A) = 1 und f (A) = A sonst. Mit dieser Umbenennung sind 5 Klauseln aus βi in Horn–Form, und zwar die zweite, dritte, vierte, sechste und siebte Klausel. Nehmen wir nun an, daß eine entsprechende Umbenennung f existiert. Dann gilt für jedes i, daß es genau ein j mit f (Ai,j ) = ¬Ai,j gibt und f (Ai,t ) = Ai,t für t = j. (Wie man leicht sieht erhält man für ein i höchstens vier Horn–Klauseln, wenn nicht genau ein Atom verändert wird.) Die Umbenennung f induziert eine Bewertung , und zwar (Ai,j ) = 1, falls f (Ai,j ) = ¬Ai,j und falsch sonst, für die genau ein Atom pro Klausel in α wahr wird. Damit haben wir α ∈ 1–3–SAT bewiesen. Indem wir die Anzahl der in HORN umbenennbaren Klauseln schrittweise erhöhen, erhalten wir einen NP– Algorithmus für das Problem der Bestimmung einer maximalen nach HORN umbenennbaren Teilformel. Zusammen mit dem in [ChHo 92] gezeigten Resultat, daß dieses Problem NP–hart ist, erhalten wir die NP–Vollständigkeit. Ein zweites Problem, das Auswahlproblem, ist ein weiteres Beispiel für eine Fragestellung, die bereits für Horn–Formeln nicht leicht zu lösen ist. Wir stellen uns vor, eine Formel α (eine Wissensbasis) sei gegeben und ein Anwender kann gewisse Fakten, d.h. positive Unit–Klauseln (als Beschreibung einer Situation) hinzufügen. Dazu sei für jede Eingabe der Vorrat an Fakten festgelegt. Das Problem ist nun festzustellen, ob es Eingabekombinationen gibt, die zu einem Widerspruch führen (Fehlersituation). Formal läßt sich dies folgendermaßen beschreiben. Problem: Auswahl HORN Eingabe: {A1 , B1 }, . . . , {An , Bn } Mengen von Atomen; α ∈ HORN Frage:
∃X1 ∈ {A1 , B1 } . . . ∃Xn ∈ {An , Bn } : α ∪
Lemma 1.8.13
1≤i≤n {Xi }
ist widerspruchsvoll.
Das Problem Auswahl HORN ist NP–vollständig.
Beweis: Das Problem liegt in NP, denn es genügt eine Folge (X1 , . . . , Xn ) zu raten und anschließend in linearer Zeit zu überprüfen, ob α ∪ {X1 , . . . , Xn } widerspruchsvoll ist. Den Beweis der Vollständigkeit führen wir mittels einer Reduktion des 3–SAT–Problems.
Sei α = 1≤i≤n {(Li,1 ∨ Li,2 ∨ Li,3 )} mit Literalen Li,j und den Atomen A1 , . . . , Am gegeben. Dann − + − definieren wir für neue Atome A+ i und Ai die Mengen Mi := {Ai , Ai } und
L∗i,j
:=
A+ falls Li,j = Ak k − Ak falls Li,j = ¬Ak
1.8. HORN-LOGIK
87
Weiterhin legen wir fest β := {L∗i,j → Yi | 1 ≤ j ≤ 3, 1 ≤ i ≤ n} ∪ {Y1 ∧ . . . ∧ Yn → Y + } ∪ {Y1 ∧ . . . ∧ Yn → Y − } ∪ − + − {¬A+ i ∨ ¬Ai | 1 ≤ i ≤ n} ∪ {¬Y ∨ ¬Y }, wobei Y1 , . . . , Yn , Y + , Y − neue Atome sind. Die Formel β ist eine Horn–Formel und es gilt, daß α erfüllbar ist genau dann, wenn eine Auswahl X1 ∈ M1 , . . . , Xn ∈ Mn existiert, so daß β ∪ {X1 , . . . , Xn } widerspruchsvoll ist. Sei α ∈ 3–SAT, dann gibt es eine Bewertung , so daß für jedes i mindestens ein j mit (Li,j ) = 1 existiert. Wir definieren deshalb A+ , falls (Ak ) = 1 k Xk := , falls (Ak ) = 0 A− k Für alle i gibt es also ein j und ein k mit L∗i,j = Xk . Daraus folgt X1 ∧ . . . ∧ Xn ∧ β |= Y1 ∧ . . . ∧ Yn |= Y + ∧ Y − und zusammen mit (¬Y + ∨ ¬Y − ) ein Widerspruch. Umgekehrt gebe es nun Xi ∈ Mi (1 ≤ i ≤ n), so daß X1 ∧ . . . ∧ Xn ∧ β widerspruchsvoll ist. Ohne die Klausel (¬Y + ∨ ¬Y − ) ist die Formel auf jeden Fall erfüllbar. Y + und Y − können nur folgen, wenn Y1 , . . . , Yn folgen. D.h. für jedes i (1 ≤ i ≤ n) folgt ein L∗i,j . Also gibt es ein Xt mit Xt = L∗i,j , wobei − Xt = A+ t oder Xt = At . Definieren wir eine Bewertung mit (At ) = 1, falls Xt = A+ t und falsch sonst, dann gibt es für jede Klausel (Li,1 ∨ Li,2 ∨ Li,3 ) ein Li,j mit (Li,j ) = 1, d.h. α ist erfüllbar. Man kann Umbenennungen auch nutzen, um Formeln in andere Klassen als HORN zu überführen. Betrachten wir beispielsweise die Klasse MAX–2–POS = {Φ ∈ KNF | jede Klausel enthält maximal 2 positive Literale}. Wie man sofort sieht, ist für MAX–2–POS nicht nur das Erfüllbarkeitsproblem NP–vollständig, sondern auch das Problem, ob eine Umbenennung in MAX–2–POS existiert. Problem: Renaming MAX–2–POS Eingabe: Φ ∈ KNF Frage:
Gibt es eine Umbenennung f mit f (Φ) ∈MAX–2–POS?
Lemma 1.8.14
Das Problem Renaming MAX–2–POS ist NP–vollständig.
Beweis: Für den Beweis der NP–Vollständigkeit verwenden wir wieder eine Reduktion des 1–3–SAT Problems. Sei Φ = {ϕ1 , . . . , ϕn } ∈ 3–KNF und jede Klausel enthalte nur positive Literale. Weiterhin sei ψ0 = (A ∨ B ∨ ¬P ) ∧ (A ∨ ¬B ∨ ¬P ) ∧ (¬A ∨ B ∨ ¬P ) ∧ (¬A ∨ ¬B ∨ ¬P ) Dann gilt für alle Umbenennungen f mit f (ψ0 ) ∈ MAX-2–POS, daß f (P ) = P sein muß. Jeder Klausel ϕi = (Ai,1 ∨ Ai,2 ∨ Ai,3 ) ordnen wir die Formel zu ψi = (Ai,1 ∨ Ai,2 ∨ Ai,3 ∨ P ) ∧ (¬Ai,1 ∨ ¬Ai,2 ∨ ¬Ai,3 ) Weiterhin sei Ψ = ψ0 ∧ ψ1 ∧ . . . ∧ ψn . Wir zeigen nun: Φ ∈ 1–3–SAT ⇔ ∃ Umbenennung f mit f (Ψ) ∈ MAX–2–POS.
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
88
Gelte Φ ∈1–3–SAT und sei eine Bewertung, die genau ein Literal in jeder Klausel wahr macht. Die Umbenennung f (A) = A, f (B) = B, f (P ) = P und f (Ai,j ) = Ai,j genau dann, wenn (Ai,j ) = 1 liefert offensichtlich f (Ψ) ∈ MAX–2–POS. Gebe es nun umgekehrt eine Umbenennung f mit f (Ψ) ∈ MAX–2–POS. Da f (P ) = P sein muß, wird in den Klauseln (Ai,1 ∨ Ai,2 ∨ Ai,3 ∨ P ) höchstens ein Atom Ai,j unverändert gelassen. Wegen der Klausel (¬Ai,1 ∨ ¬Ai,2 ∨ ¬Ai,3 ) bleibt mindestens ein Literal ¬Ai,j bestehen. Also werden, abgesehen von P , zwei Atome durch f negiert und ein Atom bleibt positiv. Indem wir (Ai,j ) =1 genau dann, wenn f (Ai,j ) = Ai,j festlegen, erhalten wir eine erfüllende Bewertung, die genau ein Atom in jeder Klausel von Φ wahr macht.
1.8.2 Unit–Resolution Eine für Horn–Formeln häufig eingesetzte Resolution ist die sogenannte Unit–Resolution, die wir schon in Abschnitt 1.7.7 vorgestellt haben. Bei der Unit–Resolution muß in jedem Resolutionsschritt eine der Elternklauseln eine Unit–Klausel sein, darf also aus nur einem Literal bestehen. Die Widerlegungsvollständigkeit der Unit–Resolution ist für Horn–Formeln über den Umweg der Input– Resolution schon in Korollar 1.7.30 gezeigt worden. Für Formeln in KNF gilt dies nicht, wie man anhand der folgenden Beispielformel schnell sieht. Beispiel: Sei α = {(A ∨ B, (¬A ∨ B), (A ∨ ¬B), (¬A ∨ ¬B)}, dann ist α widerspruchsvoll, aber die Unit–Resolution ist nicht anwendbar. 2 Die Widerlegungsvollständigkeit der Unit–Resolution läßt sich auch direkt zeigen. Da die Beweismethode auch in anderen Situationen einsetzbar ist, wollen wir sie hier vorstellen. Satz 1.8.15 (Widerlegungsvollständigkeit und Korrektheit der Unit–Resolution für HORN–Formeln) Sei α eine Horn–Formel, dann gilt: α ist widerspruchsvoll
⇐⇒
α | U-RES
Beweis: Die Korrektheit der Unit–Resolution („⇐=“) folgt natürlich aus der Korrektheit der Resolution (Satz 1.7.4). Die Vollständigkeit zeigen wir durch eine Induktion über die Anzahl der Atome der widerspruchsvollen Horn–Formeln. Für den Induktionsanfang n = 1 haben wir nur einen Typ widerspruchsvoller Formeln, nämlich α = {A, ¬A}. Es folgt sofort die Behauptung. Sei nun n > 1 und α eine widerspruchsvolle Horn–Formel mit n Atomen. Dann gibt es eine positive Klausel in α. Diese ist wegen α ∈ HORN eine Unit–Klausel A. Gibt es eine Klausel ¬A in α, dann resolvieren wir mit einem Unit–Resolutionsschritt A und ¬A. Andernfalls resolvieren wir A mit allen Klauseln, die ¬A als Literal enthalten. Die Resolventen zusammen mit allen Klauseln von α, die ¬A nicht enthalten, bilden eine wiederum widerspruchsvolle Horn–Formel und zwar α[A/1]. Mit der Induktionsvoraussetzung erhalten wir α[A/1] | U-RES . Da α | U-RES α[A/1] gilt, erhalten wir insgesamt eine Unit–Resolutionswiderlegung von α. Der Beweis des Satzes zeigt, daß wir beim Versuch, die leere Klausel herzuleiten, keine zusätzliche Klauseln speichern müssen, sondern stets eine der Elternklauseln durch die Resolvente ersetzen können. 1 σ. Dann Bemerkung: Sei α = {α1 , . . . , αn } eine Horn–Formel, L ein Literal und es gelte L, αj | U-RES gilt:
α widerspruchsvoll
⇐⇒
(α \ {αj }) ∪ {σ} widerspruchsvoll.
1.8. HORN-LOGIK
89
Durch einen Unit–Resolutionsschritt mit einer positiven Unit–Klausel wird die Prämissenliste einer Horn– Klausel verkürzt. Dadurch können neue positive Unit–Klauseln abgeleitet werden. Für erfüllbare Horn– Formeln lassen sich mit Hilfe der Unit–Resolution sogar alle folgerbaren positiven Unit–Klauseln erzeugen. Korollar 1.8.16
Sei α ∈ HORN und sei αerfüllbar, dann gilt für jedes Atom A: α |= A
⇐⇒
α | U-RES A
Der Grund hierfür liegt in der Vertauschbarkeit von Resolutionsschritten innerhalb einer Unit– Resolutionsherleitung. Denn es ist sofort klar, daß für eine aus einer Horn–Formel α folgerbare Unit A die Formel α ∧ ¬A widerspruchsvoll ist und daher mit der Unit–Resolution widerlegt werden kann. Intuitiv würde man vielleicht zunächst mit der Unit ¬A resolvieren wollen, wodurch man zwar eine Unit– Resolutionswiderlegung, aber keine Herleitung von A erhalten kann. Der genaue Beweis bleibt den Lesern als Übung überlassen. Für die Ableitung der negativen Literale reicht die Unit–Resolution dagegen nicht aus, wie das Beispiel α = {(A ∨ ¬B), (¬A ∨ ¬B)} zeigt. Denn es gilt α |= ¬B, aber die Unit–Resolution ist nicht anwendbar. Die in Abschnitt 1.7.8 vorgestellte 2–Resolution, bei der eine der Elternklauseln maximal 2 Literale besitzt, hat dagegen diese Eigenschaft. Lemma 1.8.17
Sei α eine erfüllbare Horn–Formel. Für alle Literale L gilt: α |= L
⇐⇒
α | 2-Res L
Beweis: Sei α eine erfüllbare Horn–Formel. Wegen des vorherigen Lemmas genügt es, die Aussage für negative Literale L zu beweisen. Da weiterhin die Resolution und damit auch die 2–Resolution korrekt ist, bleibt also zu zeigen, daß für Atome A die Folgerbarkeit einer negativen Unit α |= ¬A die Ableitbarkeit mit der 2–Resolution impliziert, α | 2-Res ¬A. Wir nutzen aus, daß die Folgerbarkeit eines Literals L nur gegeben sein kann, wenn das entsprechende Atom in atoms (α) enthalten ist. Gelte nun α |= ¬A. Dann ist α ∧ A eine widerspruchsvolle Horn–Formel und es gibt eine Unit– Resolutionswiderlegung α∧A | U-RES . Betrachten wir α[A/1], so folgt ebenfalls α[A/1] | U-RES . Fügen wir nun in α[A/1] die eliminierten Vorkommen von ¬A wieder ein, dann gilt für die resultierende Formel α[A/1](¬A) | 2-Res ¬A. Denn da α erfüllbar ist, muß es Klauseln mit dem Literal ¬A geben und ein Teil hiervon ist notwendig für die Widerlegung α ∧ A |U-RES . Die Formel α[A/1](¬A) ist eine Teilformel von α. Es gilt also α | 2-Res ¬A. Die Widerlegungsvollständigkeit der Unit–Resolution beschränkt sich aber nicht auf die Klasse der Horn– Formeln. Vielmehr kann die Klasse der nach HORN umbenennbaren Formeln durch die Unit–Resolution charakterisiert werden, d.h. eine Formel ist unit–widerlegbar (d.h. mit der Unit–Resolution widerlegbar) genau dann, wenn es in ihr eine widerspruchsvolle Teilformel gibt, die in eine Horn–Formel umbenannt werden kann. Satz 1.8.18
Sei α ∈ KNF, dann gilt: α | U-RES
⇐⇒
∃α ⊆ α ∃f ∈ U (α ) : f (α ) ∈ HORN und f (α ) widerspruchsvoll
90
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
Beweis: Es genügt offensichtlich, die Richtung von links nach rechts zu zeigen. Denn eine Unit– Widerlegung bleibt eine Unit–Widerlegung, auch wenn die Umbenennung rückgängig gemacht wird. Gelte α | U-RES und sei α eine minimale Teilmenge der Klauseln aus α, so daß α | U-RES gilt. Durch Induktion über die Anzahl der Atome in α zeigen wir die Behauptung: Besitzt α nur ein Atom, dann ist α = {A, ¬A} und damit eine Horn-Formel. Enthalte α nun n + 1 Atome. Da α unit–widerlegbar ist, enthält α eine Unit–Klausel L. Da α minimal ist, kommt keine weitere Klausel in α vor, die L enthält. Streichen wir in α nun diese Unit–Klausel und alle Vorkommen von ¬L in den übrigen Klauseln, dann gilt für die resultierende Formel α [L/1] | U-RES und α [L/1] ist auch minimal. Mit der Induktionsvoraussetzung gibt es eine Umbenennung f (α [L/1]) ∈ HORN, die wir zu einer Umbenennung für α erweitern können. Ist L positiv, dann sei f (L) = L, ansonsten sei f (L) = ¬L. Für die so erweiterte Umbenennung f gilt f (α ) ∈ HORN. Eine wichtige Frage ist nun, wie schnell wir entscheiden können, ob eine Horn–Formel widerspruchsvoll ist. Ein einfacher Algorithmus für den Test auf Widersprüchlichkeit für Horn–Formeln basiert auf der Anwendung der Unit–Resolution, bis kein Unit–Resolutionschritt mehr durchführbar ist, bzw. bis die leere Klausel erzeugt ist. Angewendet auf Formeln in KNF liefert der Algorithmus EINFACH–UNIT–RES genau dann das Ergebnis falsch, wenn die Formel unit–widerlegbar ist. Angewendet auf Formeln in HORN bezeichnen wir den Algorithmus daher auch mit EINFACH–SAT–HORN. Algorithmus 1.14: EINFACH-UNIT-RES Input: α ∈ KNF ohne tautologische Klauseln und ohne Mehrfachvorkommen von Literalen in einer Klausel Output: false, falls α unit–widerlegbar ist, und true sonst function EINFACH-UNIT-RES(α : KNF) : boolean; begin U := ∅; foreach clause κ ∈ α do if is-unit(κ) then U := U ∪ {κ}; while U = ∅ do begin L := select-element(U ); U := U \ {L}; foreach clause κ ∈ α do if L ∈ κ then delete-clause(κ, α); foreach clause κ ∈ α do if ¬L ∈ κ then begin delete-literal(¬L, κ); { Klausel κ wird in α durch Resolvente von κ und L ersetzt. } if κ = then return(false); if is-unit(κ) then U := U ∪ {κ}; end; end; {while} return(true); end;
Offensichlich ist der Algorithmus korrekt und vollständig, der zeitliche Aufwand ist aber größer als O(n) bzw. O(n log n), wenn in den for–Schleifen zur Bestimmung der zu löschenden oder zu kürzenden Klauseln jeweils die ganze Formel durchsucht werden muß. Durch eine geschickte Wahl der Datenstruktur können wir aber schon beim Einlesen einer Formel in KNF eine Struktur aufbauen, in der die entsprechenden Such-
1.8. HORN-LOGIK
91
prozesse in einem Schritt ausgeführt werden können. Solche Datenstrukturen und die darauf aufbauenden Verfahren werden für Horn–Formeln in [DoGa 84] und [Min 88] angegeben. Hierauf baut das im folgenden vorgestellte Verfahren auf. Eine wichtige Voraussetzung für das Erreichen eines maximal linearen Zeitaufwandes auch beim Einlesen ist, daß die Atome der Formel geordnet vorliegen, d.h. die Atome sind A1 , . . . , Am . Diese Randbedingung ermöglicht uns den Zugriff auf Atome in einem Schritt durch Verwendung eines entsprechenden Arrays. Ansonsten müßten wir parallel eine Symboltabelle aufbauen, deren Konstruktion beim Einlesen der Formel O(n log n) Schritte benötigt. Wir verwenden daher die folgende Datenstruktur. Die Atome werden in einem Arrays von Records dargestellt. Der Indexbereich des Arrays ist 1 . . . m, wobei das i-te Element das Atom Ai repräsentiert. Die Records enthalten ein Statusfeld zur Speicherung der Zustände pos für „als positive Unit ableitbar“, neg für „als negative Unit ableitbar“ und nounit für „nicht als Unit ableitbar“ bzw. „Ableitbarkeit unbekannt“. Weiterhin sind in den Records Verweise auf Vorkommenslisten enthalten, die getrennt nach positiven und negativen Vorkommen auf die Literale verweisen, die zu diesem Atom gehören. Die Literale werden ebenfalls durch Records dargestellt, die das Vorzeichen des Literals, einen Verweis auf das Atom des Literals und einen Verweis auf die Klausel enthalten. Klauseln werden durch Records dargestellt, die die Anzahl der Literale in der Klausel und einen Verweis auf die Liste der Literale enthalten. Klauselrecords und Literalrecord weisen zusätzlich ein Statusfeld auf, das durch entsprechende Belegung anzeigt, ob die Klausel / das Literal noch aktiv ist oder durch Reduzierungen im Algorithmus „gelöscht“ wurde. Als Beispiel ist in Abbildung 1.25 die Repräsentation der Formel (A1 ∨ A2 ) ∧ (A2 ∨ ¬A3 ) ∧ (A3 ) in der Datenstruktur dargestellt. Formel Atomfeld
- • A1 nounit • ◦ A2 nounit • ◦ A3 nounit • • 6 6 6 6 6 ? • active
•
2
•
66
-• •
? ? ? ? active • active • pos
• •
?
••
active 2
•
66
-• ◦
◦
pos
• •
-• •
• •
?
active 1
•
6
-• ◦
? ? ? active • active pos
•◦
•
◦
?
• ◦
neg
• •
-• ◦ ? active pos
• •
?
• ◦
Abbildung 1.25: Spezielle Datenstruktur für Algorithmus UNIT–RES Der folgende Algorithmus UNIT–RES entscheidet in linearer Zeit, ob eine Formel in KNF mit der Unit– Resolution widerlegt werden kann. Zur Vereinfachung setzten wir weiter voraus, daß die Formeln keine
92
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
tautologischen Klauseln und keine mehrfachen Literalvorkommen in einer Klausel enthalten. Diese Bedingungen können aber durch ein einfaches Markierungsverfahren in linearer Zeit hergestellt werden. Der Algorithmus stoppt mit dem Ergebnis false, falls die Formel mit der Unit–Resolution widerlegt werden kann, also nicht erfüllbar ist. Wenn der Algorithmus mit Ergebnis true stoppt, wissen wir nur, daß die Formel nicht mit der Unit–Resolution widerlegbar ist. Es ist dann aber nicht bekannt, ob die Formel erfüllbar ist oder nicht. Die mit der Unit–Resolution ableitbaren Units sind in den Records der zugehörigen Atome entsprechend gekennzeichnet. Hierbei ist allerdings zu beachten, daß es positive und negative Units gibt, die aus einer Formel in KNF folgen, aber nicht mit Unit–Resolution abgeleitet werden können. Der Algorithmus verläuft im wesentlichen wie der Algorithmus EINFACH-UNIT-RES und beruht auf folgender Vorgehensweise: Für jede Unit–Klausel der Formel werden alle Vorkommen des entsprechenden Literals mit dem komplementären Vorzeichen gestrichen. Dazu werden die Unit–Klauseln, die zu bearbeiten sind, auf einem Stapel gesammelt und das entsprechende Atom wird mit dem Vorzeichen des Units gekennzeichnet. Ist das Atom schon mit dem gleichen Vorzeichen gekennzeichnet, wurde es schon hergeleitet. Ist es mit dem komplementären Vorzeichen gekennzeichnet, liegt eine widersprüchliche Formel vor. Das Streichen von Literalen einer Klausel wird durch Kennzeichnen des Literals und durch Dekrementieren des Literalzählers der Klausel erreicht. Dazu wird ein direkter Zugriff vom Literal auf die entsprechende Klausel benötigt. Ist der Literalzähler gleich eins, so ist das noch unmarkierte Literal als Unit–Klausel hergeleitet und wird wie oben beschrieben weiterverarbeitet. Ist der Stapel abgearbeitet, ohne daß ein Widerspruch auftrat, ist die Formel nicht mit der Unit–Resolution widerlegbar. Algorithmus 1.15: UNIT-RES Input: α ∈ KNF ohne tautologische Klauseln und ohne Mehrfachvorkommen von Literalen in einer Klausel Output: false, falls α unit–widerlegbar ist, und true sonst
1.8. HORN-LOGIK
93
function UNIT-RES(α : KNF) : boolean; begin { Sammeln der Units der anfänglichen Formel und } { Test auf Vorkommen komplementärer Units } foreach clause κ ∈ α do if is-unit(κ) then begin L := first-active-literal(κ); if state(atom(L)) = nounit then begin state(atom(L)) := sign(L); push(atom(L), stack); end else if state(atom(L)) = sign(L) then return(false); end; { Verarbeitung der Units vom Stapel } while not empty(stack) do begin A := top(stack); pop(stack); if state(A) = pos then delete-literal-list := neg-occ-list(A); else delete-literal-list := pos-occ-list(A); foreach literal L in delete-literal-list do if is-active(L) then begin κ := clause(L); delete-literal(L); if is-unit(κ) then begin L1 := first-active-literal(κ); if state(atom(L1)) = nounit then begin state(atom(L1)) := sign(L1); push(atom(L1), stack); end else if state(atom(L1)) = sign(L1) then return(false); end end; end; return(true); end;
Die Hilfsfunktion first-active-literal durchsucht die Literalliste der angegebenen Klausel nach dem ersten Literal, das nicht als gelöscht markiert ist und gibt dieses zurück. Die Funktion delete-literal setzt die Löschmarke des angegebenen Literals und dekrementiert den Literalzähler im Klauselknoten. Auf diese Weise kann die Funktion is-unit über einen Zugriff auf diesen Zähler
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
94
einen entsprechenden Boole’schen Wert liefern, je nachdem ob es sich bei der angegebenen Klausel um eine Unit–Klausel handelt oder nicht. Liefert der Algorithmus UNIT–RES den Wert false zurück, so ist in den Markierungen der Atome ein Teil der ableitbaren Units markiert. Da aber ein Unit–Konflikt aufgetreten ist und die Formel daher widerspruchsvoll ist, sind natürlich alle Units aus literals (atoms (α)) folgerbar. Liefert der Algorithmus UNIT– RES den Wert true zurück, so sind alle mit der Unit–Resolution herleitbaren Units durch entsprechende Markierungen bei den Atomen angegeben. Abschließend können wir zum Platzbedarf der Datenstruktur und zur Laufzeit des Algorithmus noch folgendes feststellen. (Sei wieder m die Anzahl der Atome und n die Länge der Formel.) • Da aus dem Namen Ai direkt die Position des Atoms im Array der Atome bestimmt werden kann, läßt sich die Datenstruktur in O(n) aufbauen. Der Platzbedarf ist ebenfalls linear in n. • Ein Ausgeben der (Ergebnis–)Formel ist ebenfalls in O(n) Zeit möglich. • Jedes Atom wird höchstens einmal auf den Stapel gepackt, danach ist es entsprechend markiert. Beim Verarbeiten der Atome vom Stapel wird jedes Vorkommen eines Atoms über die Vorkommenslisten nur einmal besucht. Der Aufruf der Hilfsfunktion first-active-literal, die die Klausel durchsucht, erfolgt höchstens einmal für jede Klausel und das Aufsammeln der anfänglichen Units auf dem Stapel wird durch einmaliges Durchsuchen der Formel erreicht. Insgesamt ergibt dies eine Laufzeit von O(n) für UNIT–RES. • Falls die Formel nicht mit der Unit–Resolution widerlegbar ist, kann man in linearer Zeit die um die herleitbaren Units reduzierte Formel erhalten. Hierzu werden nur noch die von den Units subsumierten Klauseln gestrichen, was über die entsprechenden Vorkommenslisten der als Unit markierten Atome erfolgen kann. Zusammenfassend erhalten wir nun folgenden Satz. Satz 1.8.19 Der Algorithmus UNIT–RES entscheidet in linearer Zeit, ob eine Formel in KNF mit der Unit–Resolution widerlegt werden kann. Korollar 1.8.20 Das Erfüllbarkeitsproblem für Horn–Formeln ist mit dem Algorithmus UNIT–RES in linearer Zeit entscheidbar.
1.9 Kalküle Das Ziel dieses Abschnittes ist es, Ansätze und Verfahren zu diskutieren, die mit Hilfe von Beweisregeln das Folgerungsproblem und das Tautologieproblem lösen. Die meisten dieser Kalküle lassen sich durch zusätzliche Regeln kanonisch auf die Prädikatenlogik erster Stufe anwenden. Wie wir bereits festgestellt haben, ist das Folgerungsproblem, d.h. die Frage, ob eine Formel aus einer anderen folgt, coNP–vollständig. Im schlechtesten Fall ist also eine superpolynomielle Laufzeit eines deterministischen Algorithmus zu erwarten. Für die Qualität eines Kalküls spielt aber nicht nur die zu erwartende Laufzeit eine Rolle. Eine Reihe von zusätzlichen Anforderungen, die z.B. aus dem Einsatz als Inferenzkomponente in wissensbasierten Systemen stammen können, müssen oftmals ebenso berücksichtigt werden. Ein wichtiger Punkt ist etwa die Nachvollziehbarkeit oder die Erklärungsfähigkeit, d.h. warum ist eine Aussage folgerbar bzw. warum nicht.
1.9. KALKÜLE
95
1.9.1 Frege–Systeme Der Ausgangspunkt von Frege–Systemen ist die Frage, wie wir mit Hilfe von Regelsystemen — ähnlich wie bei Grammatiken für Formale Sprachen — alle tautologischen Formeln erzeugen können oder, wenn wir α |= β überprüfen wollen, durch Anwendungen von Regeln auf α die Formel β generieren können [Fre 79, HiBe34/39]. Wir suchen also nach geeigneten Regelsystemen zur syntaktischen Manipulation von Formeln, die, ausgedrückt in der Terminologie der Formalen Sprachen, eine bestimmte Menge von Formeln als Sprache erzeugt. Es gilt beispielsweise ϕ, ϕ → ψ |= ψ, wenn ϕ und ψ beliebige Formeln sind. Beschreiben wir diesen Sachverhalt in einer Regelform <ϕ, (ϕ → ψ); ψ>, so können wir β, α, (α → (β → γ)) |= γ durch zwei Anwendungen dieser Regel beweisen. Zunächst setzen wir ϕ = α und ψ = β → γ. ϕ und ϕ → ψ sind als Voraussetzungen gegeben, so daß wir ψ erhalten. Setzen wir nun ϕ = β und ψ = γ, dann ergibt sich durch erneute Regelanwendung die Zielformel γ, da ϕ als Voraussetzung und ϕ → ψ als Ergebnis der ersten Regelanwendung benutzt werden kann. Die obige Regel allein reicht nicht aus, um alle logischen Folgerungen auf diese Art zu überprüfen. Das nur aus der beschriebenen Regel bestehende System ist zwar korrekt, aber nicht vollständig. Bevor wir nun näher auf geeignete (d.h. vollständige) Regelmengen eingehen, müssen wir zunächst genauer sagen, was eine Regel ist und was unter einer Regelanwendung zu verstehen ist. Definition 1.9.1 (Frege–Regel) Eine Frege–Regel ist eine sogenannte Inferenzregel <M ; α>, wobei M eine Menge von Formeln und α eine Formel ist, für die gilt M |= α. Fehlt M in der Regel, so wird < ; α> auch als Axiom bezeichnet. Da es sich bei der Menge M der Voraussetzungen einer Frege–Regel immer nur um einzelne Formeln handeln wird, lassen wir der Einfachheit halber bei M die Mengenklammern weg. Beispiele: a) Sei α = (ϕ → (π → ψ)) und β = (π → (ϕ → ψ)), dann ist <α; β> eine Frege–Regel, denn es gilt α |= β. b) Sei M = {α, (α → β)}, dann ist <M ; β> eine Frege–Regel, denn es gilt α, α → β |= β. Diese Regel nennt man Modus Ponens. c) Da M |= α in einer Frege–Regel <M ; α> gilt, muß in einem Axiom die Formel α eine Tautologie sein. Ein Beispiel für ein Axiom ist daher die Regel <; (α → (β → α))>. 2 Bei der Anwendung einer Regel werden die „Formelvariablen“ durch die im konkreten Anwendungsfall benötigten Formeln substituiert. Definition 1.9.2 (Anwendung von Frege–Regeln) Sei R := <M ; α> eine Frege–Regel und sei σ eine beliebige Substitution für die (Formel–)Variablenn {ϕ1 , . . . , ϕn } von M und α. Dann heißt die Formel α[ϕ1 /σ(ϕ1 ), . . . , ϕn /σ(ϕn )] herleitbar aus M [ϕ1 /σ(ϕ1 ), . . . , ϕn /σ(ϕn )] mit der Frege–Regel R. Beispiel: Sei die Frege–Regel <α, (α → β); β> und die Substitution σ = [α/(D ∨ C), β/¬C] gegeben, dann ist σ(β) = ¬C aus σ({α, α → β}) = {(D ∨ C), (D ∨ C) → ¬C} mit dieser Regel herleitbar. 2
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
96
Definition 1.9.3 (Herleitung mit Frege–Regeln) Seien α1 , . . . , αn Formeln und F eine Menge von Frege–Regeln, dann ist β in einem Schritt aus α1 , . . . , αn mit Hilfe von F herleitbar, α1 , . . . , αn | F1 β, falls eine Regel <M ; γ> in F und eine Substitution σ existiert, so daß σ(M ) ⊆ {α1 , . . . , αn } und σ(γ) = β gilt. Eine Herleitung von β mit F aus α1 , . . . , αn ist eine Folge γ1 , . . . , γr von Formeln mit γr = β und γi ∈ {α1 , . . . , αn } bzw. γ1 , . . . , γi−1 | F1 γi für 1 ≤ i ≤ r. Wir schreiben dann α1 , . . . , αn | F β. Die Anwendung von Axiomen kann also an beliebiger Stelle in Herleitungen erfolgen. Beispiel: Wir verwenden wieder die Frege–Regel Modus Ponens MP := <α, (α → β); β>. Dann ist π aus den Formeln ϕ, ψ und ϕ → (ψ → π) herleitbar, denn es gilt: ϕ, ϕ → (ψ → π) | R1 ψ → π mit σ1 = [α/ϕ, β/(ψ → π)] ψ, ψ → π | R1 π mit σ2 = [α/ψ, β/π] Auf die Angabe der konkreten Substitutionen werden wir in der Regel verzichten.
2
Definition 1.9.4 (implikationsvollständig, Frege–System) Eine Menge F von Frege–Regeln heißt implikationsvollständig über einer Menge K von Junktoren (logischen Verknüpfungen) genau dann, wenn für alle Formeln α1 , . . . , αn und β, die mit Junktoren aus K gebildet werden können, gilt: α1 , . . . , αn | F β ⇐⇒ α1 , . . . , αn |= β Eine implikationsvollständige Menge F von Frege–Regeln heißt Frege–System über K. Sei z.B. K = {→, ∧} und F 0 bestehe aus der schon mehrfach benutzten Regel R := <α, (α → β); β>. Dann ist F 0 kein Frege–System über K, denn es gilt α ∧ β |= α, aber nicht α ∧ β |F 0 β. Im folgenden wollen wir ein spezielles Beispiel für ein Frege–System über K = {→, ¬, ∨} vorstellen und zwar ein sogenanntes Hilbert–System. Hilbert–Systeme enthalten nur Axiome und den Modus Ponens als einzige Regel, die kein Axiom ist. Die Herleitung von Formeln in solch einem System geschieht also nur mit Hilfe der Axiome, der Substitution von Formelvariablen und durch Anwendung des Modus Ponens. Definition 1.9.5 (Hilbert–Kalkül) Die Frege–Axiome A0 : <; (ϕ → ϕ)> A1 : <; ((ϕ → ψ) → (¬ϕ ∨ ψ))> A2 : <; ((¬ϕ ∨ ψ) → (ϕ → ψ))> A3 : <; ((ϕ ∨ ϕ) → ϕ)> A4 : <; (ϕ → (ϕ ∨ ψ))> A5 : <; ((ϕ ∨ ψ) → (ψ ∨ ϕ))> A6 : <; ((ϕ → ψ) → ((χ → ϕ) → (χ → ψ)))> A7 : <; ((ϕ → (χ → ψ)) → (χ → (ϕ → ψ)))> A8 : <; ((ϕ → ψ) → ((ϕ ∨ χ) → (ψ ∨ χ)))> A9 : <; ((ϕ → ψ) → ((χ ∨ ϕ) → (χ ∨ ψ)))> A10 : <; (¬ϕ → (ϕ → ψ))> A11 : <; ((ϕ → ψ) → (¬ϕ → ¬ψ))> zusammen mit der Frege–Regel MP := <α, (α → β); β> (Modus Ponens) bezeichnen wir als das System Hilbert (oder einfach als Hilbert–Kalkül). Für die Herleitung schreiben wir | Hilbert .
1.9. KALKÜLE
97
Für die Regel Modus Ponens gilt α, α → β |= β und jede der rechten Seiten der Axiome ist eine Tautologie. Bereits für einen Teil der Aussagenlogik, in dem wir als Junktoren nur die Negation und die Implikation zulassen, ist das Vollständigkeitsproblem unendscheidbar, d.h. es ist unentscheidbar, ob eine beliebige aber feste Menge von Axiomen zusammen mit der Regel Modus Ponens ausreichend ist, um alle Tautologien herzuleiten. Ebenso unentscheidbar ist die Frage nach der Unabhängigkeit von Axiomen, d.h. ob ein Axiom aus den anderen Axiomen hergeleitet werden kann. Das Herleiten im Hilbert–Kalkül wollen wir an einem kleinen Beispiel verdeutlichen. Beispiel: Es gilt α → β, β → γ | Hilbert α → γ. Denn (1) (2) (3) (4) (5)
(β → γ) → ((α → β) → (α → γ)) erhalten wir aus Axiom A6 (β → γ) ist als Voraussetzung gegeben
((α → β) → (α → γ)) ergibt sich durch Anwendung der Regel Modus Ponens (α → β) ist ebenfalls als Voraussetzung gegeben (α → γ) ergibt sich durch Anwendung der Regel Modus Ponens 2
Wir haben damit die Regel Kettenschluß bewiesen (KS) KS := <(α → β), (β → γ); (α → γ)> Für die späteren Beweise benötigen wir noch drei weitere Hilfsregeln, die wir anschließend ebenfalls wie Regeln des Kalküls behandeln. Lemma 1.9.6 KS :
Im System Hilbert lassen sich die folgenden Regeln als Hilfsregeln verwenden: <(α → β), (β → γ); (α → γ)> α → β, β → γ | Hilbert α → γ
O1 : <(α → γ), (β → γ); ((α ∨ β) → γ)> α → γ, β → γ | Hilbert (α ∨ β) → γ
N 1 : <α, ¬α; β> α, ¬α | Hilbert β N 2 : <(¬α → α); α> ¬α → α | Hilbert α N 3 : <¬α, ¬β, (α ∨ β); γ> ¬α, ¬β, α ∨ β | Hilbert γ
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
98 Beweis:
O1 : (1) (2) (3) (4) (5) (6) (7) (8) (9)
α→γ (α → γ) → (α ∨ β) → (γ ∨ β) (α ∨ β) → (γ ∨ β) β→γ (β → γ) → (γ ∨ β) → (γ ∨ γ) (γ ∨ β) → (γ ∨ γ) (γ ∨ γ) → γ (α ∨ β) → (γ ∨ γ) (α ∨ β) → γ
Voraussetzung A8 MP 1, 2 Voraussetzung A9 MP 4, 5 A3 KS 3, 6 KS 8, 7
N 1 : (1) (2) (3) (4) (5) (6) (7)
¬α → (¬α ∨ β) ¬α ¬α ∨ β (¬α ∨ β) → (α → β) α→β α β
A4 Voraussetzung MP 2, 1 A2 MP 4, 5 Voraussetzung MP 6, 5
N 2 : (1) (2) (3) (4) (5) (6)
¬α → α α→α (¬α ∨ α) → α (α → α) → (¬α ∨ α) (α → α) → α α
Voraussetzung A0 O1 1, 2 A1 KS 4, 3 MP 2, 5
N 3 : (1) (2) (3) (4) (5) (6) (7) (8) (9)
¬α ¬α → (α → γ) α→γ ¬β ¬β → (β → γ) β→γ (α ∨ β) → γ α∨β γ
Voraussetzung A10 MP 1, 2 Voraussetzung A10 MP 4, 5 O1 3, 6 Voraussetzung MP 8, 7
Die Leistungsfähigkeit des Hilbert–Kalküls zeigt der nachfolgende Satz, in dem die Implikationsvollständigkeit des Systems über der Junktorenmenge {→, ¬, ∨} bewiesen wird. Einen Beweis des Satzes findet man beispielsweise in [KBLe 94]. Satz 1.9.7 Sei α eine aussagenlogische Formeln, die mit →, ¬ und ∨ gebildet worden ist, und sei M eine Menge solcher Formeln. Dann gilt: 1. |= α ⇐⇒ | Hilbert α 2. M |= α ⇐⇒ M | Hilbert α Der Satz besagt, daß das Frege–System Hilbert genau die tautologischen Formeln erzeugt. Die Frage ist natürlich, wie lang minimale Herleitungen tautologischer Formeln werden.
1.9. KALKÜLE
99
Da das Tautologieproblem {α | α Tautologie} coNP–vollständig ist, würde eine polynomielle obere Schranke sofort NP = coNP implizieren. Gehen wir von NP = coNP aus, dann muß es eine unendliche Familie von Tautologien geben, deren Herleitung mit dem Hilbert–System superpolynomiell lang werden. Solche Formeln sind aber bis heute nicht bekannt.
1.9.2 Lineare Ungleichungssysteme Da das Erfüllbarkeitsproblem aussagenlogischer Formeln NP–vollständig ist, kann man sich überlegen, ob nicht Heuristiken und Algorithmen, die für andere NP–vollständige Probleme entwickelt worden sind, für die Aussagenlogik adaptiert werden können und welche Querverbindungen zwischen den Ansätzen vorhanden sind. Am Beispiel der linearen Ungleichungssystemen wollen wir dies exemplarisch durchführen. Eine Methode für die Überprüfung einer Formel auf Erfüllbarkeit beruht auf der Zuordnung und Überprüfung von arithmetischen Ausdrücken für die Formel, wobei Formeln in KNF meist klauselweise betrachtet werden. Verzichten wir für die Variablen dieser Gleichungssysteme auf die Bedingung, daß nur die Werte 0 und 1 (natürliche Zahlen) eingesetzt werden dürfen, so entstehen lineare Ungleichungssysteme mit der Eigenschaft, daß die Formel widerspruchsvoll ist genau dann, wenn das lineare Ungleichungssystem keine ganzzahlige Lösung besitzt. Wir führen zunächst lineare Ungleichungssysteme ein und geben Regeln zur Herleitung weiterer Ungleichungen an. Man kann dann zeigen, daß dieser Kalkül zu einer Ungleichung „m ≥ n“ mit m < n, z.B. 1 ≤ 0, führt, falls das Ausgangssystem keine ganzzahlige Lösung besitzt. Die linearen Ungleichungen kann man im Sinne der linearen Algebra als affine Halbräume auffassen. Die ganzzahligen Lösungen der Ausgangsungleichungen liegen im Schnitt der entsprechenden affinen Halbräume. Die begrenzenden Hyperebenen bilden eine konvexe Hülle aller ganzzahligen Lösungen, sie heißen „Cutting Planes“ und haben der Methode und dem Kalkül den Namen gegeben. Die Anwendung der Cutting Planes als Beweissystem für die Aussagenlogik wird in [CCT 87] vorgestellt. Weitere Verfeinerungen sowie eine Übersicht über das Gebiet finden sich in [Hoo 91]. Definition 1.9.8 (Lineares Ungleichungssystem) Ein lineares Ungleichungssystem S mit m Ungleichungen und ganzzahligen Koeffizienten hat die Form
1≤j≤n
aij xj ≥ bi (1 ≤ i ≤ m),
wobei die aij , bi ∈ ZZ für 1 ≤ i ≤ m und 1 ≤ j ≤ n Konstante und die xj mit 1 ≤ j ≤ n Variable sind. S besitzt eine ganzzahlige Lösung, falls es für jede Variable xj Werte in ZZ gibt, so daß jede Ungleichung richtig ist. Für die Transformation linearer Ungleichungen führen wir Regeln ein, die auch als Herleitungsregeln zur Gewinnung neuer Ungleichungen aufgefaßt werden können. 1.) Additionsregel
ai xi ≥ b, ci xi ≥ d (ADD) (ai + ci )xi ≥ b + d
2.) Multiplikationsregel (für c ∈ IN) ai xi ≥ b
cai xi ≥ cb
(M U L)
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
100 3.) Divisionsregel Sei d ∈ IN \ {0} mit ai = 0
ai d
∈ ZZ und db = p (p ist kleinste ganze Zahl mit p ≥ b/d) und nicht alle
ai xi ≥ b
ai b d xi ≥ d
(DIV )
(Beachte: Die abgeleitete Ungleichung kann auch in der Form − adi xi ≤ !− db " geschrieben werden.) Für ein lineares Ungleichungssystem S verstehen wir dann unter einer Herleitung einer Ungleichung S aus S eine endliche Folge von linearen Ungleichungen S1 , S2 , . . . , Sn mit Sn = S, so daß jede Ungleichung Si aus S stammt oder durch Anwendung einer der Regeln (ADD), (MUL) oder (DIV) aus Ungleichungen dieser Herleitung mit kleineren Indizes gewonnen wurde. Für solch eine Herleitung schreiben wir kurz S | CP S mit CP als Abkürzung für „Cutting Plane“. Anstelle dieser Einzelregeln kann man auch als einen Schritt die Bildung einer Linearkombination von bereits vorliegenden Ungleichungen zulassen, wobei die resultierenden Koeffizienten der Variablen ganzzahlig sein müssen und das konstante Glied wie in der Regel (DIV) auf die nächste ganze Zahl abgerundet wird. Die Nichtexistenz einer ganzzahligen Lösung eines linearen Ungleichungssystems kann man auf die Herleitung einer widerspruchsvollen Aussage mit den genannten Regeln zurückführen. Satz 1.9.9 Ein lineares Ungleichungssystem S mit ganzzahligen Koeffizienten besitzt keine ganzzahlige Lösung genau dann, wenn S | CP m ≥ n für irgendwelche m, n ∈ ZZ mit m < n gilt. Für den Beweis dieser Aussage verweisen wir auf die Arbeiten [Chv 73] und [CCT 87]. Wir ordnen nun jeder Formel in KNF ein lineares Ungleichungssystem zu. Dazu verwenden wir folgende abkürzende Schreibweise. Für ein Atom X sei E(X) := x, d.h. dem Atom X wird die Variable x zugeordnet. Die Abbildung E wird auf Literale und Klauseln erweitert durch E(¬X) = −x und E(L1 ∨ . . . ∨ Lr ) = ri=1 E(Li ). Außerdem verwenden wir N (κ) als Bezeichnung der Anzahl der negativen Literale in der Klausel κ. Definition 1.9.10 Sei α = {α1 , . . . , αm } eine Formel in KNF mit den Atomen X1 , . . . , Xn , dann ordnen wir α das folgende lineare Ungleichungssystem S(α) zu: (1) (2)
S(αi ) : E(αi ) ≥ 1 − N (αi ) xj ≥ 0, −xj ≥ −1
(1 ≤ i ≤ m) (1 ≤ j ≤ n)
Die Ungleichungen unter (2) beschreiben die Forderung 1 ≥ xj ≥ 0, so daß eine ganzzahlige Lösung des gesamten Gleichungssystems nur Werte aus {0, 1} für alle Variablen liefern kann. Diese Lösungen entsprechen den Wahrheitswerten einer erfüllenden Bewertung. Beispiel: Der Formel α = {(X1 ∨ ¬X2 ∨ ¬X3 ), (¬X1 ∨ ¬X2 ), X2 , X3 } wird also das nachfolgende lineare Ungleichungssystem zugeordnet S(α) :
x1 − x2 − x3 ≥ 1 − 2 = −1 −x1 − x2 ≥ 1 − 2 = −1 x2 ≥ 1 − 0 = 1 x3 ≥ 1 − 0 = 1 x1 ≥ 0, −x1 ≥ −1, x2 ≥ 0, −x2 ≥ −1 x3 ≥ 0, −x3 ≥ −1
1.9. KALKÜLE
101 2
An dem obigen Beispiel wollen wir verdeutlichen, daß die Resolution durch lineare Ungleichungssysteme simuliert werden kann. Beispiel: (Fortsetzung) Durch Anwendung der Resolution auf α können wir die leere Klausel erzeugen. Eine analoge Herleitung von Ungleichungen wird nach jedem Resolutionsschritt angegeben. 1 (¬X3 ∨ ¬X2 ) 1.) (X1 ∨ ¬X2 ∨ ¬X3 ), (¬X1 ∨ ¬X2 ) | RES
(1) (2) (3) (4) (5) (6)
x1 − x2 − x3 ≥ −1 −x1 − x2 ≥ −1 −x3 − 2x2 ≥ −2 −x3 ≥ −1 −2x3 − 2x2 ≥ −3 −x3 − x2 ≥ −1
Vor. Vor. (ADD) (1), (2) Vor. (ADD) (3), (4) (DIV) (5) mit d = 2
1 ¬X3 2.) (¬X3 ∨ ¬X2 ), X2 | RES
(6) (7) (8)
−x3 − x2 ≥ −1 x2 ≥ 1 −x3 ≥ 0
Vor. (ADD) (6), (7)
1 3.) ¬X3 , X3 | RES
(8) −x3 ≥ 0 Vor. (9) x3 ≥ 1 (10) 0 ≥ 1 (ADD) (6), (7) 2 Anstelle der leeren Klausel im Fall der Resolutionswiderlegung führt die Anwendung der Beweisregeln für das lineare Ungleichungssystem zum Widerspruch 0 ≥ 1 und kennzeichnet so, daß keine ganzzahlige Lösung existiert. Die Simulation der Resolution, die wir an dem Beispiel exemplarisch verdeutlicht haben, gilt ganz allgemein. Lemma 1.9.11 (Simulationslemma) Sei π die Resolvente der Klauseln α1 und α2 mit den Atomen X1 , . . . , Xm . Dann gilt ≤n S(α1 ), S(α2 ) | CP S(π), wobei n die Länge der Klauseln α1 und α2 ist. Beweis: Sei α1 = (L1 ∨. . .∨Lk ∨X1 ∨Lk+1 ∨. . .∨Lp ) und α2 = (L1 ∨. . .∨Lk ∨¬X1 ∨Lk+1 ∨. . .∨Lr ) zwei Klauseln über den Atomen X1 , . . . , Xn . Hier bezeichnen L1 , . . . , Lk die in beiden Klauseln gemeinsamen Literale und X1 sei das Atom, über das resolviert wird. Mehrfachvorkommen eines Literals in einer Klausel seien ausgeschlossen. Wir betrachten anschließend nur die Ungleichungen für die Klauseln α1 und α2 und leiten daraus die Ungleichung für π her. Die Nebenungleichungen xi ≥ 0 und −xi ≥ −1 umfassen insbesondere die für die
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
102
Resolvente benötigten weiteren Ungleichungen nach (2) der Definition. S(α1 ∧ α2 ) : (1a) (1b) (2)
k
+ pj=k+1 E(Lj ) + x1 ≥ 1 − N (α1 ) + rj=k+1 E(Lj ) − x1 ≥ 1 − N (α2 ) x1 ≥ 0, −x1 ≥ −1, . . . , xn ≥ 0, −xn ≥ −1 E(Lj ) j=1 k j=1 E(Lj )
Dann erhalten wir mit der Regel (ADD) aus (1a) und (1b) (3)
p k 2· j=1 E(Lj ) + j=k+1 E(Lj ) + ≥ 2 − N (α1 ) − N (α2 )
r
j=k+1 E(Lj )
Die Ungleichungen (4) (5)
p E(Lj ) ≥ −N (Lk+1 ∨ . . . ∨ Lp ) j=k+1 r j=k+1 E(Lj )
≥ −N (Lk+1 ∨ . . . ∨ Lr )
erhalten wir aus p– bzw. r–facher Anwendung der Additionsregel auf die passenden Ungleichungen aus (2), d.h. auf E(L) ≥ 0, falls L Atom, und E(L) ≥ −1, falls L negiertes Atom ist. Durch die Addition von (3), (4) und (5) folgt die Ungleichung (6)
p k r 2· j=1 E(Lj ) + j=k+1 E(Lj ) j=k+1 E(Lj ) + ≥ 2 − N (α1 ) − N (α2 ) − N (Lk+1 ∨ . . . ∨ Lp ) − N (Lk+1 ∨ . . . ∨ Lr )
Die rechte Seite formen wir so um, daß wir nur die negativen Literale in π ermitteln müssen: 2 − N (α1 ) − N (α2 ) − N (Lk+1 ∨ . . . ∨ Lp ) − N (Lk+1 ∨ . . . ∨ Lr ) = 2 − 1 − 2(N (L1 ∨ . . . ∨ Lk ) + N (Lk+1 ∨ . . . ∨ Lp ) + N (Lk+1 ∨ . . . ∨ Lr )) = 1 − 2 · N (π) Also können wir die Divisionsregel auf (6) mit d = 2 anwenden und erhalten die Hauptungleichung für die (π) = 12 − N (π). Insgesamt wurden einmal die Regel (DIV), einmal (ADD) zur Klausel π wegen 1−2·N 2 Herleitung von (6), p + r–mal (ADD) zur Herleitung von (4) und (5) und einmal (ADD) zur Herleitung von (3) angewendet. Insgesamt genügen also maximal |α1 ∧ α2 | Regelanwendungen. Mit Hilfe des Simulationslemmas läßt sich sofort der allgemeine Zusammenhang zwischen Erfüllbarkeit von Formeln und Lösbarkeit von linearen Ungleichungssystemen zeigen. Wir nutzen dazu die Widerlegungsvollständigkeit der Resolution und zeigen, daß ein Resolutionsbeweis der Länge n im Kalkül CP durch eine Herleitung der Länge O(n · |α|) simuliert werden kann. Satz 1.9.12
Sei α eine Formel in KNF, dann sind folgende Aussagen äquivalent:
1.) α ist widerspruchsvoll 2.) S(α) | CP 0 ≥ 1 3.) S(α) besitzt keine ganzzahlige Lösung. Beweis: (1 ⇒ 2) Sei α widerspruchsvoll, dann gibt es für ein Atom X aus α eine Resolutionswiderlegung
1.9. KALKÜLE
103
1 . Nach dem Simulationslemma existiert dann eine Herleitung S(α) |CP x ≥ α | RES X, ¬X | RES 1, −x ≥ 0. Mit Hilfe der Additionsregel erhalten wir 0 ≥ 1.
(2 ⇒ 3) Sei S(α) | CP 0 ≥ 1 gegeben. Nehmen wir an, es gebe für S(α) eine ganzzahlige Lösung. Da jede Beweisregel so gestaltet ist, daß jede abgeleitete Ungleichung eine Lösung besitzt, wenn die Ausgangsungleichungen eine Lösung besitzen, folgt sofort ein Widerspruch zu 0 ≥ 1. (3 ⇒ 1) Nehmen wir an, S(α) besitze keine ganzzahlige Lösung und α sei erfüllbar. Sei α = {α1 , . . . , αm }, wobei X1 , . . . , Xn die Atome von α sind, und sei eine erfüllende Bewertung für α. Dann definieren wir 1, falls (Xi ) = 1 xi := 0, falls (Xi ) = 0 Offensichtlich ist jede Ungleichung aus S(α) mit diesen Werten für xi lösbar, denn für αi = (¬Xi1 ∨ . . . ∨ ¬Xiri ∨ Xiri +1 ∨ . . . ∨ Xipi ) wird durch mindestens ein Literal mit dem Wert 1 bewertet. Der i i −xij + pj=r x ≥ 1 − ri unter der Bedingung kleinste Wert für die linke Seite der Ungleichung rj=1 i +1 ij x1 , . . . , xn ∈ {0, 1} ergibt sich, wenn kein Literal in αi mit 1 bewertet wird. Dieser Wert ist dann gerade −ri , so daß bei nur einem mit 1 bewerteten Literal der Wert der linken Seite der Ungleichung 1 − ri ist, diese Ungleichung also von der angegebenen Lösung auch erfüllt wird. Die Nebenungleichungen 0 ≤ xi ≤ 1 sind ebenfalls erfüllt. Also ist das Ungleichungssystem S(α) lösbar. Insgesamt haben wir gezeigt, daß lineare Ungleichungssysteme mit den Beweisregeln ADD, MUL und DIV die Resolution mit einem linearen Mehraufwand simulieren. Das folgende Beispiel zeigt, daß die Nicht–Erfüllbarkeit mancher Formeln durch lineare Ungleichungssysteme mit wesentlich kürzeren Beweisen gezeigt werden kann als durch die Resolution. Die Pigeonhole–Formeln haben die Form ϕn =
(¬Xi,k ∨ ¬Xi,j ) ∧
(1≤i≤n) (1≤k<j≤n+1)
(X1,j ∨ . . . ∨ Xn,j )
(1≤j≤n+1)
Für den Nachweis der Nicht–Erfüllbarkeit der Formeln ϕn gibt es keinen in |ϕn | polynomiell beschränkten Resolutionsbeweis. Im Kalkül CP ist dagegen ein Beweis kubischer Länge möglich [CCT 87]. Lemma 1.9.13 Die Nicht–Erfüllbarkeit der Pigeonhole–Formeln ϕn kann in CP in O(n3 ) Schritten be3) 0 ≥ 1. wiesen werden, d.h. S(ϕn ) |O(n CP Beweis: Das einer Pigeonhole–Formel zugeordnete lineare Ungleichungssystem S(ϕn ) besteht aus drei Gruppen von Ungleichungen (1) (2) (3)
n
i=1 xi,j ≥ 1 −xi,k − xi,l ≥ −1 xi,j ≥ 0, −xi,j ≥ −1
(1 ≤ j ≤ n + 1) (1 ≤ i ≤ n, 1 ≤ k < l ≤ n + 1) (1 ≤ i ≤ n, 1 ≤ j ≤ n + 1)
Hieraus erzeugen wir in quadratisch vielen Schritten die Ungleichungen (4)
n+1 j=1
−xi,j ≥ −1 (1 ≤ i ≤ n)
KAPITEL 1. EINFÜHRUNG IN DIE AUSSAGENLOGIK
104
Durch Induktion über r = 1, . . . , n zeigen wir zunächst, daß die Ungleichungsmengen (5)
M (r) =
j+r
k=j −xi,k ≥ −1 | 1 ≤ j ≤ n + 1 − r, 1 ≤ i ≤ n
r−1 in höchstens 3n(r(n + 1) − s=1 s) vielen Schritten erzeugt werden können. Die Ungleichungen (4) erhalten wir als Spezialfall für j = 1 und r = n + 1.
Die im Induktionsanfang für r = 1 herzuleitenden Ungleichungen −xi,j −xi,j+1 ≥ −1 sind in (2) enthalten, also jeweils mit Herleitungslänge 1 herleitbar. Sei nun r + 1 ≤ n, dann gilt wegen der Induktionsvoraussetzung j+r
−xi,k ≥ −1 und
k=j
j+r+1
−xi,k ≥ −1
k=j+1
Diese Ungleichungen liegen jeweils in M (r). Mit der passenden Ungleichung aus (2) folgt mit zwei Anwendungen von (ADD) j+r
j+r+1
−xi,k +
k=j
−xi,k + (−xi,j − xi,j+r+1 ) ≥ −3
k=j+1
Da jeder Summand auf der linken Seite der Ungleichung zweimal auftritt, erhalten wir durch Anwenden der Divisionsregel (DIV) die gesuchte Ungleichung aus M (r + 1) für dieses i und dieses j. Insgesamt sind für jedes i und jedes j jeweils 3 Regelanwendungen notwendig, um so — ausgehend von M (r) — die Ungleichungen aus M (r + 1) zu bilden. Insgesamt sind also zusätzlich n · (n + 1 − r) · 3 Regelanwendungen vorzunehmen. Wir erhalten also M (r + 1) in höchstens 3n(r(n + 1) −
r−1
s) + 3n(n + 1 − r) = 3n((r + 1)(n + 1) −
r
s)
s=1
l=s
n−1
Schritten. Für j = 1 und r = n sind dann die Ungleichungen von (4) in höchstens 3n(n(n + 1)+ Schritten erzeugbar.
s=1
−s)
Daraus folgt mit zusätzlichen n Anwendungen von (ADD) (6)
n
i=1
n+1 j=1
−xi,j ≥ −n
Andererseits folgt aus (1) mit n + 1 Anwendungen von (ADD) (7)
n+1 n j=1
i=1 xi,j
≥n+1
Mit einer letzten Anwendung der Additionsregel erhalten wir 0 ≥ 1.
Insgesamt haben wir höchstens 3n(n(n + 1) + nj=1 −j) + n + n + 1 + 1 = O(n3 ) Schritte in CP für die Erzeugung von 0 ≥ 1 ausgehend von dem Ungleichungssystem für ϕn benötigt. Das letzte Lemma zusammen mit Theorem 1.9.12 verdeutlicht, daß wir Resolutionsbeweise durch Cutting– Plane Beweise polynomiell simulieren können, es aber wesentlich kürzere Cutting–Plane Beweise geben kann.
Kapitel 2
Einführung in die Prädikatenlogik 2.1 Syntax und Semantik Prädikatenlogische Formeln sind im Gegensatz zur aussagenlogischen Formeln aufgebaut aus gewissermaßen parametrisierten Elementaraussagen. Auch diese können durch die logischen Operationen (Junktoren) verknüpft werden, zusätzlich können über Quantifizierungen Einschränkungen der “Parameter” vorgenommen werden. Zeichenvorrat: 1. Individuenvariablen: x, y, z, . . . , x1 , x2 , . . . 2. Individuenkonstanten: a, b, c, . . . , a1 , a2 , . . . 3. Funktionssymbole beliebiger Stelligkeiten: f, g, h, . . . , f1 , f2 , . . . 4. Prädikatssymbole beliebiger Stelligkeiten: P, Q, R, . . . , P1 , P2 , . . . 5. Junktoren: ∧, ∨, ¬ 6. Quantoren: ∀, ∃ 7. Hilfszeichen: (, ), , (Komma) Die Stelligkeit von Prädikats- und Funktionssymbolen wird bisweilen in Form eines oberen Indexes gekennzeichnet; so bezeichnet f (n) ein n-stelliges Funktionssymbol. Eine Auswahl von Individuenkonstanten, Funktionssymbolen mit festen Stelligkeiten, Prädikatssymbolen mit festen Stelligkeiten, die jeweils auch nur aus endlich vielen Elementen bestehen kann, wird als Signatur Σ bezeichnet. Man kann auf die Individuenkonstanten verzichten, wenn man 0-stellige Funktionszeichen zuläßt. (Eine 0-stellige Funktion hat keine Argumente, von denen der Funktionswert abhängen könnte; er ist daher konstant.) Läßt man 0-stellige Prädikatensymbole zu, so ist die Aussagenlogik unmittelbar eine Teilmenge der Prädikatenlogik. Mit Hilfe der Individuenvariablen, der Individuenkonstanten und der Funktionssymbole werden nun induktiv die Terme definiert, mit denen die Prädikate parametrisiert werden können.
105
106
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
Definition 2.1.1 (Terme) Die Klasse der Terme wird induktiv definiert durch die folgenden vier Schritte. (1) Jede Individuenvariable ist ein Term. (2) Jede Individuenkonstante ist ein Term. (3) Sind t1 , . . . , tn Terme und f eine n-stellige Funktion, so ist auch f (t1 , . . . , tn ) ein Term. (4) Nur mit (1) – (3) gebildete Ausdrücke sind Terme. Man kann die Klasse der Terme auch einschränken durch eine gegebene Signatur und eine Menge von Variablen. TΣ (V ) bezeichnet die Klasse der Terme die mit Individuenkonstanten und Funktionssymbolen der Signatur Σ und Variablen aus der Variablenmenge V gebildet werden können. Aufbauend auf der Klasse der Terme wird — ebenfalls induktiv — die Klasse der prädikatenlogischen Formeln definiert. Definition 2.1.2 (Prädikatenlogische Formeln) Die Klasse der prädikatenlogischen Formeln wird induktiv definiert durch die folgenden fünf Schritte. (1) Sind t1 , . . . , tn Terme und P eine n-stelliges Prädikatssymbol, so ist P (t1 , . . . , tn ) eine Formel. (2) Ist α eine Formel, so ist auch (¬α) eine Formel. (3) Falls α und β Formeln sind, so sind auch (α ∧ β) und (α ∨ β) Formeln. (4) Falls α eine Formel ist und x eine Individuenvariable, so sind auch (∀xα) und (∃xα) Formeln. (5) Nur mit (1) – (4) gebildete Ausdrücke sind Formeln. Auch prädikatenlogische Formeln werden häufig auch als (prädikatenlogische) Ausdrücke bezeichnet; die nach (1) der vorstehenden Definition gebildeten atomaren Formeln heißen auch Primformeln. Jede prädikatenlogische Formel besitzt eine eindeutige Zerlegung: Sie ist entweder ein Atom, eine Negation, eine Konjunktion, eine Disjunktion oder eine existenz- bzw. allquantifizierte Formel. Die Quantoren beziehen sich nur auf Individuenvariablen. Es können also nur Aussagen über Existenz von Objekten bzw. universelle Aussagen gemacht werden. Wir sprechen daher von der Prädikatenlogik erster Stufe. Im Gegensatz dazu verfügt die Prädikatenlogik zweiter Stufe auch über Funktions- und Prädikatsvariablen, über die quantifiziert werden darf. Man kann dort Aussagen über z.B. die Existenz einer injektiven Abbildung machen. Da wir hier nur erststufige Formeln betrachten, sprechen wir statt von der Prädikatenlogik erster Stufe nur von der Prädikatenlogik, da keine Mißverständnisse zu befürchten sind. Werden in einer Formel nur die Individuenkonstanten, Funktionssymbole und Prädikatensymbole einer vorgegebenen Signatur Σ verwendet, so sprechen wir von Formeln über Σ. Umgekehrt induzieren die in einer Formel vorkommenden Symbole eine Signatur. Analog zur Aussagenlogik führen wir die Implikation (α → β) als eine Abkürzung für ((¬α) ∨ β) ein. Ebenfalls als Abkürzung verwenden wir wieder die Äquivalenz (α ↔ β) für ((α → β) ∧ (β → α)).
2.1. SYNTAX UND SEMANTIK
107
Zur Klammereinsparung ist es wieder sinnvoll, Bindungsregeln festzulegen. Bindungsregeln: 1.) ∀, ∃ und ¬ binden stärker als ∧. 2.) ∧ bindet stärker als ∨. 3.) Binäre Operatoren gleicher Stärke werden als links geklammert angesehen. Dabei ist zu beachten, daß in (4) der Definition der Formeln die Klammerung quantifizierter Formeln auch den Bindungsbereich der Variablen kennzeichnen. So ist es sinnvoll, in einer Formel ∀xP (x) ∨ Q(x) trotz Bindungsregeln die Klammerung (∀xP (x)) ∨ Q(x) beizubehalten, um Mißverständnissen vorzubeugen. Wie in der Aussagenlogik bezeichnen wir negierte und nicht-negierte Primformeln als Literale. Eine nichtnegierte Primformel P (t1 , . . . , tn ) heißt auch positives Literal und ¬P (t1 , . . . , tn ) negatives Literal. Für die späteren Definitionen ist es sinnvoll, unterscheiden zu können, ob Variablen im Bindungsbereich eines Quantors in einer Formel vorkommen oder nicht. Wir führen daher die Begriffe gebundene und freie Variable ein. Definition 2.1.3 (Gebundene / freie Variablen) Für Terme t und Formeln α der Prädikatenlogik definieren wir die Mengen vars (t) bzw. vars (α) der Variablen, freevars(α) der freien Variablen und boundvars(α) der gebundenen Variablen von t bzw. α induktiv durch: (1) Ist t eine Individuenvariable, t = x, so ist vars (t) = {x}. (2) Ist t eine Individuenkonstante, t = a, so ist vars (t) = ∅. (3) Ist t = f (t1 , . . . , tn ) mit Termen t1 , . . . , tn so ist vars (t) =
n
i=1 vars (ti ).
(4) Ist α = P (t1 , . . . , tn ) mit Termen t1 , . . . , tn , so ist vars (α) = freevars(α) = boundvars(α) = ∅. (5) Ist α = ¬β mit einer Formel β, so ist vars (α) = vars (β), freevars(α) = freevars(β) und boundvars(α) = boundvars(β). (6) Falls α = β ∧ γ oder α = β ∨ γ mit Formeln β und γ, so ist vars (α) = vars (β) ∪ vars (β), freevars(α) = freevars(β) ∪ freevars(β) und boundvars(α) = boundvars(β) ∪ boundvars(β). (7) Falls α = ∀xβ oder α = ∃xβ mit einer Formel β und einer Individuenvariablen x, so ist vars (α) = vars (β) ∪ {x}, freevars(α) = freevars(β) \ {x} und boundvars(α) = boundvars(β) ∪ {x}. Aufgrund der Schachtelung von Strukturen in den Termen können wir die Längendefinition über die Atomvorkommen in der Prädikatenlogik nicht verwenden. Als Längenmaß kann allerdings die Gesamtzahl aller Vorkommen von Variablen, Konstanten, Funktionen und Prädikaten verwendet werden. Eine Formel
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
108
∀x∃y(P (f (x, x), y) ∨ ¬Q(x)) hat danach die Länge 9. Auf eine formale Definition des Längenmaßes verzichten wir hier, wollen aber dennoch bemerken, daß Schachtelungen von Negationen und die Längen der Bezeichner bei diesem Längenmaß genau wie in der Aussagenlogik unberücksichtigt bleiben. Definition 2.1.4 (Interpretation) Eine Interpretation ist ein nicht leerer Grundbereich ω zusammen mit einer Abbildung der Individuenvariablen, Individuenkonstanten, Funktionskonstanten und Prädikatskonstanten einer (durch eine Formel α induzierten) Signatur Σ und einer Variablenmenge V auf entsprechende Objekte (gleicher Stelligkeit) über dem Grundbereich ω:
: ω = ∅ f (n) #→ fω : ω n → ω x #→ xω ∈ ω .. .. . . P (n) #→ Pω ⊆ ω n .. .
a #→ aω ∈ ω .. .
Die Abbildung der Variablen und Konstanten auf Elemente von ω läßt sich induktiv erweitern zu einer ebenfalls mit bezeichneten Interpretation der Terme in TΣ (V ) durch Elemente von ω:
(f (t1 , . . . , tn ) = (f )( (t1 ), . . . , (tn )) Den Formeln können dann Wahrheitswerte zugewiesen werden durch eine auf der Interpretation der Terme basierende Funktion, die wieder mit bezeichnet wird: (1) (P (t1 , . . . , tn )) = 1 gdw. Pω ( (t1 ), . . . , (tn )) gilt. (2) (¬α) = 1 gdw. (α) = 0. (3) (α ∧ β) = 1 gdw. (α) = 1 und (β) = 1.
(α ∨ β) = 1 gdw. (α) = 1 oder (β) = 1. (4) (∀xα) = 1 gdw. für jedes xω ∈ ω gilt [x/xω ] (α) = 1
(∃xα) = 1 gdw. es ein xω ∈ ω gibt mit [x/xω ] (α) = 1. Dabei bezeichnet [x/xω ] die Interpretation, die mit völlig übereinstimmt bis auf die Zuweisung eines Wertes an die Variable x, die unter den Wert (x), unter [x/xω ] jedoch den Wert xω erhält. Für eine Formel α müssen zwei Interpretationen, die auf den in α vorkommenden Symbolen gleich sind, auch den gleichen Wahrheitswert liefern. Wie in der Aussagenlogik kann man daher auch in der Prädikatenlogik ein Koinzidenzlemma zeigen. Lemma 2.1.5 (Koinzidenzlemma) Seien 1 und 2 zwei Interpretationen für eine prädikatenlogische Formel α, Σα die von α induzierte Signatur. Stimmen 1 und 2 auf Σα und freevars(α) überein, so gilt 1 (α) = 2 (α) Die Anzahl der möglichen Interpretationen ist trotz dieses Koinzidenzlemmas nicht auf eine endliche Anzahl beschränkbar. Daher lassen sich Formeln der Prädikatenlogik nicht durch systematisches Testen der Interpretationen entscheiden. Beispiel: Sei α = ∀x∃yP (x, y) ∧ ∀z(P (z, z) → P (z, f (z))) ∧ ¬P (a, a). Dann ist durch mit
: ω = {1, 2} a #→ 1
f (1) P (2)
#→ fω : ω → ω fω (1) = 2, fω (2) = 1 #→ Pω = {(1, 2), (2, 1)}
2.1. SYNTAX UND SEMANTIK
109
Offensichtlich gilt für diese Interpretation:
=⇒ =⇒ =⇒
Für alle xω ∈ {1, 2} gibt es ein yω ∈ {1, 2} mit (xω , yω ) ∈ Pω . Für alle xω ∈ {1, 2} gibt es ein yω ∈ {1, 2} [x/xω ][y/yω ] (P (x, y)) = 1. Für alle xω ∈ {1, 2} gilt [x/xω ] (∃yP (x, y)) = 1.
(∀x∃yP (x, y)) = 1
Weiter gilt für : =⇒ =⇒
Für alle zω ∈ {1, 2} gilt mit (zω , zω ) ∈ Pω auch (zω , fω (zω )) ∈ Pω . Für alle zω ∈ {1, 2} gilt [z/zω ] (P (z, z) → P (z, f (z))) = 1.
(∀z(P (z, z) → P (z, f (z)))) = 1
Da auch noch (1, 1) ∈ Pω gilt, folgt insgesamt (α) = 1, diese Interpretation erfüllt also die prädikatenlogische Formel α. 2 Analog zur entsprechenden Definition in der Aussagenlogik können mit Hilfe der Interpretationen die Begriffe erfüllbar und widerspruchsvoll sowie der semantische Folgerungsbegriff definiert werden. Definition 2.1.6 (erfüllbar, widerspruchsvoll, Tautologie) Eine prädikatenlogische Formel α heißt erfüllbar genau dann, wenn es eine Interpretation mit (α) = 1 gibt. α heißt falsifizierbar genau dann, wenn es eine Interpretation mit (α) = 0 gibt. α heißt widerspruchsvoll genau dann, wenn für alle Interpretationen (α) = 0 gilt. α ist eine Tautologie genau dann, wenn für alle Interpretationen (α) = 1 gilt. Statt „α ist eine Tautologie“ verwendet man auch die Sprechweise „α ist (allgemein–)gültig“. Offensichtlich besteht wieder der folgende Zusammenhang zwischen den Begriffen. Für eine prädikatenlogische Formel α gilt: ⇐⇒
α ist widerspruchsvoll ¬α ist Tautologie
⇐⇒ ⇐⇒
α ist nicht erfüllbar ¬α ist nicht falsifizierbar
Definition 2.1.7 (Semantischer Folgerungsbegriff) Seien α und β Formeln, dann folgt β (semantisch) aus α (α |= β) genau dann, wenn für alle Bewertungen
gilt:
(α) = 1 =⇒ (β) = 1 Eine Formel β folgt also semantisch aus einer Formel α, wenn β in jedem Kontext wahr ist, in dem auch α wahr ist. Wir erweitern den Folgerungsbegriff wieder durch α1 , . . . , αn |= β bzw. F |= β mit einer Formelmenge F, wenn β gilt unter der Voraussetzung, daß alle α1 , . . . , αn bzw. alle Formeln aus F gelten. Die Schreibweise |= α ist damit äquivalent zu „α ist Tautologie“. Wie in der Aussagenlogik kann die Folgerung α |= β überprüft werden, indem wir (α∧¬β) auf Widerspruch testen. Lemma 2.1.8
Sei α eine aussagenlogische Formel, dann gilt:
a) α |= β ⇐⇒ (α ∧ ¬β) ist widerspruchsvoll. b) α ist widerspruchsvoll ⇐⇒ Für alle Formeln β gilt: α |= β c) α ist widerspruchsvoll ⇐⇒ Es gibt eine Formel β mit : α |= (β ∧ ¬β)
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
110
Für den Folgerungsbegriff in der Prädikatenlogik läßt sich auch ein Deduktionstheorem beweisen. Lemma 2.1.9 (Deduktionstheorem für |=) Seien α und β prädikatenlogische Formeln und M eine Menge solcher Formeln, dann gilt: M ∪ {α} |= β
=⇒
M |= (α → β)
Auch zwei prädikatenlogische Formeln α und β heißen (logisch) äquivalent, abgekürzt α ≈ β, genau dann, wenn für jede Bewertung gilt: (α) = (β), d.h. wenn gilt |= α ↔ β. Die Manipulation prädikatenlogischer Formeln durch die Ersetzung von Vorkommen von Teilformeln durch andere logisch äquivalente Formeln ist ebenfalls möglich. Das Resultat einer solchen Ersetzung ist logisch äquivalent zur Ausgangsformel. Diese Ersetzungen dürfen nicht verwechselt werden mit den später noch zu definierenden Ersetzungen von Variablen durch Terme. Dort sind Restriktionen aus den Bindungsbereichen der Quantoren zu beachten. Die aus der Aussagenlogik bekannten Vererbungsregeln und Umformungsgesetze gelten auch hier, sowie einige zusätzliche, die die Quantifikationen berücksichtigen. α ≈ β =⇒ ¬α ≈ ¬β α ≈ β =⇒ γ ∧ α ≈ γ ∧ β und γ ∨ α ≈ γ ∨ β α ≈ β =⇒ ∃xα ≈ ∃xβ und ∀xα ≈ ∀xβ Negation ¬¬α ≈ α Idempotenz α∨α ≈ α α∧α ≈ α Kommutativität α∨β ≈β ∨α α∧β ≈β ∧α Assoziativität (α ∨ β) ∨ σ ≈ α ∨ (β ∨ σ) (α ∧ β) ∧ σ ≈ α ∧ (β ∧ σ) Distributivität (α ∧ β) ∨ σ ≈ (α ∨ σ) ∧ (β ∨ σ) (α ∨ β) ∧ σ ≈ (α ∧ σ) ∨ (β ∧ σ) De Morgan ¬(α ∧ β) ≈ ¬α ∨ ¬β ¬(α ∨ β) ≈ ¬α ∧ ¬β Quantorwechsel ¬(∃xα) ≈ ∀x(¬α) und ¬(∀xα) ≈ ∃x(¬α) Quantortausch ∃x∃yα ≈ ∃y∃xα und ∀x∀yα ≈ ∀y∀xα Quantorzusammenfassung ∃xα ∨ ∃xβ ≈ ∃x(α ∨ β) und ∀xα ∧ ∀xβ ≈ ∀x(α ∧ β) Quantorelimination (x ∈ freevars(α)) ∃xα ≈ α und ∀xα ≈ α Quantifizierung (x ∈ freevars(β)) ∃xα ∧ β ≈ ∃x(α ∧ β) und ∃xα ∨ β ≈ ∃x(α ∨ β) ∀xα ∧ β ≈ ∀x(α ∧ β) und ∀xα ∨ β ≈ ∀x(α ∨ β) Vererbung
2.2. NORMALFORMEN
111
Umbenennung (x ∈ vars (α)) ∃xα ≈ ∃x α[x/x ] und ∀xα ≈ ∀x α[x/x ] α[x/x ] bezeichnet die Ersetzung aller Vorkommen von x durch x .
Eine weitere Abschwächung des Äquivalenzbegriffes ist die sogenannte Erfüllbarkeitsäquivalenz. Sie verbindet zwei Formeln nur in Bezug auf ihre Erfüllbarkeit. Definition 2.1.10
(Erfüllbarkeitsäquivalenz) sat
Zwei Formeln α und β heißen erfüllbarkeitsäquivalent, abgekürzt α ≈ β, genau dann, wenn gilt: α ist erfüllbar
⇐⇒
β ist erfüllbar
Also sind auch alle erfüllbaren prädikatenlogischen Formeln erfüllbarkeitsäquivalent und auch alle widerspruchsvollen prädikatenlogischen Formeln.
2.2 Normalformen 2.2.1 Pränexe Normalform (PNF) Die im vorhergehenden Abschnitt genannten äquivalenzerhaltenden Umformungen erlauben unmittelbar die Transformation auch von prädikatenlogischen Formeln in die Negationsnormalform. Die Negationsnormalform (NNF) für prädikatenlogische Formeln erlaubt wie in der Aussagenlogik Negationszeichen nur direkt vor einer Primformel und keine zwei Negationszeichen direkt hintereinander. Lemma 2.2.1 Zu jeder prädikatenlogischen Formel α gibt es eine äquivalente Formel in Negationsnormalform (NNF). Die auch in der Negationsnormalform noch fast überall möglichen Quantoren ist die unmittelbare Anwendung von Distributivgesetzen für logisches Und und Oder meist nicht zulässig. Die Transformationsregeln für Quantoren erlauben aber die Bildung einer logisch äquivalenten pränexen Form, d.h. einer Formel, die zunächst ein Präfix aus Quantoren und dann einen quantorfreien Kern aufweist, Q1 x1 . . . Qn xn α mit Qi ∈ {∀, ∃} für 1 ≤ i ≤ n und boundvars(α) = ∅. Ist der Kern zusätzliche noch in Konjunktiver Normalform (KNF), so nennen wir diese Formelgestalt pränexe Normalform (PNF). Allerdings ist zu berücksichtigen, daß folgende Äquivalenzen nicht bestehen: ∃xα ∧ ∃xβ ≈ ∃x(α ∧ β) ∀xα ∨ ∀xβ ≈ ∀x(α ∨ β) Dies verifiziert man leicht durch α = P (x) und β = ¬P (x) mit der Interpretation “x ist gerade” für P (x) über dem Grundbereich der ganzen Zahlen. Zusätzlich sind bei den Äquivalenzen aus dem letzten Abschnitt die Bedingungen x ∈ freevars(β) für das Vorziehen der Quantifizierung zu berücksichtigen. Ein Ausweg aus diesem Dilemma ist das Umbenennen der gebundenen Variablen durch neue Variablen, die bisher nicht in der Formel vorkommen. Vermeidet man dann noch Quantorzusammenfassungen, so gelangt man zu einer logisch äquivalenten pränexen Form.
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
112
Die Transformationsregeln erlauben folgendes Vorgehen: 1. Benenne durch Verwendung von neuen Variablen alle quantifizierten Variablen so um, daß verschiedene Quantoren sich auf verschiedene Variablen beziehen und keine quantifizierte Variable auch frei vorkommt. 2. Führe die folgenden Ersetzungsregeln solange aus, wie sie anwendbar sind. a) b) c) d) e) f)
Ersetze Ersetze Ersetze Ersetze Ersetze Ersetze
(∀xα) ∧ β (∃xα) ∧ β (∀xα) ∨ β (∃xα) ∨ β ¬∀xα ¬∃xα
durch durch durch durch durch durch
∀x(α ∧ β) ∃x(α ∧ β) ∀x(α ∨ β) ∃x(α ∨ β) ∃x¬α ∀x¬α
3. Führe die folgenden Ersetzungsregeln solange aus, wie sie anwendbar sind. g) h)
Ersetze Ersetze
¬(α ∧ β) ¬(α ∨ β)
durch durch
¬α ∨ ¬β ¬α ∧ ¬β
4. Führe die folgenden Ersetzungsregeln solange aus, wie sie anwendbar sind. i)
Ersetze
(α ∧ β) ∨ γ
durch
(α ∨ γ) ∧ (β ∨ γ)
Offensichtlich lassen sich die Schritte e) und f) aus 2) sowie 3) zur Bildung der Negationsnormalform auch vorab ausführen. Hier wird allerdings durch 1) und 2) zunächst eine pränexe Form erstellt, die in 3) zu einer pränexen Negationsnormalform transformiert wird. Schritt 4) schließlich transformiert den quantorfreien Kern von der Negationsnormalform in die Konjunktive Normalform um. Lemma 2.2.2 Zu jeder prädikatenlogischen Formel α gibt es eine äquivalente Formel in pränexer Normalform (PNF). Beispiel: α = ¬∀x(P (x) ∧ Q(x)) ∧ ∀x(¬P (x) → R(x)) ∧ ∀x(Q(x) ∧ ∃yR(y)) ≈ ¬∀x1 (P (x1 ) ∧ Q(x1 )) ∧ ∀x2 (¬P (x2 ) → R(x2 )) ∧ ∀x3 (Q(x3 ) ∧ ∃yR(y)) ≈ ∃x1 ¬(P (x1 ) ∧ Q(x1 )) ∧ ∀x2 (P (x2 ) ∨ R(x2 )) ∧ ∀x3 ∃y(Q(x3 ) ∧ R(y)) ≈ ∃x1 ∀x2 ∀x3 ∃y((¬P (x1 ) ∨ ¬Q(x1 )) ∧ (P (x2 ) ∨ R(x2 )) ∧ Q(x3 ) ∧ R(y)) 2 In der Aussagenlogik erlaubt das Verfahren von Tseitin die Bildung von Konjunktiven Normalformen mit polynomiellem Zeitaufwand. Allerdings wird bei jeder Transformation (α ∧ β) ∨ γ zu (α ∨ A) ∧ (β ∨ A) ∧ (¬A ∨ γ) ein neues Atom A eingeführt, so daß die resultierende Formel nur erfüllbarkeitsäquivalent zur Ausgangsformel ist. Dieses Verfahren kann man auch für die Transformation prädikatenlogischer Formeln einsetzen, jedoch nur unter Berücksichtigung der allquantifizierten Variablen, d.h. (α ∧ β) ∨ γ wird zu (α ∨ A(x1 , . . . , xn )) ∧ (β ∨ A(x1 , . . . , xn )) ∧ (¬A(x1 , . . . , xn ) ∨ γ) transformiert mit einem neuen Prädikat A, wobei x1 , . . . , xn alle allquantifizierten Variablen sind, die sowohl in α als auch β und auch in γ vorkommen.
2.2. NORMALFORMEN
113
2.2.2 Skolem-Normalform Die in einer pränexen Normalform vorkommenden Existenzquantoren werden in jeder Interpretation so gedeutet, daß in Abhängigkeit von den Werten der im Präfix vorstehenden allquantifizierten Variablen ein Wert für die existenzquantifiezierte Variable bestimmt werden muß, der die Formel erfüllt. Hierdurch wird auf dem Grundbereich der Interpretation eine Abbildung definiert, die den Werten der ∀-Variablen den Wert der ∃-Variablen zuordnet. Es ist daher naheliegend, anstelle der ∃-Variablen eine neue Funktion einzusetzen mit den ∀-Variablen als Argumenten. Diese Ersetzung nennt man Skolemisierung. Lemma 2.2.3 In einer geschlossenen prädikatenlogischen Formel α mit paarweise verschiedenen quantifizierten Variablen sei y eine existenzquantifizierte Variable, die im Bindungsbereich der allquantifizierten Variablen x1 , . . . , xn liegt. Sei β die Formel, die sich durch Elimination des Quantors ∃y und Ersetzung aller weiteren Vorkommen von y durch f (x1 , . . . , xn ) mit einer für α neuen Funktion f ergibt. Dann sind α und β erfüllbarkeitsäquivalent. Die Erweiterung erfüllender Interpretationen für α um eine Funktion für f in der zuvor beschriebenen Weise ergibt unmittelbar eine erfüllende Bewertung für β. Umgekehrt kann für y immer der Funktionswert für f (x1 , . . . , xn ) in einer erfüllenden Interpretation für β gewählt werden. Eine pränexe Normalform ohne Existenzquantoren nennen wir Skolem-Normalform (SKNF). Als unmittelbare Konsequenz erhalten wir das folgende Lemma. Lemma 2.2.4 Zu jeder prädikatenlogischen Formel α gibt es eine erfüllbarkeitsäquivalente Formel in Skolem-Normalform (SKNF). Beispiel: ∃x1 ∀x2 ∀x3 ∃y((¬P (x1 ) ∨ ¬Q(x1 )) ∧ (P (x2 ) ∨ R(x2 )) ∧ Q(x3 ) ∧ R(y)) SKN F
⇒
∀x2 ∀x3 ((¬P (ax1 ) ∨ ¬Q(ax1 )) ∧ (P (x2 ) ∨ R(x2 )) ∧ Q(x3 ) ∧ R(fy (x2 , x3 ))) 2
Die Skolem-Normalform ist die Basis für das weitere Arbeiten. Da der quantorfreie Kern der SkolemNormalform in Konjunktiver Normalfor vorliegt, lassen sich die Allquantoren, aus denen das Präfix ja nur noch besteht, auf die einzelnen Klauseln verteilen (Umkehrung der Regeln für Quantorzusammenfassung und für Quantifizierung). Mit Hilfe der Quantorelimination kann eine äquivalente Form erreicht werden, die aus einer Konjunktion geschlossener allquantifizierter Klauseln besteht ohne überflüssige Quantoren. Die so entstandene Form heißt Klauselnormalform. Lemma 2.2.5 Zu jeder prädikatenlogischen Formel α in Skolem-Normalform gibt es eine äquivalente Formel in Klauselnormalform. Für das Verständnis der Prädikatenlogischen Resolution sind folgende Eigenschaften der Klauselnormalform wichtig: • Klauseln, d.h. die allquantifizierten geschlossenen Disjunktionen können beliebig verdoppelt werden. • Die quantifizierten Variablen können beliebig umbenannt werden.
114
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
Beide Manipulationen führen zu logisch äquivalenten Formeln. Weitere Einschränkungen der Klauseln in der Klauselnormalform werden analog zur Aussagenlogik definiert, d.h. Unit-Klauseln bestehen aus nur einem Literal, Horn-Klauseln besitzen höchstens ein positives Literal, etc. Da alle Variablen einer Klauselnormalform jeweils pro Klausel allquantifiziert sind und die Kommutativität des logischen Oder sowie die Invarianz bzgl. Literalverdopplung auch hier gelten, hat sich für die Prädikatenlogik ebenfalls eine mengenorientierte Schreibweise der Klauselnormalform eingebürgert. So steht in der mengenorientierten Schreibweise {{¬P (a, f (x)), ¬P (x, z)}, {P (a, f (b)), P (x, y), P (g(y), x)}} für die Formel ∀x∀z(¬P (a, f (x)) ∨ ¬P (x, z)) ∧ ∀x∀y(P (a, f (b)) ∨ P (x, y) ∨ P (g(y), x)) Zu beachten ist, das nur wirklich identische Literale als Mehrfachvorkommen gezählt werden können, nicht jedoch zwei Literale mit bis auf Variablen identische Struktur. So kann eine Klausel ∀x∀z(¬P (x, z) ∨ ¬P (x, z)) reduziert werden zu ∀x∀z¬P (x, z), nicht jedoch die Klausel ∀x∀z(¬P (x, z) ∨ ¬P (z, x)).
2.3 Substitution und Unifikation In der Aussagenlogik werden für die Resolution zwei Klauseln mit komplementären Literalen benötigt. Diese Klauseln werden — als Implikationen gesehen — wie durch einen Kettenschluß miteinander verschmolzen. In der Prädikatenlogik sind Literale aber nicht unbedingt sofort komplementär. Die Literale P (x) und ¬P (g(y)) umfassen bei passender Einsetzung für die allquantifizierten Variablen x und y aber durchaus komplementäre Spezialfälle, etwa P (g(g(a))) und ¬P (g(g(a))) mit einer Konstanten a. Die Grundlage für die Bildung dieser Spezialfälle ist die Ersetzung von Variablen durch Terme. Diese Ersetzung ist allerdings nicht so einfach zu handhaben wie die Ersetzung von Teilformeln durch logisch äquivalente andere Formeln, z.B. bei der Anwendung des Distibutivgesetzes für das logische Und. Die Forderung nach logischer Äquivalenz verhindert dort, daß fehlerhafte Ergebnisse entstehen. Ersetzen wir aber in der Formel ∀x∃yP (x, y) die Variable y durch den Term x, so erhalten wir mit ∀x∃yP (x, x), also ∀xP (x, x) eine Formel, die keine Folgerung der Ausgangsformel mehr ist, in diesem Sinne also kein Spezialfall der Ausgangsformel mehr ist. Problematisch ist bei diesen Ersetzungen, daß der eingesetzte Term Variablen enthalten kann, die ihrerseits durch andere Quantoren gebunden sind. Definition 2.3.1 (Substitution) Unter einer Substitution [x/t] verstehen wir die simultane Ersetzung aller Vorkommen der Variablen x durch einen Term t. Dieser Ersetzungsvorgang wird induktiv für Terme und Formeln definiert durch: (1) x[x/t] = t und für eine Individuenvariable y = x ist y[x/t] = y. (2) Für eine Individuenkonstante a ist a[x/t] = a. (3) Für eine n-stellige Funktion f und Terme t1 , . . . , tn ist f (t1 , . . . , tn )[x/t] = f (t1 [x/t], . . . , tn [x/t]). (4) Für ein n-stelliges Prädikat P und Terme t1 , . . . , tn ist P (t1 , . . . , tn )[x/t] = P (t1 [x/t], . . . , tn [x/t]).
2.3. SUBSTITUTION UND UNIFIKATION
115
(5) Ist α eine Formel und ist α[x/t] definiert, so ist (¬α)[x/t] = ¬α[x/t]. (6) Sind α und β Formeln und sind α[x/t] und β[x/t] definieert, so ist (α ∨ β)[x/t] = α[x/t] ∨ β[x/t] und (α ∧ β)[x/t] = α[x/t] ∧ β[x/t]. (7) Für eine Formel α und eine Variable y gilt: (a) Gilt x ∈ freevars(α), so ist (∃yα)[x/t] = ∃yα und (∀yα)[x/t] = ∀yα. (b) Gilt x ∈ freevars(α), y ∈ vars (t) und ist α[x/t] definieert, so ist (∃yα)[x/t] = ∃yα[x/t] und (∀yα)[x/t] = ∀yα[x/t]. Häufig fassen wir eine endliche Anzahl von Substitutionen zu einer zusammen und schreiben [x1 /t1 , . . . , xn /tn ] für die Hintereinanderausführung der Einzelsubstitutionen [x1 /t1 ], . . . , [xn /tn ] in genau dieser Reihenfolge. Da die Reihenfolge wichtig sein kann, sprechen wir auch von einer Ersetzungsliste. Die Zusammenfassung einer endlichen Anzahl von Substitutionen [x1 /t1 , . . . , xn /tn ] bzeichnen wir ebenfalls als Substitution. Für eine Formel α und eine Substitution σ ist ασ das Ergebnis der Substitution. Ist ασ variablenfrei, so bezeichenen wir σ als Grundsubstitution. Die simultane Ersetzung aller Vorkommen von x erlaubt, daß in dem hierfür einzusetzenden Term t die Variable x wieder vorkommen darf. Stellt man sich die Substitution [x/t] aber als sukzessive Ersetzung der einzelnen Vorkommen von x vor, so terminiert das Ersetzungsverfahren nicht. P (x) wird bei [x/f (x)] zu P (f (f (· · ·))) mit unendlich tiefer Schachtelung der Funktion f . Eine Ersetzungsliste läßt sich ohne weiteres in eine Form bringen, so daß die Einzelersetzungen unabhängig voneinander sind und damit in beliebiger Reihenfolge ausgeführt werden können. Eine Substitution dieser Art für [x1 /t1 , . . . , xn /tn ] ist beispielsweise [x1 /(t1 [x2 /t2 , . . . , xn /tn ]), x2 /(t2 [x3 /t3 , . . . , xn /tn ]), . . . , xn /tn ] Allerdings kann die Größe der Terme, die jetzt in der Substitution darzustellen sind, exponentiell sein im Vergleich zur Länge der Terme in der Ersetzungsliste. Wir werden nachfolgend immer nur Ersetzungslisten zur Darstellung von Substitutionen verwenden. Lemma 2.3.2 Seien x eine freie Variable der prädikatenlogischen Formel α, die in Skolem-Normalform vorliegt. Seien weiter x1 , . . . , xn die Variablen des Terms t. Für die Substitution [x/t] gilt ∀xα |= ∀x1 . . . ∀xn α[x/t]. Dieses Ergebnis überträgt sich natürlich sofort auf Ersetzungslisten von mehreren Einzelsubstitutionen. Da eine Substitution für eine Klausel als Bildung eines Spezialfalles dieser Klausel aufgefaßt werden kann, zeigt das Lemma, daß jede spezialisierte Klausel eine Folgerung der ursprünglichen Klausel ist. Definition 2.3.3 (Unifikator) Seien α1 und α2 prädikatenlogische Formeln. Eine Substitution [x1 /t1 , . . . , xn /tn ] heißt Unifikator von α1 und α2 , falls gilt α1 [x1 /t1 , . . . , xn /tn ] = α2 [x1 /t1 , . . . , xn /tn ]. α1 und α2 heißen dann unifizierbar. Der Begriff des Unifikators kann genauso auch für beliebige Formelmengen und nicht nur für zwei Formeln definiert werden. Für die Literale P (a, f (x)) und P (x , y ) ist [x /a, x/b, y /f (b)] ein Unifikator. Für die Formulierung einer Resolutionsregel für die Prädikatenlogik können wir nun davon ausgehen, daß eine Formel in Klauselnormalform vorliegt. Die Formel enthalte zwei Klauseln, die keine gemeinsame Variable haben und von denen die eine ein positives Literal und die andere ein negatives Literal über dem
116
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
gleichen Prädikat P enthält. Indem wir nun geeignete Spezialisierungen der Klauseln betrachten, können wir auch hier von komplementären, sonst aber gleichen Literalen ausgehen. Allerdings sollten die Klauseln nicht überspezialisiert werden, um nachfolgend noch ein hohes Maß an weiteren Spezialisierungen in den nächsten Resolutionsschritten vornehmen zu können. Definition 2.3.4 (Allgemeinster Unifikator) Ein Unifikator σ der prädikatenlogischen Formeln α1 und α2 heißt allgemeinster Unifikator (most general unifier, mgu) von α1 und α2 , wenn es zu jedem anderen Unifikator τ von α1 und α2 eine Substitution τ existiert, so daß gilt τ ◦ σ = τ . τ ◦ σ bezeichnet die Hintereinanderausführung der beiden Substitutionen τ und σ. Sind beide durch Ersetzungslisten gegeben, etwa τ = [x1 /t1 , . . . , xn /tn ] und σ = [y1 /s1 , . . . , ym /sm ], dann ist τ ◦ σ = [y1 /s1 , . . . , ym /sm , x1 /t1 , . . . , xn /tn ]. Mann beachte die Umkehrung der Reihenfolge! Ein allgemeinster Unifikator umfaßt also nur die Substitutionen, die unbedingt nötig sind, zwei Formeln zu unifizieren. Jeder andere Unifikator läßt sich aus dem allgemeinsten Unifikator gewinnen, indem noch zusätzliche Substitutionen durchgeführt werden. Für die Literale P (a, f (x)) und P (x , y ) ist [x /a, y /f (x)] ein allgemeinster Unifikator. Zur Bestimmung des allgemeinsten Unifikators zweier Primformeln verwendet man häufig den Unifikationsalgorithmus nach Robinson. Zum Verständnis des Verfahrens ist die Identifikation der ersten Stelle wichtig, an der zich zwei Primformeln unterscheiden. Sind P (t1 , . . . , tn ) und P (t1 , . . . , tn ) zwei verschiedene Primformeln, so werden das erste minimale Paar korrespondierender Subterme (s, s ) von P (t1 , . . . , tn ) und P (t1 , . . . , tn ) dadurch bestimmt, daß man im Formelbaum mit der Tiefensuche von links nach rechts den ersten Knoten bestimmt, der in beiden Primformeln verschieden ist. Die Subterme, die durch die Teilbäume mit diesen Knoten als Wurzeln in den Formelbäumen gebildet werden, sind die gesuchten Subterme (s, s ). Diese Terme sind in der textuellen Schreibweise von links nach rechts die ersten und minimal in dem Sinne, daß bereits das erste Zeichen in s und s verschieden ist. Für die Literale P (a, f (x)) und P (x , y ) ist das erste minimale korrespondierende Paar Subterme (a, x ), für die Literale P (a, f (x)) und P (a, f (b)) ist dies (x, b), nicht jedoch (f (x), f (b)), da dies Paar nicht minimal verschieden ist aufgrund des in beiden Termen gleichen äußersten Funktors f . Im folgenden Algorithmus liefert die Funktion first-min-different-subterms für zwei Primformeln das gesuchte Termpaar. Algorithmus 2.1: Unifikationsalgorithmus nach Robinson Input: Primformeln P (t 1 , . . . , tn ) und P (t1 , . . . , tn ) Output: allgemeinster Unifikator σ für diese Primformeln, falls sie unifizierbar sind, NIL sonst begin σ := [] while P (t1 , . . . , tn )σ = P (t1 , . . . , tn )σ begin (s, s ) = first-min-different-subterms (P (t1 , . . . , tn )σ, P (t1 , . . . , tn )σ) if s ist Variable und s enthält s nicht then σ := σ[s/s ] else if s ist Variable und s enthält s nicht then σ := σ[s /s] else return (NIL) end while return (σ) end
2.4. PRÄDIKATENLOGISCHE RESOLUTION
117
Im Algorithmus ist zu beachten, daß die bisher gewonnene Substitution jedesmal angewendet wird, bevor das nächste Paar erster minimaler verschiedener Subterme bestimmt wird. Die neue Einzelsubstitution [s/s ] bzw. [s /s] unifiziert die Teilterme (s, s ), so daß das nächste Paar erster minimaler verschiedener Subterme nur weiter rechts im Formelbaum gefunden werden kann. Mit diesem Algorithmus können auch allgemeinste Unifikatoren für größere Mengen von Primformeln α1 , . . . , αn bestimmt werden, indem zunächst für zwei Primformeln α1 und α2 der allgemeinste Unifikator σ1 bestimmt wird, dann der allgemeinste Unifikator σ2 für α1 σ1 und α3 , dann der allgemeinste Unifikator σ3 für α1 σ1 σ2 und α4 , usw. Der gesuchte allgemeinste Unifikator ist schließlich σn−1 ◦ . . . ◦ σ2 ◦ σ1 .
2.4 Prädikatenlogische Resolution Wie in der Aussagenlogik können wir nun die Resolutionsregel anwenden, um Klauseln zu generieren, die Folgerungen der ursprünglichen Formel sind. α ≈ ∀x∀z(¬P (a, f (x)) ∨ ¬P (x, z)) ∧ ∀x∀y(P (a, f (b)) ∨ P (x, y) ∨ P (g(y), x)) Dazu erzeugen wir zunächst für zwei Klasueln mit komplementären Vorkommen eines Prädikates P zwei variablenfremde Kopien mit den Idempotenz- und Umbenennungsregeln. α ≈ α ∧ ∀x∀y(¬P (a, f (x)) ∨ ¬P (x, y)) ∧ ∀u∀v(P (a, f (b)) ∨ P (u, v) ∨ P (g(v), u)) Die beiden variablenfremden Klauseln können wir unter einem gemeinsamen Präfix zusammenfassen durch die Quantifizierungsregeln. α ≈ α ∧ ∀x∀y∀u∀v((¬P (a, f (x)) ∨ ¬P (x, y)) ∧ (P (a, f (b)) ∨ P (u, v) ∨ P (g(v), u))) Anschließend versuchen wir, einige der positiven Literale über P aus der einen Klausel und einige der negativen Literale über P aus der anderen Klausel zu unifizieren. P (a, f (x)), P (x, y), P (u, v) =⇒ σ = [x/a, y/f (a), u/a, v/f (a)] Falls ein allgemeinster Unifikator σ existiert, bilden wir die beiden entsprechend spezialisierten Klauseln. α ≈ α ∧ ((¬P (a, f (a)) ∨ ¬P (a, f (a))) ∧ (P (a, f (b)) ∨ P (a, f (a)) ∨ P (g(f (a)), a))) Die Anwendung der Resolutionsregel auf die spezialisierten Klauseln entspricht dann einem Kettenschluß. α ≈ α ∧ ((P (a, f (a)) → ) ∧ ((¬P (a, f (b)) ∧ ¬P (g(f (a)), a)) → P (a, f (a)))) Die Resolvente ist insgesamt eine Folgerung der Ausgangsformel. α ≈ α ∧ (P (a, f (b)) ∨ P (g(f (a)), a)) Natürlich wird nicht in jedem Fall jede Variable durch einen variablenfreien Term sustituiert werden, so daß im allgemeinen die Resolvente noch Variablen enthält. Da wir aus jeder Klausel mehr als ein Literal für die Resolution auswählen wollen, hat die mengenorientierte Resolutionsregel die folgende allgemeine Gestalt: {B1 , . . . , Bm } {L1 , . . . , Lk } (({L1 σ, L2 σ, . . . , Lk σ} \ {¬Lσ}) ∪ ({B1 σ, B2 σ, . . . , Bm σ} \ {Lσ}))
118
KAPITEL 2. EINFÜHRUNG IN DIE PRÄDIKATENLOGIK
mit σ mgu von L(. . . ), L(. . . ), . . . und L(. . . ), L(. . . ), . . .. Wenn wir wie hier die mengenorientierte Schreibweise verwenden mit der Vorstellung, daß alle vorkommenden Variablen allquantifiziert sind, lassen sich mehrere hintereinanderausgeführte Resolutionen recht einfach darstellen. Problematisch ist meist nur, daß Resolutionen nicht wie geschachtelte Brüche geschrieben werden können, da unterschied