Grundlegende Konzepte von Expertensystemen

Expertensysteme schöpfen aus Methodenpool der KI-Forscher

15.02.1991

Die heftigen Diskussionen darüber, ob es möglich und sinnvoll sein könnte, Computer mit menschliche Intelligenz zu konstruieren, sind längst Geschichte. Zurück blieb eine ernüchterte Wissenschaftlerschar, die sich von der "künstlichen Intelligenz" zugunsten von Expertensystemen abwandte. Viele der grundlegenden Konzepte der KI sind allerdings, wie Josef Krems zeigt, erhalten geblieben und werden ständig weiterentwickelt.

Expertensysteme sind das prominenteste Produkt des Forschungsgebietes künstliche Intelligenz (KI). Ihnen wird in den letzten Jahren sowohl von wissenschaftlichen Forschungszentren, von Planungs- und Entwicklungsabteilungen der Industrie wie auch von den Medien gespannte Aufmerksamkeit zuteil. Expertensysteme sind das erste Resultat der KI-Forschung, das in betriebliche Anwendungssituationen Eingang findet und dem auch markttechnisch günstige Chancen eingeräumt werden.

Das allgemeine Ziel der KI ist, Computerprogramme zu entwickeln, die Probleme lösen, für deren Bewältigung üblicherweise Intelligenz erforderlich ist. In den 60er und beginnenden 70er Jahren vertraute die Forschung zunächst auf allgemeine, bereichsunabhängige General-purpose-Algorithmen und -Methoden. Ende der 70er Jahre vollzog sich jedoch eine entscheidende Wende in der Forschungsausrichtung. Man kam zu folgender Auffassung: Intelligente Programme können nur entwickelt werden, wenn in sie ausführliches, hochspezifisches und bereichsabhängiges Wissen eingebracht wird. Diese Überzeugung bildet nach wie vor die Kernannahme der Expertensystem-Technologie.

Die Eigenschaften von Expertensystemen

Es sind einige Merkmale zu nennen, die Expertensysteme kennzeichnen und von anderen Softwareprodukten unterscheiden:

- Wissen und Wissensverarbeitung: Die Wissenskomponente ist der typischste und zugleich bedeutsamste Teil eines Expertensystems - ein Charakteristikum, das sich in der Bezeichnung "wissensbasiertes System" dokumentiert. Konstruktion und Wartung des Wissenskorpus sind daher die wichtigsten Aufgabenfelder in der Entwicklung und betrieblichen Einführung.

Expertensysteme verfügen zunächst über das Fachwissen des jeweiligen Gebietes, für das sie entwickelt worden sind. Die Basis dafür stellen die in der Fachliteratur dokumentierten Informationen von den Grundprinzipien eines Gebietes über die theoretischen Modelle und Gesetze bis zu den empirische Befunden dar.

In wissensbasierten Systemen werden aber auch die Erfahrungen von Fachleuten abgebildet, die ihr Wissen unter anderem aus der konkreten Aufgabenbewältigung gewinnen. Dadurch können die Heuristiken und Leitsätze des in der alltäglichen Auseinandersetzung geschulten Experten aufgegriffen und genutzt werden.

- Lösungen auf Expertenniveau: Expertensysteme werden in eng umgrenzten Domänen bei Problemlösungen mit einem hohen Spezialisierungsgrad eingesetzt. Ihr Einsatzgebiet ist damit nicht die Bewältigung von Routineaufgaben, sondern die Erledigung hochspezifischer Aufgabenstellungen.

- Erklärungsfähigkeit: Ein weiterer Unterschied zu anderen Softwareprodukten ist die "Erklärungsfähigkeit". Da Expertensysteme ihre Kompetenz aus einer möglichst anspruchsvollen Wissensbasis gewinnen, können zum Beispiel die Schlußfolgerungen oder die Datenanforderungen von der jeweiligen Sache her begründet werden. Bei dieser Art der Problemlösung läßt sich also exakt angeben, warum in diesem oder jenem Zusammenhang ein bestimmtes weiteres Datum vom Benutzer erfragt wird oder weshalb eine Schlußfolgerung mit einer bestimmten Wahrscheinlichkeit möglich ist.

Die Architektur von Expertensystemen

Die wichtigsten Komponenten eines Expertensystems sind:

1. Die Wissenskomponente enthält das fachliche Wissen über einen einzelnen Bereich.

2. Die Inferenzmaschine organisiert die Anwendung des Wissens in der konkreten Problemlösung. Dazu gehört die Auswahl der relevanten Wissensteile. Die Inferenzmaschine ist von der Wissenskomponente getrennt.

3. Die Erklärungskomponente gibt die fachlichen Gründe für einzelne Systemreaktionen an.

4. Die Wissenserwerbskomponente erleichtert die Konstruktion und Wartung der Wissensbasis. Es gibt erste Ansätze, diesen Prozeß zu automatisieren.

5. Die Benutzerschnittstelle organisiert den Dialog mit dem Benutzer in der Anwendungssituation.

Das Expertenwissen und seine Repräsentation

In der Wissensrepräsentation stellt sich für den Software-Entwickler die Aufgabe, Kenntnisse über ein Sachgebiet so zu formulieren, daß es in der Problemlösung durch ein System eingesetzt werden kann. Das Wissen, das zunächst natürlichsprachlich formuliert ist, wird in eine (formale) Kunstsprache übersetzt. Für diese Abbildung stehen inzwischen mehrere Repräsentationsformalismen zur Verfügung, von denen die wichtigsten im folgenden genannt werden.

* Die Prädikatenlogik ist die bislang sicherlich am intensivsten untersuchte formale Sprache zur Repräsentation von Sachverhalten. Sie spezifiziert Form und Bedeutung von Ausdrücken und definiert wahrheitserhaltende Ableitungen. Bei der Verwendung in KI-Systemen sind, sehr allgemein gesprochen, zwei Teilaufgaben zu bewältigen: (1) in Axiomen festlegen, was der Fall ist oder zumindest was gesagt werden kann, und (2) in Inferenzregeln festlegen, welche Folgerungen unter der Vorgabe bestimmter Axiome daraus zu ziehen sind.

Inferenzregeln unabhängig vom Gebrauch definiert

Der wichtigste Vorteil von Logiksprachen ist die Flexibilität. Diese rührt daher, daß Fakten beziehungsweise Inferenzregeln unabhängig von ihrem Gebrauch definiert werden und daher nicht bereits während ihrer Definition Anwendungsgesichtspunkte berücksichtigt werden müssen. Schließlich können einzelne Aussagen unabhängig von der restlichen Wissensbasis ergänzt, verändert oder beseitigt werden. Die Prädikatenlogik läßt sich also modular verwenden.

* Wissen kann aber auch durch "semantische Netze" abgebildet werden. Ein solches Netz besteht aus Knoten, die als Objekte, und aus Kanten, die als Relationen zwischen ihnen interpretiert werden, Objekte stehen für beliebige Gegenstände oder Personen, aber auch für gedankliche Elemente oder abstrakte Kategorien und Situationen.

Häufig verwendete Kanten dienen der Repräsentation der Klassenzugehörigkeit von Einzelfällen (Ist-ein, englisch IS-a) oder der Darstellung von Teil-Ganzes-Relationen (Has-as-part).

Der Vorteil solcher Netze ist die Möglichkeit der Vererbung von Eigenschaften, zum Beispiel über die IS-A-Kante. Damit kann Information relativ kompakt dargestellt werden. Allerdings existiert in semantischen Netzen keine "formale Semantik", keine Übereinkunft darüber, welche Bedeutung eine gegebene Repräsentationsstruktur besitzt. Ein Netzwerk erhält seine "Bedeutung" erst durch die Prozeduren, die es manipulieren.

* Eine weitere Möglichkeit der Wissensbeschreibung geben "Frames" und "Objekte". Frames sind bekannte Datenstrukturen, die aus Slot-Werte-Paaren bestehen. Slots stehen in der Regel für Eigenschaftsdimensionen (Form, Farbe, Aufbau, Bestandteile etc.), die ein Objekt oder eine Situation kennzeichnen. Werte geben die konkreten Ausprägungen der Eigenschaftsdimensionen an.

In Frames werden in der Regel vier Wert-Typen, die sich auch als Sub-Slots betrachten lassen, unterschieden:

- aktuelle Werte, die die tatsächliche Eigenschaftsausprägung wiedergeben;

- der Bereich (Range) gibt als Hypothese oder Erwartung an, woher zulässige Werte stammen müssen;

- Standardeinstellungen (Default values) sind "typische" Werte, die, ohne daß die tatsächlichen Werte geprüft sind, als "wahrscheinlich" anzunehmen sind;

- Prozeduren (if-needed) werden eingesetzt, um benötigte Werte zu ermitteln.

Frames eignen sich insbesondere zur Repräsentation von "stereotypischem" Wissen über Objekte (Anzahl der Bestandteile, ihre typische Organisation, Größe, Lage im Verhältnis zu anderen Objekten und so weiter), Situationen sowie von typischen Handlungsabläufen.

Insbesondere wegen der Möglichkeit, Prozeduren direkt mit Slots zu verknüpfen, besitzen Frame-Systeme sowohl deklarative als auch prozedurale Eigenschaften. Die Prozeduren können beispielsweise eingesetzt werden, um den Verarbeitungsablauf zu steuern. Die eher "statischen" Slots konservieren dagegen die Verarbeitungsresultate. Einzelne terminale Werte kommen in der Regel in mehreren Frames vor. Dadurch kann bei notwendiger Anpassung häufig auf ein "Re-Computing" verzichtet werden. Zu den Vorteilen der Frames gehören außerdem eine hohe Strukturierungsfähigkeit und die Flexibilität bei der Beschreibung von Objekten.

Viele Systeme lassen sich durch die Beziehungen modellieren, die zwischen ihren Komponenten definiert wurden. Diese Relationen stellen dabei Randbedingungen oder Einschränkungen dar, die im funktionsfähigen System erfüllt sein müssen. Dazu gehören die logischen Beziehungen, algebraische Gleichungen und auch physikalische Gesetze.

Mit den sogenannten "Constraints" wurde ein Repräsentationsformalismus entwickelt, der sich für die Darstellung solcher Bedingungen besonders eignet. Es handelt sich dabei um eine Menge von Variablen, mit denen Relationen definierbar sind. Über sie können einzelne Constraints zu einem Netz verwoben werden. Diese Form der Repräsentation wurde bislang hauptsächlich bei Planungs- und Designaufgaben eingesetzt und gehört inzwischen zum Standard hybrider Werkzeugsysteme.

* In den bislang entwickelten Systemen dominieren Produktionsregeln als Repräsentationssprache. Sie sind Aussagen, die aus einem "Wenn"- und einem "Dann"-Teil bestehen. Der Wenn-Teil wird auch als Bedingung, Prämisse oder einfach als "Left-hand side" bezeichnet. Der Dann-Teil firmiert unter Aktion, Schlußfolgerung oder "Right-hand side". Die allgemeine Lesart einer Regel lautet: "Wenn diese Bedingung erfüllt ist, dann führe jene Aktion aus."

Sowohl im Bedingungs- wie im Folgerungsteil können komplexe Terme durch Und- beziehungsweise Oder-Verknüpfung einfacherer Ausdrücke gebildet werden. Es wurden inzwischen auch einige Formalismen zur Darstellung von uneindeutigen Zuständen in Regelsystemen entwickelt.

Die Wissensbasis regelbasierter Systeme enthält Daten, die entweder dem System von der Umgebung mitgeteilt oder die durch Anwendung von Produktionsregeln abgeleitet worden sind. Die Datenbasis stellt die "Welt" dar, die den Produktionsregeln zugänglich ist.

Die hohe Modularität ist einer der Hauptvorteile der regelbasierten Systeme. Einzelne Bestandteile können leicht verändert, hinzugefügt oder entfernt werden. Regeln "rufen" sich nicht gegenseitig auf, sie kommunizieren nur über die Datenbasis. In vielen Bereichen ist es darüber hinaus relativ leicht möglich, das Wissen in leicht verständlichen Wenn-Dann-Formulierungen zu notieren.

Expertensysteme und Inferenzmaschinen

Neben der Wissenskomponente verfügen Expertensysteme über eine Inferenzmaschine. Ihre Aufgabe ist es, die Kenntnisse, die in der Wissensbasis abgebildet sind, auf aktuelle Daten und Informationen, die in der Bewältigung einer einzelnen Aufgabe anfallen, anzuwenden.

Dazu muß ermittelt werden, welche Wissensteile - meistens Regeln - im konkreten Fall relevant sind. Sind mehrere Regeln anwendbar, dann muß entschieden werden, welche Alternative aufgegriffen wird. Da die ausgewählte Regel eventuell weitere Informationen vom Benutzer benötigt, steuert die Inferenzkomponente auch den Dialog. Die wichtigsten Inferenzstrategien sind:

* Vorwärtsverkettung: Dabei wird zunächst überprüft, welche Regeln in der aktuellen Datenlage anwendbar sind, bei welchen Regeln also die Prämissen durch die vorliegenden Informationen erfüllt sind. Ist eine Regel anwendbar, dann wird die ihr zugeordnete Konklusion vollzogen. Dadurch ergeben sich neue Informationen, wodurch nun eventuell weitere Regeln anwendbar sind. Dieser Ableitungsprozeß wird beendet, wenn eine der Zielkonklusionen erreicht ist.

* Rückwärtsverkettung: Zunächst wird eines der Ziele ausgewählt und überprüft, welche Regeln vorhanden sind, die als Konklusion dieses Ziel besitzen. Ist eine Regel gefunden, dann wird deren Bedingungsteil als neues Ziel betrachtet für das nun wiederum überprüft werden kann, welche anderen Regeln die Ableitung dieses Ziels erreichen. Der Prozeß wird solange fortgesetzt, bis eine Regel gefunden ist, deren Bedingungsteil nicht durch andere Regeln erschlossen wird, sondern an das Vorliegen konkreter Daten gebunden ist.

Die Werkzeuge und Entwicklungsumgebungen

Die ersten Expertensysteme wurden direkt in Lisp, der neben Prolog auch heute noch wichtigsten Sprache in diesem Teilgebiet der Datenverarbeitung, formuliert. Den damit verbundenen Mühen kann inzwischen durch die Verwendung von sogenannten Shells ausgewichen werden. Shells sind Entwicklungsumgebungen, welche die Konstruktion von Expertensystemen unterstützen. Sie beinhalten Editoren zur Konstruktion und Modifikation der Wissensbasis, zum Beispiel die Formulierung von Regeln.

Außerdem stellen Shells Inferenzkomponenten, meistens mit unterschiedlichen Inferenzstrategien, zur Verfügung. Eine anspruchsvolle Shell sollte außerdem in der Lage sein, die Einrichtung einer geeigneten Benutzeroberfläche zu erleichtern und den Kontakt (Schnittstellen) zu anderen DV-Komponenten zu ermöglichen.

Werkzeuge zur Entwicklung von Expertensystemen sind umfangreiche Programmsysteme, die als intelligente Entwicklungsumgebungen

- dem Anwender in der Implementation einer Wissensbasis eine Auswahl gängiger Repräsentationsformalismen wie Regeln und Frames zur Verfügung stellen,

- ihn in der sachgemäßen Anwendung von Algorithmen der Wissensverarbeitung (Vorwärts- und Rückwärtsverkettung) unterstützen,

- ihm einen "Sprachkern" (Lisp oder Prolog) zur Verfügung stellen, der aus dem "konstruierten" ein "lauffähiges" Expertensystem macht, und

- möglichst wenig Programmier- und KI-Wissen auf seiten, des Anwenders erfordern.

Der generelle Zweck von Tools ist, die Kosten-Nutzen-Relation in der Entwicklung eines anwendungsreifen Expertensystems möglichst günstig zu halten. Dazu werden dem Konstrukteur Umgebungen angeboten, in denen er auf vorweg definierte und programmtechnisch bereits realisierte Bauelemente für die maschinelle Problemlösung zugreifen kann.

Einer gängigen Einteilung zufolge sind gegenwärtig drei Klassen kommerzieller Werkzeuge zu unterscheiden:

- kleine Werkzeuge, die auf PCs laufen und sich eher für kleine Wissensbasen mit weniger als 500 Regeln eignen,

- große eindimensionale Werkzeuge, die an spezielle Einsatzaufgaben (zum Beispiel Diagnostik) oder Repräsentationsverfahren (zum Beispiel regelbasiert) gebunden sind; diese Werkzeuge wurden zunächst auf und für Lisp-Maschinen entwickelt neuerdings sind sie auch in konventionellen Umgebungen wie Unix verfügbar,

- große Hybrid-Werkzeuge, die ursprüngliche ebenfalls auf Lisp-Hardware zugeschnitten waren. Sie können in unterschiedlichen Einsatzfeldern verwendet werden und verfügen über mehrere Repräsentationsprinzipien und Verarbeitungsalgorithmen, die aufeinander bezogen sind. Auch sie laufen auf verschiedenen Hard- und Software-Umgebungen.

Literatur:

Früchtenicht, H. W. (Hrsg.): Technische Expertensysteme: Wissensrepräsentation und Schlußfolgerungsverfahren, Oldenbourg Verlag, München 1988.

Harmon, P. & King, D.: Expertensysteme in der Praxis, Oldenbourg Verlag, München 1987.

Krems, J.: Expertensysteme, Entscheidungskriterien für Manager, Oldenbourg Verlag, München 1990

Mertens, P., Borkowski, V. & Geis, W.: Betriebliche Expertensystem-Anwendungen. Eine Materialsammlung, Springer Verlag, Berlin 1988.

Waterman, D. A.: A Guide to Expert Systems, Addison-Wesley, Reading 1986.