Einführung in die Methoden der Künstlichen Intelligenz, WS 02/03 Prof. Dr. Manfred Schmidt-Schauß Fachbereich Informatik Johann Wolfgang Goethe-Universität Postfach 11 19 32 D-60054 Frankfurt E-mail:[email protected] URL: http://www.ki.informatik.uni-frankfurt.de/ Tel: 069 / 798 28597 o. 28213 Fax: 069/ 798 28919 18. Oktober 2002 Kapitel 1 Einführung 1.1 1.1.1 Themen und Literatur Themen: • Einführung: Fragestellungen, Ziele • Suche, Suchmethoden • Evolutionäre Algorithmen, genetische Algorithmen • Wissensrepräsentation und Inferenz – Aussagenlogik, Prädikatenlogik – Konzept-Sprachen und Inferenzen – Qualitatives Schließen: Darstellung von Zeit, Allenscher Kalkül • Situationslogik, Planen, STRIPS-Planen • spezifische Programmiersprachen und Methoden – logisches Programmieren, PROLOG – regelbasiertes Programmieren RETE-Algorithmus – Constraints • Maschinelles Lernen • Wenn noch Zeit ist: – Vages Wissen (Fuzzy-Logik, Probabilistisches Schließen) – nichtmonotone Logik und nichtmonotones Schließen – Künstliche Neuronale Netze 1 Lehrbücher [] Lehrbücher, die wesentlich für diese Vorlesung sind. Die Priorität entspricht in etwa der Reihenfolge. [RN95] S.J. Russel and P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, 1995. [PMG98] D. Poole, A. Mackworth, and R. Goebel. Computational Intelligence: A Logical Approach. Oxford University Press, 1998. [BMNPS02] Franz Baader, Deborah McGuiness, Daniele Nardi, and Peter Patel-Schneider. The description logic handbook. Cambridge university press, 2002. [BKI00] Christoph Beierle and Gabriele Kern-Isberner. wissensbasierter Systeme. Vieweg, 2000. Methoden [Win92] P. Winston. Artificial Intelligence. Addison Wesley, 1992. [Cha85] McDermott Charniak. Addison Wesley, 1985. [GN88] Genesereth and Nilsson. Logical foundations of artificial intelligence. Morgan Kaufmann, 1988. [Gin93] M. Ginsberg. Essentials of artificial intelligence. Kaufmann, 1993. [BHS93] Wolfgang Bibel, Steffen Hölldobler, and Torsten Schaub. Wissensrepräsentation und Inferenz. Eine grundlegende Einführung. Vieweg, 1993. [Her89] Joachim Herzberg. Planen: Einführung in die Planerstellungsmethoden der Künstlichen Intelligenz. Reihe Informatik. BI Wissenschaftsverlag, 1989. [Ric92] Michael M. Richter. Teubner Verlag, 1992. Introduction to Artificial Intelligence. Morgan Prinzipien der Künstlichen intelligenz. 2 Weitere Lehrbücher, Handbücher [BCF89] A. Barr, P.R. Cohen, and E.A. Feigenbaum. The Handbook of Artificial Intelligence. Addison Wesley, 1981-1989. 4 Bände. [Dav90] E. Davies. Representation of Commonsense Knowledge. Morgan Kaufmann, 1990. [Dre79] H.L. Dreyfus. What Computers Can’t Do. Harper Colophon Books, 1979. [G9̈3] Günter Görz, editor. Addison Wesley, 1993. [Jac99] Peter Jackson. Introduction to expert systems, 3rd ed. AddisonWesley, 1999. [L98] George F. Luger and William A. Stubblefield . Artificial intelligence: structures and strategies for complex problem solving. 3rd ed. Addison-Wesley, 1998. [Mic94] Zbigniew Michalewicz. Genetic algorithms + data structures = evolution programs. Springer-Verlag, 1994. [Moo93] Todd C. Moody. Philosophy and Artificial Intelligence. Prentice Hall, 1993. [Pup90] Frank Puppe. Problemlösungsmethoden in Expertensystemen. Springer-Verlag, 1990. [Pup91] Frank Puppe. Einführung in Expertensysteme. Springer-Verlag, 1991. [Sch91] Peter Schefe. Künstliche Intelligenz, Überblick und Grundlagen. Reihe Informatik. BI Wissenschaftsverlag, 1991. [Sha92] S. Shapiro. Encyclopedia of Artificial Intelligence. John Wiley, 1989-1992. 2 Bände. Einfhrung in die künstliche Intelligenz. 3 4 KI 1, WS 2002/03, Kapitel 1 [Sto88] Herbert Stoyan. Programmiermethoden Intelligenz. Springer-Verlag, 1988. der Künstlichen [u.a86] J. Retti u.a. Artificial Intelligence – Eine Einführung. Teubner Verlag, 1986. [Vid] Vidysagar. A theory of learning and generalization. SpringerVerlag. [Weg96] Ingo Wegener, editor. Highlights aus der Informatik. Springer, 1996. [Wil00] Reinhard Wilhelm, editor. Informatics – 10 years back – 10 years ahead. Lecture Notes in Computer Science. Springer-Verlag, 2000. KI 1, WS 2002/03, Kapitel 1 1.2 5 Einführung Das Gebiet Artificial Intelligence “ ” ( Künstliche Intelligenz“) ” hat als Ziel bzw. Fernziel: Herstellung eines intelligenten“ Agenten ” Kennzeichen: Operiert selbständig in einer Umwelt und zeigt intelligentes Verhalten. Messlatte sind die menschlichen kognitiven Leistungen. Der Mensch ist im obigen Sinne ein intelligenter Agent. Unterziel Untersuchung von Methoden und Techniken zur Herstellung eines intelligenten Agenten. Computational Intelligence: Der Agent hat ein Computer als Gehirn “ ” Man kann es auch sehen als die Herstellung eines möglichst guten (autonomen, lernenden, intelligenten, automatischen) informationsverarbeitenden Systems. Einige Beispiele für Systeme, die Teilaspekte implementieren : • Taschenrechner der Mathematiker vor einigen hundert Jahren; Berechnung von Logarithmentabellen. Diese erscheinen heute als sehr überholt. • schachspielender Computer (Deep Thought, Deep Fritz) • Sprachübersetzer • wissensbasierte Systeme • (Haushalts-, Industrie-) Roboter • intelligente Informationssysteme 1.2.1 Intelligente Agenten Ein Intelligenter Agent, der im Kern einen Computer hat und in der physikalischen Umwelt agiert, ist ein Roboter (robot). Es können auch andere Umgebungen sein: Software Roboter (softbot): Hat eine Wissensbasis und gibt Antworten und Ratschläge, aber agiert nicht in der physikalischen Umwelt. Web-Roboter (webbot) interagiert mit dem WWW. Eingaben und Zustände • Vorwissen über die Umgebung 6 KI 1, WS 2002/03, Kapitel 1 • Erfahrungswissen, Fälle; erlerntes Wissen • Ziele die zu erreichen sind mit Prioritäten und Wichtigkeiten. • Beobachtungen zur Umgebung und über sich selbst. Ausgaben: • Aktionen Vorwissen Erfahrungswissen Ziele, Prioritäten Agent Aktion Beobachtungen Kognitive Simulation Kognitive Simulation ist ein von der Künstlichen Intelligenz verschiedenes Gebiet mit anderen Zielen. Um den Unterschied klar zu machen, geben wir die Ziele der kognitiven Simulation an: Ziel: Erforschung der menschlichen Denkens durch Simulationen und Experimente mittels Computer. Beispiele: wie erkennt man Gesichter? Wie denkt ein Mathematiker? Lernen, Spracherwerb (des Menschen) Ein Computerprogramm, nennt man kognitiv adäquat wenn es sowohl von der Struktur und den Methoden her als auch von den Leistungen her wie ein Mensch arbeitet. Beispiel 1.2.1 Ein Taschenrechner ist nicht kognitiv adäquat, da Menschen anders addieren und multiplizieren. Annahmen: • informationsverarbeitende Prozesse – sind formal beschreibbar – operieren auf Repräsentationen • Kognitive Leistungen sind unabhängig von der materiellen Basis. d.h. unabhängig davon, ob die Prozesse im Gehirn ablaufen oder auf einem technischen Gerät (Computer?). 7 KI 1, WS 2002/03, Kapitel 1 Methoden: • Theoretische Analyse kognitiver Funktionsbereiche • Modellierung kognitiver Prozesse durch Computer(-programme) • empirische Untersuchungen Verhalten, auch biologische Grundlagen, Psychologie, Neurologie Beim Menschen: • Introspektion • Problemlösungsprotokolle (Lautes Problemlösen) • Zeitmessungen 1.2.2 Philosophische Aspekte der Künstlichen Intelligenz Einige philosophische Richtungen Materialismus Es gibt nichts außer der Materie. Diese bewirkt auch den Geist bzw. die Gedanken eines Menschen. D.h. nach unserem Wissenschaftsverständnis: alles was einen Menschen ausmacht ist prinzipiell analysierbar mittels naturwissenschaftlicher Methoden (Chemie, Physik, Biologie, ...) also: Im Prinzip auch konstruierbar Behaviorismus Nur das Beobachtbare ist Gegenstand der Wissenschaft. Nur verifizierbare Fragen sind sinnvolle Fragen. Glauben, Ideen, Wissen sind nicht direkt, sondern nur indirekt beobachtbar. Bewußtsein, Ideen, Glaube, Furcht, usw sind Umschreibungen für bestimmte Verhaltensmuster Problem dieser Sichtweise: zum Verifizieren braucht man evtl. unendlich viele Beobachtungen. Zum Falsifizieren kann eine genügen. Systeme sind äquivalent, wenn sie gleiches Input-OutputVerhalten zeigen. Funktionalismus geistige Zustände (Ideen, Glauben,Furcht, ...) sind (funktionale) interne Zustände eine komplexen Systems Röhren-Radio Transistor-Radio sind funktional äquivalent. Radio und CD-Player nicht. Der Zustand S1 des Systems A is funktional äquivalent zu ” Zustand S2 des Systems B, gdw. A und B bei gleicher Eingabe die gleiche Ausgabe liefern und in funktional äquivalente Zustände übergehen “ 8 KI 1, WS 2002/03, Kapitel 1 1.3 Was ist intelligentes Denken / Verhalten? Wann hat man das Ziel erreicht, einen intelligenten Agenten zu programmieren? Analoge Fragen: Kann eine Maschine denken? Kann ein Computer/ Roboter ein Bewußtsein haben? Kann ein Computer etwas verstehen? Alan Turings Vorschlag zum Testen der Fähigkeit eines Computers: ein Simulationsspiel: der Turingtest. Es gibt zwei Spieler: A und B. A befragt B per Terminal und soll herausfinden, ob B ein Mensch oder ein Computer (Computer-programm) ist. Kommunikationsleitung A B Texte (bzw. Text + Video) Ein Computerprogramm (B) besteht den Turingtest, wenn es so gut antwortet wie ein Mensch. Das Interview soll ca 30 Minuten dauern Problem: Dieser Test ist nicht objektiv, sondern hängt ab: • von den Fähigkeiten des Spielers A • vom Wissen des Spielers A über aktuelle Fähigkeiten eines Computers Man kann die Objektivität verbessern durch Wiederholen des Experimentes durch verschiedene A-Spieler und eine nachfolgende Abstimmung. 1.3.1 Gegenargumente zur Aussagekraft des Turingtests Datenbank-Argument (jukebox-argument) Die Anzahl der Eingaben und Ausgaben ist begrenzt (30 min tippen), alle möglichen Dialoge könnte man vorher in einer großen Datenbank ablegen. Die Antworten werden aus der Datenbank geholt. Frage: Ist diese Datenbank + Abfragemechanismus intelligent? Leider benötigt man dafür mehr Datenbankeinträge als Atome im Universum. Aber: siehe ELIZA: ein Programm das einen einen Psychotherapeuten simuliert. • Es gibt vorgefertigte Phrasen, die zufällig ausgewählt werden, wenn das System nichts versteht: Erzählen sie etwas aus ihrer Jugend!“ ” KI 1, WS 2002/03, Kapitel 1 9 • Methode der Textverarbeitung: Suche nach Schlüsselwörtern in der Eingabe und Patternmatching. Daraus wird eine Ausgabe generiert: Erzählen sie mir mehr über xyz!“ ” 1.3.2 Starke / schwache KI-Hypothese Starke KI-Hypothese: • Ein entsprechend gut programmierter Computer hat Verstand und kann denken • Es gibt keinen prinzipiellen Unterschied zwischen einem Menschen und einer Maschine Ein Testverfahren dazu könnte der Turingtest sein. Schwache KI-Hypothese: man kann alle intelligenten Fähigkeiten eines Menschen auch mittels eines Computerprogramms hervorbringen Gedankenexperiment Chinesischer Raum (von John Searle) Ziel dieses Gedankenexperimentes ist der Nachweis, dass ein technisches System kein Verständnis der Inhalte hat, die verarbeitet werden, bzw. dass es keinen verstehenden Computer geben kann. Jemand, der kein chinesisch versteht, sitzt in einem Raum, es gibt dort ein dickes Handbuch, und einen Stapel beschriftete Blätter. Durch einen Schlitz erhält die Person einen Zettel mit chinesischen Schriftzeichen. Unter Zuhilfenahme des Handbuchs und der bereits beschrifteten Blätter erzeugt er neue Zettel auf seinem Stapel und einen neuen beschrifteten Zettel (mit chinesischen Schriftzeichen) und reicht diesen nach außen. Fragen: • Versteht derjenige in chinesischen Raum chinesisch ? • versteht das Gesamtsystem chinesisch ? Searles Argument: kein Teil versteht etwas vom Inhalt, also kann das System nichts verstehen. Gegenargument (behaviouristisch): das Gesamtsystem versteht etwas. 10 KI 1, WS 2002/03, Kapitel 1 Prothesen-Gedankenexperiment Es besteht aus folgender Überlegung: Das Gehirn besteht aus Neuronen. Annahme: Man kann funktional gleiche elektronische Bauteile (elektronische Neuronen) herstellen. Prothesenexperiment: Ersetze mit einer (zukünftigen chirurgischen Technik) einzelne Neuronen durch elektronische Neuronen. Wird sich die Funktionalität des Gehirns ändern? Ab welcher Anzahl von elektronischen Neuronen wird sich das Prothesen-Gehirn in einen Computer verwandeln, der nichts versteht? Entweder baut das Gehirn nur auf Neuronen auf, oder es gibt etwas, das noch unbekannt ist. Totaler Turingtest Nötig zum Feststellen von intelligentem Verhalten“ ist eigentlich: ” Totaler Turingtest: Kann man einen Roboter(in) bauen, der in seinen Fähigkeiten nicht vom Menschen unterscheidbar ist? Erweiterung des Bildübertragung. Turingtestes um weitere Medien: Videokamera und Es gibt ein Buch von Dreyfus, in dem Argumente erläutert werden und der Standpunkt vertreten wird, dass man kein Programm schreiben kann, das intelligentes Verhalten im Sinne des totalen Turingtests zeigt. Zusammenfassend ist das Argument in etwa: Intelligenz kann man nur insgesamt implementieren oder gar nicht. “ ” 1.3.3 Symbolverarbeitungshypothese Konnektionismus vs. physikalisches Symbolsystem: basiert auf Symbolen, denen eine Bedeutung in der Realität zugeordnet werden kann. Aus einer eingegeben Symbolstruktur (String aus Symbolen o.ä.) werden sukzessive weitere Symbolstrukturen erzeugt und evtl. auch ausgegeben. Symbolverarbeitungshypothese (A. Newell and H. Simon) KI 1, WS 2002/03, Kapitel 1 11 Ein physikalisches Symbolsystem kann so konstruiert werden, daß es intelligentes Verhalten zeigt (den Turingtest besteht) Ginsbergs Beschreibung der Künstlichen Intelligenz: Ziel der KI ist die Konstruktion eines physikalischen Symbolsystems, das zuverlässig den Turingtest besteht. Hypothese des Konnektionismus: Man benötigt subsymbolische, verteilte, parallele Verarbeitung, um eine Maschine zu konstruieren, die intelligentes Verhalten zeigt (den Turingtest besteht) technische Hypothese dazu ist: Man benötigt künstliche neuronale Netze. Gegenargument dazu: künstliche neuronale Netze kann man programmieren und auf normaler Hardware simulieren 1.3.4 KI-Paradigmen • Physikalisches Symbolsystem: (explizites Programmieren, Logik) Stärken: Ziehen von Schlüssen, strategische Spiele, Planen, Konfiguration, Logik, . . . • künstliches neuronales Netz Stärken: Erkennung in Bildern, Musterverarbeitung Verarbeitung verrauschter Daten, Maschinelles Lernen, adaptive Systeme (Musterlernen) Für ein komplexes KI-System benötigt man alle Paradigmen 1.3.5 Ausrichtungen der Künstlichen Intelligenz heute: kognitiv ausgerichtete K.I. Kognitionswissenschaft “ ” Untersuchung und Modellierung von intelligenten, menschlichen Fähigkeiten: Sprachverstehen, Bildverstehen, Planen, . . . ingenieurmäßig ausgerichtete K.I. Bereitstellung von Methoden, Techniken und Werkzeugen zum Lösen komplexer Anwendungsprobleme, die kognitive Fähigkeiten erfordern. (Deduktionstechniken, KI-Programmiersprachen, neuronale Netze als Mustererkenner, Lernalgorithmen, wissensbasierte Systeme: Expertensysteme“) ” Die Arbeitshypothese in der Vorlesung: Ingenieurmäßige Ausrichtung, Verwendung von Logik in verschiedenen Varianten, direkt programmierbare Methoden. Einige Gebiete der Künstlichen Intelligenz: KI 1, WS 2002/03, Kapitel 1 12 • Programmierung strategischer Spiele (Schach, ...) • Automatisches Problemlösen und Beweisen • Natürlichsprachliche System (Computerlinguistik) • Bildverarbeitung • Robotik • medizinische Expertensysteme • Maschinelles Lernen 1.3.6 Bemerkungen zur Geschichte: 1950: A. Turing: Imititationsspiel 1956 J. McCarthy Dartmouth Konferenz: “artificial intelligence“ 1957- 1962 “allgemeiner Problemlöser“ Entwicklung von LISP Dameprogramm von A. Samuels (adaptierend “lernend“) Newell & Simon: GPS (General Problem Solver) 1963-1967 spezialisierte Systeme • semantische Verarbeitung (Benutzung von Spezialwissen über das Gebiet • Problem des Common Sense • Resolutionsprinzip im automatische Beweisen 1968- 1972 Modellierung von Mikrowelten • MACSYMA mathematische Formel-manipulation • DENDRAL Expertensystem zur Bestimmung von organischen Verbindungen mittels Massenspektroskopie • SHRDLU, ELIZA: erste Versuche zur Verarbeitung natürlicher Sprache 1972-77 Wissensverarbeitung als Technologie • medizinisches Expertensystem: MYCIN • D. Lenats AM (automated mathematics) • KI-Sprachentwicklungen: PLANNER, KRL PROLOG KL-ONE 1977- Entwicklung von Werkzeugen Trend zur Erarbeitung von Grundlagen; • Expertensystem-Schalen (E-MYCIN) KI 1, WS 2002/03, Kapitel 1 13 • Fifth generation project in Japan (beendet) • Computerlinguistik • künstliche neuronale Netze • logisches Programmieren • 1985 Doug Lenats CYC aktuelle Forschungsrichtungen • Technologie zum textuellen Sprachverstehen und zur Ermöglichung von Mensch-Computer-Dialogen. (Wahlster: Verbmobil-Projekt) • Robotik-Ansatz: (Embodied artificial intelligence, R. Pfeifer). sinngemäß: Eine gemeinsame Untersuchung und Entwicklung von Sensorik, Motorik, d.h. physikalische Gesetzmäßigkeiten des Roboters und der Steuerung mittels Computer (neuronalen-Netzen) ist notwendig: intelligentes Insekt“ ” • Automatische Deduktion • ... • siehe spezialisierte Konferenzen, Journals, Bücher 1.3.7 Schlussfolgerungen aus den bisherigen Erfahrungen: • Das Fernziel scheint mit den aktuellen Methoden, Techniken, Hardware und Software nicht erreichbar • Motivationen und Visionen der KI sind heute in der Informatik verbreitet. • Die direkte Programmierung von Systemen (ohne sehr gute Lernalgorithmen) hat Grenzen in der Komplexität des einzugebenden Modells (Regeln, Fakten, ...); Auch wird es zunehmend schwerer, die Systeme und die Wissensbasis zu warten und konsistent zu ändern. Das Projekt CYC von Doug Lenat zur Erzeugung eines vernünftigen Programms mit Alltagswissen durch Eingabe einer Enzyklopädie hat nicht zum erhofften durchschlagenden Erfolg geführt. • Manche Gebiete wie (computerunterstützte) Verarbeitung natürlicher ” (schriftlicher oder gesprochener) Sprache“, Robotik, Automatische Deduktion, . . . haben sich zu eigenständigen Forschungsgebieten entwickelt. • Forschungsziele sind aktuell eher spezialisierte Aspekte bzw. anwendbare Verfahren: Mensch-Maschine-Kommunikation, Lernverfahren (adaptive Software); Repräsentationsmechanismen; eingebettete K.I., nichtStandard-Logiken und Schlussfolgerungssysteme, . . . KI 1, WS 2002/03, Kapitel 1 1.3.8 14 Analyse und Programmieren von Teilaspekten Folgende Arbeitshypothese steht hinter der Untersuchung von Teilaspekten der Künstlichen Intelligenz: Untersuche und programmiere Teilaspekte an kleinen Beispielen. Wenn das klar verstanden ist, dann untersuche große Beispiele und kombiniere die Lösungen der Teilaspekte. Das ergibt zwei Problematiken: Kombination der Lösungen von Teilaspekten. Die Lösungen sind oft kombinierbar, aber es gibt genügend viele Beispiele, die inkompatibel sind, so dass die Kombination der Methoden oft nicht möglich ist bzw. nur unter Verzicht auf gute Eigenschaften der Teillösungen. realistische Beispiele (scale up) Wenn die Software-Lösung für kleine Beispiele (Mikrowelten) funktioniert, heißt das noch nicht, dass diese auch für realistische Beispiel (Makrowelten) sinnvoll funktioniert bzw. durchführbar ist. 1.3.9 Wissensrepräsentation Wissensrepräsentationshypothese: (B. Smith) “Die Verarbeitung von Wissen läßt sich trennen in: Repräsentation von Wissen, wobei dieses Wissen eine Entsprechung in der realen Welt hat; und in einen Inferenzmechanismus, der Schlüsse daraus zieht.“ Dieses Paradigma ist die Basis für alle Programme in Software/Hardware, deren innere Struktur als Modellierung von Fakten, Wissen, Beziehungen und als Operationen, Simulationen verstanden werden kann. 1.3.10 Repräsentation und Schließen Ein Repräsentations- und Inferenz-System (representation and reasoning system) besteht, wenn man es abstrakt beschreibt, aus folgenden Komponenten: 1. Eine Formale Sprache Zur Beschreibung der gültigen Symbole, der gültigen syntaktischen Formen einer Wissensbasis, der syntaktisch korrekten Anfragen usw. Im allgemeinen kann man annehmen, dass eine Wissensbasis eine Multimenge von gültigen Sätzen der formalen Sprache ist. 2. Eine Semantik Das ist ein Formalismus, der den Sätzen der formalen Sprache eine Bedeutung zuweist. Im allgemeinen ist die Semantik modular, d.h. den kleinsten Einheiten wird eine Bedeutung zugeordnet, und darauf aufbauend den Sätzen, wobei die Bedeutung der Sätze auf der Bedeutung von Teilsätzen aufbaut. KI 1, WS 2002/03, Kapitel 1 15 3. Eine Inferenz-Prozedur (operationale Semantik) die angibt, welche weiteren Schlüsse man aus einer Wissensbasis ziehen kann. I.a. sind diese Schlüsse wieder Sätze der formalen Sprache. Diese Inferenzen müssen korrekt bzgl. der Semantik sein. Dieses System kann auf Korrektheit geprüft werden, indem man einen theoretischen Abgleich zwischen Semantik und operationaler Semantik durchführt. Die Implementierung des Repräsentations- und Inferenz-Systems besteht aus: 1. Parser für die formale Sprache 2. Implementierung der Inferenzprozedur. Interessanterweise trifft diese Beschreibung auch auf andere Formalismen zu: • Programmiersprachen • Logische Kalküle