Wissensbasierte Systeme/ Expertensysteme Teil 2 BiTS, Sommersemester 2004 Dr. Stefan Kooths KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 1 Gliederung 1. Einführung und Einordnung 2. Entscheidungsunterstützung(ssysteme) 3. Künstliche Intelligenz und Expertensysteme im Überblick 4. Wissensrepräsentation und Inferenz 5. Entwicklung von Expertensystemen 6. Wissensmanagement 7. Zusammenfassung und Ausblick KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 2 4. Wissensrepräsentation und Inferenz • Formale Logik (Aussagen-/Prädikatenlogik) und logisches Schließen • Produktionssysteme und regelbasierte Inferenz • Strukturen und Strategien der Zustandsraumsuche • Simulation und modellbasiertes Schließen • Frames und Skripte • Fallbasiertes Schließen • Umgang mit Unsicherheit • Erklärungen und Metawissen KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 3 Formale Logik • Aussagenlogik Sprache für Aussagen über die Welt Schlussfolgern durch rein formale Rechenoperationen über 2000 Jahre alt • Aussagen kleinstes Element der Sprache (Atome) Symbole: Großbuchstaben aus dem hinteren Teil des Alphabets (P,Q,R, ...) zweiwertig: wahr oder falsch (Grundsatz vom ausgeschlossenen Dritten) • Sätze (auch: Formeln) Atome oder Verknüpfung von Atomen Verknüpfung durch Junktoren (∧, ∨, ¬, ⇒, =) Gruppierung zur Auswertungssteuerung: () und [] Interpretation: Auswertung über Wahrheitstafeln KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 4 Definition: Sätze der Aussagenlogik KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 5 Semantik der Aussagenlogik • • • • • rein logisch-formal Zuweisung von Wahrheitswerten für Atome Anwendung logischer Regeln und Gesetze Auswertung über Wahrheitstafeln Übung: Elementare Wahrheitstafeln Negation Konjunktion Disjunktion Implikation Äquivalenz KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 6 Gesetze der Aussagenlogik KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 7 Schlussregeln: Modus ponens und Modus tollens • Modus ponens Es gelte: P ⇒ Q “Wenn es regnet, wird die Straße nass.” P “Es regnet.” Dann lässt sich schließen: Q “Die Straße ist nass.” • Modus tollens Es gelte P ⇒ Q “Wenn es regnet, wird die Straße nass.” ¬Q “Die Straße ist nicht nass.” Dann lässt sich schließen: ¬P “Es regnet nicht.” • http://www.modus-tollens.com KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 8 Extensionalität • Wahrheitswerte sind nicht zwingend sinnvoll • Beispiel 1 (Kommutativität) P: “Das Unternehmen wurde zahlungsunfähig.” Q: “Alle Mitarbeiter wurden entlassen.” P ∧ Q = Q ∧ P? • Beispiel 2 (logische Implikation) P: “Eine Bilanz enthält Stromgrößen.” Q: “Die Eigenkapitalrendite ist unabhängig vom Gewinn.” P ⇒ Q? KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 9 Prädikatenlogik • Aufspalten der atomaren Sätze der Aussagenlogik • Prädikate bezeichnen Beziehungen/Eigenschaften • Schlussregeln zur Bearbeitung prädikatenlogischer Ausdrücke • Variablen für allgemeine Aussagen über Klassen von Elementen • Beispiele “Die Rendite der BMW-Aktie ist hoch” wird repräsentiert als rendite(bmw_aktie,hoch) Verwendung von Variablen Menge aller Wertpapiere X mit hoher Rendite rendite(X,hoch) KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 10 Prädikatenlogische Symbole 1 • Alphabet Groß- und Kleinbuchstaben Ziffern 0,1,...,9 Unterstrich • Konstante konkrete Objekte der realen Welt beginnen mit Kleinbuchstaben (bmw3er) true/false als Wahrheitssymbole • Variable allgemeine Klassen von Objekten oder Eigenschaften beginnen mit Großbuchstaben (Auto) gelten nur lokal KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 11 Prädikatenlogische Symbole 2 • Funktionen Abbildung von einem oder mehreren Elementen einer Menge (Domäne der Funktion) auf eindeutiges Element einer anderen Menge (Bereich der Funktion) beginnen mit Kleinbuchstaben Stelligkeit = Anzahl der Domänenelemente Auswertung: Ersetzung einer Funktion durch deren Wert Beispiele – preis(bmw3er) Funktionsausdruck – summe(X,Y) Funktionssymbol der Stelligkeit n, • Terme Konstantenausdrücke Variable Funktionsausdrücke KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 der n Terme folgen, die in runden Klammern eingeschlossen sind und durch Kommas getrennt werden. 12 Prädikatenlogische Symbole 3 • Prädikate Beziehung zwischen null oder mehreren Objekten der realen Welt beginnen mit Kleinbuchstaben Stelligkeit (identifiziert Prädikat!) Beispiele – schneller(porsche,golf) – gewinnabfuehrung(bmwkonzern,mini) • atomarer Satz (Atome) Prädikat der Stelligkeit n, dem n in Klammern eingeschlossene und durch Kommas getrennte Terme folgen endet mit einem Punkt Wahrheitswerte true/false sind auch atomare Sätze KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 13 Prädikatenlogische Sätze • bestehen aus Atomen • Verknüfpung durch Junktoren (∧, ∨, ¬, ⇒, =) • Variablenquantoren Existenzquantor ∃ (“es gibt mind. ein/eine”) Beispiel: ∃ Y schneller(Y,bmw3er). Allquantor ∀ (“für alle gilt, dass”) Beispiel: ∀ X (hinterradantrieb(X) ∧ bmw(X)). wohlgeformte Ausdrücke kann rekursiv getestet werden (vgl. Luger, S. 80/81) KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 14 Beispiele (Verwandtschaftsbeziehungen) mutter(eva,abel). mutter(eva,kain). vater(adam,abel). vater(adam,kain). ∀X ∀Y vater(X,Y) ∨ mutter(X,Y) ⇒ elternteil(X,Y). ∀X ∀Y ∀Z elternteil(X,Y) ∧ elternteil(X,Z) ⇒ geschwister(Y,Z). mutter(daimlerchrysler,mercedes). mutter (daimlerchrysler,chrysler). ∀X ∀Y ∀Z mutter(X,Y) ∧ mutter(X,Z) ⇒ schwestern(Y,Z). KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 15 Semantik der Prädikatenlogik • Bedeutung wohlgeformter Ausdrücke im Hinblick auf Objekte, Eigenschaften und Beziehungen der realen Welt (= Diskursdomäne) • formale Grundlage für die Wahrheitswertbestimmung • abhängig von der Abbildung von Termen und Prädikaten auf Objekte/Relationen der realen Welt • Variablen als “Dummies” • CWA = Closed World Assumption • unendlich große Domäne: Quantifizierung (∀,∃) führt zu Unentscheidbarkeit der Prädikatenlogik Mielke: “Aber ich mag doch alle Menschen.” ∀ X (mensch(X) ∧ mag(mielke,X)). KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 16 Interpretation in Bezug auf eine Domaine D Variablen sind reine Platzhalter und können beliebig ersetzt werden, ohne dass sich die Bedeutung eines Ausdrucks ändern würde ∀X (mensch(X) ∧ mag(mielke,X)). ⇔ ∀Lebewesen (mensch(Lebewesen) ∧ mag(mielke,Lebewesen)). KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 17 Prädikatenlogik erster und höherer Stufe • Prädikatenlogik erster Stufe: Quantifizierung nur für Objekte, nicht für Prädikate oder Funktionen implementiert in (deklarativer) Programmiersprache PROLOG • Prädikatenlogik höherer Stufe Quantifizierung auch für Prädikate/Funktionen Bsp.: ∀ (Mag) Mag(dieter,herthabsc). KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 18 Duden Informatik: Prolog 1 KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 19 Duden Informatik: Prolog 2 KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 20 Beispiel (Bausteinwelt) beachte: Reihenfolge der Aktionen wird implizit kodiert, da Regeln von links nach rechts abgearbeitet werden KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 21 Prädikatenlogisches Schlussfolgern • Ziel: ausgehend von einer Menge wahrer Aussagen auf neue korrekte Ausdrücke schließen • korrekt = konsistent mit allen vorherigen Interpretationen der ursprünglichen Menge von Aussagen • Eine Interpretation, die einen Satz wahr macht, heißt Interpretation, die den Satz erfüllt. • Eine Interpretation, die jedes Element einer Menge von Ausdrücken S erfüllt, heißt Interpretation, die die Menge S erfüllt. • Ein Ausdruck P folgt logisch aus einer Menge prädikatenlogischer Ausdrücke S, wenn jede Interpretation, die S erfüllt, auch P erfüllt. KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 22 Klassisches Beispiel/Abgrenzung • Menge S ∀ X mensch(X) ⇒ sterblich(X). mensch(sokrates). • Ausdruck P sterblich(sokrates). • logisch folgern heißt nicht, dass P aus S abgeleitet wird oder dass P aus S ableitbar wäre • sondern, dass P für jede Interpretation wahr ist, die S erfüllt. KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 23 Schlussregeln • Mittel, um mechanisch aus bestehenden Sätzen neue prädikatenlogische Sätze zu erzeugen (um nicht alle Interpretationen ausprobieren zu müssen) • Modus ponens (Modus der Behauptung, s.o.) • Modus tollens (Modus der Widerlegung, s.o.) • Und-Eliminierung: aus (P ∧ Q) wahr folgt, dass P wahr und Q wahr ist • Universelle Instantiierung Ersetzen einer Allvariablen durch Term aus der Domäne ergibt einen wahren Satz wenn a aus Domäne von X, dann kann man aus dem wahren Satz ∀X p(X) schließen, dass p(a) wahr ist KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 24 Unifikation • Einsatz von Schlussregeln Wann sind zwei Ausdrücke gleich? Wie lassen sich zwei Ausdrücke gleich machen? vgl. SokratesBeispiel • Aussagenlogik trivial (syntaktische Identität) • Prädikatenlogik nicht trivial, wegen Variablen bzw. Quantoren Unifikation: Substitutionsalgorithmus, um zwei quantifizierte Ausdrücke zur Übereinstimmung zu bringen Zwischenziel: Quantifizierung nur über Allquantor Existenzquantor: Skolemisierung – Konstanten: aus ∃Y mutter(Y,mini) wird mutter(bmw,mini) – Funktionen: aus ∀X ∃Y mutter(X,Y) wird ∀X mutter(X,f(X)) KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 25 Substitutionsinstanzen/Unifikationen • Variable kann durch beliebigen Term ersetzt werden (auch durch andere Variablen oder Funktionsausdrücke) • Notation für Ersetzungen (Bindungen) mutter(daimlerchrysler,X) X wird ersetzt/gebunden durch mercedes: {mercedes/X} mercedes ist Substitutionsinstanz für X • weitere Beispiele: Unifikation des Ausdrucks foo(X,a,goo(Y)). foo(fred,a,goo(Z)) foo(W,a,goo(hans)) foo(Z,a,goo(moo(Z)) KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 {fred/X, Z/Y} {W/X,hans/Y} {Z/X,moo(Z)/Y} 26 Substitutionsalgorithmus • Konstanten sind Grundinstanzen (dürfen nicht ersetzt werden) • eine Variable darf nicht gleichzeitig durch zwei verschiedene Konstanten ersetzt werden • eine Variable X darf nicht durch Term ersetzt werden, der wiederum X enthält (sonst unendlicher Regress) Ö OccurCheck • Konsistenz: einheitliche Bindung in allen Ausdrücken, in denen Variable vorkommt (Bsp.: Sokrates) • Konzept der Verknüpfung X/Y, V/X, a/V ist äquivalent mit a/Y • möglichst allegemeine Vereinheitlichung (mgu) statt: peter/X und peter/Y in p(X) und p(Y) lieber: Z/X, Z/Y KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 27 Unifikation durch syntaktischen Mustervergleich • effektive Vernachlässigung (!) der prädikatenlogischen Unterscheidung zwischen Prädikatssymbolen, Funktionssymbolen und Argumenten • Satz als Liste mit Prädikats-/Funktionssymbol als erstem Element KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 28 Pseudocode für rekursive Funktion unify KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 29 Beispiel • Frage: Wann sind die folgenden Ausdrücke gleich? eltern(X,vater(X),mutter(bill) eltern(bill,vater(bill),Y) • in Listenschreibweise (eltern X (vater X) (mutter bill)) (eltern bill (vater bill) Y) • Funktionsaufruf: unify((eltern X (vater X) (mutter bill)), (eltern bill (vater bill) Y)) KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 30 Anwendung: Finanzberater • Entscheidungsalternativen (Anlageform) Sparguthaben Aktien Kombination aus beiden • Kriterien bei inadäquatem Sparguthaben zunächst Sparguthaben erhöhen (unabhängig vom Einkommen) bei adäquatem Sparguthaben und adäquatem Einkommen Aktienanlage in Betracht ziehen bei geringem Einkommen und adäquatem Sparguthaben Aufteilung auf beide Anlageformen • Berechnung adäquater Größen (abh. Familienmitglieder) Sparguthaben: mind. 5000 pro AFM Jahreseinkommen: regelmäßig und mind. 15.000 + 4000 pro AFM KOOTHS – BiTS: Wissensbasierte Systeme/Expertensysteme | Teil 2 31