7 Künstliche Intelligenz

Werbung
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
Herunterladen