Bei algorithmischer Vorgehensbeschreibung ist ein Expertensystem fehl am Platz:

Austausch der Wissensbasen erweitert Einsatzspektrum

21.06.1985

Einsatzmöglichkeiten eines Expertensystems finden sich überall dort, wo nicht formalisierbare Fakten und Regeln angewandt werden. Inzwischen gibt es Ansätze, durch Austausch der zugrundeliegenden Wissensbasis die einzelnen Konzepte mehrfach anwendbar zu machen. Klaus Hörnig, Projektleiter im Bereich Künstliche Intelligenz bei der GEI Systemtechnik, München, setzt dabei auf Computer der fünften Generation.

Konventionelle Rechnerprogramme kann man als Sätze von Regeln auffassen, die aus bestimmten Eingabedaten Ergebnisse erzeugen: Sortieren, Drucken oder Vergleichen von Daten sind dafür einfache Beispiele. Solche Software nimmt dem Menschen viel Arbeit ab oder hilft ihm, Datenmengen zu bearbeiten, die er sonst nicht bewältigen könnte. Andererseits überläßt sie ihm aber die "schwierigen" Aufgaben: Er muß die Eingabedaten sorgfältig aussuchen und aufbereiten, die Ergebnisse interpretieren, die weitere Verarbeitung bestimmen.

Über die Fähigkeiten dazu verfügen Expertensysteme: Sie können planen, diagnostizieren und komplexe Situationen erkennen-oder simulieren dies zumindest. Sie bestehen aus einer Steuerung, die eine allgemeine Lösungsstrategie festlegt, und dem eigentlichen Programm, einer Sammlung von Fakten und Regeln. Letztere entspricht dem Wissen über das Anwendungsgebiet, wie es sonst die Experten haben.

Diese Wissensbasis kann zum Beispiel aus physikalischen Gesetzen bestehen, aus medizinischen Zusammenhängen oder aus den Konstruktionsdetails einer Maschine. Sie ist also kein festgelegter Algorithmus, sondern beschreibt das Problem und die möglichen problembezogenen Vorgehensschritte: Die Steuerung wählt bei jedem Verfahrensschritt aus der Vielfalt der erlaubten Vorgehensalternativen eine aus, die erwarten läßt, das Ziel in vertretbarer Zeit zu erreichen.

Einsatzmöglichkeiten eines Expertensystems finden sich überall da, wo nicht formalisierbare Fakten und Regeln angewandt werden. Eine algorithmische Vorgehensbeschreibung wird nicht benötigt, im Gegenteil: Wo eine solche vorliegt, ist ein Expertensystem fehl am Platz. Denkbar ist also der Einsatz eines Expertensystems beim Diagnostizieren und Fehlersuchen oder bei der Vorhersage, zum Beispiel beim Wetter.

Weitere Möglichkeiten sind Entwurf und Planung, zum Beispiel von komplizierten Experimenten. Ein drittes Arbeitsgebiet der Expertensysteme ist Überwachung und Kontrolle, man denke nur an komplexe technische Anlagen. Zahlreiche Pilotprojekte haben gezeigt, daß solche Einsätze nicht nur denkbar, sondern auch durchführbar sind.

Die Vorteile eines Expertensystems bei solchen Aufgaben sind frappant: Der Anwender muß nicht - wie bislang - mehr Fachwissen präsent haben als das System. Die Software lernt ständig hinzu, kann also stufenweise realisiert und fortwähren weiterentwickelt werden.

Expertensysteme eignen sich besonders für Anwendungen in nicht eng umrissenen, sondern "diffusen" Bereichen. Und schließlich gibt es Ansätze, ein Expertensystem mehrfach anzuwenden, wenn man die zugrundeliegende Wissensbasis austauscht. Es ist also leicht einzusehen, daß man das Diagnosesystem für eine Magnetplatteneinheit auch beim Nachfolge- oder Konkurrenzmodell verwenden kann, indem man eine andere Basis von Expertenwissen unterlegt.

Schwieriger scheint die Vorstellung, daß ein solches Expertensystem auch in der Medizin brauchbar wäre, dennoch ist es bei entsprechender Konstruktion des Systemkerns möglich. Das führt schließlich zu der zentralen Frage: Wie läßt sich Wissen darstellen und verarbeiten?

Es gibt unterschiedliche Wege, dem Rechner Wissen zu vermitteln. Alle basieren auf mathematisch-logischen Darstellungsformen und Kalkülen. Man fängt beispielsweise die

Fakten in Formeln ein, wie sie aus der Mathematik bekannt sind.

Andere Wissensgebiete lassen sich leichter durch "Netze" repräsentieren, wie man sie in einfacher Form bei Netzplänen vorfindet. In wieder anderen Arbeitsbereichen spielen Raum-Zeit-Beziehungen eine wichtige Rolle, oder es gelten Beziehungen zwischen Objekten und Ereignissen nur mit einer gewissen Wahrscheinlichkeit. In allen Fällen gibt es Formalismen, die das Wissen dem Rechner zugänglich machen.

Die zweite Aufgabe besteht darin, den Rechner "sein Fachwissen" sinnvoll anwenden zu lassen. Man kann zum Beispiel Produktionsregeln aufstellen, deren einfachster Fall sich etwa durch "Wenn Bedingung (alter Zustand), dann Aktion (und neuer Zustand)" ausdrücken läßt. Doch bevor solche Regeln angewandt werden können, muß das System komplexe Ziele so weit in Teilziele zerlegen, daß es zu den Teilzielen Lösungsschritte finden kann.

Das System muß diese Lösungsschritte bewerten können und davon auswählen. Falls dieser in einer Sackgasse endet, ist der Lösungsweg zurückzuverfolgen und an der fatalen Stelle eine andere Entscheidung zu treffen. Schließlich muß das System die ganze Zeit über bemüht sein, sich nur minimal festzulegen und gleichzeitig den einfachsten Lösungen den Vorrang geben. Grund: Die Zahl der zu verfolgenden Alternativen wächst rasch ins Gigantische - auch für den schnellsten Rechner.

Probleme, die hier gemeistert werden müssen, sind beispielsweise die fehlenden Bewertungskriterien für die Güte einer Alternative, die sich durch spätere Einflüsse überdies ändern kann. Gleichzeitig ist es in Regel meist unmöglich, alle Alternativen überhaupt zu erfassen, geschweige denn zu verfolgen.

Expertensysteme bestehen zwei Hauptkomponenten, die im Idealfall völlig voneinander getrennt sind: "Wissen" und "Kontrolle". In der Wissensbasis stecken alle Fakten, auf die das System zurückgreift - insbesondere das Fachwissen, den Experten entlockt wurde. In der Wissensbasis sind aber auch die Regeln und Pläne abgelegt, mit denen das Expertensystem seine Aufgaben angeht. Logische Gesetze, Spielregeln, Pläne oder Strategien gehören hierzu.

Streng davon zu trennen ist die Kontrollkomponente: Sie holt zum Beispiel Pläne aus der Wissensbasis und stellt daraus die Agenda, eine Liste von Arbeitsschritten, zusammen. Die Kontrollkomponente bewertet für jeden Teilschritt die verschiedenen Lösungsmöglichkeiten, die in Frage kommen, prüft sie eventuell auf Konsistenz und führt den Schritt entsprechend der gewählten Lösung aus. Das für die Vorgehensweise der Kontrollkomponente notwendige "Wissen" kann größtenteils in der Wissensbasis enthalten sein.

Zwischen Wissensbasis und Kontrollkomponente arbeitet der Interpreter (hat nichts mit Interpretern Ó la Basic zu tun). Er wandelt die in der Wissensbasis gespeicherten formalen Ausdrücke (Lösungsschritte) so um, daß sie von der Kontrollkomponente ausgeführt werden können. Schrittweise wird so die Agenda abgebaut bis zur Lösung der gestellten Aufgabe.

Neue Fakten integrieren

Der gesamte Lösungsweg wird gespeichert und durch die "Erklärungskomponente" für den Anwender transparent gemacht. Er erfährt, welche Regeln angewandt wurden, welche Lösungsalternativen vom System wie bewertet wurden und wie sicher die gefundene Lösung ist.

Expertensysteme lernen nie aus. Und um zu lernen, können sie eine "Wissenserwerbkomponente" besitzen. Sie integriert neue Fakten oder Regeln in die Wissenskomponente und prüft, ob alles konsistent bleibt, ob der neue Stoff wirklich neu ist, also keine redundanten Information gespeichert werden.

Die neuen Informationen erfährt das System durch ein "Interview", das es sowohl mit Experten für Expertensysteme als auch mit Experten für das jeweilige Fachwissen durchführt.

Über diese Komponenten hinaus verfügen Expertensystem auch über vertraute Bausteine: etwa über eine Benutzerschnittstelle, die möglichst komfortabel sein sollte und im Extremfall - wenn beispielsweise die Eingabe per natürlicher Sprache erlaubt ist - wieder ein komplettes Expertensystem sein kann.

Expertensysteme sind im Buch der Informationsverarbeitung ein Kapitel für sich. Von herkömmlichen Programmen unterscheiden sie sich fundamentaler als andere Spezialsoftware. Hier sei nur erwähnt, daß zumeist "nichtprozedurale" Sprachen eingesetzt werden, wie beispielsweise Lisp oder Prolog. In der Ferne kündigen sich neue Rechnerarchiktekturen an, die bei der Anwendung "Expertensystem" Vorteile gegenüber den zur Zeit überall eingesetzten Von-Neumann-Rechnern bieten.

Ein Beispiel sind die bereits verfügbaren Lisp-Maschinen, auf denen Befehle der Sprache Lisp direkt (ohne Zwischenübersetzung in eine niedere Programmiersprache) emuliert werden. Eine Realisierung von Expertensystemen in den allgemein bekannten Programmiersprachen, auch in Assembler, wäre theoretisch möglich, wegen der Komplexität der Expertensysteme aber bei Neuentwicklungen nicht empfehlenswert.

Selbst wenn man auf Spezialrechner zurückgreift, bleibt genug Komplexität zu bewältigen. Durch "Prototyping" etwa versucht man, sie in den Griff zu bekommen: Zentrale Systemteile sollen möglichst rasch test- und funktionsfähig sein, komplexe Unterkomponenten werden derweil erst einmal simuliert. Früh kann man so schon die Systemleistungen veranschaulichen und die weitere Entwicklung danach ausrichten.

Wie immer bei der Entwicklung komplexer Software muß der Entwurf Methode haben. Sorgfältig ist auch die Frage nach der tragfähigen Repräsentation von Wissen und Regeln zu klären. Genau so entscheidend sind die richtigen Lösungsphilosophien: In welcher Reihenfolge werden Unterprobleme angegangen, wie weit sind sie voneinander unabhängig, wie werden Lösungsschritte bewertet, ist eine einzelne Schlußkette hinreichend?

Warten auf 5th Generation

Die Realisierung der Software hängt schließlich davon ab, auf welche Hardware zurückgegriffen wird: Werden konventionelle Rechner eingesetzt oder spezielle Lisp -Maschinen, wird die Wissensbasis in einer gewöhnlichen Datenbank angelegt oder in einem speziellen Datenbankrechner? Kann adäquate Rechnerleistung vorausgesetzt werden?

Die "ehrgeizigsten" Expertensysteme werden wohl auf Rechner der fünften Generation warten müssen. Andererseits sollte der Anwender sich nicht darauf verlassen, eines Tages alle komplexen Systeme mit einer "Supermaschine" erschlagen zu können.

Beispiele wie der Umgang mit natürlicher Sprache oder Planungs- und Kontrollaufgaben bei komplexen Systemen zeigen, daß der praktische Einsatz von Expertensystemen in einigen Gebieten noch große, aber lohnende Anstrengungen erfordern wird.

Die sorgfältige Analyse des Bereiches, in dem ein Expertensystem angewendet werden soll, ist hier noch viel wichtiger als bei herkömmlichen Aufgaben. Vom Inhalt der Wissensbasis und nicht nur von ihrer Struktur hängen Erfolg und Mißerfolg ab. Der Wissensingenieur, der das Wissen dem Fachmann entlockt und dem Rechner einspeichert, muß eine neue Qualität des Könnens und der Erfahrung haben.

Expertensysteme werden immer mehr Fähigkeiten, die bisher ausschließlich dem Menschen zugetraut wurden, übernehmen. Das Verantwortungsbewußtsein der Konstrukteure und Anwender ist einmal mehr gefordert.

Wesentliche Probleme, die wir schon einige Zeit kennen, werden durch den Einsatz von Expertensystemen sicherlich verschärft: Beispiele sind die Auswirkungen auf Berufsbilder und Personalbedarf, die grundsätzliche Unmöglichkeit, komplexe Systeme nachweisbar fehlerfrei zu implementieren und das verbreitete Gefühl, Maschinen ohnmächtig ausgeliefert zu sein.

Zur guten Beratung eines Anwenders wird es demnach gehören, ihn nicht nur über die zu erwartende Produktivitätssteigerung, sondern auch über die Grenzen seines Systems im gesellschaftlichen Umfeld aufzuklären.