6. Expertensysteme
Zu Beginn dieses Abschnittes wird auf die Definition des Begriffes Expertensystem
eingegangen. Es wird beleuchtet, aus welchen unterschiedlichen Arten das
Wissen eines menschlichen Experten besteht und wie dieses in einem Computersystem
umgesetzt werden kann. Weiters wird die Motivation diskutiert, Expertensysteme
zu erstellen und deren Vor- und Nachteile beleuchtet. Die Anwendungsgebiete
werden anhand von kurzen Beispielen vorgestellt. In weiterer Folge wird
der Entstehungsprozeß eines Expertensystems und die daran beteiligten
Personen sowie deren Funktionen erklärt. Am Ende dieses Abschnitts
wird auf die Arbeitsweise und den Aufbau eines Expertensystems eingegangen.
Dabei wird die Wissensrepräsentation, die zur Anwendung kommt, vorgestellt
und auf die Techniken eingegangen, in welcher Weise das gespeicherte Wissen
verarbeitet wird.
6.1
Definition von Expertensystemen
Die Erforschung von Expertensystemen stellt eine erfolgreiche Teildisziplin
der künstlichen Intelligenz dar. Die Grundidee, die Expertensystemen
zugrunde liegt, ist, daß Wissen hochspezialisierter Fachleute in
einem Computersystem nachgebildet wird. Auf diese Art sollen menschliche
Experten bei Routieneaufgaben unterstützt und entlastet werden. Ein
weiteres Ziel ist es, das Wissen, das menschliche Experten durch lernen
und jahrelange Erfahrung gesammelt haben, automatisiert verarbeitbar gespeichert
wird und somit jederzeit reproduziert werden kann. Zusammengefaßt
wird dies in der Definition nach [Puppe1991]:
,,Expertensysteme sind Programme, mit denen das Spezialwissen
und die Schlußflogerungsfähigkeit qualifizierter Fachleute auf
eng begrenzten Aufgabengebieten nachgebildet werden soll.'' [Puppe1991]
Dabei geht man von der Vorstellung aus, daß menschliche Experten
ihre Problemlösungen aus Einzelkenntnissen zusammensetzten, die sie
auswählen und in passender Anordnung anwenden. Ein Expertensystem
benötigt daher detailierte Einzelkenntnisse über das Aufgabengebiet
und Strategien, wie dieses Wissen zur Lösung eines Problems angewendet
werden kann. Um ein Expertensystem zu erstellen, muß das Wissen von
einem oder mehreren Experten formalisiert und im Computer repräsentiert
werden. Die Form der Wissensrepräsentation, die sich dafür besonders
eignet, ist die der logischen Wissensrepräsentation durch Regeln,
die in Abschnitt 3.3.1
unter Einfache Fakten Regelsysteme vorgestellt wurde. Die Regeln haben
die Form ``Wenn X, dann Y''; z.B. Wenn die Temperatur zu niedrig ist, dann
die Heizleistung erhöhen. [Puppe1991]
Zusätzlich zu dieser Wissensrepräsentation muß es in
einem Expertensystem auch Möglichkeiten geben, das Wissen (Fakten
und Regeln) zu interpretieren bzw. Schlußfolgerungen zu ziehen. Diese
Aufgabe übernimmt die Problemlösungskomponente (Inferenzmaschine),
die unabhängig vom zu bearbeitenden Wissen ist. Das heißt, das
in den Regeln gespeicherte Expertenwissen legt nur fest, was in einer bestimmten
Situation getan werden soll, in welcher Reihenfolge die Regeln zu Problemlösung
verwendet werden, entscheidet die Inferenzmaschine. [Gottlob1990]
6.2
Zielsetzung und Motivation
Im vorigen Abschnitt wurde der Versuch unternommen, Expertensysteme zu
definieren. In diesem Abschnitt sollen nun die Gründe betrachtet werden,
Expertensysteme zu entwickeln und deren Zielsetzungen erläutert werden.
Die Zielsetzungen für ein Expertensystemprojekt sind: [Gottlob1990]
-
die Bereitstellung neuer Serviceleistungen, besonders im Dienstleistungsbereich;
-
die Entwicklung eines neuen Produktes, entweder als eigenständiges
Softwaresystem oder durch Integration eines Expertensystems in ein Analyse-
oder Diagnosegerät;
-
die Verbesserung von Qualität, Sicherheit, Produktivität und
Arbeitsbedingungen - Hauptziele im Rahmen der industriellen Produktion;
und
-
die Verringerung von Fehleranzahl, Ausschuß und Ressourcenbedarf,
d.h. der Versuch, den Produktionsprozeß besser in den Griff zu bekommen.
Die Motivation und die Gründe ein Anwendungsprojekt mit Hilfe der
Unterstützung eines Expertensystems zu lösen, kann sowohl expertenbezogen
als auch produktbezogen gesehen werden. Aus der expertenbezogenen Sichtweise
ergeben sich folgende Gründe: [Gottlob1990]
-
der Experte ist mit Aufgaben überlastet, die für ihn Routine
sind. Diese Routineaufgaben sollten ihm von einem Expertensystem abgenommen
werden, damit er sich den schwierigen Problemen widmen kann;
-
der Experte kann nicht vor Ort sein, etwa bei mangelndem Servicepersonal,
oder bei Weltraum- und militärischen Projekten;
-
es gibt nur einen Experten, der in der Zentrale sitzt. Man möchte
jedoch sein Wissen auch in den Filialen verfügbar machen;
-
die Anzahl und/oder die Komplexität der Probleme hat so zugenommen,
daß der Experte überfordert ist;
-
der Experte geht bald in Pension oder wechselt die Firma, man möchte
aber sein Wissen nicht mit seinem Ausscheiden verlieren.
Aus der Sicht des zu entwickelnden Produktes ergeben sich folgende Gründe,
bei der Realisierung ein Expertensystem zu implementieren: [Gottlob1990]
-
um die Qualität eines Produktes zu erhöhen, liefert man das zugehörige
Expertenwissen mit;
-
die Problemstellung hat eine Komplexität, die intelligente Unterstützung
bei der Problemlösung erfordert;
-
die Sicherheit in kritischen Situationen wird erhöht;
-
es werden Leistungen an bisher nicht erreichten Orten und/oder Tageszeiten
(z.B. Nachts oder am Wochenende) ermöglicht.
6.3 Aufbau von
Expertensystemen
Den oben angeführten Anforderungen an ein Expertensystem kommt das
Konzept von wissensbasierten Systemen, das in Abschnitt
3.2.3
behandelt wurde, entgegen. Bei diesem Konzept existiert eine klare Schnittstelle
zwischen dem gespeicherten Wissen und der Problemlösungskomponente.
Es ist jedoch nicht zwingend vorgeschrieben, daß Expertensysteme
nach diesem Konzept aufgebaut sind. Es wäre auch möglich, daß
die Regeln wie bei konventionellen Programmen fix in den Programmzeilen
zu codieren. Dies würde aber die Reihenfolge der Abarbeitung der Regeln
vorschreiben und die Vorteile der Modularität gehen verloren.
Die Hauptaufgabe eines Expertensystems ist es, Wissen zu verarbeiten.
Aus diesem Grund nehmen die Wissensbasis und der Inferenzmotor im Aufbau
eines Expertensystems eine zentrale Rolle ein, wie dies in Abbildung 6.1
dargestellt ist. Zusätzlich muß das System in der Lage sein,
über eine Benutzerschnittstelle mit dem Anwender zu kommunizieren
und die Ergebnisse zu präsentieren. Das System sollte auch die Fähigkeit
besitzen, den Lösungsweg zu analysieren und Entscheidungen zu begründen
und zu erklären. Weiters sollten Expertensysteme Möglichkeiten
bereitstellen, die Wissensbasis zu erweitern. Nachfolgend sollen die Aufgaben
der Komponenten eines Expertensystems erklärt werden, die in Abbildung
6.1
dargestellt sind. [Gottlob1990]
|
Abbildung 6.1: Aufbau eines Expertensystems.
Die Wissensbasis und die Inferenzmaschine nehmen eine zentrale Rolle ein.
[Gottlob1990]
-
Wissensbasis:
-
In der Wissensbasis ist das problembezogene Wissen eines Expertensystems
gespeichert. Um die Vorteile der expliziten Wissenspeicherung auszunutzen,
sollte in keiner anderen Komponente problembezogenes Wissen gespeichert
sein. Der Inhalt der Wissensbasis kann grob unterschieden werden in generisches
Wissen, das unabhängig vom aktuellen Anwendungsfall gespeichert
ist, und dem fallspezifischen Wissen, das zur Lösung des aktuellen
Anwendungsfalls notwendig ist. Lernfähige Systeme können fallspezifisches
Wissen, nach der Lösung eines Problems, in den generischen Teil der
Wissensbasis aufnehmen. Das generische Wissen umfaßt Fakten zum Problembereich,
Wissen über deren Zusammenhänge und deren Schlußfolgerungsmechanismen,
und Wissen über Strategien, wie das vorhandene Wissen eingesetzt werden
kann.
-
Inferenzmotor:
-
Der Inferenzmotor stellt die zentrale Problemlösungskomponente dar.
Hier werden die, aus der Problemstellung extrahierten Fakten entsprechend
der Regeln verknüpft und auf neue Fakten geschlossen. Die Reihenfolge
in der dies geschieht, wird von der Inferenzmaschine selbst festgelegt.
Nach Beendigung des Schlußflogerungsprozesses werden die neugewonnenen
Fakten von der Benutzerschnittstelle aufbereitet und als Lösung des
Problems dem Anwender präsentiert.
-
Erklärungskomponente:
-
Die Erklärungskomponente eines Expertensystems liefert Informationen
über das Zustandekommen der Lösung. Typische Fragestellungen
dabei sind:
-
Wie wurde die Lösung eines Problems gefunden?
-
Warum wird eine bestimmte Information vom System nachgefragt?
-
Warum wurde eine bestimmte Lösung nicht gefunden?
-
Wissenserwerbskomponente:
-
Die Wissenserwerbskomponente hat die Aufgabe, den Aufbau und die Erweiterung
der Wissensbasis zu unterstützen. Sie stellt Funktionen zur Verfügung,
die die Konsistenz und Vollständigkeit des gespeicherten Wissens zu
überprüfen.
-
Benutzerschnittstelle:
-
Die Benutzerschnittstelle unterscheidet zwei Arten der Interaktionen mit
dem Expertensystem: Die Kommunikation mit dem Anwender, der nach der Lösung
eines bestimmen Anwendungsproblems sucht, und der Kommunikation mit dem
Knowledge Engineers, das ist die Person, die die Wissensbasis erstellt
und wartet. Zu diesem Zweck werden in beiden Fällen die Fakten über
die Problemlösung annähernd natürlichsprachlich aufbereitet
oder Zusammenhänge graphisch dargestellt.
6.4
Arten von Wissen
Wie bei der Beschreibung der Wissensbasis angedeutet, benötigt ein
Expertensystem, wie auch menschliche Experten Wissen, um eine gegebene
Problemstellung zu lösen. Das Wissen läßt sich dabei in
vier Kategorien einteilen: [Gottlob1990]
-
Fakten zu einem Problembereich
-
sind zumeist in Lehrbüchern enthalten. Sie stellen die Basis dar,
auf der das gesamte Teilgebiet aufbaut. Der menschliche Experte eignet
sich dieses Wissen in seiner Ausbildung (Studium, Fachausbildung) an, bzw.
sucht es bei Bedarf in Wissensspeichern, die meist in gedruckter Form (z.B.
Bücher, Manuals, Datenblätter) oder auch elektronisch zur Verfügung
stehen. Beispiele für Faktenwissen sind Naturgesetze oder mathematische
Gesetze.
-
Wissen über die Zusammenhänge der Fakten
-
beschreibt festgelegte Verfahrensweisen und deren Auswirkungen. Auch dieses
Wissen ist großteils in Lehrbüchern zu finden, z.B. der physikalische
Zusammenhang zwischen Luftdruck und Wetter.
-
Wissen über Schlußfolgerungsmechanismen und Heuristiken
-
für die Lösung von Problemen, eignet sich der Experte durch langjähriges
Arbeiten in einem bestimmten Problembereich an. Dieses Wissen stellt das
eigentliche Erfahrungswissen menschlicher Experten dar und beinhaltet auch
den Umgang mit unvollständigen Informationen und mit Informationen
aus den Randbereichen des Aufgabengebietes. Dieses Wissen ist nicht in
Lehrbüchern zu finden, wäre auch schwer darin darzustellen, und
macht einen Experten deshalb so wertvoll für ein Unternehmen. Wie
im nachfolgenden Abschnitt erarbeitet wird, kann Wissen dieser Art nur
sehr bedingt in Expertensystemen umgesetzt werden.
-
Strategisches Wissen
-
ist, wie das Wissen über Schlußfolgerungsmechanismen und Heuristiken,
Erfahrungswissen, das sich der Experte im Laufe der Zeit aneignet. Es geht
dabei darum, wie man ein Problem angeht, um effizient zu einer Lösung
zu gelangen.
6.4.1
Menschlicher Experte versus Expertensystem
Der praktische Nutzen eines Expertensystems für die Wirtschaft besteht
in der Möglichkeit, Experten bei Routinetätigkeiten zu entlasten
bzw. einfache Probleme auch ohne den Einsatz von Experten zu lösen.
Durch Expertensysteme wird es möglich, Expertenwissen automatisiert
zu verarbeiten und zu duplizieren, z.B. an andere Firmen weiter zu verkaufen.
Weiters besteht die Möglichkeit, Wissen über die Dienstzeit des
Experten hinaus zu archivieren, wenn ein Experte in Pension geht oder die
Firma wechselt. [Gottlob1990]
Im weiteren sollen die Vor- und Nachteile von Expertensystemen erarbeitet
werden, in dem die Fähigkeiten von menschlichen Experten denen von
Expertensystemen gegenübergestellt werden. Um ein Problem zu lösen,
muß ein menschlicher Experte folgende Fähigkeiten besitzen:
[Puppe1991]
-
Das Problem verstehen
-
Das Problem lösen
-
Die Lösung erklären
-
Randgebiete überblicken
-
Seine Kompetenzen bei der Problemlösung einschätzen
-
Neues Wissen erwerben und strukturieren
Dabei sind menschliche Experten auch dazu in der Lage, intuitiv zu handeln
ohne ihre Entscheidungen begründen zu können und Probleme auch
unter Verwendung von unvollständigem und unsicherem Wissen zu lösen
[Gottlob1990].
Derzeitige Expertensysteme sind aber nur in der Lage Probleme zu lösen
und die Lösung in begrenzten Umfang zu erklären. Die anderen
oben erwähnten Fähigkeiten sind für die Ausübung der
Tätigkeit eines Experten im allgemeinen genauso wichtig, können
aber von den Expertensystemen, die zum Zeitpunkt des Erstellens der vorliegenden
Arbeit existieren, nicht erfüllt werden. Würde z.B. ein menschlicher
Experte nicht über die Grenzen und Randgebiete seines Spezialgebietes
bescheid wissen und nicht in der Lage sein, seine Wissenslücken zu
beurteilen, so würde man diesem Experten, nach der ersten darauf beruhenden
Fehlentscheidung, nicht mehr vertrauen. [Puppe1991]
Die größte Schwierigkeit eines Expertensystems liegt im Verstehen
des Problems. Während menschliche Experten über umfassende sensorische
und verbale Fähigkeiten verfügen, um aus der Fülle der Daten
die problemrelevanten Umstände herauszufiltern, vorzuinterpretieren
und auf ihre Glaubwürdigkeit zu testen, erfordern Expertensysteme
eine streng formalisierte Eingabe, deren Korrektheit kaum überprüft
werden kann, die aber die Qualität der Problemlösung entscheidend
mitbestimmen. Daher eignen sich Expertensysteme vor allem zum Einsatz in
solchen Gebieten, bei denen die Datenerfassung wenig fehleranfällig
ist, das Expertensystem selbst keine endgültigen Entscheidungen trifft,
sondern in einen redundanten Entscheidungsprozeß eingebunden ist,
und das Wissen des zu implementierenden Fachbereichs sehr schmal ist. In
diesem schmalen Bereich kann das Wissen jedoch sehr tief strukturiert sein.
Um Expertensystemen nicht die letzte Entscheidung zu überlassen und
ihnen somit nicht eine zu große Verantwortung zu übertragen,
werden Expertensysteme häufig dazu verwendet, Lösungen von menschlichen
Experten auf ihre Richtigkeit zu überprüfen [Gottlob1990].
Aus den oben angeführten Gründen lassen sich Expertensysteme
nach der Art der Interaktion mit der Umwelt einteilen. Die Einteilung ist
in Abbildung
6.2 graphisch dargestellt.
Dabei gliedert man Expertensysteme danach, ob der Austausch von Input bzw.
Output direkt mit der Umwelt erfolgt oder ob die Interaktion mit der Umwelt
über den Umweg eines Menschen stattfindet.
Grundsätzlich gilt für Expertensysteme, je autonomer das System,
desto sicherer müssen die Entscheidungen sein. Daher sind Steuernde
Systeme dazu gezwungen, bei Entscheidungen ihre Systemgrenzen zu überprüfen.
Die Erklärungskomponente kann bei solchen Systemen unter Umständen
entfallen. Sensorgeführte Systeme müssen in der Lage sein,
Datenfehler zu erkennen und zu korrigieren. Bei der Erstellung eines Dialoggeführten
Systems muß ein Modell der Benutzergruppe berücksichtigt
werden, um damit festzulegen, welche Daten sinnvollerweise vom Benutzer
erhoben werden können, bzw. welche Art der Erklärung für
die Beratung notwendig ist. Dialoggeführte Beratungssysteme
stellen den überwiegenden Teil der Expertensystemanwendungen dar.
Nicht zuletzt ist dies darauf zurückzuführen, daß auf der
Inputseite der Mensch für die Vorabverarbeitung der Daten sorgen muß,
und auf der Outputseite der Expertensystementwickler die letztenscheidung
und somit auch die Verantwortung gerne dem Menschen überläßt.
[Gottlob1990]
|
Abbildung 6.2: Möglichkeiten der Interaktion
eines Expertensystems mit seiner Umgebung. [Gottlob1990]
Den oben angeführten Nachteilen von Expertensystemen im Vergleich
zu menschlichen Experten stehen folgende Vorteile gegenüber, die den
Expertensystemen zu wirtschaftlicher Bedeutung verholfen haben: [Schnupp1986]
-
Urteilsfähigkeit:
-
Die Urteilsfähigkeit eines Expertensystems ist immer gleich, das bedeutet,
Expertensysteme kennen keinen Einfluß von Streß oder anderen
emotionalen Faktoren. Ermüdung und Langeweile, wie sie bei Menschen
bei Überwachungsaufgaben vorkommen, sind für Expertensysteme
kein Problem. Ein Expertensystem kann daher auch unter extremen Bedingungen
eingesetzt werden.
-
Wissenstransfer:
-
Bei der Erstellung eines Expertensystems ist es notwendig, daß das
Wissen von Experten explizit dargestellt und dokumentiert wird. Dieses
Wissen kann somit auch anderen Leuten (Laien) zum Lernen zu Verfügung
gestellt werden. Dies kann z.B. durch die Erklärungskomponente des
Systems geschehen.
-
Verbreitung:
-
Expertenwissen kann mit Hilfe eines Expertensystems viel leichter verbreitet
werden. Dazu ist nur das Kopieren des Systems auf eine anderen Rechner
nötig.
-
Kosten:
-
Da nur die Entwicklung eines Expertensystems größere Kosten
verursacht, ein fertiges Expertensystem praktisch kostenlos dupliziert
werden kann, ist der Einsatz von Expertensystemen billiger als die Ausbildung
eines menschlichen Experten.
6.5
Anwendungsgebiete von Expertensystemen
In der Geschichte der künstlichen Intelligenz wurde der Weg von der
Suche nach allgemeinen Problemlösern hin zu stark problemspezifischen
Ansätzen beschritten. Es wurde erkannt, daß für unterschiedliche
Problemtypen unterschiedliche Lösungsansätze notwendig sind [Russell1995].
Expertensysteme sind die Konsequenz aus dieser Entwicklung. Ihr Ziel ist
es, Probleme auf einem stark eingeschränkten Anwendungsgebiet zu lösen.
Dabei können folgende Problemtypen unterschieden werden [Puppe1991]:
-
Interpretation:
-
Ableitung einer Situationsbeschreibung aus Sensordaten. (z.B. Geologie
- Aus den Daten von Probebohrungen wird die Struktur der geologischen Formation
ermittelt)
-
Diagnostik:
-
Ableitung von Systemfehlern aus Beobachtungen; Erkennen von Ursachen. (z.B.
Erstellen von medizinischen Diagnosen.)
-
Überwachung:
-
Vergleich von Beobachtungen mit Sollwerten. (z.B. Patient Monitoring in
der Medizin - Das System erhält laufend Daten des Patienten und vergleicht
diese mit Sollwerten. Bei einer Abweichung schlägt das System Alarm.)
-
Steuerung:
-
Vergleich von Beobachtungen mit Sollwerten und Veranlassen von Aktionen.
(z.B. Patient Monitoring in der Medizin - Ähnlich der Vorgehenswiese
bei der Überwachung, jedoch setzt das System selbst Handlungen, um
den kritischen Zustand zu beseitigen.)
-
Design:
-
Konfiguration von Produkten unter bestimmten Voraussetzungen. (z.B. Chemie
- Herstellung komplexer organischer Moleküle, integrierte Schaltungen,
usw.)
-
Planung:
-
Entwurf einer Folge von Aktionen zum Erreichen eines Ziels. (z.B. Technik
- Zusammenstellung eines Reperaturplanes bei einem Maschinenschaden) In
der Produktionsplanung lassen sich dadurch die vorhandenen Ressourcen optimal
einsetzen.
-
Vorhersage:
-
Ableitung von möglichen Konsequenzen gegebener Situationen. (z.B.
Wirtschaft - Ausgehend von der derzeitigen geopolitischen Lage wird der
zukünftige Bedarf an Rohöl geschätzt)
Es zeigt sich, daß mehrere der obengenannten Problemtypen mit den
selben Problemlösungsstrategien gelöst werden können. Somit
ist es sinnvoll Expertensysteme nach ihren Strategien einzuteilen und die
Problemtypen den Strategien zuzuordnen. Durch diese Einteilung erhält
man einen Ansatzpunkt, mit welcher Strategie man an die Lösung eines
konkreten Problems herangehen soll. [Puppe1991]
teilt die Problemlösungsstrategien nach folgenden drei Typen ein:
-
Diagnostik:
-
Das Ziel der Diagnose ist es, ein bekanntes Muster, wie z.B. ein Krankheitsbild
oder einen Fehler, wieder zuerkennen. Dabei wird die Lösung aus einer
vorgegebenen Menge von Alternativen ausgewählt.
-
Konstruktion:
-
Bei der Konstruktion wird die Lösung aus kleinen Bausteinen zusammengesetzt.
Es gibt jedoch zuviele mögliche Kombinationen, um aus der Menge aller
vorgegebener Alternativen auszuwählen. So kann z.B. bei der automatisierten
Programmierung nicht aus der Menge aller möglichen Programme ausgewählt
werden. Stattdessen sind bestimmte Fakten im System Modulen zugeordnet,
die entsprechend kombiniert werden. Das Expertensystem hat somit die Aufgabe
gezielt nach Fakten der Aufgabenstellung zu fragen, um die notwendigen
Module so zu kombinieren, daß die Aufgabenstellung erfüllt ist.
-
Simulation:
-
Die Simulation unterscheidet sich von der Diagnose und der Konstruktion
dadurch, daß kein vorgegebenes Ziel erreicht werden soll, sondern
nur die Auswirkungen von Handlungen und Entscheidungen simuliert werden
sollen. Es werden somit von einem Ausgangszustand die möglichen Folgezustände
hergeleitet.
6.5.1
Praktische Anwendungen von Expertensystemen
Die Entwicklung von Expertensystemen begann im Jahre 1965. Nach über
10 Jahren der Forschung begannen Expertensysteme ab den 80er Jahren an
wirtschaftlicher Bedeutung zu gewinnen. Im folgenden sind einige Meilensteine
in der Geschichte von Expertensystemen angeführt [Puppe1991][Gottlob1990]:
-
DENTRAL wurde als eines der ersten Systeme an der Stanford University,
Lindsay entwickelt und ist ein System zur Strukturanalyse organischer Substanzen.
Die zu interpretierenden Daten werden aus dem Massenspektrogramm gewonnen.
-
MYCIN wurde ebenfalls an der Stanford University entwickelt und
ist ein System zur Diagnose und Therapie von bakteriellen Infektionskrankheiten
des Blutes. In MYCIN ist das Wissen in über 450 Regeln gespeichert.
MYCIN zeichnet sich zusätzlich durch seine klare Trennung zwischen
Wissensrepräsentation und Inferenzmaschine aus. Die Entwicklung dieser
Technik machte es möglich, daß in weiterer Folge das medizinische
Wissen aus MYCIN entfernt wurde und die Inferenzmaschine unter dem Namen
EMYCIN
als Grundlage für andere Expertensysteme diente. EMYCIN war somit
die erste Expertensystem-Shell.
-
PROSPECTOR ist ein geologisches System zur Interpretation von Meßdaten
aus Probebohrungen. Ziel ist es herauszufinden, ob ein bestimmtes Mineral
in einer Region vorhanden ist oder nicht.
-
XCON war bei Digital im Einsatz und diente zur Konfiguration von
VAX Rechneranlagen. Ausgehend von der Bestellung einer Rechneranlage stellte
XCON sicher, daß alle erforderlichen Komponenten vorhanden waren
und sorgte für das korrekte Zusammenspiel der Komponenten inklusive
der Verkabelung. XCON baute auf mehr als 2000 Regeln auf und war das erste
erfolgreiche System dieser Größenordnung.
6.6
Entwicklungsstufen eines Expertensystems
Der Wissenserwerb umfaßt die Identifikation, Formalisierung und Wartung
des Wissens, das ein Expertensystem benötigt, um Probleme lösen
zu können und stellt zur Zeit den Falschenhals bei der Entwicklung
von Expertensystemen dar. Der Erfolg eines Expertensystem hängt entscheidend
vom Umfang und der Qualität der Mitarbeit der beteiligten Experten
ab, an die hohe Anforderungen gestellt werden. Aufbau und Wartung einer
Wissensbasis erfordern, daß sowohl objektive Fakten aus Lehrbüchern
als auch subjektives Expertenwissen eingebracht wird. Es sollen möglichst
vielfältige Wissensquellen zur guten Abdeckung des Fachbereiches verwendet
werden. [Gottlob1990]
6.6.1
Beteiligte Personen am Wissenserwerb
Wie bereits oben erwähnt, sind ein oder mehrere Personen notwendig,
um Wissen für den Aufbau eines Expertensystems zur Verfügung
zu stellen. Dieses Wissen muß formalisiert und in maschinengerechter
Form dargestellt werden. Da die meisten Fachexperten aber keine Informatiker
sind, fällt diese Aufgabe dem sogenannten Knowledge Engineer zu. Der
Knowledge Engineer stellt somit das Bindeglied zwischen den menschlichen
Experten und dem Computer dar.
Die Aufgabe des Knowledge Engineer ist es nun, dem Experten sein Wissen
möglichst vollständig zu entlocken. Dieses Wissen muß danach
strukturiert und formal dargestellt werden. Abbildung 6.3
veranschaulicht diesen Vorgang. Das Hauptproblem an dieser Vorgangsweise
ist es, möglichst viel Wissen zu extrahieren. Für die Befragung
der Experten durch den Knowledge Engineer haben sich bestimmte Interviewtechniken
herausentwickelt. [Puppe1991]
|
Abbildung 6.3: Der Knowledge Engineer hat
die Aufgabe, das Wissen, das er vom Fachexperten erhält, zu formalisieren,
damit es in der Wissensbasis des Expertensystems gespeichert werden kann.
Interviewtechniken dienen dem Wissenstransfer vom Experten zum Knowledge
Engineer. Das Ergebnis des Interviews sind immer verbale Aufzeichnungen,
die anschließend vom Knowledge Engineer interpretiert werden müssen.
In weiterer Folge formalisiert der Knowledge Engineer das Wissen und stellt
es in maschinengerechter Form dar. Interviewtechniken können nach
zwei Kriterien aufgeteilt werden: Nach der Art des Interviews und nach
der Art der Testfälle, deren Lösung während des Interviews
beobachtet und kommentiert wird. Die wichtigsten Interviewtypen sind: [Puppe1991]
-
Unstrukturiertes (traditionelles) Interview: Während der Experte über
das Wissen spricht oder Testfälle löst, stellt der Wissensingenieur
mehr oder weniger spontane Fragen.
-
Laut Denken Modell: Der Experte denkt laut, während er ein Problem
löst und erläutert die einzelnen Schritte.
-
Introspektion: Der Experte beschreibt von sich aus wie er einen Fall löst
oder welche Problemlösungsstrategie er benutzt. Im Gegensatz zum Laut
Denken Modell beschreibt er bei der Introspektion eine Zusammenfassung
seines Problemlösungsverhalten, nachdem er einen Fall gelöst
hat.
-
Strukturiertes Interview: Protokolle, die mit einer der anderen Interviewmethoden
bereits erstellt wurden, werden von demselben oder von einem anderen Experten
kommentiert und eingeschätzt.
Während das unstrukturierte Interview und die Introspektion dem Wissensingenieur
helfen, mit dem Problembereich vertraut zu werden, bekommt man mit dem
Laut-Denken-Protokoll die zuverlässigsten Aussagen über die Problemlösungsstrategien,
die der Experte tatsächlich benutzt. Ein strukturiertes Interview
ist zur Validierung gewonnener Daten und zum Auffüllen von Lücken
sinnvoll. [Puppe1991]
Ein wichtiges Kriterium von Testfällen, vor allem für Laut-Denken-Protokolle,
ist die Ähnlichkeit des Falles mit der realen Problemsituation des
Experten. Ein anderes Kriterium ist der Schwierigkeitsgrad des Falles.
Daraus ergeben sich folgende Arten von Testfällen: [Puppe1991]
-
Typische Fälle, die der Experte routinemäßig löst.
-
Fälle mit begrenzter Informationsangabe: Dabei werden dem Experten
bestimmte, normalerweise vorhandene Informationen vorenthalten, um die
Bedeutung von Einzelinformationen herauszufinden.
-
Fälle mit Beschränkung der Verarbeitungskapazität: Mögliche
Beschränkungen sind die Zeit, die dem Experten zur Verfügung
gestellt wird, oder bestimmte Fragestellungen, auf die sich der Experte
konzentrieren soll.
-
Schwierige Fälle, die der Experte nicht routinemäßig lösen
kann: Zu schwierigen Fällen wird man übergehen, wenn die Basisproblemlösungsstrategien
bereits identifiziert sind.
6.6.2
Schwierigkeiten beim Wissenserwerb
Obwohl der Begriff Knowledge Engineer, auch Wissensingenieur, nahelegt,
daß die Extraktion des Wissens von Experten eine im Prinzip gut verstandene
Tätigkeit sei, trifft eher das Gegenteil zu, sodaß man eher
von ,,Wissenskünstlern'' sprechen sollte. [Puppe1991]
Eine der Hauptursachen ist die unvermeidliche Unvollständigkeit
der verbalen Daten von Experten. Gründe dafür sind: [Puppe1991]
-
Experten vergessen meist viele wichtige Faktoren zu nennen, da sie diese
für selbstverständlich halten oder das Wissen nicht durch entsprechende
Reize aktiviert wird.
-
Komplexere Wissensbereiche, vor allem bildhaftes Wissen, können verbal
kaum adäquat beschrieben werden.
-
Teile des Wissens können unbewußt sein.
-
In der Sprache wird viel Wissen durch Referenz auf als bekannt vorausgesetztes
Wissen kommuniziert. Dieses Wissen muß der Knowledge Engineer auf
Grund seines Verständnisses des Problembereiches ergänzen. Dieser
Vorgang ist sehr problematisch.
-
Experten können aus vielen Gründen nicht dazu bereit sein, ihr
Wissen preiszugeben.
-
Viele Experten haben Schwierigkeiten, ihre Vorgehensweise zu erklären.
Das ist auch für Laut-Denken-Protokolle kritisch, die nur dann einen
Wert haben, wenn durch das laute Denken das Problemlösungsverhalten
des Experten nicht wesentlich beeinflußt wird.
6.6.3
Entwicklungsphasen eines Expertensystems
Als beste Vorgangsweise zur Erstellung eines Expertensystems erweist sich
eine evolutorische, inkrementelle Entwicklungsstrategie, die von einfachen
zu komplexen Problemstellungen führt, wobei die Organisation und Repräsentation
des Systems ständig verbessert und erweitert werden. Es wird möglichst
rasch ein einfaches, lauffähiges System hergestellt, um durch Experten-Feedback
den weiteren Entwicklungsfortgang in geeignete Bahnen zu lenken. Der Entwicklungskreislauf
eines Expertensystems ist in Abbildung
6.4
dargestellt. Diese Vorgehensweise nennt man Rapid Prototyping oder Incremental
Development. [Gottlob1990]
|
Abbildung 6.4: Der Entwicklungskreislauf
eines Expertensystems. Es wird möglichst schnell ein Prototyp erstellt,
der anschließend immer weiter verfeinert und erweitert wird. [Gottlob1990]
Beim Rapid Prototyping ist darauf zu achten, daß am Ende jedes Schritts
der Prototyp mit den in der Planung festgelegten Vorgaben übereinstimmt.
Falls dies nicht der Fall ist, muß der vorhergegangene Schritt wiederholt
werden. Entfällt diese Kontrolle oder wird sie nur ungenügend
genau durchgeführt, pflanzen sich Fehler aus vorhergegangenen Schritten
eventuell bis hin zum fertigen System fort und es muß eine entsprechend
große Anzahl von Schritten im Entwicklungskreislauf zurückgegangen
werden. Eine genaue Kontrolle des in Entwicklung befindlichen Systems mit
den Vorgaben aus der Planung läßt die Zyklen im Entwicklungskreislauf
klein bleiben und hilf somit, die Entwicklung effizient zu halten.
In der nachfolgenden Auflistung werden die Entwicklungsphasen bei der
Erstellung eines Expertensystems detailierter betrachtet: [Schnupp1986]
-
Erstes Design der Wissensbasis
-
Problemidentifikation: Definition von Zielen, Einschränkungen, Ressourcen,
der teilnehmenden Personen und ihrer Rollen.
-
Konzeption: Detailierte Beschreibung der Problemstellung und wie sie in
Unterprobleme zerlegt werden kann. Beschreibung der Elemente zur Problemlösung
in Form von Hypothesen, Fakten und Lösungsstrategien.
-
Formalisierung: Wahl einer Wissensrepräsentation im Computer für
die in der Konzeption identifizierten Elemente. Hier kommen zum ersten
Mal Implementierungsüberlegungen zum Tragen.
-
Implementation und Test eines Prototyps
Ist einmal eine geeignete Wissensrepräsentation gewählt, kann
mit der Implementierung eines Prototyps begonnen werden, der einen Teilbereich
des endgültigen Systems umfaßt. Die richtige Auswahl des Bereiches
ist von großer Bedeutung. Dieser muß Repräsentativ für
das Gesamtsystem, aber einfach zu testen sein.
Sobald der Prototyp akzeptable Ergebnisse produziert, kann er auf detailliertere
Varianten des Zentralproblems erweitert und mit komplexen Fällen getestet
werden.
-
Verfeinerung und Generalisierung der Wissensbasis
Diese Phase kann sehr viel Zeit beanspruchen, bis das gewünschte
Expertenniveau erreicht ist. Die Grundstrukturen liegen hier bereits fest,
es wird eigentlich ,,nur'' mehr das System mit detailliertem, verfeinertem
Wissen erweitert.
-
Implementierung der Mensch-Maschine Schnittstelle
In dieser Phase wird eine dem Problem entsprechende komfortable Benutzerschnittstelle
entwickelt. Die bisher verwendete Benutzerschnittstelle diente dem Knowledge
Engineer zu Testzwecken und ist deshalb in viele Fällen nur sehr sporadisch
ausgeführt. Weiters erfolgt in dieser Phase, die Erstellung der Dokumentation,
der Wartungs- und Schulungsunterlagen.
-
Einführung des Systems in das Unternehmen
Das Expertensystem wird in dieser Phase in die vorhandene Informations-Technologie
(IT) des Unternehmen eingebunden. Dazu zählt nicht nur die Installation
auf den Arbeitsplatzrechnern, sondern auch die Schulung der zukünftigen
Benutzer. Erfahrungen und Hinweise der Benutzer sollen aufgezeichnet werden
und bei der laufenden Verbesserung und Verfeinerung des Expertensystems
berücksichtigt werden.
Wie generell bei der Einführung von neuer Informations Technologie
in einem Unternehmen muß auch bei der Einführung eines Expertensystems
der zukünftige Benutzer frühzeitig in den Entwicklungsprozeß
miteingebunden werden. Dies gilt speziell für die Einführung
eines Expertensystems, da viele der zukünftigen Benutzer keine Vorstellung
von dem Begriff ,,Expertensystem'' haben und somit eine große Hemmschwelle
vor dem System besitzen, mit dem sie in Zukunft arbeiten sollen. Eine frühe
Integration des Anwenders in den Entwicklungsprozeß hilft dabei diese
Hemmschwellen abzubauen. Zudem kann der Knowledge Engineer dadurch wertvolle
Hinweise über die Problemsichtweise des Anwenders gewinnen.
6.7
Wissensverarbeitung in Expertensystemen
In diesem Abschnitt soll erläutert werden, in welcher Form Wissen
in Expertensystemen gespeichert wird und wie das gespeicherte Wissen verknüpft
wird, um auf neues Wissen zu schließen. Anhand von Beispielen werden
dabei zwei grundlegende Methoden der Wissensverarbeitung in Expertensystemen,
die Vorwärtsverkettung und die Rückwärtsverkettung, vorgestellt.
[Puppe1991]
6.7.1
Wissensspeicherung
Da Experten Wissen oft in Form von Regeln formulieren, wird in Expertensystemen
meist eine logische Wissensrepräsentation durch Fakten und Regeln
verwendet. Regeln bestehen aus einer Vorbedingung und einer Aktion. Vorbedingungen
bestehen wiederum aus der Verknüpfung von ein oder mehreren Fakten.
Nachfolgend sind zwei Beispiele für Regeln angegeben:
>
| Regel 1 |
Wenn |
Nackensteife und |
| |
|
hohes Fieber und |
| |
|
Bewußtseinstrübung zutreffen |
| |
Dann |
besteht der Verdacht auf Meningitis |
| |
|
|
| Regel 2 |
Wenn |
Verdacht aud Meningitis besteht |
| |
Dann |
Nimm sofort Antibiotika |
<>
In Regel 1 sind ,,Nackensteife'', ,,hohes Fieber'' und ,,Bewußtseinstrübung''
die verknüpften Fakten und ,,besteht der Verdacht auf Meningitis''
die Aktion.
Wenn man die Aktionen der beiden Beispielregeln betrachtet, stellt man
fest, daß es sich dabei um zwei unterschiedliche Arten von Aktionen
handelt. Bei ,,besteht der Verdacht auf Meningitis'' handelt es sich um
eine Hypothese, die dann wahr ist, wenn alle Fakten zutreffen. Man spricht
von Implikation6.1
oder Deduktion6.2.
In Regel 2 entspricht die Aktion ,,Nimm sofort Antibiotika'' einer Handlung.
[Puppe1991]
Zusammenfassend kann man sagen, die Regeln eines Expertensystems bestehen
aus: [Winston1993]
-
Vorbedingungen (engl. antecedents), die aus der Verknüpfung
ein oder mehrerer Fakten zusammengesetzt sind,
-
und aus ein oder mehreren Aktionen (engl. conclusions). Bei den
Aktionen unterscheidet man zwei Arten: [Winston1993]
-
Implikationen oder Deduktionen, mit denen der Wahrheitsgehalt einer Hypothese
hergeleitet wird; z.B. Regel 1. Expertensysteme deren Aktionen Implikationen
oder Deduktionen sind nennt man Deduction Systems.
-
Handlungen, mit denen ein Zustand verändert wird; z.B. Regel 2. Expertensysteme
deren Aktionen Handlungen sind, nennt man Reaction Systems.
Zur graphischen Veranschaulichung kann eine Regel ähnlich eines Schaltsymbols
gezeichnet werden. Dies ist in Abbildung 6.5 dargestellt.
|
Abbildung 6.5: Veranschaulichung einer Regel
als Schaltsymbol. Die Eingänge des Schaltsymbols entsprechen den verknüpften
Fakten in der Vorbedingung, die Ausgänge entsprechen den Aktionen.
Die Aufteilung des Wissens in möglichst kleine ,,Wissensstücke'',
den Regeln, macht eine Wissensbasis modular und damit relativ einfach veränderbar.
Es ist auch relativ leicht möglich, diesen Grundaufbau der Regeln
für anwendungsspezifische Notwendigkeiten zu erweitern. So ist es
z.B. möglich, Regeln zur Darstellung von unsicherem oder unvollständigem
Wissen um Unsicherheitsangaben oder Ausnahmen zu erweitern.
Um die Strukturierung und die Überschaubarkeit der Wissensbasis
zu erhöhen, ist es zumeist möglich zusammengehörende Regeln,
das sind Regeln, die einen bestimmten Teil des Problems behandeln, zu sogenannten
Wissensinseln zusammenzufassen, das heißt, ein Teilproblem wird von
einer Wissensinsel gelöst und kann unter Umständen andere Wissensinseln
dabei aktivieren oder von anderen Wissensinseln aus aktiviert werden. Oft
ist es auch möglich, die Wissensinseln in eigene Teil-Wissensbasen
zu legen, die nur dann in den Computer geladen werden, wenn das zugehörige
Teilproblem gerade behandelt wird. Diese Strukturierung reduziert die im
Computer aktuell zu untersuchenden Regeln und steigert so die Performance
eines Expertensystems. [Gottlob1990]
Nach der Betrachtung der Wissensspeicherung soll nun betrachtet werden,
wie diese Regeln intern abgearbeitet werden, um mit den vorhandenen Fakten
zu neuen Schlußfolgerungen zu kommen. Es gibt zwei prinzipielle Arten
der Regelverarbeitung: Die Vorwärtsverkettung und die Rückwärtsverkettung.
6.7.2
Wissensverarbeitung: Vorwärtsverkettung
Bei der Vorwärtsverkettung (forward chaining) leitet der Regelinterpreter
alle Schlußfolgerungen her, die aus den, dem Expertensystem bekannten
Fakten, herleitbar sind, das heißt, das System prüft alle Regeln,
deren Vorbedingungen erfüllt sind und arbeitet diese Regeln ab. Zu
einer Regel die abgearbeitet wird und deren Vorbedingung erfüllt ist,
sagt man auch die Regel ,,feuert''. Danach prüft das System wieder,
welche Regeln abgearbeitet werden können. Dies soll anhand eines Beispiels,
das in Abbildung 6.6 dargestellt ist, veranschaulicht
werden. [Winston1993]
|
Abbildung 6.6: Beispiel eines Regelsystems.
In Abbildung 6.6 ist ein Regelbaum dargestellt,
der aus fünf Regeln besteht. Mittels der gegebenen Fakten L und M
wird nun im Forward Chaining Verfahren versucht, etwas zu beweisen. Das
System hat kein vorgegebenes Ziel, sondern sieht sich alle Regeln durch
und schaut nach, welche abgearbeitet werden können. In dem Beispiel
kann nur eine einzige Regel feuern, nämlich, wenn L und M erfüllt
sind, dann schließe Q. Das heißt, Q wird als neues Faktum erschlossen
und zu den gegebenen Fakten L und M hinzugefügt. Danach kann keine
weitere Regel ausgeführt werden, was dazu führt, daß die
Vorwärtsverkettung aufhört zu arbeiten.
6.7.3
Wissensverarbeitung: Rückwärtsverkettung
Während man mit der Vorwärtsverkettung nur Schlußfolgerungen
aus einer vorgegebenen Faktenmenge beziehen kann, eignet sich ein rückwärtsverkettender
Regelinterpreter (Backward Chaining) auch zum gezielten Erfragen noch unbekannter
Fakten. Ein Backward Chaining Regelinterpreter startet mit einem vorgegebenen
Ziel. Wenn das Ziel nicht in der Menge der bekannten Fakten vorkommt, entscheidet
der Regelinterpreter zunächst, ob es abgeleitet werden kann oder ob
es erfragt werden muß. Ein Faktum kann dann abgeleitet werden, wenn
zumindest eine Regel existiert, in der das Faktum auf der rechten Seite,
der Seite der Aktion, vorkommt. Existiert keine solche Regel, bleibt dem
System nur die Möglichkeit, dieses Faktum vom Anwender zu erfragen.
[Winston1993]
Im Falle der Ableitung werden alle Regeln abgearbeitet, in deren Aktionsteil
das Ziel enthalten ist. Wenn bei der Überprüfung der Vorbedingungen
einer Regel ein Parameter unbekannt ist, wird ein Unterziel zur Bestimmung
dieses Parameters generiert und der Backward Chaining Mechanismus zur Bestimmung
dieses Unterziels rekursiv herangezogen. Das Endergebnis ist die Bestimmung
eines Wertes für das vorgegebene Ziel und für alle Unterziele,
die Evaluierung der relevanten Regeln und das Stellen der notwendigen Fragen.
Die Rückwärtsverkettung enthält implizit eine Dialogsteuerung,
wobei die Reihenfolge der gestellten Fragen von der Reigenfolge der Regeln
zur Herleitung eines Parameters und von der Reihenfolge der Aussagen in
der Vorbedingung einer Regel abhängt. Je präziser das Ziel, desto
kleiner der Suchbaum von zu überprüfenden Regeln und zu stellenden
Fragen. Als Beispiel für die Veranschaulichung dient wieder das Regelsystem
aus Abbildung 6.6.
Beim Backward Chaining wird ein vorgegebenes Ziel aktiv bewiesen. In
unserem Fall soll es das Faktum X sein. Es existieren zwei Wege zum Bewiesen
von X. Der eine führt von X über R nach S, T und U. Der zweite
führt von X nach P und Q und dann nach K bzw. L und M.
Nehmen wir an, daß der Regelinterpreter zuerst den ersten Weg
zum Beweisen von X durchsucht. Es gibt eine Regel, die X beweisen kann,
nämlich ,,Wenn R dann X''. R ist nicht in der Menge der bekannten
Fakten, deshalb wird als neues Ziel R etabliert und der Backward Chaining
Mechanismus auf R angewendet. Auch für R existiert eine Regel, nämlich
,,Wenn S und T und U, dann R''. Weder S,T noch U sind in der Menge der
bekannten Fakten, deshalb muß der Regelinterpreter S,T und U ermitteln.
Da aber für diese Fakten keine Regeln zu deren Ermittlung zur Verfügung
stehen, muß der Regelinterpreter diese Fakten vom Benutzer erfragen.
Werden alle Fakten S ,T und U vom Benutzer als gegeben eingegeben, so wird
R zu wahr und in letzter Konsequenz auch X zu wahr. Damit ist X bewiesen
und der Regelinterpreter kann aufhören zu arbeiten, da er das vorgegebene
Ziel beweisen konnte.
Wird nun eine der Fakten S, T oder U vom Benutzter als nicht bekannt
eingegeben, kann R nicht bewiesen werden und aus dem ersten Suchweg auch
X nicht als wahr bewiesen. Somit muß der Regelinterpreter auch noch
den zweiten Weg über P, Q und K, L und M zum Beweisen des Faktums
X durchlaufen. Dies geschieht in derselben Weise wie dies beim ersten Weg
gezeigt wurde. Das heißt, zum Beweisen von X müssen P und Q
bekannt sein. Q kann aus den gegebenen Fakten L und M (sind schon in der
Menge der gegebenen Fakten) zu wahr ermittelt werden. P wird durch Erfragen
des Faktums K vom Benutzer ermittelt. Wird das Faktum K als gegebenes Faktum
vom Benutzer angegeben, so wird P zu wahr. Aus den Fakten P und Q kann
somit X zu wahr bewiesen und in die Menge der bewiesenen Fakten aufgenommen
werden.
6.7.4
Vorwärtsverkettung versus Rückwärtsverkettung
Während in Reaction Systems immer die Vorwärtsverkettung verwendet
wird, kann ein Deduction System entweder mit Vorwärtsverkettung oder
Rückwärtsverkettung arbeiten. Welche Art der Verkettung nun tatsächlich
verwendet wird, hängt von der Art der Anwendung ab. [Winston1993]
Für die Vorwärtsverkettung wird man sich entscheiden, wenn
viele Fakten sehr wenigen Regeln gegenüber stehen, oder alle möglichen
Fakten vorgegeben sind und man alle daraus ableitbaren Schlußfolgerungen
wissen möchte. [Winston1993]
Wenn die gegebenen oder eruierbaren Fakten zu einer großen Anzahl
von Schlüssen führen, aber die Anzahl der Wege zum gewünschten
Ziel klein ist, sollte man auf Rückwärtsverkettung zurückgreifen.
Würde man Vorwärtsverkettung anwenden, würden viel Regeln
abgearbeitet, deren Ergebnis schlußendlich nicht weiter benötigt
wird. Ein Anwendungsfall für Rückwärtsverkettung ist, wenn
keine oder wenige Fakten bekannt sind und man ein oder mehrere Hypothesen
beweisen möchte. [Winston1993]
6.7.5
Konfliktlösungstrategien
Wie oben gezeigt wurde, kann es vorkommen, daß mehrere Regeln gleichzeitig
feuerbereit sind. Da aber immer nur eine Regel feuern kann, muß eine
Regel aus dieser Menge der feuerbereiten Regeln ausgewählt und bearbeitet
werden. Die Menge der feuerbereiten Regeln bezeichnet man als Konfliktmenge
und die Auswahl einer bestimmten Regel aus dieser Menge als Konfliktlösungsstrategie.
Bei der Konfliktlösungsstrategie unterscheidet man folgende Methoden:
[Winston1993]
-
Auswahl nach der Reihenfolge
-
Die erste anwendbare Regel feuert (Trivialstrategie)
-
Die aktuellste Regel feuert, d.h. die Regel, deren Vorbedingungen sich
auf möglichst neue Einträge in der Faktenmenge bezieht.
-
Auswahl nach der syntaktischen Struktur der Regel
-
Die spezifischste Regel feuert, d.h. die Regel, deren Vorbedingung die
einer anderen Regel als Vorbedingung vorkommt und noch noch mit zusätzlichen
Aussagen verknüpft ist.
-
Die syntaktisch größte Regel feuert, d.h. die, die meisten Aussagen
in der Vorbebingung enthält
-
Auswahl mittels Zusatzwissen
-
Die Regel mit der höchsten Priorität feuert. Dazu muß jeder
Regel eine Priorität, die z.B, als Zahl repräsentiert sein kann,
zugeordnet werden.
-
Zusätzliche Regeln, sogenannte Meta-Regeln steuern den Auswahlprozeß.
Der Konfliktlösungsstrategie kommt speziell bei Reaction Systemen
eine besonders große Rolle zu. So können in vielen Fällen
bestimmte Handlungen erst dann ausgeführt werden, wenn andere Handlungen
bereits abgeschlossen sind. So kann man z.B. ein Auto erst starten, wenn
man den Zündschlüssel in das Zündschloß gesteckt hat.
In Deductioin Systemen entsteht durch das Feuern einer Regel nur ein neues
Faktum, darum spielt die Reihenfolge, in der die Regeln feuern, in Bezug
auf das Ergebnis keine Rolle. Die Reihenfolge der Abarbeitung der Regeln
hat jedoch einen direkten Einfluß auf die Geschwindigkeit, mit der
ein bestimmtes Ziel bewiesen werden kann. Anschaulich wird dies, wenn man
sich vorstellt, es feuern alle jene Regeln zuerst, die keine Fakten liefern,
die notwendig sind, um das geforderte Ziel zu beweisen. Die Konfliktlösungsstrategie
hat somit einen direkten Einfluß auf die Performance eines Expertensystems.
[Winston1993]
6.8 Certainty Factor
Abschließend soll in diesem Kapitel die Möglichkeit betrachtet
werden, unsicheres Wissen mit der Hilfe von Regeln zu repräsentieren
und zu verarbeiten. Auf die Quellen von Unsicherheit wurde bereits in Abschnitt
3.8
eingegangen. In diesem Abschnitt sollen nun die Certainty Factors, als
Möglichkeit unsicheres Wissen in Fakten Regelsystemem zu berücksichtigen,
vorgestellte werden.
Beim Prinzip der Certainty Factors handelt es sich um ein intuitives
Konzept, welches in engen Zusammenhang mit dem Expertensystem MYCIN entwickelt
wurde. Dabei unterscheidet man zwei grundsätzlich verschiedene Arten
von Certainty Factors: [Gottlob1990][Heinsohn1999]
-
Dynamischer Certainty Factor:
-
Der dynamische Certainty Factor wird dazu verwendet, die Sicherheit von
Fakten, die nicht als definitiv wahr oder falsch bekannt sind, quantitativ
zu bewerten. Dem Faktum wird dabei ein Zahlenwert aus dem Intervall
zugeordnet. Der Zahlenwert
entspricht dabei definitiv falsch, der Wert
definitiv richtig.
Meist basieren diese quantitativen Bewertungen von Fakten auf einem
bestimmten Hintergrundwissen, welches in diesem Zusammenhang als Evidenz
bezeichnet wird. Im Laufe der Bearbeitung des Problems fließt neues
Wissen in Form von Fakten in die Wissensbasis des Systems ein. Im Rahmen
dieses Prozesses ändert sich die Evidenz
und somit unter Umständen auch die Certainty Factors, die den Fakten
zugeordnet sind. Der Certainty Factor
entspricht somit der Sicherheit des Faktums
auf Basis der Evidenz .
Da sich, wie oben erläutert, die Certainty Factors im Zuge der Wissensverarbeitung
laufend verändern, spricht man von dynamischen Certainty Factors.
-
Fester Certainty Factor:
-
Der feste Certainty Factor tritt in Zusammenhang mit Regeln auf. Mit seiner
Hilfe wird die unsichere Abhängigkeit zwischen der Vorbedingung (Prämisse)
und der Aktion (Konklusion) ausgedrückt. Die Vorbedingung kann dabei
auch aus der komplexen Verknüpfung von unsicheren Fakten bestehen.
Ein Beispiel für eine solche Regel ist:
| Wenn |
Nackensteife und |
| |
hohes Fieber und |
| |
Bewußtseinstrübung zutreffen |
| Dann |
besteht der Verdacht (0.7) auf Meningitis |
Diese Regel drückt die bedingte Sicherheit aus, daß es sich
bei der Krankheit um Meningitis handelt. Der Certainty Factor
repräsentiert die bedingte Sicherheit der Hypothese
unter der Bedingung, daß die Fakten ,
und
wahr sind. Die festen Certainty Factors werden bei der Erstellung der Regelbasis
von den Fachexperten den Regeln zugeordnet.
Die wesentlichen Arbeitsschritte eines Expertensystems, welches mit unsicheres
Wissen mit der Hilfe von Certainty Factors berücksichtigt, können
folgendermaßen zusammengefaßt werden: [Heinsohn1999]
-
Die Abarbeitung der Regen erfolgt nach dem in Abschnitt 6.7.2
vorgestellten Schema. Die dynamischen Certainty Factors der bekannten Fakten
werden dabei vom Benutzer in das System eingegeben.
-
Im Fall einer komplexen zusammengesetzten Prämisse wird aus den Certainty
Factors der einzelnen Fakten der Certainty Factor der zusammengesetzten
Prämisse berechnet.
-
Ist der dynamische Certainty Factor der Prämisse bekannt, kann unter
Einbeziehung des festen Certainty Factors der Regel die Regelanwendung
erfolgen. Der Sicherheitsfaktor der Hypothese wird berechnet und stellt
das zum jetzigen Zeitpunkt über die Hypothese bekannte Wissen dar.
-
Ein und die selbe Hypothese wird unter Umständen durch mehrere Regeln
bewertet. Das bedeutet die Hypothese kommt in mehreren Regeln als Aktion
vor. Die Anwendung dieser Regeln führt somit auch zu mehreren Certainty
Factors, die die Sicherheit derselben Hypothese bewerten. Den Vorgang,
der diese Einzelbewertungen zusammenfaßt, bezeichnet man als parallele
Kombination.
Anhand eines einfachen Beispiels sollen in weiterer Folge die oben angeführten
Schritte erläutert werden. Zudem werden die dazu notwendigen mathematischen
Formeln vorgestellt. Als Beispiel soll die nachfolgende Regelbasis dienen:
[Heinsohn1999]
>
| Regel 1: |
 |
 |
 |
| Regel 2: |
 |
 |
 |
| Regel 3: |
 |
 |
 |
<>
Als erste anwendbare Regel wird die Regel 1 angenommen. Regel 1 kann
angewendet werden, wenn die Certainty Factors der Prämissenelemente ,
und
bekannt sind. Auf der Basis der einzelnen Certainty Factors
kann der Certainty Factor
der zusammengesetzten Prämisse berechnet werden.
ist die Evidenz zu den Bewertungen der Fakten .
Es erfolgt die Regelanwendung, die zu dem Wert
führt.
ist hier die Bewertung der Hypothese
nach der erfolgten Anwendung der ersten Regel. Analog erfolgt die Anwendung
von Regel 2 auf der Basis der Bewertungen
und die Berechnung von .
ist die Evidenz zu den Bewertungen der Fakten .
Als Ergebnis der Anwendung von Regel 1 und 2 können nun die Certainty
Factors
und
der Hypothese
parallel kombiniert werden und erhält somit das zusammengefaßte
Ergebnis .
Auf analoge Weise kann Regel 3 angewendet werden und in die bereits
berechneten Werte einbezogen werden. Man erhält abschließend
den Certainty Factor
wobei
die der Bewertung von
zugrundeliegende Evidenz ist.
Der im Rahmen der Abarbeitung der Regeln erstellte Und-Oder-Kombinationsgraph
ist in Abbildung 6.7 dargestellt.
|
Abbildung 6.7: Der sich aus der Regelbasis
ergebende Und-Oder-Kombinationsgraph.
bezeichnet im Graph den berechneten Certainty Factor der Hypothese
zum Zeitpunkt .
[Heinsohn1999]
6.8.1
Das mathematische Modell
Der Certainty Factor gibt ein Maß für das Vertrauen in den Wahrheitsgehalt
eines Faktums an. Da es jedoch in vielen Fällen einfacher ist ein
Maß für das Vertrauen bzw. das Mißtrauen in eine Aussage
anzugeben, als direkt den Certainty Factor zu bestimmen, basiert die in
MYCIN getroffene Definition auf zwei weiteren Größen: dem Maß
des Mißtrauens (measure of desbelive)
und dem Maß des Vertrauens (measure of belive) .
Wobei beide Maße wie folgt verstanden werden können: [Heinsohn1999]
>
 |
 |
,,Im Fall der Evidenz E wächst
das Vertrauen, daß
wahr ist um .'' |
 |
 |
,,Im Fall der Evidenz E wächst
das Mißtrauen, daß
wahr ist um .'' |
Der Certainty Factor
wird dann über die normierte Differenz der Maße
und
berechnet:
 |
(6.1) |
Zusätzlich zu den Werten ,
und ,
die auf Basis einer Beobachtung
Vertrauen in die Fakten quantifizieren, können Certainty Factors auch
einer Regel zugeordnet sein. Dabei handelt es sich um die festen Certainty
Factors. In diesem Zusammenhang quantifiziert
den Grad des Vertrauens in die Gültigkeit der Hypothese
unter der Bedingung, daß die Prämisse
als definitiv gültig (
Certainty Factor )
bekannt ist. Der Certainty Factor einer Regel wird folgendermaßen
angeschrieben:
Die Sicherheit zusammengesetzter
Aussagen
Für den Fall, daß die Prämisse einer Regel aus der booleanschen
Verknüpfung von Fakten besteht, wird der Certainty Factor der Prämisse
durch die Maximums- bzw. Minimumsbildung bestimmt: [Heinsohn1999]
Anwendung von Regeln
Die Anwendung einer Regel, welche mit einem festen Certainty Factor versehen
ist, und deren Prämisse mit einem dynamischen Certainty Factor bewertet
ist, führt zu einer Bewertung der Hypothese, auf die geschlossen wird.
Dabei müssen der Certainty Factor der Prämisse
und der Regel
in geeigneter Weise berücksichtigt werden. Für den Fall, daß
die Prämisse mit einem nicht negativen Certainty Factor bewertet ist,
erfolgt die Regelabarbeitung nach folgender Formel: [Heinsohn1999]
 |
(6.4) |
Für den Fall, daß die Prämisse einer Regel mit einem negativen
Certainty Factor bewertet ist, darf diese Formel nicht angewendet werden.
Diese Vorgehensweise wird einsichtig, wenn man voraussetzt, daß jede
angewendete Regel eine, zumindest zu einem bestimmten Grad, erfüllte
Prämisse besitzen muß. Für eine negative Prämisse
ist diese Voraussetzung nicht erfüllt. Somit darf diese Regel nicht
angewendet werden. [Heinsohn1999]
Parallel Kombination
Wird eine Hypothese von mehreren Regel bewertet, so müssen diese Bewertungen
zu einer Gesamtbewertung zusammengeführt werden. Dies geschieht mit
Hilfe der parallelen Kombination. Wird eine Hypothese
durch zwei Regeln
gestützt, so sind nach der erfolgten Regelanwendung die Certainty
Factors
und
zur Berechnung des endgültigen Ergebnisses zu kombinieren. Die Kombination
basiert auf der nachfolgenden Formel: [Heinsohn1999]
Seien
und ,
dann gilt
 |
(6.5) |
Bei der Anwendung der Formel 6.5 müssen
die beiden Spezialfälle
berücksichtigt werden. In beiden Fällen schließen sich
die beiden Bewertungen vollständig aus und sollten zu einer Fehlermeldung
führen. [Heinsohn1999]
Die oben definierte Funktion für die parallele Kombination ist
sowohl kommutativ, als auch assoziativ. Das Ergebnis der Kombination ist
somit unabhängig von der Reihenfolge, mit der die entsprechenden Certainty
Factors kombiniert werden. Auf diese Weise können durch hintereinander
Anwendung der Formel 6.5 auch die Certainty
Factors mehrerer Hypothesen kombiniert werden.
Eine wichtige Eigenschaft der Formel 6.5
ist, daß die Kombination mit einer ,,leeren'' Informationsquelle
(mit )
keine Änderung am Gesamt-Certainty Factor hervorruft. [Heinsohn1999]
Rechenbeispiel
Die Anwendung der oben angeführten Rechenvorschriften für die
Propagierung von Certainty Factors sollen nun anhand eines konkreten Zahlenbeispiel
veranschaulicht werden. Als Regelbasis sollen folgende Regeln dienen: [Heinsohn1999]
>
| Regel 1: |
 |
 |
 |
| Regel 2: |
 |
 |
 |
| Regel 3: |
 |
 |
 |
<>
|
Abbildung 6.8: Der sich aus der Regelbasis
ergebende Und-Oder-Kombinationsgraph.
bezeichnet im Graph den berechneten Certainty Factor der Hypothese
zum Zeitpunkt .
[Heinsohn1999]
Der Und-Oder-Kombinationsgraph der Regelbasis ist Eingangs in Abbildung
6.8
abgebildet ist. Die für die Berechnung notwendigen Zahlenwerte sind
in Tabelle unten angeführt. Die Certainty Factors wurden mit Hilfe
der Formel 6.1 aus dem ,,measure of belive'' ( )
und dem ,,measure of disbelive'' ( )
berechnet.
>
| |
 |
 |
 |
 |
 |
 |
 |
1 |
1 |
0.6 |
0.5 |
1 |
0.5 |
 |
0.2 |
0 |
0 |
0.5 |
0 |
0 |
 |
1 |
1 |
0.6 |
0 |
1 |
0.5 |
<>
Durch Anwendung der Formeln 6.2 und 6.3
kann der Certainty Factor der Prämissen der Regeln berechnet werden.
>
| Regel 1: |
 |
 |
 |
| Regel 2: |
 |
 |
 |
| Regel 3: |
 |
 |
 |
<>
Im nächsten Schritt fließen in die Anwendung von Regel 1
die Regelgewichtung
und die Prämissensicherheit
ein. Unter Anwendung von Formel 6.4 erhält
man:
Analog erhält man für die Anwendung von Regel 2
und für Regel 3
Man beachte, daß der negative Certainty Factor von Regel 3
zu einer negativen Gewichtung des Wertes
geführt hat. Durch die Regelabarbeitung haben wir nun drei unabhängige
Bewertungen für
erhalten.
Diese müssen jetzt durch parallel Kombination zu einem Wert
zusammengeführt werden. Dies erfolgt mit Hilfe der Gleichung 6.5.
Im ersten Schritt werden die ersten beiden Informationen kombiniert.
Dieses Ergebnis wird nun mit
kombiniert.
Nach Abarbeitung aller Regeln erhält man somit für die
Bewertung der Hypothese
den Certainty Factor .
In diesem Abschnitt wurden die Certainty Factors als Möglichkeit
vorgestellt, unsicheres Wissen in einem wissensverarbeitenden System zu
speichern und zu verarbeiten. Im nachfolgenden Abschnitt wird einen weitere
Möglichkeit beleuchtet, unsicheres Wissen zu verarbeiten. Die vorgestellte
Methode der Fuzzy Logic beruht dabei auf der Verwendung von unscharfen
Mengen.
Gerald Reif
2000-02-01 |