Einleitung

 

 

Was sind Methoden der Künstlichen Intelligenz?

Die ``Künstliche Intelligenz'' (KI) ist eine Wissenschaft, deren Ziel die Simulation intelligenten Verhaltens auf Rechenanlagen ist, d.h.künstlich erzeugte Intelligenz. Sie versucht dieses Ziel durch die Entwicklung von Programmen zu erreichen, die auf Eingaben in gewisser Weise intelligent reagieren (intelligent Aufgaben lösen). Dabei ist das Ziel einigermaßen vage: Es gibt keine befriedigende Definition des Terminus Intelligenz.

Zur Zeit ist die KI hauptsächlich experimentelle Wissenschaft: Menschliches Verhalten wird zum Vorbild genommen und mit mehr oder weniger Kunst werden immer neue Programme geschrieben, die

Mit den Programmen wird ein theoretischer Ansatz auf seine Umsetzbarkeit überprüft. Das bedeutet, daß der experimentelle KI-Wissenschaftler Programme schreibt.

Welcher Methoden bedient er sich dabei?

Diese Frage ist derzeit nur schwer zu beantworten. Es gibt kaum Bücher, in denen Methoden der KI explizit gemacht werden. Nicht viel besser sieht es mit Arbeiten aus, die diesen Zustand diskutieren und Antworten auf die gestellte Frage geben.

Bei der Suche nach Aussagen der Autoritäten haben wir nicht allzu viel Erfolg. Es ist erstaunlich, daß sich bisher keiner der Gründerväter der KI (J.McCarthy, M.Minsky, A.Newell und H.Simon) der KI-Programmiermethoden angenommen hat.

Nur Newell und Simon haben sich überhaupt systematisch mit Methoden im Zusammenhang mit der KI beschäftigt. Unter der Bezeichnung ``Methoden der heuristischen Programmierung'' diskutierte Newell [k1-34] 1973:

  1. Erzeuge und Teste (Generate and Test)
  2. Vergleiche (Match)
  3. Lokale Optimierung (Hill Climbing)
  4. Heuristische Suche (Heuristic Search)
  5. Induktion (Induction)

Schon allein die Namen dieser Methoden zeigen uns, daß es sich weder um Forschungs- noch um Programmiermethoden handelt, sondern, daß es um Methodenprodukte (das heißt um von der KI produzierte Methoden) geht, die in KI-Programmen verwendet werden können. Immerhin gibt es die Induktion als anerkannte wissenschaftliche Methode -- doch hat Newell diese nicht angesprochen (sicher gibt es enge Beziehungen).

R.Hall und D.Kibler haben sich mit Forschungsperspektiven im Bereichder KI beschäftigt [k1-h] und dabei methodologische Kriterien benutzt. Sie zerlegendie KI in fünf Arbeitsrichtungen:

  1. Angewandte KI mit dem Ziel leistungsfähiger Programme,
  2. experimentelle (konstruktive) KI mit dem Ziel der experimentellen Entdeckungvon Prinzipien der Intelligenz,
  3. theoretische (formale) KI mit dem Ziel der allgemeinen Beschreibung vonPrinzipien der Intelligenz bzw. Systematisierung und Erforschung ihrer Eigenschaften,
  4. spekulative KI mit dem Ziel von Theorien über menschliches intelligentesVerhalten,
  5. empirische KI mit dem Ziel der programmtechnischen Modellierung von natürlichenintelligenten Systemen.

Dabei versuchen sie Antworten auf die Fragen zu geben, wie ein KI-Forscher, entsprechend einer dieser Arbeitsrichtungen, sich ein Problem auswählt, wie er dieses Problem methodisch löst (oder zu lösen versucht), und wie er seine (bzw. fremde) Resultate bewertet. Bezogen auf die Methoden stellen die Autoren folgendes fest:

  1. In der angewandten KI wird jede Methode oder Technik benutzt, um ein möglichstleistungsfähiges Programm zu erstellen.
  2. In der experimentellen KI findet man das iterative Wechselspiel von Programmentwurf und -konstruktion sowie Experimentausführung und -bewertung, \linebreak das in ähnlicher Weise für jede experimentelle Disziplin gelten mag.
  3. In der theoretischen KI finden wir Arbeitsmethoden des Theoretikers allerDisziplinen, in denen ein hoher Grad von Mathematisierung zu verzeichnen ist: Versuch der formalen Definition von allgemeinen Problemen, die Fragestellungen aus der Anwendung reflektieren, Aufstellung von Hypothesen oder Algorithmen, die das Problem lösen, und schließlich den Beweis der Brauchbarkeit der Lösung.
  4. In der spekulativen KI scheint es überhaupt keine Methodologie zu geben.Man darf eben, durch Introspektion geleitet, spekulieren, solange man ``ökologisch gültige'' Behauptungen aufstellt.
  5. In der empirischen KI finden wir ein Wechselspiel zwischen Programmentwurfund -konstruktion sowie dem Vergleich mit menschlichem Verhalten.

Wir müssen angesichts der Situation die herausragende Qualität dieser Aussagen\footnote{Die Autoren bemühen sich um Konstatierung des beobachtbaren Verhaltens, nicht um das Vorschreiben eines wünschenswerten Vorgehens.} feststellen. Dennoch sind wir nicht befriedigt.

Die auch von anderen vertretene Meinung, daß es keine speziellen Methoden der KI geben könne, weil diese jede Methode aufgreife, hilft unseresErachtens nicht weiter: Die Methode, andere Methoden aufzugreifen, trifft man heute in vielen Wissenschaften an. Darüber hinaus könnte man sogar aus dieser Bemerkung eine Skepsis gegenüber den bisherigen Produkten der KI ableiten.

Angesichts dieser Situation fragen wir uns, was wissenschaftliche Methoden eigentlich sind und wie Wissenschaften die verwendeten Methoden beschreiben. Nach einer ersten Bestandsaufnahme wollen wir von der KI (und ihren Theoretikern) nicht allzuviel erwarten. Vermutlich kann kaum eine Wissenschaft mehr methodologische Klärung aufweisen als die KI, wenn es oft auch anders behauptet wird. Man möge nur einmal nachlesen, was über einzelne als solche allgemein anerkannte Methoden geschrieben wird, etwa die axiomatische, die deduktive, oder gar die dialektische Methode.

Es überrascht uns ein wenig, daß mit ``Methode'' sehr unterschiedliches bezeichnet wird. Es gibt Autoren, denen die Methoden lediglich allgemeine Prinzipien sind. Andere sprechen vom ``planmäßigen Durchforschen eines Wissensgebietes''.

So begnügen wir uns hier mit der Aussage, daß {\em Methoden Mengen von Regeln sind, die zur Erreichung vorgegebener Ziele verwendbar sind}. Eine Methode muß kein Verfahren, kein mit Sicherheit zum Ziele führendes Regelgefüge sein -- aber doch mehr als eine vage Empfehlung zum Handeln (Forschen). Die KI muß neben dem Wissen auch die Methoden als Gegenstand angehen und beherrschen lernen. So wird es Zeit, daß auf diesem Gebiet Fortschritte gemacht werden.

Eine Wissenschaft kann Methoden auf zwei Ebenen anwenden: Auf einer theoretischen Ebene und auf einer praktischen Ebene. Was die theoretische Ebene betrifft -- die in vielen Wissenschaften der Induktion und manchmal der Intuition überlassen bleibt --, so bildet die KI Analogien zu Problemlösern in der Natur, insbesondere zum menschlichen Gehirn. Was die praktische Ebene betrifft, so werden durch KI-Wissenschaftler Programme erstellt. Hier werden wir nach Programmiermethoden zu fragen haben. Diese Methoden sind bisher kaum je zusammenhängend dargestellt worden -- sie sind der Inhalt dieses Buches.

Gewöhnlich bekommt man als Namen von ``Methoden der KI'' Begriffe vorgesetzt, mit denen man weder Methoden der theoretischen noch der praktischen Ebene assoziieren kann. Beispiele sind: Das heuristische Suchen, die Alpha-Beta-Methode, die Wissensrepräsentation [k1-41]. Mit diesen ``Methoden'' hat es eine eigentümliche Bewandtnis: Die KI, als Teilgebiet der Informatik, ist eine Wissenschaft, deren wesentliches Produkt Methoden sind. Diese Methoden sind sehr unterschiedlicher Natur. Teilweise könnten (und werden) sie von Menschen bei der Verfolgung irgendwelcher Ziele verwendet werden. Der größere Anteil dieser Methoden dient aber dazu, als ``Philosophie'', als Grundüberlegung, für den Entwurf von Programmen eingesetzt zu werden. Kein Mensch wird etwa Schach durch Baumsuche mit der Alpha-Beta-Methode spielen. Wissensrepräsentation ist keine Methode der KI, sondern ein Forschungsziel.

Die Situation wird also dadurch komplizierter -- und das erklärt uns die unbefriedigenden Antworten --, daß die KI -- wie die meisten Unterdisziplinen der Informatik -- kaum je die von ihr erzeugten Methoden selbst verwendet. Im Vergleich wäre es ebenfalls absurd anzunehmen, die auf der Grenze zwischen Mathematik und Informatik anzusiedelnde mathematische Verfahrenstechnik bediene sich der von ihr erzeugten Methoden (zum Beispiel des Newtonschen Iterationsverfahrens), um zu neuen Verfahren zu kommen. Zwar wird von Leuten, die die KI negativ beurteilen, geäußert, die KI liebe (ihrer Auffassung nach) zweifelhafte Methoden, um zum Ziel zu kommen -- aber daß es heuristische Suchverfahren sind, daran würden auch diese Spötter nicht glauben.

Arbeitsmethoden der KI müssen also wissenschaftliche Methoden sein -- Methoden, die helfen, die wissenschaftlichen Ziele der KI zu erreichen. Diese bestehen, wie wir gesagt haben, in der Erstellung von Programmen, die Intelligenz zeigen, die Intelligenz simulieren.

Da die Hauptaktivität demnach die Programmierung ist, müssen es Programmiermethoden sein. Solche Methoden, wie etwa die strukturierte Programmierung, sind gut bekannt. Es gilt aber als sicher, daß derartige Methoden in der KI nicht angewandt werden. Vielmehr programmiert man ``Middle-Out'', d.h.im allgemeinen nicht sonderlich diszipliniert. Etablierte Programmiermethoden werden -- soweit sichtbar -- nicht benutzt.

 

Eine Arbeitsmethode für die KI

Wir fühlen uns also etwas allein gelassen, was die Arbeitsmethoden der KI betrifft. Um dennoch zu einer Antwort zu kommen, vergleichen wir Arbeiten, die in der KI als besonders einflußreich gelten.

Beim Aufstellen einer solchen Liste hat man mindestens zu erwähnen:

  1. Die Arbeiten von Newell, Simon und C.Shaw (1956 -- 1957) an der Logic Theory Machine [k1-35,k1-36].

     

  2. Die Arbeit von H.Gelernter und seinen Mitarbeitern (1958 -- 1959) am Geometry Theorem Prover [k1-16,k1-17].

     

  3. Der Vorschlag McCarthy's (von 1958) für einen Advice Taker [k1-29].

     

  4. Die Arbeiten von McCarthy (1958 -- 1960), die zur Definition und Implementation von LISP führten [k1-28,k1-51].

     

  5. Die Arbeit von D.Bobrow (1961 -- 1963) an dem Textaufgaben lösenden Programm STUDENT [k1-4,k1-5].

     

  6. Die Arbeiten von G.Ernst, Newell, Shaw und Simon (1959 -- 1966) am allgemeinen Problemlöser GPS [k1-13].

     

  7. Die Arbeiten von C.Hewitt (1967 -- 1972) an der Programmiersprache PLANNER [k1-21]. Die Implementierung einer Teilmenge (1970 -- 72) durch G.Sussman, E.Charniak und D.McDermott: MicroPLANNER [k1-54].

     

  8. Die Arbeiten von R.Brachman [k1-9], M.Quillian [k1-40], S.Shapiro [k1-44],\linebreakW.Woods [k1-60] und anderen an ``semantischen Netzen'' (1967 -- 1985). Die damit beginnende systematische Entwicklung, Implementation und Erforschung von ``Wissensrepräsentationssprachen'' (Bobrow, Brachman, T.Winograd, u.a. [k1-8,k1-10]).

     

  9. Die Entwicklung von Theorembeweisern, angefangen (1957 -- 1960) mit D.Prawitz' Matrixmethode bis (1963) zu J.Robinsons Resolutionsmethode [k1-37,k1-42]. Die Arbeiten von C.Green (1968 -- 1969) und anderen [k1-2,k1-3,k1-20,k1-26,k1-27] an Theorembeweisern, die auf der Resolutionmethode basieren, und an deren Verwendung. Die Definition von PROLOG als Programmiersprache durch A.Colmerauer und seine Mitarbeiter [k1-1,k1-6,k1-12] (1970 -- 1985).

     

  10. Die Arbeiten von A.Kay, A.Goldberg und ihren Mitarbeitern (1972 -- 1980) an der objekt-orientierten Programmiersprache Smalltalk [k1-18,k1-19]. Die Arbeiten von Hewitt (1973 -- 1980) zur Erweiterung des objekt-orientierten Modells als ``Aktor''-Modell [k1-22,k1-23]. Die Arbeiten von Sussman und G.Steele (1975 -- 1976) an der Klärung der Frage, wie Aktoren (Instanzen) als Closures -- d.h.mit Hilfe von Begriffen der funktionalen Programmierung -- verstanden werden können [k1-46,k1-48].

     

  11. Die Arbeiten von Winograd (1971 -- 1972) an SHRDLU, dem natürlichsprachlichen System zur Steuerung eines Manipulators in einer Baukastenwelt, in denen Grammatiken als Programmiersprache verwendet wurden [k1-58,k1-59].

     

  12. Die Arbeiten von Newell (1973 -- 1979) zur Verwendung von Produktionensystemen und die Bemühungen seiner Schüler (D.Waterman, C.Forgy und andere) um die Weiterentwicklung und Implementation dieser Systeme [k1-14,k1-33,k1-57].

     

  13. Die Arbeiten von J.Rulifson, J.Derksen, R.Waldinger, E.Sacerdoti u.a. an den KI-Sprachen QA4, QLISP usw. Anfang der 70er Jahre [k1-43].

     

  14. Die Arbeiten von E.Shortliffe (1972 -- 1976) an MYCIN, die zur Entwicklung einer ``regel-orientierten Wissensdarstellung'' und ihrer Operationalisierung durch eine ``Inferenzmaschine'' führten [k1-11,k1-30,k1-45].

     

  15. Die Arbeiten von D.Waltz [k1-56], U.Montanari [k1-32] und E.Freuder [k1-15] an dem Constraint-Modell zur Verwendung lokaler Ausbreitung von Einschränkungen zur Ermittlung globaler Relationen (1971 -- 1976). Die Arbeiten von Sussman und seinen Mitarbeitern J.de Kleer, R.Stallman und Steele, die (1975 -- 1980) zur Entwicklung von constraint-basierten Sprachen und angemessener Implementierungsideen führten [k1-47,k1-52,k1-53].

     

  16. Die durch die Arbeit [k1-31] von Minsky über ``Frames'' ausgelösten Aktivitäten zur Definition, Implementation und Verwendung von "Wissensrepräsentationssprachen", die den Minsky'schen Framebegriff teilweise verwirklichten. (1975 -- 1978)

     

  17. Die seit etwa 1980 aufgenommenen Arbeiten an ``hybriden Expertensystemkernen'' [k1-7,k1-24,k1-25,k1-38,k1-39,k1-55], die das Programmieren in verschiedenen ``Paradigmen'' erlauben.

In dieser Aufstellung fehlen alle mehr peripher anzuordnenden Arbeiten gleichgültig wie wirksam sie gewesen sind, zum Beispiel die im Bereich der Anwendung auf dem Gebiet der Verarbeitung gesprochener Sprache, auf dem Gebiet der Szenenanalyse, dem Gebiet der Robotik, oder die im Bereich der Bewältigung von Inferenzproblemen bzw.Effizienzsteigerung von Verarbeitungsprogrammen auf demGebiete des Theorembeweisens, des Common Sense Reasoning usw.

Bei der Analyse dieser besonders einflußreichen Arbeiten auf dem Gebiet der KI fällt uns auf, daß sie neue Programmierweisen sichtbar machten, die Verwendung einer solchen Programmierweise in der Form einer neuen Programmiersprache ermöglichten (oder eine existente Sprache erweiterten) und wesentliche Bestandteile des zunächst zu lösenden KI-Anwendungsproblems als Implementationsproblem dieser Sprache zu bewältigen trachteten.

Dies scheint uns eine wichtige wissenschaftliche Methode der KI zu sein [k1-49,k1-50], denn hierbei wird offensichtlich eine Verknüpfung von theoretischer und praktischer Programmierung vorgenommen: {\em Ein theoretischer kognitiver Apparat wird konzipiert }(etwa durch Studium menschlichen Problemlösens) {\em und in ein Informationsverarbeitungsmodell umgesetzt, für das dann eine Programmiersprache definiert wird}. Die Tragweite des Modells wird sodann durch Anwendung auf singuläre (Spiel-)Probleme oder praktische Anwendungsprobleme erforscht. Die Ergebnisse dieser Anwendung wird dann zur Verbesserung des ursprünglichen kognitiven Apparats benutzt bzw.zum Entwurf neuer Ansätze fruchtbar gemacht.

Da diese Methode einerseits so oft angewandt wurde, andererseits bisher weder explizit formuliert noch analysiert wurde, wollen wir versuchen, diese Methode in den Mittelpunkt unseres Buches zu stellen. Daraus folgt einerseits ein bestimmtes systematisches Vorgehen in diesem Buch, andererseits, daß nicht alles behandelt werden kann, was zur KI-Programmierung gehört. Der Leser sei auf das ausgezeichnete Buch von Charniak, McDermott und C.Riesbeck, ``Artificial Intelligence Programming'' [k1-crm] von 1980 (2.Aufl. 1987) verwiesen, um die Defizite auszugleichen.