Neue Ansätze in der Softwareentwicklung:

Lisp und Prolog entfachen "Religionskrieg"

05.04.1985

Der Aufbau und die Struktur von Expertensystemen unterscheiden sich in mehrfacher Hinsicht von konventionellen Programmen. Die Idee, das Wissen von Experten eines Fachgebiets in einer Wissensbank zu speichern und wieder verfügbar zu machen, stellt eine qualitativ neue Art der Nutzung des Computers dar.

Expertensysteme lassen alle eine ähnliche Struktur erkennen, wenn auch die Inhalte vollkommen verschieden sein können. Üblicherweise kann man fünf Komponenten erkennen, wenn diese im Einzelfall auch sehr unterschiedlich gewichtet sein können:

Die Wissensbasis enthält in formalisierter Darstellung das Wissen und einen Satz von Regeln, wie aus vorhandenem Wissen neues beschafft werden kann. Für die Art der Wissensrepräsentation gibt es mehrere Verfahren, die je nach Problemstellung unterschiedlich gut geeignet sind.

Die Inferenzmaschine wertet die verschiedenen Fakten und Regeln aus; dabei versucht das System, durch bestimmte Algorithmen (Unifikation) Fakten und Regeln miteinander zu verbinden.

Die Erklärungskomponente sollte dem Benutzer jederzeit Auskunft über das Resultat einer Anfrage geben können. Insbesondere muß deutlich gemacht werden, welche Fakten und Regeln zu einem bestimmten Ergebnis geführt haben.

Die eigentliche Benutzerschnittstelle ist darauf abgestimmt, ein möglichst einfaches Arbeiten mit dem System zu ermöglichen. Diese Forderung wird dadurch noch verstärkt, daß man davon ausgehen muß, daß in der Regel Nicht-DV-Experten solche Systeme verwenden, also Konstrukteure, Ärzte oder Sachbearbeiter in einer Versicherung.

Expertensysteme sind offene Systeme. Neues Wissen über das Fachgebiet muß einfach in die Wissensbank einzufügen sein. Die entsprechende Komponente zum Wissenserwerb ist natürlich auch beim "Hochfahren" eines neuen Expertensystems stark gefordert. Auch hier gilt, daß die eigentlichen Experten, die das System mit Wissen versorgen, üblicherweise keine DV-Experten sind.

Unkonventioneller Ansatz für Sprachen

Wenn auch das öffentliche Interesse für Expertensysteme noch sehr jung ist, kann man auch hier fast schon von einem Religionskrieg sprechen. Neben einer Reihe von Spezialsprachen spielen Lisp und Prolog die Hauptpartien in diesem Schauspiel. Dabei blickt Lisp auf eine sehr lange Tradition zurück, die ihre Wurzeln in den verschiedenen Universitäten der USA hat. Daneben sehen wir in Prolog den Vertreter der europäischen Tradition, dem sich auch die Japaner in ihrem Fifth-Generation-Projekt angeschlossen haben.

Doch die Welten sind nicht so klar abgegrenzt: In Europa wird sehr viel mit Lisp gearbeitet, so wie auch in USA in starkem Maße Prolog eingesetzt wird. Beide Sprachen haben einen unkonventionellen Ansatz: Lisp ist eine funktionale Sprache, deren Datenmodell die Liste (genauer gesagt binäre Bäume) und deren Ablaufmodell die Rekursion ist. Lisp ist eine sehr flexible und vielseitig einsetzbare Sprache, deren Ansatz in systemtechnischer Hinsicht sehr tief liegt. Durch den Standardisierungs-vorschlag Common Lisp dürfte (hoffentlich) auch die Versionsvielfalt bald ein Ende finden.

Prolog hingegen ist eine deskriptive Sprache, mit der einerseits die Fakten und Regeln der Wissensbasis dargestellt werden können, andererseits aber auch Fragen an die Wissensbasis in Form von

prädikatenlogischen Aussagen gestellt werden können. Die Inferenzmaschine ist in Prolog sozusagen eingebaut - sie ist der eigentliche Ablaufkern der Sprache.

Der Bau von Expertensystemen erfordert einen neuen Ansatz in der Softwareentwicklung, da eine sehr viel stärkere Entkopplung von Wissen über das System einerseits und über das eigentliche Experten-Know-how andererseits zu beobachten ist.

Ansatzweise werden auch schon auf der Basis der obengenannten Sprachen sogenannte "Shells" angeboten; das sind Expertensysteme, die "leer" sind. Das bedeutet, daß der Käufer eines solchen Systems "nur" noch sein spezielles Wissen einzugeben hat. Es gibt allerdings noch wenig Erfahrung, ob dieser allgemeine Ansatz auch wirklich in der Praxis einsetzbar ist.

Die Komponente zur Wissensakquisition dürfte derzeit und wohl auch in Zukunft die größten Anforderungen stellen. Neben der Frage einer möglichen Automatisierung dieses Prozesses oder gar einer Lernfähigkeit sehen wir im Augenblick das Problem, die Experten zur Preisgabe ihres Wissens zu motivieren. Dazu sind sicherlich auch Techniken einzusetzen, die im Bereich der Informatik bislang noch keine oder nur eine untergeordnete Rolle gespielt haben.

Diese Methoden, die sich stark auf soziologische und psychologische Verfahren abstützen, werden wahrscheinlich eine neue Berufsgruppe - die Wissensingenieure - zum Leben erwecken.

*Claus M. Müller ist Geschäftsführer der Interface Computer GmbH, München.