Wolfgang Ertel Grundkurs Künstliche Intelligenz Eine praxisorientierte Einführung 2., überarbeitete Auflage Mit 127 Abbildungen STUDIUM VIEWEG+ TEUBNER Inhaltsverzeichnis 1 Einführung 1.1 1.2 1.3 1.4 1.5 2 3 4 Was ist Künstliche Intelligenz Geschichte der KI Agenten Wissensbasierte Systeme Übungen 1 1 6 12 15 16 Aussagenlogik 19 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 19 20 22 27 30 32 33 33 Syntax Semantik Beweisverfahren Resolution Hornklauseln Berechenbarkeit und Komplexität Anwendungen und Grenzen Übungen Prädikatenlogik erster Stufe 37 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 38 39 43 47 49 54 56 59 62 62 Syntax Semantik Quantoren und Normalformen Beweiskalküle Resolution Automatische Theorembeweiser Mathematische Beispiele Anwendungen Zusammenfassung Übungen Grenzen der Logik 65 4.1 4.2 4.3 4.4 4.5 65 67 69 72 74 Das Suchraumproblem Entscheidbarkeit und Unvollständigkeit Der fliegende Pinguin Modellierung von Unsicherheit Übungen X 5 6 Inhaltsverzeichnis Logikprogrammierung mit P R O L O G 75 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 76 76 80 81 83 84 86 88 89 Suchen, Spielen und Probleme lösen 6.1 6.2 6.3 6.4 6.5 6.6 6.7 7 8 9 PROLOG-Systeme und Implementierungen Einfache Beispiele Ablaufsteuerung und prozedurale Elemente Listen Selbstmodifizierende Programme Ein Planungsbeispiel Constraint Logic Programming Zusammenfassung Übungen Einführung Uninformierte Suche Heuristische Suche Spiele mit Gegner Heuristische Bewertungsfunktionen Stand der Forschung Übungen 93 93 100 106 115 119 121 123 Schließen mit Unsicherheit 127 7.1 7.2 7.3 7.4 7.5 7.6 129 136 145 160 173 174 Rechnen mit Wahrscheinlichkeiten Die Methode der Maximalen Entropie L E X M E D , ein Expertensystem für Appendizitisdiagnose Schließen mit Bayes-Netzen Zusammenfassung Übungen Maschinelles Lernen und Data Mining 179 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 185 187 194 203 219 222 227 232 235 237 Datenanalyse Das Perzeptron, ein linearer Klassifizierer Die Nearest Neighbour-Methode Lernen von Entscheidungsbäumen Lernen von Bayes-Netzen Der Naive-Bayes-Klassifizierer Clustering Data Mining in der Praxis Zusammenfassung Übungen Neuronale Netze 243 9.1 9.2 244 249 Von der Biologie zur Simulation Hopfield-Netze Inhaltsverzeichnis 9.3 9.4 9.5 9.6 9.7 9.8 9.9 Neuronale Assoziativspeicher Lineare Netze mit minimalem Fehler Der Backpropagation-Algorithmus Support-Vektor-Maschinen Anwendungen Zusammenfassung und Ausblick Übungen 10 Lernen durch Verstärkung (Reinforcement Learning) 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 Einführung Die Aufgabenstellung Uninformierte kombinatorische Suche Wert-Iteration und Dynamische Programmierung Ein lernender Laufroboter und seine Simulation Q-Lernen Erkunden und Verwerten Approximation, Generalisierung und Konvergenz Anwendungen Fluch der Dimensionen Zusammenfassung und Ausblick Übungen 11 Lösungen zu den Übungen 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 11.10 Einführung Aussagenlogik Prädikatenlogik Grenzen der Logik PROLOG Suchen, Spielen und Probleme lösen Schließen mit Unsicherheit Maschinelles Lernen und Data Mining Neuronale Netze Lernen durch Verstärkung XI 256 264 270 277 279 280 281 283 283 286 288 289 292 294 299 300 301 302 303 304 307 307 308 309 311 311 313 315 320 325 326 Literaturverzeichnis 329 Index 337