[Teile der Vorlesung stammen aus dem Buch: Artificial Intelligence – A modern approach von Russel, Norvig] Wissensbasen • • Eine Wissenbasis (Knowledge base, abk. KB) ist eine Menge von Sätzen Ein Satz ist eine Representation von Fakten, die die Welt beschreiben Die Sätze werden in einer sog. Wissensrepresentationssprache (knowledge representation language) formuliert. Solch eine Sprache wird durch zwei Aspekte definert: • • Die Syntax der Sprache, die alle möglichen Konfigurationen beschreibt, aus denen Sätze zusammengebaut sein können Die Semantik bestimmt auf welche Fakten in der Welt sich die Sätze bezeihen. Beispiel Die Syntax der Sprache der arithmetischen Ausdrücke sagt, dass wenn x und y Ausdrücke sind, die für Zahlen stehen, x > y ein Satz über Zahlen ist. Die Semantik dieser Sprache sagt, dass x > y wahr ist, wenn x eine größere Zahl als y ist. Die Semantik stellt die Verbindung zwischen der realen Welt und der Representation dar Wissensbasierter Agent Ein wissensbasierter Agent (Knowledge based agent) besteht aus: • • Eine Wissensbasis (KB) Einem Inferenzmechanismus Er funktioniert, indem er Sätze über die Welt in seiner Wissensbasis speichert, wobei er den Inferenzmechanismus benutzt um neue Sätze zu schlußfolgern (inferenzieren). Diese Sätze benutzt er dann, um zu entscheiden, welche Aktion auszuführen ist. Programm function KB-Agent(percept) returns an action static: KB, a knowledge base t, a counter, initially 0, indicating time TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t)) action <-- ASK(KB, MAKE-ACTION-QUERY(t)) TELL(KB, MAKE-ACTION-SENTENCE(action,t)) t <-- t+1 return action Anmerkung: MAKE-PERCEPT-SENTENCE erzeugt den Satz, dass der Agent die Wahrnehmung zu einer bestimmten Zeit gemacht hat, MAKE-ACTION-QUERY erzeugt einen Satz der dazu geeignet ist zu fragen, welche Aktion zu dieser Zeit jetzt durchgeführt werden soll.Die Details des Infernezmechanismus verstecken sich in TELL und ASK, und werden später genauer betrachtet. TELL fügt einen Satz der Wissensbasis hinzu, ASK durchsucht die Wissensbasis. Logik Eine Logik besteht aus folgendem: • • Einem formalen System zur Beschreibung der Welt, bestehend aus Syntax und Semantic Logischer Inferenz (Ableitung): Einer Menge von Ableitungsregeln Typen von Logik: Sprache Ontologischer Teil (Was existiert in der Welt) Epistemologischer Teil (Was der Agent von den Fakten glaubt) Aussagenlogik (Propositional logic) Fakten wahr/falsch/unbekannt Prädikatenlogik (First order logic) Fakten, Objekte, Beziehungen wahr/falsch/unbekannt Temporale Logik Fakten, Objekte, Beziehungen, Zeit wahr/falsch/unbekannt Wahrscheinlichkeitstheorie Fakten Wahrscheinlichkeitsgrade 0...1 Fuzzy Logic Wahrheitsgrade Wahrscheinlichkeitsgrade 0...1 Defintion: Eine Logik heißt monoton, wenn aus KB1 |= folgt KB1 U KB2 |= . Das heißt, wenn wir neue Sätze zu einer Wissenbasis hinzufügen, folgen die Sätze, die vorher schon aus der Wissensbasis gefolgt sind, immernoch. Inferenzmechanismen Definitionen: • • • Ein Satz folgt (entails) aus einer Wissensbasis KB (In Zeichen KB |= ), wenn jedesmal wahr ist, wenn alle Sätze von KB wahr sind. Ich kann also den Satz aus der Wissensbasis schlussfolgern Eine Infernzprozedur, die nur Sätze erzeugt, die aus einer Wissensbasis folgen heißt korrekt (sound), oder wahrheitsbewahrend (truth-preserving). Eine korrekte Infernezprozedur zieht nur wahre Schlußfolgerungen. Eine Inferenzprozedur heißt vollständig (complete), wenn sie alle Sätze, die aus einer Wissensbasis KB folgen schlußfolgern (herleiten) kann. Also: Eine vollständige Inferenzprozedur liefert alle Sätze, die man aus einer Wissensbasis folgern kann, eine korrekte nur die wahren. Weitere Begriffe Die Interpretation eines Satzes ist der Fakt auf den der sich bezieht.Wenn er sich auf einen Fakt aus der wirklichen Welt bezieht , ist sie wahr. Ein Satz ist gültig (valid), genau dann, wenn er wahr ist in allen möglichen Interpretationen in allen möglichen Welten. Ein gültiger Satz muß notwendigerweise wahr sein. Beispiele Der Satz "Der Hund ist klein oder der Hund ist nicht klein" ist gültig Der Satz "Der Hund ist klein oder der Hund ist groß" ist für sich genommen nicht gültig. Er wird nur gültig unter der Voraussetzung, dass jeder Hund entweder groß oder klein sein kann. Also ist der Satz "Wenn jeder Hund entweder groß oder klein sein kann dann ist der Hund klein oder der Hund ist groß" Ein Satz ist erfüllbar (satisfiable), genau dann, wenn es irgendeine Interpretation in irgendeiner Welt gibt, in der der Satz wahr ist. Ein nicht erfüllbarer Satz heißt unerfüllbar (unsatisfiable) Beispiel Der Satz "Vor mir ist eine Mauer und vor mir ist keine Mauer" ist unerfüllbar.