Formalfixierung bremst oft noch KI-Einsatz

06.12.1985

Für Problemlösungsstrategien bedienen sich Anwender häufig der Heuristik, das heißt Techniken. mit denen Probleme offensichtlich effizienter gelöst werden können, obwohl dafür keine kausalen Erklärungen vorliegen. Deshalb haben die Benutzer vielfach prinzipielle Schwierigkeiten, ihre Vorstellung von der Problemlösungsstrategie, die das Programm verkörpern soll, formal zu fixieren.

Die Heuristik läßt sich nur in einem iterativen Prozeß der Modellbildung beschreiben. Dafür ist Rapid Prototyping eine geeignete DV-Technik. Durch Rapid Prototyping wird ein visualisiertes Pflichtenheft erstellt. Die Anwendung dieser Technik ist für die Entwicklung von Expertensystemen eine unabdingbare Voraussetzung, weil eine effiziente Problemlösung mittels Heuristik ein wesentliches Kriterium der Expertentätigkeit ist. Der Entwickler von Expertensystemen gewinnt fast zwangsläufig Erfahrung im Prozeß der Prototypbildung, der auch für jede kommerzielle Systementwicklung geeignet ist, wenn noch keine zufriedenstellende Anforderungsdefinition vorliegt.

Die wichtigste Erfahrung, die ein Entwickler während der Prototypphase macht, ist die Beteiligung des Benutzers an der Gestaltung des Systems. Damit dieser Prozeß optimal verläuft, sind einige Voraussetzungen erforderlich:

- Klare Zielvereinbarung zwischen Anwender (Auftraggeber) und Entwickler, daß der eigentliche Zweck des Prototyps, auch wenn dieser ablauffähig ist, die Erreichung einer akzeptablen Anforderungsdefinition ist.

- Während der gesamten Prototypphase muß sich mindestens ein routinierter Fachmann aus dem Anwendungsbereich regelmäßig, aber nicht ununterbrochen an der Modellbildung beteiligen.

- Die Prototypphase darf nicht zu lang sein.

- Für die Implementierung des Prototyps müssen Werkzeuge verfügbar sein, die den Aufwand für die Umsetzung der Vorstellungen des Fachmanns in ablauffähigen Code erheblich minimieren.

Nur so kann der Prototyp während der Entstehung als ein dynamisch wachsendes und sich wandelndes Kommunikationsmodell zwischen Entwickler und Fachmann dienen. Der Fachmann muß das ablauffähige Modell sehen und anschließend Änderungsvorschläge einbringen können.

Die Auswahl des geeigneten Werkzeugs ist für den Erfolg des Rapid Prototyping wichtig; entscheidender ist jedoch die Einsicht der DV-Manager, daß ein Prototyp genauso ein unverzichtbares Kommunikationsmittel zwischen Benutzern und Systementwicklern sein muß wie eine formale Spezifikation für die Kommunikation zwischen den Entwicklern.

In der Bewertung der Mensch-Maschine-Schnittstelle besteht wahrscheinlich der größte Gegensatz zwischen konventioneller DV und Kl. Es ist zum Beispiel durchaus üblich, daß zirka 50 Prozent des Aufwands für die Entwicklung eines Expertensystems in der Gestaltung der Oberfläche investiert wird. Eine benutzerfreundliche Oberfläche gilt in der konventionellen Anwenderprogrammierung heute noch als ein Luxus, das heißt weniger wichtig als Funktionen und Performance.

Die Ausstattung der Oberfläche eines Expertensystems (Grafik-Editor, Fenstertechnik, Erklärungskomponente, didaktische Komponente, natürlich-sprachlicher Dialogkomponente) dient dem Zweck, einen komplexen Sachverhalt sowohl für den

Anwender als auch für den Entwickler beherrschbar zu machen. Mit einer ähnlichen Zielsetzung könnten auch die konventionellen Anwenderprogramme ihre Akzeptanz wesentlich erhöhen.

Jedes Anwenderprogramm, das in der Lage ist, ausgehend von einer Benutzeranfrage eine Auswahl an Antworten aus einer Gesamtzahl der möglichen Antworten ("Structured Selection") zu treffen, müßte eigentlich auch über eine komfortable Erklärungskomponente eine Rechenschaft darüber abgeben, aufgrund welcher Programmierlogik die getroffene Auswahl an Antworten zustandekam. Eine solche Erklärungsfähigkeit des Programms wird das Vertrauen der Anwender in die Zuverlässigkeit des DV-Systems im Hinblick auf Lösung von komplexen Problemen beträchtlich erhöhen.

Bei der Programmierung von Expertensystemen werden mehrere Mittel benutzt, um weniger Code zu produzieren, und somit in vielfacher Hinsicht die Produktivität des Entwicklers spürbar zu erhöhen:

- durch Anwendung der symbolverarbeitenden Sprachen wie "Lisp" oder "Prolog";

- durch Nutzung intelligenter Programmierumgebungen, die vor allem den Testaufwand beträchtlich verkürzen können;

- durch Nutzung der Expertensystem-Hüllen ("Shell"), die als intelligente Programm-Generatoren bezeichnet werden können;

- durch Anwendung der Technik des wissensbasierten Systems; das fachgebietspezifische prozedurale Wissen, das in konventionellen Programmen als Algorithmus codiert werden muß, wird in wissensbasierten Systemen in der Wissensbasis deklarativ, also nicht codiert, aufgenommen; meistens als Wenn-dann-Regeln.

Die Arbeitsweise eines Experten ist meistens dadurch gekennzeichnet, daß er notfalls mit unsicherem und unvollständigem Wissen eine halbwegs akzeptable Lösung herbei führen kann. Dabei ist er häufig er Improvisationen angewiesen. Um eine solche Arbeitsweise maschinell abbilden zu können, benutzen Expertensysteme einige Techniken, deren Anwendung zumindest teilweise auch in der konventionellen Programmierung sinnvoll wäre.

Durch die Anwendung der Fuzzy-Logik zum Beispiel könnten die Flexibilität von Planungs- und Prognosesystemen im Finanz- und Wirtschaftsbereich signifikant gesteigert werden. Durch die Benutzung von Certainty Factors könnten Benutzer ihre Anfragen an Datenbanken viel treffender spezifizieren als mit der üblichen booleschen Logik.

Autor dieses Beitrags ist Dr. Nandakishore Banerjee, Mitarbeiter im Bereich Datentechnik

Expertensysteme bei der Siemens AG, München.