Aneinanderreihung von Befehlen reicht nicht mehr aus:

"Fuzzy Logic" gewinnt immer mehr an Bedeutung

13.06.1986

Der Bereich "Künstliche Intelligenz" hat mittlerweile in der praktischen Forschung und Entwicklung einen festen Platz gefunden. Dabei gelten Expertensysteme als der Kl-Applikationssektor schlechthin. Unterstützend wirken spezielle, nichtprozedurale Sprachen wie Lisp und Prolog.

Die bisher eingeführten "algorithmischen" Sprachen orientieren sich weitgehend an der menschlichen Art, synthetisch zu denken. Ihr Grundprinzip war eine Aneinanderreihung von Befehlen, die unmittelbar die entsprechende, festgelegte und "leicht" nachvollziehbare Wirkung auf die Maschine ausübte. Weder das Einbinden von Heuristika, das selbständige Entscheiden für den nächsten anzuwendenden Befehl, noch das selbständige Erlernen kam zum Tragen. Die heutigen Überlegungen beziehen gerade diese Möglichkeiten mit ein und nähern die Computerprogramme immer stärker der menschlichen Fähigkeit, basierend auf Wissen zu folgern, hinzuzulernen und Entscheidungen zu treffen.

Die derzeitige Forschung im Bereich der Künstlichen Intelligenz befaßt sich damit, Systeme zu entwikkeln, die Verhalten zeigen, die man bei Menschen als intelligent bezeichnen würde. Als Teilgebiet der Informatik befaßt sich die Künstliche Intelligenz mit

- automatischem Programmieren,

- Bildverarbeitung und Mustererkennung,

- Expertensystemen,

- medizinischer Diagnose,

- Robotik,

- Spielstrategien (Schach, Laska, Dame),

- automatischem Finden und Beweisen logischer und mathematischer Sätze,

- Erkennen und Verarbeiten natürlicher Sprache (auch Übersetzen einer Sprache in eine andere).

Die Darstellung des Wissens im Computer erfolgt - soweit möglich - durch die Prädikatenlogik erster Ordnung (Verknüpfungen logischer Art durch "und", "oder" und "nicht" sowie den Operationen "es gibt ein" und "für alle"). Der Vorteil dieser Darstellung liegt darin, basierend auf Wissen zur Umformung und Gewinnung von Aussagen, viele Regeln zur Verfügung zu stellen. Wissen schließt eine Vielzahl von Aussagen ein. Eine weitere Form der WissensPräsentation heißt "semantisches Netz", deren Struktur assoziative Verbindungen zwischen Aussagen herstellt, also es ermöglicht, auf "benachbartes" Wissen zuzugreifen. Systeme die auf Produktionsregeln aufbauen - sogenannte Wenn-dann-Aussagen - heißen Produktionssysteme. Da gerade solche Produktionsregeln dem menschlichen Denken entsprechen, sind die meisten Expertensysteme als Produktionssysteme ausgelegt.

Ergebnisse des KI-Systems müssen interpretiert werden

Um all diejenigen Aussagen und Regeln computergerecht erfassen zu können, die weder den Wahrheitswert "richtig", noch den Wahrheitswert "falsch" erhalten dürfen, bedient man sich der "fuzzy logic", der "unscharfen logik". Dies ist ein immer bedeutsameres Randgebiet der traditionellen Mathematik.

Ein weiterer Factor der Intelligenz ist sicherlich das logische Schließen aus dem gegebenen Wissen auf weitere geltende Aussagen. Programme, die dieses automatisch vermögen, heißen Schlußfolgerungsmechanismen (englisch: inference mechanisms). Das vorab eingegebene und präsentierte Wissen, das also in dem Computer abgespeichert wurde, heißt Wissensbasis.

Ein Expertensystem schließlich soll möglichst gut die Arbeit eines Experten nachvollziehen, wenn nicht gar übertreffen. Daß ein Experte im herkömmlichen Sinn dadurch nicht überflüssig wird, erkennt man an der Tatsache, daß die Ergebnisse des Expertensystems interpretiert, geprüft und umgesetzt werden müssen. Um einen Experten zu "imitieren", benötigt das Expertensystem neben den schon erläuterten Bereichen Wissensbasis und Schlußfolgerungsmechanismus noch eine Erklärungskomponente für seine Verarbeitung, seinen Lösungsweg und sein Ergebnis. Selbstverständlich ist ein Dialogteil zwischen dem Anwender und dem Computer notwendig. Die Lernkomponente zum Erlernen weiteren Wissens, die zusätzlich zum Erwerb des neuen Wissens das neue mit dem alten Wissen auf Widerspruchsfreiheit prüft, heißt Wissensakquisitation (englisch: Knowledge acquisition). Auf der Hand liegt, daß dieses Lernen erst dann sinnvoll wird, wenn sich ein solches Computerprogramm bei negativen Erlebnissen - wie etwa dem Verlust einer Schachpartie - automatisch entsprechende neue Regeln generiert, die das alte Wissen entscheidend verbessern. Eine andere Fähigkeit eines Expertensystems sollen die heuristischen Auswahlverfahren sein, die bei mehreren Möglichkeiten, die in einer Situation angewendet werden können, diejenige aussucht, die richtig ist. Beide letztgenannten Fähigkeiten sind wünschenswert und notwendig, aber nicht einfach zu realisieren.

Eine entscheidende Bedeutung für die Künstliche Intelligenz haben die symbolverarbeitenden Sprachen Prolog und Lisp.

In den 50er Jahren von McCarthy entwickelt, ist Lisp - basierend auf Klammerstrukturen, Zahl- und Wortsymbolen - besonders im angelsächsischen Sprachraum weit verbreitet. Der Symbolverarbeitungscharakter zeichnet Lisp gegenüber den bekannten Programmiersprachen wie Fortran, Cobol, Pascal und Basic aus. Das weit verbreitete Common Lisp wird als sehr groß und - bei nicht spezialisierter Hardware - als wenig effizient eingestuft. Unter den verschiedenen Lisp-Varianten ist durch seine Prägnanz, seine Verarbeitungsgeschwindigkeit sowie seine Sicherheit und Leistungsstärke der Systemsprache die 1984 von der französischen Firma Inria entwickelte Version LeLisp hervorzuheben.

LeLisp ist für den computergestützten Unterricht, für Simulationen, für Farbgrafikbilddatenverarbeitung, für das Schreiben neuer Anwendungssprachen, für Informatik in der Musik und im allgemeinen für die Probleme der Künstlichen Intelligenz und der angrenzenden Gebiete besonders geeignet.

In Europa wurde etwa zwei Jahrzehnte später an der Universität von Marseille die Programmiersprache Prolog kreiert und ein paar Jahre später in London sowohl weiterentwickelt, als auch erstmals implementiert. In Prolog lassen sich Fakten und Regeln sehr einfach ausdrücken und die sich so ergebenden Programme wirken als eine einfache Zusammenstellung logischer Anweisungen.

Prolog ist problemorientiert und eignet sich für die Problemlösungen der Künstlichen Intelligenz. Es basiert auf den Konzepten und Entwicklungen des Prädikatenkalküls einer formalen Logik.

In Prolog codiert der Programmierer keinen Algorithmus, eine Berechnungsvorschrift für seine Lösung, sondern er legt neben den Fakten, den Beziehungen und zwischen ihnen geltenden Regeln sowohl Programme als auch Daten in einer einheitlichen Darstellung fest. Es gibt innerhalb von Prolog nur einen einzigen Rechenmechanismus, den wir "fortgeschrittene Mustererkennung" nennen. So befaßt sich Prolog auch in keinem Teil seiner Programme mit den Details der zugrunde liegenden Maschine oder Implementierung. Die "deklarative" Sprache erlaubt es zudem, daß Programme sich selbst modifizieren und Programme erzeugen. Ein umfangreiches Konzept verfügbarer Prozeduren und Debugging-Methoden unterstützt auf geeignete Art und Weise den Programmierer bei seiner Arbeit.

In dem Projekt der "fünften Computergeneration" haben die Japaner voll auf Prolog gesetzt. Die Auswirkung macht sich in den Vereinigten Staaten bemerkbar, die so auf diese Sprache aufmerksam geworden sind und sie nun selbst für ihre Rechner immer öfter als Programmiersprache der Künstlichen Intelligenz einsetzen.

Wie alle Programme der Künstlichen Intelligenz, benötigen Prolog-Programme extrem leistungsstarke Rechner und sehr großen Speicherplatz.

*Dr. Jürgen Kimmel ist Vertriebsrepräsentant bei der Honeywell Bull AG, Köln.

AU:Jürgen Kimmel