E7 Künstliche Intelligenz 975 7 Künstliche Intelligenz J. Dorn, G. Gottlob 7 Künstliche Intelligenz..................................................................975 7.1 Begriff und Anwendungsgebiete..............................................975 7.2 Wissensrepräsentation ..........................................................977 7.2.1 Produktionsregeln .....................................................979 7.2.2 Einschränkungen ......................................................980 7.2.3 Unsicheres und vages Wissen .......................................981 7.2.4 Nichtmonotones Schließen...........................................983 Nichtmonotone Logik Nichtmonotone Schlußweisen 7.2.5 Objektorientierte Wissensrepräsentation ...........................984 7.2.6 Qualitatives Wissen ...................................................985 7.2.7 Ereignisorientierte Wissensrepräsentation .........................986 7.3 Wissensbasierte Suche .........................................................987 7.3.1 Heuristische Suche in Graphen ......................................987 7.3.2 Heuristische Suche bei Zielkonflikten..............................988 7.3.3 Optimierung durch iterative Verbesserung von Lösungen.......989 7.4 Lernen ............................................................................990 7.4.1 Induktives Schließen ..................................................991 7.4.2 Fallbasiertes Schließen ...............................................991 7.4.3 Neuronale Netze .......................................................992 7.5 Entwicklung von wissensbasierten Systemen ...............................994 7.6 Anwendungen der künstlichen Intelligenz...................................995 Allgemeine Literatur.........................................................996 Spezielle Literatur............................................................996 7.1 Begriff und Anwendungsgebiete Begriff. Künstliche Intelligenz (KI) ist ein interdisziplinäres Forschungsgebiet, das in den fünfziger Jahren in den USA unter dem Namen Artificial Intelligence (AI) entstanden ist, und sich nicht nur auf die Informatik, sondern auch auf Disziplinen wie Psychologie, Biologie, Linguistik und Mathematik erstreckt. Zwei Motivationen bestimmen die Forschung in der künstlichen Intelligenz: • der Versuch, mit Computern das menschliche Gehirn zu simulieren, um seine Funktion besser zu verstehen (Kognitionswissenschaft), und • Computerprogramme durch die Nachbildung menschlicher Problemlösefähigkeiten ”intelligenter” zu machen. Das manchmal formulierte Extremziel, einen Menschen mit all seinen Fähigkeiten durch ein Programm zu ersetzen oder sogar einen Roboter zu entwickeln, der diese Fähigkeiten besitzt, löst viele Diskussionen und teilweise scharfe Entgegnungen von Philosophen und Wissenschaftskritikern aus. Intelligentes Verhalten durch Symbolmanipulation. Newell und Simon [Newell 76] stellten die der Kognitionswissenschaft zugrundeliegende Hypothese auf, daß im Prinzip 976 E7 Künstliche Intelligenz ein System geschaffen werden könne, das durch Symbolmanipulation intelligentes Verhalten zeigt. Obwohl es zweifelhaft erscheint, daß ein menschliches Wesen auf ein System reduziert werden kann, das nur auf der Manipulation von Symbolen beruht, können Programme geschaffen werden, die in vielen Aufgabenbereichen die Problemlösefähigkeiten von Menschen übertreffen. Turingtest. Zur Überprüfung, ob eine Maschine intelligent ist, schlug Turing 1950 ein Simulationsspiel, den Turingtest, vor. Bei diesem Test sitzt eine Versuchsperson zwei versteckten Partnern gegenüber, von denen einer eine Maschine und der andere ein Mensch ist, und die Versuchsperson stellt beiden Fragen, um die Maschine zu identifizieren. Wenn das nicht gelingt, kann man Turings Meinung nach der Maschine Intelligenz zusprechen, da sie sich wie ein Mensch verhält. In einem Turingtest, bei dem mehrerer Computer miteinander verglichen wurden, konnte kein Programm den Test erfolgreich bestehen – obwohl das Wissensgebiet eingeschränkt war [Epstein 92]. Anwendungsgebiete. Die künstliche Intelligenz wird häufig in Teilgebiete gegliedert, die hier in geschichtlicher Reihenfolge ihrer Entstehung erwähnt werden sollen. Maschinelles Beweisen [Chang 72, Bibel 82] wurde als eines der ersten Teilgebiete ausgewählt, um Ideen zur Entwicklung maschineller Intelligenz zu prüfen. Es bot sich an, weil das notwendige Wissen formalisiert vorliegt, seine Verarbeitung jedoch Intelligenz erfordert. Spielprogramme [Banerji 80] waren das nächste Gebiet, auf dem man sich Erkenntnisse über intelligentes menschliches Verhalten erwartete. Heutige Schach- oder Dameprogramme besiegen zwar die meisten menschlichen Gegner. Trotzdem kann man daraus nicht schließen, daß sie menschliche Intelligenz besitzen, denn sie gründen sich zum großen Teil auf Suchalgorithmen, die durch neuere, schnellere Rechner immer mehr mögliche Situationen vorausberechnen können. Verarbeitung natürlicher Sprache ist eines der größten Anwendungsgebiete der künstlichen Intelligenz, zu dem die maschinelle Übersetzung von Sprache, natürlichsprachliche Schnittstellen zu Informationssystemen und vieles anderes gehört. Erste Erfolge mit Übersetzern in eingeschränkten Gebieten oder das Programm ELIZA [Weizenbaum 65], das einen Psychiater simuliert, haben sehr hohe Erwartungen ausgelöst, die bisher nicht ganz erfüllt werden konnten, da diese Programme nur auf der Syntax der Sprache operieren. Heute weiß man, daß eine korrekte Übersetzung nur dann möglich ist, wenn das Programm auch den Zusammenhang kennt, in dem ein Satz gebraucht wird. Anderenfalls können Mehrdeutigkeiten nicht aufgelöst werden. Ähnliche Probleme bestehen bei der Sprach- und Bilderkennung. Einfache syntaktische und semantische Verfahren können einen großen Teil der Erkennung durchführen, aber durch Mehrdeutigkeiten kann eine sichere Erkennung nur dann geschehen, wenn das verarbeitende System mehr Hintergrundwissen hat. Noch größere Probleme entstehen, wenn man multimediale Kommunikation, bestehend aus Bildern und natürlicher Sprache, realisieren will [Wahlster 93]. Expertensysteme. Das erste kommerziell erfolgreiche Teilgebiet sind die Expertensysteme, die in einer eingeschränkten Fachdomäne Lösungen anbieten, die normalerweise nur von Experten dieses Gebiets gelöst werden können. Es wird vor allem Erfahrungswissen des Experten in Form von heuristischen Regeln modelliert. Üblicherweise werden dadurch nicht die Experten ersetzt, sondern das Wissen des Experten wird örtlich und zeitlich vervielfältigt. Der kommerzielle Erfolg und die erhoffte Bedeutung gipfelten in dem Motto ”Wissen ist Macht” und der angekündigten ”5. Computergeneration” der japanischen Regierung 1981 [Feigenbaum 84]. Die ersten Expertensysteme beruhten alle auf einem flachem Schließen, bei dem die Schlußfolgerungen der menschlichen Experten nachgebildet wurden. Expertensysteme der zweiten Generation suchen mit tiefem Schließen und den kausalen Gesetzmäßigkeiten einer Anwendung eine Lösung und sind damit stabiler an den Rändern des dargestellten Wissens. Dabei werden Schlußfolgerungsmechanismen für das sog. Alltagswissen (common sense knowledge) formalisiert. E7.2 Wissensrepräsentation 977 Das CYC-Projekt [Lenat 90] verfolgt den ehrgeizigen Plan, das Alltagswissen selbst zu formalisieren. Robotik. Die Robotik ist das anspruchsvollste Teilgebiet der künstlichen Intelligenz, denn ein intelligenter Roboter soll Bilder erkennen, gesprochene Sprache verstehen und selbständig Vorgehenspläne entwickeln können. Von diesen Zielen ist man aber noch weit entfernt, denn viele Probleme, wie z. B. das Greifen eines Objekts, löst der Mensch, das Vorbild für die Programme, nicht durch Intelligenz, sondern über sensorische Fähigkeiten, die nur schwer in logischen Formalismen darstellbar sind. Neuronale Netze. Die bisher beschriebenen Entwicklungen beruhen auf der Idee, intelligentes Verhalten mit Symbolen zu formalisieren. Das menschliche Denken basiert aber auch auf physikalischen Prozessen, die unterhalb des symbolischen Denkens stattfinden. Mit neuronalen Netzen versucht man, diese Prozesse des menschlichen Gehirns nachzubilden. Diese Forschungsrichtung wurde bereits in den fünfziger Jahren verfolgt [Rosenblatt 57], aber später durch die Thesen von [Minsky 69] verworfen. In den letzten Jahren haben neuronale Netze durch neue Ideen und durch den Einsatz von parallelen Rechnersystemen wieder Auftrieb bekommen. Die Notwendigkeit verteilter Systeme wird aber auch von der verteilten künstlichen Intelligenz (distributed artificial intelligence) propagiert. Dabei sind die autonomen Agenten, wie z.B. Roboter oder Expertensysteme, schon intelligent; die wesentlichen Forschungsarbeiten beschäftigen sich mit der intelligenten Kommunikation und Kooperation dieser Teilsysteme [Davis 83]. Auch das kooperative intelligente Arbeiten [Stary 92] mit Computern gehört zu diesem Bereich. 7.2 Wissensrepräsentation Wissen und Metawissen. Viele Verfahren der künstlichen Intelligenz beruhen auf der expliziten und deklarativen Repräsentation von Wissen. Dabei umfaßt Wissen nicht nur die Daten eines Problems, sondern auch das Wissen, wie diese Daten verknüpft werden können, und das Metawissen, das beschreibt, wie die Daten und die Verknüpfungstechniken zur Problemlösung eingesetzt werden können. Deklarative Wissensrepräsentation. Wissensbasierte Systeme haben den Anspruch, daß die Darstellung des Wissens wie ein Buch lesbar ist und ein Leser die Gültigkeit einzelner Aussagen getrennt von anderen Aussagen beurteilen kann. Man spricht von einer deklarativen Repräsentation im Gegensatz zur prozeduralen Repräsentation. Bei der prozeduralen Repräsentation steht der Ablauf der Berechnungen zur Problemlösung im Vordergrund. Wird man dem Anspruch der deklarativen Repräsentation gerecht, dann läßt sich eine Wissensbasis leicht erweitern und ändern. Andererseits müssen bei einer deklarativen Repräsentation die Schritte zur eigentlichen Problemlösung erst gesucht werden, was zu einer schlechteren Performanz führen kann. Von großer Bedeutung sind hier Untersuchungen über die zeitliche Komplexität und den Platzaufwand der verwendeten Formalismen und Algorithmen [Nebel 95]. Wissensrepräsentationsformalismen. Wissensrepräsentationsformalismen sind vordefinierte domänenunabhängige Schablonen zur Repräsentation von Wissen. Sie unterstützen die Strukturierung und Wartbarkeit der Gesamtheit des Wissens und sind dem menschlichen Denken nachempfunden. Das Wissen kann so leichter formalisiert werden, und eine existierende Formalisierung ist verständlicher. Logikbasierte Wissensrepräsentation. Der am weitesten verbreitete und flexibelste Formalismus zur Repräsentation von Wissen ist die mathematische Logik und im speziellen die Prädikatenlogik erster Ordnung. Die Grundlage sind symbolische Objekte, die durch Relationen in Bezug gesetzt werden. Prinzipiell scheint jedes von Menschen denkbare 978 E7 Künstliche Intelligenz Phänomen durch ein symbolisches Objekt darstellbar und, sofern die Beziehungen zwischen Phänomenen bekannt sind, auch durch logische Relationen darstellbar. Logik ist deklarativ, da man formuliert, welche Aussagen wahr sind und nicht, wie ein Problem gelöst wird. Die meisten später vorgestellten Formalismen sind prinzipiell auf Prädikatenlogik erster Ordnung abbildbar. Mit PROLOG [Colmerauer 85] steht auch eine weitverbreitete Sprache zur Verfügung, mit der Prädikatenlogik erster Ordnung verarbeitet werden kann. Andererseits hat die Allgemeinheit der Logik den großen Nachteil, daß beliebig viele unterschiedliche Möglichkeiten zur Repräsentation bestehen. Fehlt eine allgemeine Festlegung, wie eine bestimmte Form des Wissens repräsentiert wird, ist eine existierende Wissensbasis nur schwer lesbar. Für die Lesbarkeit einer Wissensbasis ist auch die Strukturierung des Wissens wichtig. So können in der Prädikatenlogik zwar Relationen aufgestellt werden, die eine Zusammengehörigkeit von atomaren Prädikaten beschreiben; durch die Syntax ist eine Strukturierung aber nur schwer erreichbar. Eine speziellere Repräsentation kann oft auch eine effizientere Ableitung von Wissen bedeuten, da der Suchaufwand in der Wissensbasis verringert wird. Wissensbasiertes System Datenbank technischer Prozeß Datenbankschnittstelle Wissensbasis Prozeßschnittstelle Wissensverarbeitung Erklärungskomponente Benutzer Wissenserwerbskomponente Bild 1 Architektur eines wissensbasierten Systems Wissensbasiertes System. Ein wissensbasiertes System ist eine Systemarchitektur, die aus einer Wissensbasis und einer Wissensverarbeitungskomponente besteht (Bild 1). Die Wissensbasis enthält eine Menge voneinander unabhängiger Wissenseinheiten, deren Struktur durch die Wissensrepräsentationsformalismen vorgegeben wird. Hier wird zusätzlich zwischen taxonomischem und assertionalem Wissen unterschieden. Das taxonomische Wissen beschreibt das für eine behandelte Fachdomäne generell geltende Wissen und das assertionale Wissen die Fakten und Annahmen über ein konkretes Problem. Die Wissensverarbeitung enthält Inferenztechniken, die dem menschlichen Denken abgeschaute Schlußweisen implementieren und es erlauben, aus dem vorhandenen Wissen neues Wissen abzuleiten. Sie wird meistens weiter unterteilt. Die eigentliche Inferenzkomponente basiert auf einer sog. KI-Sprache (z.B. Prolog oder Lisp) und stellt allgemeine Schlußfolgerungsmechanismen zur Verfügung. Ein sog. Meta-Prozessor dient der semantischen Interpretation der zur Verfügung gestellten Wissensrepräsentationsformalismen und ist mit Hilfe der Inferenzkomponente realisiert. Um das wissensbasierte System in die allgemeine Datenverarbeitung integrieren zu können, muß auch eine Schnittstelle zu Datenbanksystemen zur Verfügung gestellt werden. Soll durch das wissensbasierte System ein technischer Prozeß wie z.B. ein Roboter gesteuert werden, muß auch eine Schnittstelle zum technischen Prozeß existieren. Expertensystemschalen (expert system shells) sind Programmsysteme zur Entwicklung von Expertensystemen. Expertensysteme sind eine spezielle Art von wissensbasierten Systemen, bei denen auf zwei weitere wichtige Funktionen Wert gelegt wird. Zum einen wird der Wissenserwerb vom menschlichen Experten zum Expertensystem durch spezielle Techniken in der sog. Wissenserwerbskomponente unterstützt und zum anderen sollen Lösungsvorschläge des Expertensystems durch automatisch generierte Erklärungen einer E7.2 Wissensrepräsentation 979 Erklärungskomponente einem Benutzer plausibel gemacht werden. Die spezielle Architektur eines Expertensystems wird durch Bild 2 erläutert. Wissensbasis Erklärungskomponente Wissensverarbeitung Wissenserwerbskomponente Benutzerschnittstelle Bild 2 Architektur eines Expertensystems 7.2.1 Produktionsregeln Die bekannteste Formalisierung zur Ableitung neuen Wissens ist die Produktionsregel (production rule). Sie stellt eine Schlußfolgerung von einer Prämisse (linke Seite) auf eine Konklusion (rechte Seite der Regel) dar. Sie bildet damit einerseits das logische Schlußfolgern nach (z.B. wenn der Anlasser defekt ist, dann startet das Auto nicht) und wird aber andererseits auch dazu benutzt, um Aktionen auszuführen, wenn eine Prämisse erfüllt ist (z.B. wenn Auto nicht startet, dann prüfe den Benzinstand). Erste Ansätze zur Modellierung intelligenten Verhaltens beruhten auf solchen Regeln, und auch für Expertensysteme der ersten Generation stellten heuristische Faustregeln den wichtigsten Formalismus dar. P r o d u k t i o n s r e g e l s y s t e m . Ein Produktionsregelsystem ist ein wissensbasiertes System, das Regeln auf Datenelemente eines Datenspeichers anwendet. Die Prämisse enthält einen logischen Ausdruck, der durch Einsetzen von aktuellen Ausprägungen der Datenelemente ausgewertet werden kann. Der logische Ausdruck kann konjunktiv verknüpfte und in manchen Systemen auch disjunktiv verknüpfte Aussagen enthalten. Die Konklusion stellt eine Aktion dar, die Datenelemente verändert, wenn die Regel zur Anwendung kommt. Sie kann nur konjunktiv verknüpfte Aussagen enthalten. Produktionsregelsysteme arbeiten in drei Phasen, die so lange wiederholt werden, bis ein Endkriterium erreicht wird. In der ersten Phase wird untersucht, welche Regeln anwendbar sind, d. h. von welchen Regeln die Prämissen erfüllt sind. In der zweiten Phase wird diese Menge solange verringert, bis nur noch eine übrigbleibt, die dann in der dritten Phase ausgeführt wird. Danach wird wieder untersucht, welche Regeln ausführbar sind. Da Produktionsregeln sich nicht gegenseitig aufrufen können, sondern nur über die Datenelemente des globalen Datenspeichers kommunizieren, sind sie weit modularer aufgebaut als Regeln und Prozeduren in konventionellen Programmen. Diese größere Unabhängigkeit von einzelnen Regeln fördert die Wartbarkeit. Bei sehr großen Wissensbasen mit über 10.000 Regeln ist die Strukturierung aber meist wieder unzureichend und andere, z.B. objektorientierte Strukturierungsmechanismen sind gefragt, die zu sog. hybriden KI-Werkzeugen führen, wo z.B. objektorientierte und regelbasierte Repräsentationsformalismen nebeneinander benutzt werden können. Klassifi kati on von Produkt ionsre gelsyste me n. Produktionsregelsysteme können durch eine Vielzahl theoretischer und praktischer Kriterien klassifiziert werden [Nilsson 80]. Eines der wichtigsten ist die Richtung der Regelanwendung. Bei der Vorwärtsverkettung wird an Hand der Prämisse und der Ausprägung der Datenelemente überprüft, welche Regel anwendbar ist. Bei einer Rückwärtsverkettung geht man davon aus, was erreicht 980 E7 Künstliche Intelligenz werden soll. Das kann ein zu beweisender Ausdruck oder ein Ziel in einer Planungsaufgabe sein. Bei diesem zielorientierten Vorgehen wird die Konklusion mit einem Zielausdruck verglichen und danach die Prämisse als neu zu beweisender Zielausdruck interpretiert. Manchmal ist es auch sinnvoll von beiden Seiten zu beginnen. Hier wird auch von einer bidirektionalen Verkettung gesprochen. Ein weiteres wichtiges Kriterium von Produktionsregelmengen ist die Kommutativität. Ist sie gegeben, spielt die Reihenfolge der Anwendung der Regeln keine Rolle. Man kommt immer zur gleichen Lösung. Bei nicht kommutativen Regelmengen, spielt die Strategie, welche Regel ausgewählt wird, wenn mehrere Regel anwendbar sind, eine wichtige Rolle. Ein weiteres Kriterium, das die Problemlösung vereinfacht, ist die Zerlegbarkeit von Regelmengen. Wenn sie gegeben ist, lassen sich Untermengen unabhängig voneinander lösen, was u.a. eine Parallelisierung ermöglicht. Ein spezielle Architektur, die für zerlegbare Probleme entwickelt wurde, sind die Tafelsysteme (blackboard systems). Hier wird ein globaler Datenspeicher (die Tafel) definiert, auf die verschiedene sog. Wissensquellen (knowledge sources) unabhängig voneinander zugreifen können. Diese Architektur ist speziell für große wissenbasierte Systeme konzipiert, die durch die Wissensquellen strukturiert werden. 7.2.2 Einschränkungen Einschränkungen (constraints) formalisieren die in vielen Problemstellungen existierenden Nebenbedingungen von Lösungen, wie verfügbarer Platz oder Zeit. Sie stellen eine Relation zwischen zwei oder mehr Variablen dar, denen ein diskreter oder kontinuierlicher Wertebereich zugeordnet ist. Man unterscheidet numerische Einschränkungen (z.B. die Gesamtbreite des zu konfigurierenden Objektes soll nicht breiter als 100 cm sein) und extensional aufgezählte Einschränkungen (z.B. es müssen entweder die Komponenten A, B und C oder A, D und E enthalten sein). Im Gegensatz zu Produktionsregeln, bei denen eine Abarbeitungsreihenfolge implizit gegeben ist (vorwärts- oder rückwärtsverkettet), ist die Reihenfolge der Belegung der Variablen einer Einschränkung nicht vorgegeben. Der Einschränkungsformalismus erfüllt daher noch stärker die Erwartung einer deklarativen Wissensrepräsentation als die Produktionsregeln. Einschränkungsproblem. Ein (lineares) rein numerisch formuliertes Einschränkungsproblem wird üblicherweise mit der Simplex-Methode gelöst. Ein Einschränkungsproblem (constraint satisfaction problem) für extensional beschriebene Einschränkungen ist eine Suche nach einer Menge von Wertetupeln, die alle Einschränkungen des Problems erfüllen [Mackworth 77], wobei mehrere Lösungen möglich sind. Existiert keine Lösung spricht man von einem inkonsistenten Einschränkungsproblem. Prinzipiell kann eine Lösung gefunden werden, indem zunächst über die Variablen eine Ordnung definiert wird. Danach wird ein gültiger Wert iterativ jeweils für die nächste Variable im Rahmen ihrer Einschränkungen aus ihrem Wertebereich gewählt. Kann für eine Variable keine gültige Belegung gefunden werden, wird zu einer früheren Auswahl zurückgekehrt und eine andere Belegung gewählt (chronologisches Backtracking). Oft ist es effizienter, durch abhängigkeitsgesteuertes Backtracking (dependency directed backtracking), abhängig von der Einschränkung, die eine Belegung verhindert hat, zu einem früheren Objekt zurückzukehren. Eine Optimierung der Suche läßt sich oft auch durch eine heuristische Reihung der Variablen oder Belegung der Variablen erreichen. Bei vielen Aufgabenstellungen hat es sich gezeigt, daß die Lösung schneller gefunden wird, wenn man zuerst die Variablen belegt, deren Wertebereich am kleinsten ist. Einen ähnlichen Effekt hat es, Variablen, die an vielen Einschränkungen beteiligt sind, zuerst zu belegen. Mit einer Vorwärtsüberprüfung (forward checking), kann unnötiges Backtracking vermieden werden. Dabei werden die Wertebereiche der Folgevariablen durch Anwendung aller die aktuelle Variable betreffenden Einschränkungen verringert. E7.2 Wissensrepräsentation 981 Fortpflanzung von Einschränkungen. Bei der Fortpflanzung von Einschränkungen (constraint propagation), einer Weiterentwicklung der Vorwärtsüberprüfung, wird der Wertebereich der Variablen im weitergehend inkrementell eingeschränkt, so daß möglichst nur Werte übrigbleiben, die auch zu einer Lösung führen. Anderenfalls muß mit den bereits vorgestellten Mechanismen eine Lösung in dem verkleinerten Suchbaum gefunden werden. Beim Fortpflanzungsprozeß wird das Einschränkungsproblem als Einschränkungsgraph interpretiert, dessen Punkte die Variablen und dessen Kanten die Einschränkungen sind. Auf Grund der Einschränkung einer Kante können die Wertebereiche der beteiligten Variablen reduziert werden. Die Reduzierung eines Wertebereichs kann dann entlang einer anderen Kante fortgepflanzt werden und eine Reduzierung anderer Wertebereiche induzieren. Dabei kann eine Variable wiederholt stärker eingeschränkt werden. Die Fortpflanzung wird durch die Berechnung der transitiven Hülle so lange wiederholt, bis keine strengeren Einschränkungen mehr auftreten oder ein Widerspruch entsteht. Wenn der Wertebereich der Variablen endlich ist, ist sichergestellt, daß der Prozeß der Fortpflanzung terminiert, da die Menge der Tupel nur verringert und nie vergrößert wird. Werden bei dem Fortpflanzungsalgorithmus nur Kanten zwischen zwei Punkten eines Graphen betrachtet, spricht man von der sog. Kantenkonsistenz (path consistency). Diese ist mit geringem Aufwand zu erreichen. Oft werden aber auch alle Untermengen mit drei Punkten betrachtet. Die so erreichte Wegkonsistenz ist aufwendiger, verringert aber die Wertebereiche stärker. Im Allgemeinfall, bei dem n Punkte betrachtet werden, spricht man von nKonsistenz. Da die n-Konsistenz von exponentiellem Aufwand ist und so nicht effizienter ist als die einfache Suche, wird sie meist nicht durchgeführt. Weiche Einschränkungen (soft constraints) werden benutzt, um Optimierungsziele oder Präferenzen, die nicht unbedingt erfüllt sein müssen, darzustellen. Hier wird nicht mehr binär entschieden, ob eine Einschränkung erfüllt ist, sondern es wird ein Grad der Erfüllung bestimmt. Einschränkungen können so teilweise widersprüchlich sein. Durch eine Modellierung des Nutzens von einzelnen Einschränkungen, läßt sich dann ein Kompromiß aus den aufgestellten Einschränkungen berechnen. Lösungen lassen sich dann z.B. durch iterative Verbesserungsverfahren berechnen [Dorn 94]. 7.2.3 Unsicheres und vages Wissen Viele Probleme können nur dann maschinell gelöst werden, wenn auch die Repräsentation und das Schließen mit unsicherem Wissen nachgebildet werden. Menschen lösen Probleme auch dann, wenn Entscheidungsgrundlagen unsicher sind, und zur Vermeidung von Komplexität werden oft vage Ausdrücke benutzt. Viele Meßwerte oder auch Sinneseindrücke sind unsicher (z. B. die Höhe eines Baums), weil die Bestimmung des exakten Werts zu aufwendig oder unmöglich ist. Viele Ausdrücke der natürlichen Sprache beschreiben vage Größen (z. B. ein alter Mann), die gewollt so vage sind, weil man sich nicht auf exakte Zahlen festlegen will. Auch Schlußfolgerungen können mit einer Unsicherheit behaftet sein. Aus einer Vielzahl von Kalkülen zur Repräsentation von unsicherem Wissen sollen zwei theoretisch ausführlich untersuchte Kalküle dargestellt werden. Bayessche Theorie. In der klassischen Wahrscheinlichkeitstheorie wird Wahrscheinlichkeit als der Wert definiert, dem sich die relative Häufigkeit eines Werts annähert. Diese absolute Wahrscheinlichkeit entspricht dem langfristigen Durchschnitt der Häufigkeit des Auftretens eines Ereignisses. Demgegenüber wird in der Bayesschen Theorie Wahrscheinlichkeit als der Grad der Akzeptanz (confidence) einer Hypothese gesehen. Für Wissensgebiete, die von subjektivem Expertenwissen geprägt sind und in denen Schließen unter Unsicherheit behandelt werden muß, hat sich der Bayessche Ansatz mit bedingten Wahrscheinlichkeiten als geeigneter erwiesen als der klassische Ansatz mit absoluten Wahrscheinlichkeiten. 982 E7 Künstliche Intelligenz Bayessches Theorem. Eine Hypothese bezeichnet eine Annahme über einen Sachverhalt und die Evidenz ein beobachtetes Ereignis, von dem die Hypothese abhängt. Mit einem Wahrscheinlichkeitswert p aus dem Intervall [0, 1] wird beschrieben, mit welcher Wahrscheinlichkeit die Hypothese Q gilt, wenn die Evidenz P wahr ist: p(Q | P) und keine weitere Information vorliegt. Oft kann man die umgekehrte Abhängigkeit durch empirische Beobachtungen bestimmen. Beobachtet man P in einem konkreten Fall, berechnet man mit dem Bayesschen Theorem: p(Q | P) = p(P | Q) ⋅ p(Q) / p(P), wie wahrscheinlich die Hypothese Q ist. Die Berechnung von p(Q | P), ausgehend von p(Q) und p(P | Q), kann man als Neubewertung der Hypothese Q beim Eintreten des Ereignisses P auffassen. Das Bayessche Theorem beschreibt also, wie sich die subjektive Sicherheit einer Hypothese mit dem Beobachten eines Ereignisses ändert. Ist die Hypothese aber von zwei Evidenzen P1 und P 2 abhängig, dann muß p(Q | P 1 ∧ P 2) bestimmt werden. Eine wichtige theoretische Voraussetzung für die Anwendung des Bayesschen Theorems ist die Unabhängigkeit aller Evidenzen, was manchmal schwer zu zeigen ist. Vertrauensbasierte Netze (belief networks) sind Netze von Aussagen, bei denen die auf dem Bayesschem Theorem beruhenden Schlußfolgerungen durch Kanten dargestellt werden [Pearl 86]. Eine häufig verwendete Technik sind hier Zufallsvariablen, die einen Bereich möglicher Werte 〈x1, …, xn〉 besitzen. Jedem Wert kann eine Wahrscheinlichkeit zugeordnet werden, wobei die Summe aller Wahrscheinlichkeiten 1 ist. Fuzzy-Logik Die Fuzzy-Logik [Zadeh 78] ist eine Verallgemeinerung der Mengenlehre und der zweiwertigen Logik. Die Wahrheitswerte der Fuzzy-Logik sind aus dem Intervall [0, 1]. Das Zugehörigkeitsmaß eines Elements zu einer Fuzzy-Menge drückt aus, in welchem Grad dieses Element zur Menge gehört. Besonders, wenn Mengen nicht exakt abgegrenzt werden können oder sich überlappen, hat die Modellierung mit Fuzzy-Mengen Vorteile. Die Fuzzy-Logik bleibt auch anwendbar, wenn die Summe der Zugehörigkeitsmaße aller Elemente ungleich 1 ist. Daraus ergibt sich eine größere Freiheit in der Beschreibung vager Information. Eine Fuzzy-Menge (fuzzy set) G beschreibt eine Menge von Objekten aus einem Wertebereich XG mitsamt ihrem Grad (Stärke) der Zugehörigkeit zu G. Damit wird das Konzept G durch seine Elemente und deren Zugehörigkeitsmaße definiert. Formal ist G eine Menge von geordneten Paaren: G = {(x, fG(x)) | x ∈ XG}. Die charakteristische Funktion fG(x) ordnet jedem Element aus dem Wertebereich X G einen Wert aus [0, 1] zu. In der Fuzzy-Logik werden die Verknüpfungsoperationen der Mengentheorie unter Einbeziehung der charakteristischen Funktionen (Verteilungsfunktion) definiert. In Bild 3 ist der Baum bi wahrscheinlich mittelgroß; er kann aber (mit kleinerer Wahrscheinlichkeit) auch klein sein, dagegen ist der Baum bj eindeutig groß. 1 klein 0 mittel bi groß Baumgröße bj Bild 3 Fuzzy-Menge zur Beschreibung der Größe von Bäumen Fuzzy-Control. Fuzzy-Logik wird angewendet, wenn Konzepte nicht genau modelliert werden sollen, weil eine exakte Modellierung zu aufwendig wäre. Ein Nachteil liegt im großen Aufwand, der für eine vollständige Modellierung (Aufstellen der Grundmengen von Elementen und Definition der charakteristischen Funktionen) erforderlich ist. Der große Erfolg der Fuzzy-Logik liegt im Bereich des Fuzzy-Control, wo eben durch den E7.2 Wissensrepräsentation 983 geringeren Aufwand im Vergleich zur Entwicklung eines neuen Regelungsalgorithmus ein Vorteil entsteht. Fuzzy-Controller basieren auf Fuzzy-Regeln, bei denen die Prämisse und Konklusion sowie die Schlußfolgerung vage formuliert sein können (z. B. wenn die Geschwindigkeit klein und der Abstand groß ist, dann ist die Situation ungefährlich). 7.2.4 Nichtmonotones Schließen Die klassische Logik ist monoton, d. h. wenn man zu einer bestehenden Menge von Prämissen eine neue hinzufügt, ergibt sich ein neues Gesamtwissen, aus dem die hinzugefügte Prämisse nicht mehr entfernt werden kann. In der Realität muß man oft mit Prämissen arbeiten, die Standardannahmen (sog. Defaults) darstellen. Wenn z. B. ein Mensch einen Stuhl sieht, dessen Beine verdeckt sind, nimmt er an, daß der Stuhl vier Beine hat. Wenn sich später herausstellt, daß der Stuhl nur drei Beine hat, muß die Standardannahme ”der Stuhl hat vier Beine” zurückgenommen werden. Eine solche Schlußweise heißt nichtmonoton. Ein System, das Standardannahmen verarbeitet, muß imstande sein, die Standardannahmen selbst und die Folgerungen, die sich aus ihnen ergeben, wieder zurückzunehmen, falls sich die Standardannahme als falsch erwiesen hat. Zur Behandlung von Defaults wurden daher nichtmonotone Logiken und nichtmonotone Schlußweisen entwickelt. Nichtmonotone Logiken erweitern die klassische Logik um syntaktische Elemente zur Darstellung und Behandlung von Default-Wissen. Nichtmonotone Schlußweisen benutzen zur Wissensdarstellung die klassische Prädikatenlogik erster Stufe m i t nichtmonotonen metasprachlichen Schlußfolgerungsoperatoren. Nichtmonotone Logiken Bei der Default-Logik [Reiter 80] wird die Sprache der klassischen Logik um Default-Regeln der Form α : M β / γ erweitert. Eine solche Regel drückt aus: Wenn α herleitbar ist und β nicht widersprüchlich zu allem anderen Geschlossenen (M, alles was möglich ist) ist, dann schließe γ. Die Standardannahme, daß ein Stuhl intakt ist, könnte also z. B. wie folgt als Default-Regel formuliert werden: stuhl(x) : M intakt(x) / intakt (x). Eine DefaultTheorie besteht aus einer Menge von klassischen logischen Formeln, erweitert um eine Menge von Default-Regeln. Eine logisch abgeschlossene Menge von Schlußfolgerungen aus einer Default-Theorie wird Extension genannt. Da verschiedene Default-Regeln zueinander inkompatibel sein können, ist es möglich, daß zu einer gegebenen DefaultTheorie mehrere alternative Extensionen existieren. Jede Extension wird durch eine maximale Menge von kompatiblen Default-Regeln charakterisiert. Eine schwache Folgerung aus einer Default-Theorie T (credulous consequence) ist eine Formel, die in zumindest einer Extension von T vorkommt. Ein starke Folgerung (skeptical consequence) aus T hingegen ist eine Formel, die in jeder Extension von T vorkommt. Die schwachen Folgerungen stimmen daher mit der Vereinigung, die starken mit dem Schnitt aller Extensionen überein. A u t o e p i s t e m i s c h e L o g i k . Bei der autoepistemischen Logik [Moore 85] wird die klassische Logik um einen modalen Operator L erweitert, der einem Akteur gestatten soll, Sachverhalte über sein eigenes subjektives Wissen (Glauben) auszudrücken und in den Schlußfolgerungsvorgang einzubringen. Die autoepistemische Formel ∀x stuhl(x ) ∧ ¬ L(¬ intakt(x)) ⇒ intakt(x) besagt dann, daß, wenn x ein Stuhl ist und wenn nicht geglaubt wird, daß x nicht intakt ist, daraus gefolgert wird, daß x intakt ist. Ähnlich wie bei der Default-Logik kann eine autoepistemische Theorie zu mehreren alternativen Mengen von Schlußfolgerungen (Expansionen) führen. Es gibt daher auch hier die Begriffe der schwachen und der starken Folgerung. 984 E7 Künstliche Intelligenz Nichtmonotone Schlußweisen Konsistenzbewahrende Systeme (truth maintenance systems) führen über Begründungen Buch und entfernen bei Bedarf Aussagen aus der Wissensbasis. Werden verschiedene Annahmen verwaltet und soll für eine bestimmte Aussage entschieden werden, unter welchen Annahmen sie gilt, verwendet man ein a n n a h m e n b a s i e r t e s konsistenzbewahrendes System (assumption-based truth maintenance system) [de Kleer 86]. Zirkumskription. In der klassischen Logik wird jeder logischen Theorie eine Menge von Modellen zugeordnet. Bei der Zirkumskription [McCarthy 80] werden nicht alle klassischen Modelle herangezogen, sondern nur jene, die bezüglich eines explizit angegebenen Prädikats minimal sind, d. h. bei denen dieses Prädikat so wenig Fakten wie möglich erfüllt. Ziel der Abduktion [Peng 90] ist es, von Wirkungen, Beobachtungen oder Symptomen auf geeignete Ursachen zu schließen. Das Problem, eine logische Wissensbasis W im Lichte neuerer oder besserer Information I zu revidieren, ist von großer Bedeutung für die Praxis. Oft ist I widersprüchlich zu W, man kann daher nicht einfach W mit I konjunktiv verknüpfen. Zur Lösung dieses Problems wurden verschiedene Ansätze entwickelt wie z.B.. Theorie-Revision [Katsuno 91]. Konsistenzbasierte Diagnose [de Kleer 87] wird häufig für die Diagnose technischer Systeme benutzt. Das zu diagnostizierende System wird durch die logische Beschreibung (SB) der Funktionsweise seiner Komponenten k1,…, kn und des Zusammenwirkens der Komponenten angegeben. In einer solchen Beschreibung verwendet man Formeln der Form ok(k1), …, ok(kn), um auszudrücken, daß alle Komponenten einwandfrei funktionieren. Die am System vorgenommenen Beobachtungen oder Messungen werden selbst wieder als eine Menge B von logischen Formeln dargestellt. Ist die logische Theorie SB ∪ OK ∪ B widersprüchlich, dann stimmt die Systembeschreibung nicht mit den Beobachtungen überein, und es liegt ein Fehlverhalten vor. Eine mögliche Diagnose für solch ein Fehlverhalten ist eine minimale Menge D von Komponenten, so daß die Theorie SB ∪ B ∪ (OK - {ok(ki) | k i ∈ D}) widerspruchsfrei ist, also eine minimale Menge von Komponenten, für die das Zurückziehen der ok-Annahme den Widerspruch auflöst. Bei Fehlverhalten existieren im allgemeinen mehrere mögliche Diagnosen. Das Diagnostizieren ist ein nichtmonotoner Vorgang, da bei Erweiterung der Systembeschreibung oder der Beobachtungen (z. B. zusätzliche Messungen) vorher gestellte Diagnosen ungültig werden können. 7.2.5 Objektorientierte Wissensrepräsentation Ähnlich wie in der objektorientierten Programmierung wird bei der objektorientierten Wissensrepräsentation die Wissensbasis durch Objekte strukturiert und lesbarer gestaltet. Die kognitionswissenschaftliche Motivation für die objektorientierte Wissensrepräsentation ist es, menschliche Assoziationsfähigkeiten nachzubilden [Minsky 75]. So werden Schlußweisen definiert, die von einem abstrakten Begriff auf dessen Details oder von beobachteten Details auf einen abstrakten Begriff schließen. Von großer Bedeutung ist hier der Vergleichsmöglichkeiten von Objekten und die Definition der Ähnlichkeit von Objekten. Rahmen. Anstatt des Begriffs Objekt wird in der künstlichen Intelligenz meist der Begriff Rahmen (frame) verwendet. Ein Rahmen beschreibt prototyphaft eine Klasse von Gegenständen mit ähnlichen Eigenschaften, aus der individuelle Objekte (Instanzen) erzeugt werden können. Ein Rahmen besteht aus einer Menge von Fächern (slots), die die Eigenschaften enthalten. Mit einem Fach können Facetten (facets) assoziiert werden. Das sind Bedingungen, die ein Objekt erfüllen muß, damit es das Fach füllen darf, oder Prozeduren, die unter bestimmten Bedingungen ausgeführt werden (procedural attachment). E7.2 Wissensrepräsentation 985 Auch eine Kopplung mit unsicherem Wissen oder Defaults kann hier spezifiziert werden. Fächer eines Rahmens können selbst wieder Rahmen referenzieren, d. h., die eingesetzten Objekte werden wiederum durch Rahmen beschrieben. Rahmen können als die Punkte eines Graphen und die Relationen zwischen Fach und füllendem Objekt als die Kanten eines Graphen interpretiert werden. Die Kanten können unterschiedliche semantische Bedeutungen besitzen. In komplexen Systemen existieren meist Kanten, die eine Lokalität des Objekts beschreiben, die Teile des Gesamtobjektes zusammenfassen oder die die Spezialisierung eines Objekts (Vererbung) darstellen. Eine der ersten Sprachen zur Handhabung objektorientierter Wissensrepräsentation war KRL [Bobrow 77]. Semantische Netze, die hier nicht besprochen werden, besitzen viele ähnliche Konzepte; einer der bekanntesten Vertreter ist KL-ONE [Brachman 85]. Obwohl häufig objektorientierte Sprachen wie Smalltalk verwendet werden, um wissensbasierte Systeme zu entwickeln, darf man objektorientierte Programmierung und Wissensrepräsentation nicht gleichsetzen. Bei der objektorientierten Programmierung wird die Repräsentation und die Verarbeitung von Objekten gekapselt; bei der Wissensrepräsentation soll die Verarbeitung nicht für einzelne Klassen speziell definiert sein. 7.2.6 Qualitatives Wissen Die zweite Generation der Expertensysteme beruht auf dem tiefen Schließen und der Modellierung des Alltagswissens. Es steht nicht mehr die ”oberflächliche” auf Erfahrung beruhende Schlußfolgerung des Experten im Vordergrund, sondern das tiefere Verstehen von kausalen Zusammenhängen der Objekte des betrachteten Gebiets. Unter dem Oberbegriff ”Naive Physik” wurden verschiedene Theorien entwickelt, wie ein Mensch über Phänomene, wie Zeit, Ort, Flüssigkeit u.v.m. schließt [Weld 90]. Die meisten dieser Theorien beruhen auf einer Modellierung mit Einschränkungen. Hier soll das qualitative Schließen über Zeitintervalle als Beispiel dargestellt werden. Der Intervallkalkül (interval calculus) [Allen 83] ist ein allgemeines qualitatives Modell zur Repräsentation und Verarbeitung von zeitlichen Aussagen. Bei der Darstellung geht man von der Annahme weg, daß immer ein genauer Zeitpunkt bestimmbar ist, an dem eine Aussage wahr ist. Es kann qualitativ eingeschränkt werden, daß z.B. die Intervalle von zwei Aktionen des Roboters nacheinander stattfinden. Zwischen zwei Intervallen sind 13 verschiedene, sich untereinander ausschließende Relationen möglich. Da die tatsächliche Beziehung zwischen zwei Intervallen oft unbekannt oder unsicher ist, können die Relationen disjunktiv zu einer Einschränkung verknüpft werden. Die Disjunktion aller 13 Relationen bedeutet gänzliche Unsicherheit. Verarbeitung im Intervallkalkül. Die Verarbeitung geschieht durch die Fortpflanzung in einem Einschränkungsgraphen, bei dem die Intervalle symbolisch dargestellte Objekte sind. Die Menge der möglichen Relationen zwischen ihnen sind die Einschränkungen, deren Wertemenge verringert werden kann. Wenn zwischen den Intervallen i1 und i2 und zwischen i2 und i3 jeweils eine ”<”-Einschränkung existiert, dann ergibt sich als transitive Einschränkung zwischen i1 und i3 auch eine ”<”-Einschränkung. Bei der Fortpflanzung in einfachen Intervallgraphen wird immer ein vollständiger Graph berechnet. Wenn eine neue Relation in den Graphen eingefügt wird, werden alle Konsequenzen dieser Erweiterung durch die Berechnung der transitiven Hülle bestimmt und so eine Wegkonsistenz erreicht. Durch spezielle Strukturierungstechniken des Graphen, bei denen nicht mehr jeder Punkt mit jedem verbunden ist, lassen sich Verbesserungen hinsichtlich der Zeitund Speicherkomplexität erreichen. So kann der Graph z.B. in hierarchiche ”Episoden” strukturiert werden. 986 E7 Künstliche Intelligenz 7.2.7 Ereignisorientierte Wissensrepräsentation Oft ist es wichtig, die möglichen Handlungen eines Akteurs, die sonstigen auftretende Ereignisse sowie deren zeitlichen und kausalen Abhängigkeiten deklarativ darzustellen. Wenn der zu modellierende Akteur für ein Teilproblem immer den gleichen Ablauf von Aktionen wählt, dann soll diese Folge natürlich auch so repräsentiert werden, und wenn bei der Durchführung einer Handlung zwei Akteure gleichzeitig etwas ausführen müssen, muß die Gleichzeitigkeit auch beschrieben werden. Aufbauend auf einer zeitlichen Repräsentation haben verschiedene Autoren eine sog. Ontologie – eine Klassifizierung von zeitlichen Feststellungen – aufgestellt, die zwischen Zuständen, Ereignissen, Aktionen und Prozessen unterscheidet (McDermott 1982). STRIPS-Formalismus. Ein erstes Modell zur deklarativen Repräsentation von Aktionen eines Roboters wurde im STRIPS-Programm entwickelt [Fikes 71]. Dabei wurde die sog. geschlossene Welt-Annahme (closed world assumption) benutzt, bei der angenommen wird, daß die gesamte Planungsumgebung unter der Kontrolle des planenden Programms steht. STRIPS -Schemata beschreiben mögliche Aktionen durch eine Liste von Vorbedingungen, eine Liste von Aussagen, die durch die Ausführung der Aktion ungültig werden (delete list), und eine Liste von Aussagen, die nach der Ausführung gelten (add list). Die Vorgangsweise, alle Aussagen, deren Gültigkeit sich durch die Ausführung eines Operators verändert, explizit zu benennen, wird auch als STRIPS-Annahme bezeichnet. Skripts. Ein Skript beschreibt prototyphaft eine Folge von Ereignissen und Aktionen (Bild 4) in einem speziellen Kontext [Schank 77, Dorn 89]. Eintrittsbedingungen beschreiben Ereignisse, die auftreten müssen, bevor die Handlung des Skripts stattfindet kann; Resultate sind Aussagen oder Ereignisse, die nach Abarbeitung des Skripts gelten. Rollen (roles) und Requisiten (props) sind Platzhaltersymbole für Personen bzw. Objekte, die an der Handlung des Skripts teilnehmen oder benutzt werden. An diese Objekte können weitere statische Einschränkungen geknüpft sein. Das Fach ”Erscheinungen” beschreibt den eigentlichen Ablauf einer zu modellierenden Handlung. Es enthält Ereignisse, einfache Aussagen und mögliche erreichte Zustände. Dadurch, daß Skripts selbst wieder als Aktionen interpretiert werden, ergibt sich die Möglichkeit, Skripts hierarchisch aufzubauen, wobei ein Skript ein anderes Skript enthält. Die Gültigkeit der Aussagen, die in den verschiedenen Fächern enthalten sind, werden auf zeitliche Intervalle eingeschränkt (Intervalle werden durch das @-Symbol mit Aussagen gekoppelt), die untereinander durch Intervallrelationen des Faches Zeitbeschränkungen eingeschränkt werden. Skript: A betritt R durch T Rollen A = mobiler Agent R = Raum, T = Tür, S = Schlüssel Requisiten A vor T @ I1 ∧ A hat S @ I2 Eintrittsbedingungen A in R @ I3 Resultate Einschränkungen verschlossen T Ereignisse A stecken S in T @ I4, A öffnen T @ I5, A durchgehen T @ I6 I1 < I3, I2 < I4, I5 < I6, I6 < I3 Zeiteinschränkungen Bild 4 Skript, das das Betreten eines verschlossenen Raums durch einen Akteur beschreibt Anwendung von Skripten. Bei einer Überwachung und Diagnose von technischen Prozessen stellen Skripte den gewünschten Verlauf dar, den man mit dem tatsächlich festgestellten vergleicht. Aus dem zeitlichen Abweichen oder dem Fehlen von einzelnen Ereignissen kann ein Fehlverhalten abgeleitet werden. Für typische Fehler können eigene E7.3 Wissensbasierte Suche 987 Skripte definiert werden, die eine Reparatur vorschlagen. Bei der wissensbasierten Planung stellen Skripte Aktionen dar, die vom Planungssystem ausgesucht werden, um ein gewünschtes Ziel zu erreichen. Zwei Strategien lassen sich dabei verfolgen: Der Planer kann durch eine sog. Mittel-Ziel-Analyse (means-end-analysis) eine Diskrepanz zwischen Ziel und aktuellem Zustand feststellen und nach einem Skript suchen, das in der Liste seiner Resultate diese Diskrepanz verringert. Wenn die statischen Bedingungen des Skripts erfüllt sind, müssen noch die Vorbedingungen erfüllt werden. Die zweite Strategie beruht darauf, Skripte auszusuchen, die im aktuellen Zustand anwendbar sind und zu einer Verringerung der Diskrepanz führen. 7.3 Wissensbasierte Suche Da eine deklarative Beschreibung von Problemen eine Suche nach den Schritten zu einer Lösung erfordert, ist die Entwicklung von effizienten Suchverfahren ein zentraler Forschungsbereich der künstlichen Intelligenz. Die meisten Problemstellungen sind dabei so komplex, daß ausschöpfende Suchverfahren, wie Suche in die Breite oder Backtracking, nicht ausreichend sind und entweder approximative, heuristische, statistische oder zufallsbasierte Techniken eingesetzt werden müssen. 7.3.1 Heuristische Suche in Graphen Eine Suche nach der Lösung eines Problems kann mit Hilfe von Graphen verdeutlicht werden. Dabei wird ein Kantenzug im Graphen von einem Start- zu einem Zielpunkt gesucht. Der Graph kann auch implizit gegeben sein. Jeder Kante zwischen zwei Punkten pi und pj sind Kosten cij zugeordnet. Ein Lösungsweg heißt optimal, wenn die Summe aller Kosten entlang des Lösungswegs minimal ist. Nilsson [80] stellt einen allgemeiner Suchalgorithmus vor, bei dem iterativ immer wieder ein Punkt ausgewählt wird und für diesen untersucht wird, ob er zum Ziel führt. Punkte, die bereits untersucht wurden, werden in der Liste der geschlossenen Punkte gespeichert. Bei der Untersuchung eines Punktes p0 wird dieser expandiert, d.h. alle Punkte Pi, die durch eine Kante k(p0 , Pi) erreichbar sind und bisher noch nicht untersucht wurden, werden in die Liste der offenen Punkte übernommen. Der untersuchte Punkt wird in die Liste der geschlossenen Punkte aufgenommen und ein neuer Punkt aus der offenen Liste entnommen. Suchstrategien unterscheiden sich durch die Reihenfolge, in der die Punkte aus der Liste der offenen Punkte entnommen werden. Wird die Liste der offenen Punkte als Keller (LIFO-Strategie) realisiert, ergibt sich eine einfache Tiefensuche, wenn sie als Warteschlange (FIFO-Strategie) realisiert wird, ergibt sich eine Breitensuche. Die Liste kann aber auch vor jeder Auswahl neu sortiert werden. Man wird die Punkte dann so reihen, daß der Punkt, von dem man annimmt, daß er auf dem kostengünstigsten Weg liegt, als nächstes entnommen wird. Oft ist es möglich, spezifische Informationen zu nutzen, um den Suchaufwand zu verringern. Information dieser Art wird heuristisch genannt. Heuristische Suche beruht darauf, daß eine Kostenfunktion zur Bestimmung der Güte von verschiedenen Wegen und eine Schätzfunktion, die die Nähe eines Punktes zum Ziel schätzt, existiert. Ein heuristisches Suchverfahren kann den Aufwand sehr stark reduzieren, im allgemeinen Fall kann jedoch keine Garantie gegeben werden, daß der optimale Weg gefunden wird. Die Kostenfunktion g*(P) stellt die Güte der bisherigen Teillösung vom Start pS bis zu einem zu expandierenden Punkt P dar. Existiert nun noch eine Schätzfunktion h(P), die die Kosten für einen Weg von P zum Ziel pZ schätzt, so lassen sich die Punkte, die noch nicht expandiert sind, heuristisch ordnen. Man wird also den Punkt als nächstes expandieren, dessen Bewertungsfunktion f(P) = g*(P) + h(P) am kleinsten ist. 988 E7 Künstliche Intelligenz Die Effizienz eines heuristischen Suchalgorithmus hängt vor allem von der Güte der Schätzfunktion h(P) ab. Stellt h*(P) die tatsächlichen Kosten dar (zur Zeit der Expandierung unbekannt), dann sollte die Differenz h(p) - h*(P) möglichst klein sein. Ist die Schätzfunktion aber größer als die tatsächlichen Kosten, kann es passieren, daß man einen Weg zum Zielpunkt findet, der nicht optimal ist. Es kann nämlich passieren, daß man den optimalen Weg nicht untersucht, weil man seine Kosten höher eingeschätzt hat. Ist garantiert, daß die Schätzfunktion kleiner ist als die tatsächlichen Kosten, wird vom Algorithmus A* gesprochen. Dieser Nachweis kann über die Monotonierestriktion der Schätzfunktion geführt werden, die wie folgt definiert ist: ∀ k(pi , pj ): h(pi ) - h(pj ) ≤ cij. Ein einfaches Beispiel für die Anwendung des A* Algorithmus ist die Suche nach einem kürzesten Weg in einem Stadtplan. Wenn aus dem Plan Koordinaten gelesen werden können, dann kann zur optimistischen Schätzung einfach die Luftlinie verwendet werden. In manchen Anwendungen, in denen keine so gute Schätzfunktion existiert, kann es passieren, daß der A* Algorithmus sehr viel Speicherplatz für die beiden Listen von Punkten benötigt. Korf (85) hat den IDA* Algorithmus (iterative deepening A*) entwickelt, um die Vorteile von Backtracking (geringer Speicherbedarf) und A* Algorithmus (findet den besten Weg) zu kombinieren. Dabei wird iterativ in mehreren Durchgängen mit einer Backtracking Suche bis zu einer Tiefenschranke gesucht. Wird in einer Iteration keine Lösung gefunden, so wird die Tiefenschranke vergrößert, wobei die Vergrößerung von der Schätzfunktion h(P) abhängt. Bei allen Blättern der Backtracking Suche wird optimistisch geschätzt, um wieviel die Tiefenschranke vergrößert werden müßte, um das Ziel zu erreichen. Der kleinste Wert aller Blätter muß dann genommen werden, um zu garantieren, den besten Weg zu finden. 7.3.2 Heuristische Suche bei Zielkonflikten In vielen Anwendungen ist die Umgebung, für die eine Problemlösung gesucht wird, nicht deterministisch, und man kann nicht mit vollständigem Wissen arbeiten, oder verschiedene Ziele existieren, die widersprüchlich sind. Oft ist es möglich, die Reaktion der Umgebung auf eine Menge von Alternativen einzuschränken. Solche Probleme wurden sehr häufig an Hand der sogenannten Zweipersonen-Nullsummenspiele (z. B. Schach) untersucht. Hier ist der Vorteil des einen Spielers gleich dem Nachteil des anderen Spielers, bzw. die positive Bewertung des einen Spielers ist gleich der negativen Bewertung des anderen Spielers. Bei einer Suche muß immer wieder berücksichtigt werden, daß der Gegner das genau entgegengesetzte Ziel verfolgt. Eine Suche für dieses Problem kann durch Und/Oder-Graphen verdeutlicht werden, wobei die Möglichkeiten des Gegners durch die Oder-Kanten dargestellt werden. Die Suchtiefe muß aufgrund der kombinatorischen Komplexität beschränkt werden, wobei hier von einem Suchhorizont gesprochen wird. Die Blätter des Suchbaums werden dann heuristisch bewertet. Beim Schachspiel wird dann z.B. das Material der beiden Spieler und ihre Stellung durch einen numerischen Zahl bewertet. Die Werte der verschiedenen Blätter wird dann über die sog. MiniMax-Strategie hochgereicht. Angenommen, eine hohe Bewertung stellt eine günstige Situation für Spieler A dar, dann sucht er unter den Möglichkeiten, die er jeweils hat, diejenige mit dem höchsten Wert aus. Bei den Aktionen des Gegners sollte Spieler A davon ausgehen, daß der Gegner diejenige Möglichkeit auswählt, die für Spieler A am schlechtesten ist. Also im ersten Fall wird der maximale Wert und im zweiten Fall der minimale Wert ge wählt. Spieler A führt dann die Alternative mit dem höchsten Wert aus. Dies wird so lange durchgeführt, bis einer der beiden Gegner sein Ziel erreicht hat. Der Suchaufwand kann manchmal durch eine Beschneidung des Suchbaumes verringert werden. Hat Spieler A einen Unterbaum gefunden, in dem sein Gegner als besten Wert α erreichen kann, und hat A nun in einem weiteren Unterbaum für seinen Gegner einen bes- E7.3 Wissensbasierte Suche 989 seren Zug gefunden (α-ε1), muß er diesen Unterbaum nicht mehr weiteruntersuchen, da er für sich keinen besseren Wert mehr finden kann. Umgekehrt muß er diese Überlegungen auch für seinen Gegner anstellen. Wenn er bei einer Oder-Kante einen Wert β für seinen Gegner gefunden hat und in einer weiteren Kante einen Wert findet, der besser für Spieler A ist (β-ε2), dann muß er diesen Teilbaum nicht weiter untersuchen, da sein Gegner diesen Zug nicht ausführen wird. Bild 5 verdeutlicht die Beschneidungsmöglichkeiten und stellt die Äste, die nicht untersucht werden, grau dar. α β α- ε1 β+ε2 Bild 5 Und-Oder-Graph mit α-β-Beschneidung 7.3.3 Optimierung durch iterative Verbesserung von Lösungen Viele praktische Problemstellungen sind dadurch gekennzeichnet, daß eine optimale Lösung gesucht wird. Wenn auf Grund der Komplexität der Problemstellung das Optimalitätsziel aufgegeben wird, bieten sich iterative Verbesserungsverfahren an. Bei der sog. Gradientensuche untersucht man, ausgehend von einer vorläufigen Lösung, die Nachbarschaft nach einer Verbesserung. Dazu müssen Operatoren definiert sein, die diese Nachbarschaft erzeugen. Dies kann z. B. ein Vertauschen von zwei Komponenten der Lösung sein. Man bewertet nun alle Lösungen dieser Nachbarschaft und fährt dann mit der Lösung fort, die die beste Bewertung erhält. Für viele Probleme reicht diese einfache Methode nicht, da sie schnell in lokalen Optima steckenbleiben kann. Tabusuche [Glover 93] sucht innerhalb einer definierten Nachbarschaft nach dem besten Nachbarn, der u.U. auch eine schlechtere Bewertung hat als die aktuelle Lösung. Um Zyklen zu vermeiden, wird eine Tabuliste eingeführt, die Eigenschaften von alten Lösungen oder den angewendeten Operatoren speichert. Werden z. B. zwei Komponenten einer Lösung vertauscht, so kann die Umkehroperation verboten werden. Die Tabuliste wird als Ringpuffer mit beschränkter Länge realisiert, so daß die Suche nach n Schritten prinzipiell wieder zu einer alten Lösung zurückfinden kann. Manchmal gibt man noch Überschreibungsbedingungen (aspiration level condition) an, unter denen der Tabustatus einer neuen Lösung überschrieben werden darf. Auch eine Speicherung von mehreren unterschiedlich langen Tabulisten mit unterschiedlichen Attributen ist sinnvoll. Tabusuche soll intelligentes Verhalten von Menschen nachbilden. Dabei spielt die Tabuliste die Rolle des Kurzzeitgedächtnis. Das Langzeitgedächtnis wird auf den vorgestellten Mechanismen und einer dynamischen Änderung der Tabulistenlänge realisiert, wobei sich Phasen von intensiver Suche und Diversifikation ergeben. So kann z. B. eine Zeit lang mit einer kurzen Tabuliste in einer kleinen Nachbarschaft gesucht werden. Wird dann keine Verbesserung mehr gefunden, kann die Liste verlängert und die Nachbarschaft vergrößert werden, um mehr unterschiedliche Lösungen zu erreichen. Simuliertes Ausglühen (simulated annealing) [Kirkpatrick 83] geht auf Verfahren der statistischen Physik zurück, bei der die Erstarrung eines Körpers auf den Zustand mit der geringsten Energie simuliert wird. Dabei wird eine Lösung aus der definierten Nachbarschaft zufällig generiert und mit einer Wahrscheinlichkeit akzeptiert, die abhängig von ihrer Bewertung ist. Die Wahrscheinlichkeit für bessere Lösungen ist immer 1, für 990 E7 Künstliche Intelligenz schlechtere ist sie abhängig von der Differenz zur vorherigen Bewertung und von der Dauer des Suchverfahrens. Zu Beginn des Suchverfahrens ist sie groß und verringert sich im Verlaufe der Suche. Ist v i die Bewertung einer Lösung, dann akzeptiert der Algorithmus eine Lösung mit einer Bewertung vj mit der Wahrscheinlichkeit P = min{1, exp(-(vi - vj) / t))}, wobei t die Temperatur genannt wird und ein Kontrollparameter ist, der während der Suche in mehreren Schritten heruntergesetzt wird. Zu Beginn der Suche, wenn die Temperatur groß ist, ist die Wahrscheinlichkeit relativ groß, daß eine große Differenz zwischen alter und neuer Bewertung erlaubt wird. Die Entscheidung, wie schnell die Temperatur verringert wird, hat entscheidenden Einfluß auf die gefundene Lösung. Ein langsames Absenken erhöht die Wahrscheinlichkeit, daß eine bessere Lösung gefunden wird, bedeutet aber auch, daß die Suche länger dauert. Die Temperaturabsenkung kann durch einen expliziten Plan (annealing schedule) oder durch eine Funktion gegeben werden. Außerdem kann es sinnvoll sein, diese Absenkung abhängig von der Bewertungsfunktion zu gestalten. Simuliertes Ausglühen hat den Vorteil, daß nicht die gesamte Nachbarschaft untersucht wird, sondern – kostensparend – nur ein Nachbar zufällig ausgesucht wird. Genetische Algorithmen [Holland 75] sollen die Natur nachahmen, die durch Prozesse wie Mutation und Kreuzung von Chromosomen neue, immer widerstandsfähigere Lebewesen hervorbringt. Genetische Algorithmen arbeiten auf einer Menge von Chromosomen (der Population), die jeweils eine mögliche Problemlösung durch eine Menge von Bits oder ganzen Zahlen darstellen. Durch Kreuzung (cross-over) von zwei zufällig ausgewählten Chromosomen und durch anschließende, auch vom Zufall abhängige Mutationen verändert sich die Population. Die Fitneßfunktion bewertet einzelne Chromosomen bezüglich ihrer Güte für die Problemlösung. In einem Selektionsprozeß sterben dann, auch mit einer Zufallskomponente behaftet, die schlechtesten Chromosomen, und nur die besten überleben, um erzeugen in weiteren Iterationen noch bessere Nachfahren. Genetische Algorithmen haben erstaunlich gute Lösungen für komplexe Optimierungsprobleme geliefert (z.B. Bestimmung eines Optimums bei einer nicht-linearen Funktion), aber wenn sie mit anderen iterativen Verfahren wie dem simulierten Ausglühen oder Tabusuche direkt verglichen werden, schneiden sie meist nicht so gut ab. Ein weiteres Problem ist der große Aufwand, der in das Finden der adäquaten Problemrepräsentation und der Operatoren gesteckt werden muß. Genetische Algorithmen werden auch zur Erzeugung von Programmen benutzt. Bei der genetischen Programmierung werden durch genetische Operatoren Programmstücke, meist Programmbäume, neu zusammengesetzt, um ein neues Programm zu erhalten, das auch wieder durch eine Fitneßfunktion bewertet wird. 7.4 Lernen Im Maschinellen Lernen werden Methoden zur Aufnahme neuen Wissens, neuer Fertigkeiten und zur selbständigen Reorganisation bereits vorhandenen Wissens untersucht. Das maschinelle Lernen nimmt eine besondere Stellung in der künstlichen Intelligenz ein, da intelligentes Verhalten sehr oft von der Lernfähigkeit abhängig ist. Zu Beginn der Forschungsarbeiten glaubte man noch daran, ein Programm entwickeln zu können, das ähnlich wie Kinder lernen und nach einer gewissen Zeit intelligent wie erwachsene Menschen sein könnte. Das Ziel der heutigen Forschung gibt sich bescheidener, und man versucht, den Erwerb und die Aktualisierung des Wissens möglichst weit zu automatisieren. Die Wissensrepräsentationsformalismen und Inferenzstrategien sind dabei bereits vorgegeben und werden nicht gelernt. Innerhalb der Theorie des Lernens werden folgende Ansätze unterschieden: • Unüberwachtes Lernen (unsupervised learning) E7.4 Lernen 991 • Überwachtes Lernen (supervised learning) an Hand von Beispielen • Verstärkendes Lernen (reinforcement learning) durch positive oder negative Bewertung • Lernen durch Analogien (analogy learning). In der künstlichen Intelligenz versucht man diese Ansätze durch unterschiedliche Techniken zu realisieren. 7.4.1 Induktives Schließen Beim induktiven Schluß versucht man, aus speziellen beobachteten Fällen allgemeines Wissen abzuleiten. Dies ist die gebräuchlichste Form, um in logischen Formalismen zu lernen. Soll ein System lernen, werden ihm möglichst viele negative und positive Beispiele vorgelegt, aus denen es dann charakteristische Attribute finden muß, um abstrakteres Wissen selbst zu formulieren. Eine der bekanntesten Aufgaben ist das Erlernen eines Entscheidungsbaums, der aus Produktionsregeln besteht; eine realisierte Anwendung davon ist das Erlernen von Regeln zur Kreditvergabe bei Banken. Dabei sind die bekannten Beispiele in einer Attribut-Wert-Liste gegeben, und das System untersucht, welches der Attribute am stärksten zwischen positiven und negativen Fällen unterscheidet. Der Informationsgehalt eines Attributs wird bei n verschiedenen Attributwerten und der Wahrscheinlichkeit pm , daß ein Objekt mit dem m. Attributwert zum Zielbegriff gehört, durch die Entropie wie folgt berechnet: n 1 - ∑ pm · ld p m m=1 . Das Attribut mit dem größten Informationsgehalt wird dann in der ersten Regel des Entscheidungsbaums abgefragt. Die bekannteste Realisierung dieses Lernalgorithmus ist ID3 [Quinlan 83]. Conceptual Clustering (abgeleitet aus der Cluster-Analyse der Statistik) baut auf Grund von Beobachtungen oder Beispielen eine Hierarchie von Rahmen (Cluster) auf. UNIMEM [Lebowitz 87] erlaubt ein inkrementelles Erlernen einer Vererbungshierarchie. Das Problem beim inkrementellen Lernen ist, daß unter Umständen die Hierarchiestruktur teilweise umgebildet werden muß, wenn neues Wissen ausgewertet wird. Induktives Logisches Programmieren [Muggleton 92] ist ein Ansatz, induktives Lernen mit Prädikatenlogik erster Stufe zu kombinieren. Das Lernproblem besteht darin, die Generalisierung einer Klausel oder die kleinste gemeinsame Generalisierung mehrerer Klauseln im Rahmen eines definierten Hintergrundwissens zu finden. Die meisten entwickelten Systeme beschränken sich hier entweder auf Horn-Klauseln oder auf Unterklassen davon, wie Datalog-Programmen [Ceri 90], weil in allgemeiner Prädikatenlogik nicht entscheidbar ist, ob die speziellste Verallgemeinerung gefunden wird. 7.4.2 Fallbasiertes Schließen Beim fallbasierten Schließen (case-based reasoning) [Kolodner 93] werden die charakteristischen Daten eines Problems und seiner Lösung in einem Fall gespeichert. Eine Fallbasis mit einer Menge geordneter Fälle stellt dann die Erfahrung eines Systems dar, wobei die Struktur auch eine wichtige Rolle spielt. Wenn nun ein neues Problem gelöst werden soll, dann wird in der Fallbasis nach einem ähnlichen Fall gesucht. Diese Suche wird durch die Struktur der Fallbasis und ein explizit zu definierendes Ähnlichkeitsmaß unterstützt. Oft werden die Fälle hierarchisch geordnet. Wird ein ähnlicher Fall gefunden, wird dieser an das aktuelle Problem adaptiert, wozu spezielles Wissen aus der Anwendung nötig ist. Unter Umständen kann man nun den adaptierten Fall in einer Simulation der 992 E7 Künstliche Intelligenz Anwendungsdomäne ausprobieren, ob er zu einer Lösung führt. Stellt das Fallbasierte System entweder in dieser Simulationsumgebung oder der tatsächlichen Anwendung einen Fehler fest, versucht es den Fehler auf Grund von tiefem Schließen zu reparieren. Reparierte Fälle, aber auch fehlgeschlagene Fälle werden in der Fallbasis gespeichert, um später diese Fehler nicht mehr zu wiederholen. Das System lernt und erweitert so seine Kompetenz durch neue Fälle. Das erste bekannte fallbasierte System war CHEF, ein System, das chinesische Kochrezepte auf Grund von speziellen Bedürfnissen zusammenstellt [Hammond 89]. Inzwischen gibt es viele kommerziell erfolgreiche fallbasierte Systeme in den Bereichen Beratung, Entwurf, Planung usw. Obwohl auch fallbasierte Systeme auch theoretische Grundlagen haben, werden sie in Anwendungen viel pragmatischer eingesetzt als andere wissensbasierte Systeme. So enthalten existierende Systeme meist nur einen Teil der angeführten Idealkomponenten. 7.4.3 Neuronale Netze Mit neuronalen Netzen wird versucht, das menschliche Gehirn, das aus einer Menge von Neuronen besteht, zu simulieren. Die meisten Anwendungen neuronaler Netze liegen im Bereich der Mustererkennung. Ein neuronales Netz wird zuerst mit einer Menge von Beispielen trainiert, damit es danach eine Klassifizierung von neuen Mustern durchführen kann. Das Netz wird dabei trainiert, bei einer gewissen Eingabemenge eine gewünschte Ausgabemenge zu berechnen. Eine weitere Aufgabenstellung ist die Repräsentation von mathematischen Funktionen. In [McCulloch 43] werden neuronale Netze zur Darstellung von Booleschen Funktionen benutzt, und heute werden sie oft zum Erlernen von nichtlinearen Regelungsfunktionen verwendet. Berechnung der Erregung eines Neurons. Ein neuronales Netz besteht aus einer Menge von Neuronen ni , die in Schichten (layer) geordnet sind. Jedes Neuron hat einen Erregungszustand ei, der über einen Ausgabekanal abgegeben wird (Bild 6). Dies kann ein Binärwert oder ein kontinuierlicher Wert zwischen 0 und 1 sein. Ein Neuron besitzt mehrere Eingabekanäle, über die es die Erregungen anderer Neuronen mitgeteilt bekommt. Eine Synapse ist die Verbindung eines Ausgabekanals mit dem Eingabekanal eines anderen Neurons. Synapsen erhalten Gewichte (weights), die mit der Ausgabe multipliziert werden. Die Aktivierungsfunktion (activation function) bestimmt die neue Erregung des Neurons, indem sie eine Schwellwertfunktion (threshold function) g auf die Summe der gewichteten Synapsen anwendet: e j = g( ∑i wij ⋅ ei ). Diese Schwellwertfunktion sollte nichtlinear sein, meist wird entweder eine Treppenfunktion oder eine Sigmoidfunktion (z.B. g(x) = 1 / (1 + exp(-x))) verwendet. Dieses einfache Modell berechnet den Erregungszustand zu diskreten Zeitpunkten. Komplexere Modelle erlauben eine Modellierung von kontinuierlichen Raum- und Zeitparametern. n1 w 1j w ij ∑ g ej ni Bild 6 Berechnung der Erregung ej des Neurons nj Schichten eines neuronalen Netzes. Einfache neuronale Netze bestehen aus zwei Schichten: der Eingabe- und der Ausgabeschicht (input and output layer). Ein Neuron der E7.4 Lernen 993 Eingabeschicht kann mit beliebig vielen Neuronen der Ausgabeschicht verbunden sein, aber Neuronen einer Schicht sind nicht miteinander verbunden. Dieses einfache Netz, das auch unter dem Namen Perceptron bekannt wurde, kann nichtlinear unterscheidbare Funktionen, wie z.B. die ausschließende Disjunktion, nicht repräsentieren. Deswegen werden in einem Mehrschichtennetz (multilayer network) zusätzliche verborgene Schichten (hidden layers) zwischen Eingabe- und Ausgabeschicht eingefügt. Netztopologien. Man unterscheidet vorwärtsvermittelnde Netze (feed-forward network), und rekursive Netze (recurrent network). Bei vorwärtsvermittelnden Netzen ist die Netztopologie ein gerichteter azyklischer Graph ist. Bei rekursiven Netzen ergeben sich Schleifen, weil eine Synapse in zwei Richtungen feuern kann und Synapsen auch ihre Ausgabe an sich selbst richten können. Auf diese Weise können sie einen internen Zustand speichern. Rekursive Netze sind theoretisch noch nicht so stark untersucht. Bei ihnen besteht die Gefahr von instabilen Zuständen und das Problem einer nur unsicher vorauszusagenden Verarbeitungszeit. Hopfield-Netze [Hopfield 85] sind eine der bekanntesten rekursiven Netzarten. Synapsen erhalten hier symmetrische Gewichte, und alle Neuronen sind Eingabe- wie Ausgabeeinheiten. Die Schwellwertfunktion ist die Vorzeichenfunktion, und die Neuronen können nur den Zustand ±1 haben. Ein Hopfield-Netz realisiert einen assoziativen Speicher (associative memory). Boltzmann-Maschinen sind rekursive Netze, die Neuronen besitzen, die weder Eingabe- noch Ausgabeeinheit sind. Weiterhin wird bei ihnen die Erregung mit einer stochastischen Komponente ähnlich wie beim Simulierten Ausglühen bestimmt. Lernen in neuronalen Netzen. Das Lernen eines neuronalen Netzes beruht auf der Adaptierung der Gewichte wij der Synapsen zwischen den Neuronen i und j. Ein unüberwachtes Lernen wurde zuerst in [Hebb 49] vorgeschlagen. Hier werden die Erregungszustände e von zwei benachbarten Neuronen i und j multipliziert und mit einem Lernkoeffizienten α kombiniert: wij = wij + α ⋅ ei⋅ ej. Überwachtes Lernen erhält man, wenn man die Differenz zwischen einem gewünschten und dem existierenden Erregungszustand eines Neurons mit dem Erregungszustand des aktivierenden Neurons und dem Lernkoeffizienten berechnet: w ij = w ij + α ⋅ e i⋅ (eji - ejs) [Rosenblatt 57]. Der Schwellwert kann genauso adaptiert werden wie die Gewichte. Das bekannteste Lernverfahren in vorwärtsvermittelnden Netzen ist die Rückführung (backpropagation) [Rumelhart 86]. Dadurch ergibt sich ein überwachter Lernalgorithmus, bei dem bei der Ausgabeschicht begonnen wird, für die Synapsen ein neues Gewicht auf der Basis der Abweichung der Erregung des Neurons von dem erwarteten Wert zu berechnen. Die Berechnung unterscheidet sich von der Berechnung beim Perceptron durch die Multiplikation der Abweichung mit der ersten Ableitung der Aktivierungsfunktion: wij = wij + α ⋅ ei⋅ (eji - ejs) ⋅ g'(∑j wij · ei). Neuronale Netze haben in einer Vielzahl von Anwendungen gezeigt, daß mit ihnen Probleme effizient gelöst werden können. Der Entwicklungsaufwand erscheint aber sehr hoch, da bisher keine allgemeinen Kriterien für den Entwurf bestehen. Welche Art von Netztopologie für welche Art von Problemen geeignet ist, kann meist nur durch empirische Erfahrungen belegt werden. Der Entwickler muß den Eingaberaum eines Problems durch eine Eingabeschicht von Neuronen modellieren und die Anzahl der verborgenen Schichten sowie der Anzahl der Neuronen in diesen Schichten festlegen. Auch in der symbolischen KI wird die Erfassung und Modellierung des Wissens als Engpaß bezeichnet, aber dort argumentiert der Entwickler rational über Zusammenhänge von Wissen. Bei dem Entwurf eines neuronalen Netzes kann die Notwendigkeit einer zusätzlichen Schicht nur empirisch festgestellt werden. Die Leistungsfähigkeit von neuronalen Netzen sollte auch sehr vorsichtig eingeschätzt werden. So wurde von einer Anwendung bei der NASA berichtet, die sehr erfolgreich war. Nachdem aber analysiert worden war, welche Wirkung das Netz eigentlich hatte, fand man eine wesentlich effizientere Lösung mit einem iterativen Verbesserungsverfahren [Minton 92]. 994 E7 Künstliche Intelligenz 7.5 Entwicklung von wissensbasierten Systemen Unter Wissensengineering (knowledge engineering) versteht man den gesamten Prozeß der Erstellung und Wartung eines wissensbasierten Systems, von einer ersten Vorstudie über eine Machbarkeitsanalyse, die Wissenserhebung, der Auswahl eines geeigneten Werkzeugs, über die Wissensakquisition bis hin zur Integration des Systems und zur späteren Wartung und eventuellen Erweiterung der Wissensbasis. Den Entwickler eines wissensbasierten Systems bezeichnet man als Wissensingenieur (knowledge engineer). Der Entwicklungsprozeß unterscheidet sich von einem traditionellen Softwareengineeringprozeß insofern, daß die Wissensakquisition vom Experten einer Fachdomäne wesentlich aufwendiger ist. In der Phase der Wissenserhebung (knowledge elicitation) wird die Expertise, die die besonderen Fähigkeiten eines Experten ausmacht, ans Licht gebracht und dokumentiert. Die Daten, die der sog. Wissensingenieur (knowledge engineer) hier erhält, werden als Wissensprotokolle bezeichnet. Sie sind verbaler Art, d.h. Texte aus Büchern, Manuals und Lexika, sowie Interviewprotokolle oder Tonbandmitschnitte; es können aber auch Zeichnungen oder Systemmodelle sein. Die Wissensakquisition setzt dieses Wissens dann in eine operationale Wissensbasis um. Das Hauptproblem für den Wissensingenieur liegt darin, ein mentales Modell der Anwendungsdomäne und des Schlußfolgerungsprozesses des Experten zu konstruieren, das den Gegebenheiten gerecht wird. Dabei wird vom Wissensingenieur sehr viel Vorwissen und allgemeines Weltwissen (common sense knowledge) verwendet, um Zusammenhänge zwischen einzelnen Domänenkonzepten als kausale Beziehungen zu erkennen, oder den Schlußfolgerungsprozeß eines Experten als einen Diagnoseprozeß zu klassifizieren. Der Wissensingenieur muß jederzeit bereit sein, sein Modell zu revidieren. Da es keine Theorie zum Konstruieren eines mentalen konzeptuellen Modells gibt, dem Modell aber eine zentrale Bedeutung bei der Entwicklung von wissensbasierten Systemen zukommt – letztendlich versucht der Wissensingenieur, dieses Modell zu implementieren –, ist es wichtig, daß der Wissensingenieur das eigene mentale konzeptuelle Modell nach außen hin transparent macht, um den Weg zum Modell nachvollziehbar zu machen. In der modellbasierten Wissensakquisition werden die Modelle des Problemlösungsprozesses explizit beschrieben. Die KADS-Methodologie (Schreiber 93) geht hier von vier Ebenen zur Beschreibung des Expertenwissen aus. Auf der untersten Ebene wird das Wissen einer Fachdomäne durch Objekte und Relationen zwischen Objekten dargestellt. Auf der zweiten Ebene wird das Inferenzwissen dargestellt. Dies sind die typischen Schlußfolgerungsmechanismen des Experten. Handelt es sich bei der beschriebenen Expertise z.B. um ein Diagnoseproblem, so können die Inferenzen. Fehlerableitungsbäume sein. In den dargestellten Inferenzen werden sog. Rollen eingeführt, die bei einer konkreten Problemlösung durch Objekte des Domänenwissens gefüllt werden. Auf der dritten Ebene wird das sog. Task-Wissen dargestellt. Dies sind einzelne Aufgaben, die der Experte bei der Problemslösung durchführt. Sie benutzen Inferenzen um aus existierendem Domänenwissen bestimmte Konzepte abzuleiten. Hier besteht sicherlich eine Analogie zur prozeß-orientierten Analyse von Geschäftsprozessen. Auf der obersten Ebene wird strategisches Wissen zur Problemlösung dargestellt. Mit Hilfe dieses strategischen Wissens soll entschieden werden, welche Tasks bei einem konkreten Problem eingesetzt werden sollen. Neben diesen Ebenen zur Modellierung des Expertenwissens stellt KADS noch ein vollständiges Vorgehensmodell zur Entwicklung wissensbasierter Systeme zur Verfügung. E7.6 Anwendungen der künstlichen Intelligenz 995 7.6 Anwendungen der künstlichen Intelligenz Die künstliche Intelligenz hat in den siebziger Jahren von einer rein theoretischen Disziplin den Weg in die Praxis eingeschlagen. Es existieren viele Erfolgsgeschichten, wie durch den Einsatz von Methoden der künstlichen Intelligenz ein bisher maschinell unlösbares Problem gelöst wurde und große Einsparungen brachte. Oft ist es jedoch schwer, künstliche Intelligenz in der Anwendung zu erkennen, da ”intelligente” Lösungen nie isoliert von anderen Programmteilen existieren. In der Praxis sind die Methoden meist versteckt hinter einer graphischen Benutzerschnittstelle zwischen Datenbanksystem und Prozeßkontrollsystem. Die hohen Erwartungen der Pioniere der künstlichen Intelligenz, wie McCarthy, Newell, Simon, Minsky und anderen, konnten zwar bisher nicht erfüllt werden, da sich menschliche Intelligenz als wesentlich komplexer erwiesen hat als angenommen, aber wenn man sich die neuesten Programme anschaut, kann man ermessen, wie groß der Einfluß der künstlichen Intelligenz auf die heutige wie auf die zukünftige Programmentwicklung ist. Einen guten Überblick über kommerziell erfolgreiche Anwendungen gibt die jährlich von der American Association for Artificial Intelligence (AAAI) durchgeführte Konferenz ”Innovative Applications of Artificial Intelligence” (IAAI) und die von der IEEE durchgeführte Konferenz ”Conference on Artificial Intelligence Applications” (CAIA). Einige Anwendungsbeispiele sind: • die Planung von Weltraumexperimenten bei der NASA, • die Wartung des Space Shuttles, • die Überwachung von finanziellen Transaktionen zur Aufdeckung von Geldwäsche, • die Beratung und Kontrolle bei der Kreditvergabe bei Banken, • die selbständige Wartung von Kopierern, • die Planung und Überwachung von Stahlerzeugungsprozessen, • die Diagnose von Gasturbinen, • die Konfiguration von Rechnersystemen, • die Konfiguration und Überwachung von Telekommunikationsnetzen. Viele weitere erfolgreiche Anwendungen gibt es in nichtkommerziellen Bereichen, wie der Medizin, den Rechtswissenschaften (z.B. Unterstützung bei Vertragsformulierungen) oder der öffentlichen Verwaltung, wo durch künstliche Intelligenz Wissen vervielfältigt wird und somit für Klienten und Kunden ein besserer Service zur Verfügung gestellt wird. Auffällig ist auch die große Anzahl von Anwendungen im Internet, wo wissensbasierte Techniken benutzt werden, um dargestellte Inhalte an einzelne Benutzer automatisch anzupassen und intelligente Suchverfahren zum Auffinden relevanter Informationen benutzt werden. 996 E7 Künstliche Intelligenz Allgemeine Literatur Görz, G. (Hrsg.): Einführung in die künstliche Intelligenz. Bonn: Addison-Wesley 1993 Gottlob et al.: Expertensysteme. Wien: Springer Verlag 1990 Kaindl, H.: Problemlösen durch heuristische Suche in der Artificial Intelligence. Springer Verlag 1989 Russell, S.; Norvig, P.: Artificial Intelligence a modern approach. New Jersey: Prentice Hall 1995 Spezielle Literatur [Allen 83] Allen, J.F.: Maintaining knowledge about temporal intervals. Communications of the ACM 26 No 11 (1983) 823 - 843 [Banerji 80] Banerji:, R. Artificial Intelligence: a theoretical approach, New York: Elsevier 1982 [Bibel 72] Bibel, W.: Deduktion. München: Oldenburg Verlag 1992 [Bobrow 77] Bobrow, D.G.; Winograd, T.: An overview of KRL: a knowledge representation language. Cognitive Science 1 No 1 (1977) 3 - 46 [Brachman 85] Brachman, R.J.; Schmolze, J.G.: An overview of the KL-ONE knowledge representation system. Cognitive Science No 9 (1985) [Ceri 90] Ceri, S. Gottlob, G., Tanca, L.: Logic programming and databases. Berlin: Springer 1990 [Chang 73] Chang, C.L.; Lee, R.C.T.: Symbolic logic and mechanical theorem proving. New York: Academic Press 1973 [Colmerauer 85] Colmerauer, A.: Prolog in 10 figures. Communications of the ACM 28 No 12 (1985) 1296 - 1310 [de Kleer 86] de Kleer, J.: An assumption-based TMS. Artificial Intelligence 28 No 2 (1986) 127 - 162 [de Kleer 87] de Kleer, J. Williams, B.: Diagnosing multiple faults. Artificial Intelligence 32 (1987) 97 130 [Davis 83] Davis, R.; Smith, R.G.: Negotiation as a metaphor for distributed problem solving. Artificial Intelligence 20 (1983) 63 - 109 [Dorn 89] Dorn, J.: Wissensbasierte Echtzeitplanung. Vieweg Verlag 1989 [Dorn 94] Dorn J.; Slany, W.: A flow shop with compatibility constraints in a steel making plant. in Zweben and Fox(eds) Intelligent Scheduling, San Francisco: Morgan Kaufmann (1994) 629 - 654 [Epstein 92] Epstein, R.: Can machines think? AI Magazine 13 No 2 (1992) 80 - 95 [Feigenbaum 84] Feigenbaum, E.; McCorduck, P.: Die fünfte Computer Generation: künstliche Intelligenz und die Herausforderung Japans an die Welt. Basel: Birkhäuser Verlag 1984 [Fikes 71] Fikes, R.E; Nilsson, N.J.: STRIPS: A new approach to the application of theorem proving to problem solving. Artificial Intelligence 2, (1971) 189 - 208 [Glover 93] Glover, F.; Laguna, M.;Taillard, E.; de Werra, D. ( eds) Tabu search. Annals of Operations Research 41 1 (1993) 4–32 [Hammond 89] Hammond, K.J.: Case-based planning. San Diego: Academic Press 1989 [Hebb 49] Hebb, D.: Organization of Behaviour. New York: John Wiley 1949 [Holland 75] Holland, J. H.: Adaptation in Natural and Artificial Systems, Ann Arbor: University of Michigan Press 1975 [Hopfield 85] Hopfield, J.; Tank, D.: Neural computation of decisions in optimization problems. Biological Cybernetics 52 (1985) 141 - 152 [Katsuno 91] Katsuno, H. Mendelzon, A.O.: Propositional knowledge base revision and minimal change. Artificial Intelligence 52 (1991) 263 - 294 [Kirkpatrick 83] Kirkpatrick, S.; Gelatt, C.D.; Vecchi, M.P.: Optimization by simulated annealing. Science 220 (1983) 671–680 [Kolodner 93] Kolodner, J.: Case-based reasoning, Morgan Kaufmann 1993 [Korf 85] Korf, R.E.: Depth-First Iterative-Deepening. Artificial Intelligence 27, 1 (1985) 97–109. E7.6 Anwendungen der künstlichen Intelligenz 997 [Lebowitz 87] Lebowitz, M.: Experiments with incremental concept formation: UNIMEM. Machine Learning 2 (1987) 103 - 138 [Lenat 90] Lenat, D. R. et al: CYC: toward programs with common sense. Communications of the ACM 33 No 8 (1990) 30 - 49 [Mackworth 77] Mackworth, A.K.: Consistency in networks of relations. Artificial Intelligence 8 (1977) 99 - 118 [McCarthy 80] McCarthy, J.: Circumscription: a form of non-monotonic reasoning. Artificial Intelligence 13 No 1-2 (1986) 27 - 39 [McCulloch 43] McCulloch, W. ; Pitts, W.: A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics 7 (1943) 115 - 133 [McDermott 82] McDermott, D.: A temporal logic for reasoning about processes and plans, Cognitive Science 6 (1982) 101-155. [Minsky 69] Minsky, M.; Papert, S.A.: Perceptrons. MIT Press 1969 [Minsky 75] Minsky, M.: A framework for representing knowledge. in The psychology of computer vision, P. Winston (ed.), New York: McGraw-Hill (1975) 211 - 277 [Minton 92] Minton, S.; Johnston, M. Philips, A.B.; Laird, P.: Minimizing conflicts: a heuristic repair method for constraint satisfaction and scheduling problems. Artificial Intelligence 58 (1992) 161- 205 [Moore 85] Moore, R.: Semantical considerations on nonmonotonic logics. Artificial Intelligence 25 (1985) 75 - 94 [Muggleton 92] Muggleton, S.: Inductive Logic Programming. London: Academic Press (1992) [Nebel 95] Nebel, B. Komplexitätsanalysen in der Künstlichen Intelligenz. KI, No 2 (1995) 6 - 14 [Newell 76] Newell, A.; Simon, H.A.: Computer science as empirical inquiry: symbols and search. Communications of the ACM, Vol 19, No 3 (1976) [Nilsson 80] Nilsson, N.J., Principles of artificial intelligence. Berlin: Springer Verlag, 1980 [Pearl 86] Pearl, J.: Fusion, propagation, and structuring in belief networks. Artificial Intelligence 29 (1986) 241 - 288 [Peng 90] Peng, Y; Reggia, J.: Abductive inference models for diagnostic problem solving. Springer-Verlag, New York, 1990. [Quinlan 83] Quinlan, J.R.: Learning efficient classification procedures and their application to chess end games. In Michalski et al. (eds) Machine Learning, Palo Alto: Tioga (1983) 463 - 482 [Reiter 80] Reiter, R.: A logic for default reasoning. Artificial Intelligence 13, (1980) 81 - 72 [Rosenblatt 57] Rosenblatt, F.: The perceptron: a perceiving and recognizing automaton. Cornell Aeronautical Laboratory (1957) [Rumelhart 86] Rumelhart, D.E.; Hinton; G. Williams, R.J.: Learning representations by backpropagating errors. Nature 323 (1986) [Schank 77] Schank, R.C.; Abelson, R.P.: Scripts, plans, goals, and understanding. Erlbaum 1977 [Schreiber 93] Schreiber, G.; Wielinga, B.; and Breuker, J.: KADS: A Principled Approach to Knowledgebased System Development. Academic Press, London 1993 [Stary, C. 92] Stary, C; Stumptner, M.: Representing organizational changes in distributed problem solving environments. IEEE Transactions on systems, man, and cybernetics 22 (1992) 1168 - 1177 [Turing 50] Turing, A.M.: Computing machinery and intelligence in computers and thought. E.A. Feigenbaum and J. Feldman (Eds.) MacGraw Hill 1963 [Wahlster 93] Wahlster, W. et al.: Plan-based integration of natural language and graphics generation. Artificial Intelligence 63 (1993) 387 - 427 [Weizenbaum 65] Weizenbaum, J.: ELIZA – a computer program for the study of natural language communication between man and machine. Communications of the ACM 9 No 1 (1965) 36 - 45 [Weld 90] Weld, D. S.; de Kleer, J. (eds): Readings in qualitative reasoning about physical systems. Morgan Kaufmann 1990 [Zadeh 78] Zadeh, L.A. Fuzzy Sets as a basis for a theory of possibility. Fuzzy Sets and Systems 1 (1978) 3 - 28