VO IS Technology Wintersemester 2009-10 Prof. Dr. Dimitris Karagiannis Dr. Hans-Georg Fill http://www.dke.univie.ac.at GRUNDBEGRIFFE DER LOGIK http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (1) Die Aussagenlogik ist jener Teil der formalen Logik, der sich mit der Analyse von Sätzen und Satzkombinationen auseinandersetzt. Aussagen werden nach den Bedingungen der formalen Logik jeweils mit sog. Literalen codiert und stellen Sätze dar, die entweder den Wahrheitswert “wahr” oder “falsch” haben können (zweiwertige Logik). http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (2) In der Aussagenlogik unterscheidet man folgende Junktoren: • Konjunktion Die Konjunktion oder UND-Verknüpfung (Symbol “”) wird Umgangssprachlich durch die Bindewörter “sowohl als auch” oder “nicht nur” umschrieben. Eine Aussage “A UND B” ist genau dann wahr, wenn beide Aussagen wahr sind. • Diskunktion Die Disjunktion bzw. ODER-Verknüpfung (Symbol “”) zweier Aussagen “A ODER B” ist genau dann wahr, falls zumindest eine der beiden Aussagen wahr ist. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (3) • Implikation Die Implikation (Symbol “”) entspicht einer “wenndann”-Verknüpfung. • Äquivalenz Die Äquivalenz (Symbol “”) kann umgangssprachlich am besten mit “genau dann, wenn” umschrieben werden. • Negation Dieser Operator (Symbol “¬”) negiert den Wahrheitswert einer Aussage. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (4) Wahrheitstafel aussagenlogischer Verknüpfungen: A falsch falsch wahr wahr B falsch wahr falsch wahr AB falsch falsch falsch wahr AB falsch wahr wahr wahr AB wahr wahr falsch wahr AB wahr falsch falsch wahr A wahr wahr falsch falsch http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (5) Besonderheit der formalen Logik: Man kann - unabhängig von der Semantik einer Aussage - einen logischen Operator durch einen beliebigen anderen ersetzen, sofern der Wahrheitsgehalt der Aussagekombination (vgl. Wahrheitstabellen) unverändert bleibt. Die erlaubten formalen Umformungen von Aussagekombinationen richten sich demnach unter rein syntaktischen Gesichtspunkten immer nach der Gültigkeit von Wahrheitstabellen; die Semantik spielt für die formale Äquivalenz überhaupt keine Rolle. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (6) Ein Beispiel für so eine erlaubte Umformung ist die Transformation der Aussagekombination AB in ¬AB da die Wahrheitswerte der beiden Aussagekombinationen ident sind (vgl.Wahrheitstabelle). Man sagt auch, die beiden Aussagekombinationen oder Formeln sind äquivalent, weil sie bei jeder Belegung denselben Wahrheitswert haben. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (7) Wahrheitstabellen AB bzw. ¬AB A falsch falsch wahr wahr B falsch wahr falsch wahr (A)B wahr wahr falsch wahr AB wahr wahr falsch wahr Äquivalenz http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (8) Von zentraler Bedeutung in der Logik ist die Frage nach der Erfüllbarkeit von Formeln. Dazu sind die folgenden Definitionen wichtig, die für alle Logiksprachen und -kalküle gelten: • eine Formel A ist erfüllbar, wenn es eine Belegung ihrer Literale gibt, sodaß sie wahr wird. • eine Formel A ist unerfüllbar (kontradiktorisch), wenn es keine Belegung ihrer Literale gibt, sodaß sie wahr wird. • eine Formel ist allgemeingültig (tautologisch), wenn sie bei jeder Belegung ihrer Literale wahr wird. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (9) Jede noch so komplizierte aussagenlogische Formel kann in eine sog. Normalform übergeführt werden. Man unterscheidet: • konjunktive • disjunktive Normalformen. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (10) Eine Formel F ist in konjunktiver Normalform (KNF), wenn sie eine Konjunktion von Disjunktionen der Literale ist. Die dabei auftretenden Literale können positiv oder negiert sein. Man schreibt allgemein: n mi F ( ( Li , j )), mit Li , j { A1, A2,...} {A1, A2,...} i 1 j 1 http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (11) Der Algorithmus für die Bildung der KNF einer Formel kann wie folgt angegeben werden: 1. Jede Zeile der Wahrheitstafel mit Wahrheitswert “falsch” trägt zu einem Disjunktionsglied bei. 2. Die Literale dieser Disjunktion bestimmen sich wie folgt: Falls die Belegung eines Literals in der betreffenden Zeile falsch ist, so wird das positive Literal eingesetzt, sonst das negierte Literal. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (12) Eine Formel F ist in disjunktiver Normalform (DNF), wenn sie eine Disjunktion von Konjunktionen der Literale ist. Man schreibt allgemein: n mi F ( ( Li , j )), mit Li , j { A1, A2,...} {A1, A2,...} i 1 j 1 http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (13) Der Algorithmus für die Bildung der DNF einer Formel kann wie folgt angegeben werden: 1. Jede Zeile der Wahrheitstafel mit Wahrheitswert “wahr” trägt zu einem Konjunktionsglied bei. 2. Die Literale dieser Konjunktion bestimmen sich wie folgt: Falls die Belegung eines Literals in der betreffenden Zeile “wahr” ist, so wird das Literal eingesetzt, sonst das negierte Literal. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (14) In der Aussagenlogik und der Logik allgemein können auch Schlußfolgerungen durchgeführt werden. Folgende wichtige Inferenzmechanismen stehen zur Verfügung: • Modus ponens • Resolution http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (15) Modus ponens: Der Modus ponens besagt: Wenn eine Aussage A wahr ist und A eine weitere Aussage B impliziert (A B), dann ist auch B wahr. Folgendes Beispiel veranschaulicht den Schlußfolgerungsmechanismus beim Modus ponens: • Aussage A: Der Himmel ist rot. • Implikation AB: Wenn der Himmel rot ist, dann geht die Sonne auf. • Schlußfolgerung: Aussage B ist wahr: Die Sonne geht auf. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (16) Bewertung des Modus ponens: Vorteile: • Es ist nicht notwendig, alle Fakten explizit im Datenspeicher bereitzuhalten (dynamisches Generieren von Fakten über feuernde Regeln). Nachteile: • Mit dem Modus Ponens kann man in der Regel nicht alle gültigen Schlüsse ziehen. • Verwendung als alleiniges Schlußverfahren sehr aufwendig http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (17) Resolutionsverfahren („Beweis durch Widerspruch“) Damit kann man überprüfen, ob eine neue Tatsache anhand einer Anzahl vorgegebener logischer Aussagen gültig ist. • Ausgangspunkt ist zunächst die verneinte Tatsache (daher auch der Name “Beweis durch Widerspruch”). • Diese wird dann mit den anderen Fakten “resolviert”. Führen nun die Schlüsse aus der negierten Tatsache und den Fakten zu einem Widerspruch, so muß die verneinte Tatsache falsch sein, also ist die Tatsache wahr. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (18) Beispiel für Resolutionsverfahren: Gegeben: AB und das Faktum A. Es soll nun mittels Resolution überprüft werden, ob B sinnvoll daraus gefolgert werden kann. Formel F = (AB) (B) (A) ist in KNF entspricht verneinte Tatsache B AB (siehe vorne) Faktum A http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (19) Beispiel für Resolutionsverfahren (2): Aufschreiben der Konjunktionsgliedern in sog. Klauseln Ki K1 = AB K2 = B K3 = A Resolviere K1 und K2 nach B => streiche B, da B (B) nicht gleichzeitig wahr sein können („Satz vom Ausgeschlossenen Dritten“) http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (20) Beispiel für Resolutionsverfahren (3): Es verbleiben somit K1 = A K3 = A Resolution nach A führt zum Ergebnis der leeren Klausel {} Schlüsse aus existierenden Fakten und verneinter Tatsache B führen zu Widerspruch => also muß B wahr sein. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (21) Veranschaulichung der Grenzen aussagenlogischer Wissensrepräsentation anhand folgendes Beispiels: In der Aussagenlogik ist es unmöglich, folgende Sätze abzubilden. Alle Menschen sind sterblich. Sokrates ist ein Mensch. Um daraus abzuleiten: Sokrates ist sterblich. Die Prädikatenlogik bietet gegenüber der Aussagenlogik, deren Ausdrucksmittel sich ja auf Literale und logische Operatoren beschränken, zusätzliche Elemente, die es erlauben, obige Sätze zu formalisieren. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (22) Sprachrahmen der Prädikatenlogik: • • • • • Prädikate Literale Funktionen logische Operatoren Quantoren http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (23) Prädikate beschreiben die Eigenschaft eines Objektes (einstelliges Prädikat) oder die Beziehung zwischen Objekten (mehrstelliges Prädikat). Beispiel für einstelliges Prädikat: Herbert ist ein Mann männlich (herbert) Beispiel für zweistelliges Prädikat: Edgar ist Vater von Rainer vater (edgar, rainer) Beispiel für dreistelliges Prädikat: Rainer gibt Herbert ein Buch. geben(rainer, herbert, buch) http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (24) Als logische Operatoren werden in der Prädikatenlogik jene eingesetzt, die wir schon bei der Aussagenlogik eingeführt haben, also http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (25) Über die sog. Quantoren besteht in der Prädikatenlogik die Möglichkeit, Begriffe einzuschränken oder zu verallgemeinern. Man unterscheidet dabei zwischen • Existenzquantor (“für einige”, “es existiert”, Symbol “$”), mit dem Einzelaussagen gemacht werden können • Allquantor, (“für alle”, Symbol “"”), mit dem Aussagen verallgemeinert werden können. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (26) Die Aussagen zu Beginn des Kapitels über die Prädikatenlogik lassen sich folgendermaßen formalisieren: ("x) (mensch (x) sterblich (x)) mensch (sokrates) Mittels des Modus ponens läßt sich folgendes Faktum ableiten: sterblich (sokrates) http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (27) • Inferentielle Prozesse sind in der Prädikatenlogik wegen der erweiterten Ausdrucksmöglichkeiten (Variablen) viel komplexer als in der Aussagenlogik. • Die Grundidee bei der prädikatenlogischen Resolution (J.A. Robinson): Erzeugung prädikatenlogischer Resolventen aus prädikatenlogischen Klauseln, wobei bei jedem Resolutionsschritt eine sog. Substitution durchgeführt wird. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (28) • Diese macht gewisse Literale in den beiden Ausgangsklauseln zueinander komplementär, d.h. die Klauseln sind identisch bis auf die Negationszeichen. • Die Substitution wird dabei möglichst zurückhaltend durchgeführt. • Es wird also die allgemeinste und nicht eine spezielle Unifikation durchgeführt. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (29) Beispiel 2 Klauseln: {P(x), Q(g(x))} und { P(f(y))}, wobei f und g jeweils einstellige Funktionen sind. Dann genügt es (allgemeinster Unifikator), bei den beiden Klauseln die Substitution [x/f(y))] (man sagt: Ersetze Variable x in allen Klauseln durch die Funktion f(y)) durchzuführen, um als Resolvent die Klausel {Q(g(f(y)))} zu erhalten. Über die Substitution der Variablen y braucht man sich an dieser Stelle im Resolutionsprozeß noch keine Gedanken zu machen. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (30) • Eine Menge prädikatenlogischer Formeln kann als Programm aufgefaßt werden. • Es liegt nun nahe, eine Anfrage an dieses Programm zu formulieren und diese Klauseln (Anfrage, Programm) mit dem Resolutionsmechanismus abzuarbeiten. • Integriert man noch eine Antworterzeugungskomponente in das System, so hat man ein prädikatives Programmiersystem entwickelt. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (31) Gegeben sei die Klauselmenge, also die Wissensbasis F = {{liebt(Eva, Essen)}, {liebt(Eva, Wein)}, {liebt(Adam, x), liebt(x, Wein)}} Diese prädikatenlogischen Formeln können umgangssprachlich folgendermaßen formuliert werden: Eva liebt zu essen. Eva liebt Wein. Adam liebt jeden, der Wein liebt. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (32) Ein Programmaufruf könnte z.B. die Formel G = $y liebt(Adam,y) sein, die umgangssprachlich formuliert lautet: “Gibt es jemanden, den Adam liebt?”. Wir möchten nun herausfinden, ob aus dem Wissen in der Wissensbasis ableitbar ist, daß G aus F folgt. Gemäß dem Prinzip der Resolution testen wir, ob F G unerfüllbar ist. Trifft dies zu, so ist G wahr und die entsprechende Antwort wird über die Antworterzeugungskomponente ausgegeben. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (33) Die Formelmenge FG besteht also aus den folgenden Klauseln: FG = {{liebt(Eva, Essen)}, {liebt(Eva, Wein)}, {liebt(Adam, x), liebt(x, Wein)}, {liebt(Adam,y)}} Die durchgeführten Substitutionsschritte bei der Resolution sind aus der folgenden Abbildung ersichtlich. http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (34) {¬liebt(Adam,y)} {liebt(Adam,x), ¬liebt(x, Wein)} Substitution = [x/y] ... ersetze x durch y {¬liebt(y, Wein)} {liebt(Eva, Wein)} Substitution = [y/Eva] ... ersetze y durch Eva { } ... leere Klauselmenge http://www.dke.univie.ac.at Grundbegriffe der Aussagen- und Prädikatenlogik (35) • Durch Herleitung der leeren Klausel ist klar, dass G aus F folgt. Die entsprechende Antwort ergibt sich durch Betrachtung der zweiten Substitution im Resolutionsprozess, wo y durch Eva ersetzt wird Damit kann als Antwort ausgegeben werden, dass Adam Eva liebt. • Lässt man beliebige Formeln bei der Resolution zu, so kann es passieren, dass mehr als eine einzige Antwort möglich ist. Um diese Situationen zu unterbinden, beschränkt man sich bei der bekanntesten logischen Programmiersprache PROLOG auf sog. Hornklauseln und eine einzige Aufrufklausel. http://www.dke.univie.ac.at Vor- und Nachteile der Logik (1) Vorteile: • Die formale Logik ist der am besten erforschte Wissensrepräsentationsformalismus. • Die verwendeten deduktiven Inferenzmechanismen sind theoretisch abgesichert und können als Beweisprozeduren eingesetzt werden. • Die Logik bietet syntaktische Gültigkeit vollzogener Schlußfolgerungen sowie Vollständigkeit und Widerspruchsfreiheit. http://www.dke.univie.ac.at Vor- und Nachteile der Logik (2) Vorteile (2): • prädikatenlogische Wissensbasen sind aufgrund der relativ einfachen Notation verständlich zu interpretieren. • Der modulare Aufbau der Wissensbasis garantiert, daß Wissen unabhängig eingetragen oder abgeändert werden kann. • Inferenzregeln der Logik gewährleisten, daß der Speicher effizient genutzt wird.=> Es müssen nicht alle Fakten auf einmal im Speicher gehalten werden, da über die Inferenzregeln Fakten zur Laufzeit dynamisch generiert werden können. http://www.dke.univie.ac.at Vor- und Nachteile der Logik (3) Nachteile: • Das strenge mathematische Korsett führt oft dazu, daß die Wissensdarstellung künstlich und steril wirkt und für gewisse Anwendungen einfach nicht genug flexibel ist Syntaktische Reinheit des formallogischen Konzeptes verbietet es z.B., heuristische und prozedurale Informationen mit den Faktenrepräsentationen zu verbinden. (wäre aber für gewisse Anwendungen notwendig und sinnvoll.) • Die Aussagen- und Prädikatenlogik erlaubt lediglich zwei Wahrheitswerte („wahr“, „falsch“). http://www.dke.univie.ac.at Vor- und Nachteile der Logik (4) Nachteile (2): • Logik = monotones Schlussfolgerungssystem, d.h. die darin repräsentierten Aussagen sind unabhängig von der Zeit. Realität: Aussagen sind ständigem Wandel unterworfen. • deklarativer Charakter der formallogischen Wissensrepräsentation. (keine explizite Programmsteuerung durch Kontrollstrukturen); Ablaufsteuerung wird durch eingebauten Resolutionsmechanismus wahrgenommen, der eine vollständige Suche durchführt Ineffizienz durch nutzlose Suchschritte. http://www.dke.univie.ac.at