Künstliche Intelligenz Wenn Computer Probleme lösen

Ähnliche Dokumente
Grundlagen der Kognitiven Informatik

Seminar: Denken und Problemlösen Dozent: Prof. Dr. Joachim Funke. Referent: Philip Furley

Einführung in die Angewandte Informatik

Computermodelle des Denkens und Problemlösens

Einführung in die Angewandte Informatik

Grundlagen der Kognitiven Informatik

11. Rekursion, Komplexität von Algorithmen

KI erforscht, wie man Computer Dinge machen lassen könnte, die Menschen im Moment noch besser erledigen.

Einführung in die AI

Teil VIII. Weiterführende Veranstaltungen im FG Wissensverarbeitung

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Künstliche Intelligenz

Induktion und Rekursion

Programmieren 1 C Überblick

Grundlagen der Kognitiven Informatik

10.1 Blinde Suche Blinde Suche. Grundlagen der Künstlichen Intelligenz Breitensuche: Einführung BFS-Tree. 10.

ALPII Objektorientierte Programmierung

Seminar Künstliche Intelligenz Wintersemester 2013/14

Uninformierte Suche in Java Informierte Suchverfahren

STRIPS. Hauptseminar: Kognitive Systeme. Stefanie Sieber Norbert Wächtler

Algorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur

Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Kognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig

Vorkurs Informatik WiSe 17/18

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche

Zusammenfassung KI (von Marco Piroth)

Algorithmen und Datenstrukturen (für ET/IT)

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

Kasparov versus Deep Blue. Till Tantau. Institut für Theoretische Informatik Universität zu Lübeck

9.1 Tiefensuche. Grundlagen der Künstlichen Intelligenz. 9.1 Tiefensuche. 9.2 Iterative Tiefensuche. 9.3 Blinde Suche: Zusammenfassung

Künstliche Intelligenz

Klausur Grundlagen der Künstlichen Intelligenz

Algorithmen und Datenstrukturen (für ET/IT)

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1

Grundlagen der Künstlichen Intelligenz

Vorkurs Informatik WiSe 16/17

Teil 14: Rekursive Programmierung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden

Induktion und Rekursion

Intelligente Systeme

Intelligente Systeme

Woher Methoden der KI stammen Gebiete der Künstlichen Intelligenz wissensbasierte Systeme

2 Problemlösen und Suche

Grundlagen der Künstlichen Intelligenz

Beim rekursiven Aufruf einer Funktion wird jeweils ein Duplikat der gesamten Funktion im Speicher abgelegt.

Technische Universität München WS 2007/08 Informatik / Lehrstuhl 7 Übungsblatt 5 Esparza/Schwoon 16. November Übung zu Logik

Jochen Ziegenbalg Oliver Ziegenbalg Bemd Ziegenbalg. Algorithmen. von Hammurapi bis Gödel. 2., verbesserte Auflage Verlag g;> Harri Deutsch

Motivation für Suchverfahren. Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Vorlesung: Künstliche Intelligenz

Globalübungsaufgabe1 (All Pair Shortest Path):

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Backtracking mit Heuristiken

2 Problemlösen und Suche

Algorithmen. Von Labyrinthen zu. Gerald Futschek

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

Methoden der KI in der Biomedizin Logische Agenten 2

2 Problemlösen und Suche

Beispiele. mit. Beispiel 2.3. Suche einen Weg von nach. Tiefensuche bzw. Breitensuche.

Kapitel MK:II. II. Wissensrepräsentation

propositionales bildhaftes motorisches

A O T. Grundlagen der Künstlichen Intelligenz

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Künstliche Intelligenz

Case-Based Reasoning und anderen Inferenzmechanismen

Ant Colony Optimization (ACO)

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1

Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Praktische Grenzen der Berechenbarkeit

Rationale Agenten Rationalität

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

Künstliche Intelligenz

Aufgabe 1 (Allgemeines)

40. Algorithmus der Woche Das Travelling Salesman Problem oder die optimale Tour für den Nikolaus

Die Ausgangsposition. Der aus drei Scheiben bestehende Turm steht auf Platz 1.

Grundlagen der Künstlichen Intelligenz

Heuristische Suchverfahren

Graphentheorie. Vorkurs Informatik WS 2016/2017. Dennis Aumiller

Divide and Conquer. Teile-und-herrsche. Ferd van Odenhoven. 7. Oktober 2010

Mathematisch-algorithmische Grundlagen für Big Data

Das Problem des Handlungsreisenden

Organisatorisches. Zeit und Ort: Di 8 10 MZH 1090 Mi MZH 1110

Übersicht. Künstliche Intelligenz: 3. Problemlösen durch Suche Frank Puppe 1

Einstieg in die Informatik mit Java

Inhalt. 7 Rekursionen Eine unendliche Geschichte Fakultät Türme von Hanoi Dr.

Suchen und Sortieren

Konstruktion von Common Sense-Ontologien durch Analyse natürlicher Sprache

Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I

Denken und Problemlösen: Einsicht und Umstrukturierung beim Problemlösen. Vanessa Mayer

Backus-Notation und Syntaxanalyse

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Logik für Informatiker

Uninformierte Suche in Java Informierte Suchverfahren

Einführung in die Informatik I

Logik. Vorlesung im Wintersemester 2010

Künstliche Intelligenz

Künstliche Intelligenz für Ingenieure

Transkript:

Künstliche Intelligenz Wenn omputer Probleme lösen Ute Schmid http://www.inf.uos.de/schmid KI erforscht, wie man omputer Dinge machen lassen könnte, die Menschen im Moment noch besser erledigen. Elaine Rich

Ziele der KI Ingenieurswissenschaftlich: Methoden zur maschinellen Lösung von Problemen (Techniken der Wissensrepräsentation, Inferenz, Suchalgorithmen, Klassifikation, Lernen,...) Wissenschaftliche Erkenntnis: Objektivierung und Modellierung von kognitiven Prozessen (Wahrnehmung, Denken, Schlussfolgern, Sprachverstehen, Wissenserwerb,...) Formalwissenschaftlich: (Weiter-)Entwicklung von Formalismen zur eschreibung und ewertung von Problemen und lgorithmen (Logik-Kalküle, Graphtheorie, Lernbarkeitstheorie,...) KI ist notwendigerweise interdisziplinär! ++ Mathematik ++ ++ Informatik ++ ++ Neurobiologie ++ ++ Kognitive Psychologie ++ ++ Kognitive/formale Linguistik ++ ++++ Philosophie der Erkenntnis ++++

Themengebiete der KI Problemlösen und Planen: Suchstrategien und Techniken der Problemreduktion (Teilzielbildung) nwendung: Formelmanipulation, Konfigurieren, blaufplanung, Spiele Inferenz: logische Deduktion, Theorembeweis, lltagsschliessen (unscharfes/statistisches Schliessen) nwendung: Frage-/ntwort-Systeme, Expertensysteme Wissensrepräsentation: Semantische Netze, Schemata, Graphen Grundlegend für alle KI-nwendungen, die auf Wissensbasen aufsetzen Maschinelles Lernen: egriffslernen, Entdeckungslernen, Regellernen nwendung: Objekterkennung, Klassifikation, data mining, Prozess-Steuerung utomatisches eweisen/programmieren: Generierung oder Überprüfung von eweisen/programmen nwendung: Verifikation von Programmen Problemlösen

Was ist ein Problem? Schaffe eine friedliche Welt Male ein schönes ild Löse die Mathe-Hausaufgabe Gehe auf kürzestem Weg von Zuhause zur Schule und kaufe unterwegs Pausenbrot Löse eine kryptoarithmetische ufgabe,... 1 2 1 2 3 3 4 DONLD GERLD ------ ROERT

Definition: Problem Problem: nfangszustand, Zielzustand, Operatoren Offenes/Geschlossenes Problem: Sind nfangs- und Zielzustand nicht klar definiert, handelt es sich um ein offenes Problem, sonst um ein geschlossenes Problem. Sind die Operatoren klar definiert handelt es sich um ein Transformations-Problem, sonst um ein Synthese-Problem. Schaffe eine friedliche Welt (offenes Problem) Male ein schönes ild (offenes Problem) Löse die Mathe-Hausaufgabe (geschlossenes Problem, Synthese-Problem) Gehe auf kürzestem Weg von Zuhause zur Schule und kaufe unterwegs Pausenbrot (geschlossenes Problem, Transformations-Problem) Löse eine kryptoarithmetische ufgabe (geschlossenes Problem, Transformations-Problem)

Problemzustände nfangszustand: ffe steht links auf dem oden, Kiste steht rechts auf dem oden, anane hängt in der Mitte an der Decke Zielzustand: ffe hat die anane (Kiste steht in der Mitte, ffe steht auf der Kiste) Zwischenzustand: ffe steht rechts auf dem oden, Kiste steht rechts auf dem oden, anane hängt in der Mitte an der Decke 1 2 3 4 Ein Zustand besteht aus einer Menge von Fakten. Es werden nur relevante spkete abgebildet (Farbe der Kiste ist irrelevant). bgeschlossenheits-nnahme: In einem Zustand nicht genannte Fakten werden als nicht gegeben angenommen (Im nfangszustand hat der ffe die anane nicht). Es kann mehrere Zielzustände geben: Zustände, in denen der ffe die ananne hat. pos(ffe, Rechts), aufoden, pos(kiste, Rechts), pos(anane, Mitte) ort(links), ort(mitte), ort(rechts)

llgemeine Form: WENN Problemlöse-Operatoren nwendungsbedingung: Fakten, die erfüllt sein müssen nwendungsbedingung DNN ktion: Handlung, die ausgeführt wird, definiert über ihre uswirkung ddiere neue Fakten, die nach ktion gelten, Lösche Fakten, die nach ktion nicht mehr gelten nmerkung: hier Operator-Schema mit Variablen (allgemeinste Form, um Operatoren zu repräsentieren) GeheVonNach(x,y): nwendungsbedingung: ort(x), ort(y), pos(ffe, x), auf-boden uswirkung: DD pos(ffe,y); DEL pos(ffe, x) ktion aktueller Zustand Operatoranwendung Folgezustand pos(ffe, Links) auf-boden pos(kiste, Rechts) pos(anane, Mitte) ort(links) ort(mitte) ort(rechts) gehevonnach(links, Rechts) pos(ffe, Links) auf-boden pos(kiste, Rechts) pos(anane, Mitte) pos(ffe, Rechts) ort(links) ort(mitte) ort(rechts)

Das ffe-anane Problem nfangszustand: pos(ffe,links), auf-boden, pos(kiste,rechts), pos(anane,mitte) Zielzustand: pos(ffe, Mitte), auf-kiste, pos(kiste, Mitte), hat-banane Raumpositionen: ort(links), ort(mitte), ort(rechts) [statisch] Operatoren: GeheVonNach(x,y): nwendungsbedingung: ort(x), ort(y), pos(ffe, x), auf-boden uswirkung: DD pos(ffe,y); DEL pos(ffe, x) SchiebeKiste(x,y): nwendungsbedingung: ort(x), ort(y), pos(ffe, x), pos(kiste, x), auf-boden uswirkung: DD pos(ffe, y), pos(kiste, y); DEL pos(ffe, x), pos(kiste, x) SteigeufKiste(x): nwendungsbedingung: ort(x), pos(ffe, x), pos(kiste, x), auf-boden uswirkung: DD auf-kiste; DEL auf-boden Greifeanane(x): nwendungsbedingung: ort(x), pos(ffe, x), pos(anane, x), auf-kiste uswirkung: DD hat-banane

Problemlösen Problemlösung: Folge von ktionen, um einen nfangszustand in einen Zielzustand zu transformieren. lternativ: Optimale Folge (möglichst wenig ktionen, möglichst billig bei ktionen mit unterschiedlichen Kosten) Problemlösen: Suche nach einer Folge von ktionen, um einen nfangszustand in einen Zielzustand zu transformieren. Wenn die Lösung bereits bekannt ist, ist Problemlösen unnötig. eispiel: rekursive erechnungsvorschrift für Turm von Hanoi Problemraum: lle möglichen Zustände eines Problems bilden einen Problemraum Graph mit Knoten als Zuständen und ktionen als Kanten. Ein Problemraum ist nicht explizit gegeben (weder beim menschlichen Problemlöser noch im Rechner): eim Problemlösen werden Teile des Problemraums in Form eines Suchbaums erzeugt.

Problemraum für das ffe-anane-problem GeheVonNach(Links,Mitte) GeheVonNach(Mitte,Links) GeheVonNach(Links,Rechts) GeheVonNach(Mitte,Rechts) GeheVonNach(Rechts,Links) GeheVonNach(Rechts,Mitte) Greifeanane(Mitte) SchiebeKiste(Rechts,Mitte) SteigeufKiste(Mitte) SchiebeKiste(Mitte,Rechts) SteigeufKiste(Rechts) SchiebeKiste(Rechts,Links) SchiebeKiste(Links,Rechts) SchiebeKiste(Mitte,Links) SchiebeKiste(Links,Mitte) SteigeufKiste(Links)

Uninformierte Suche Einfachste Strategie: Versuch-und-Irrtum (jeweils zufällig eine ktion ausführen). Systematische Strategien: Tiefensuche, reitensuche Grundidee des Tiefensuchalgorithmus: Gegeben ist eine Ordnung auf den Operatoren (Präferenz). Für den aktuellen Zustand wird diejenige ktion ausgewählt, die anwendbar ist und die höchste Präferenz besitzt. Der Folgezustand kann ein bereits besuchter Zustand sein (Zyklus): ffe könnte unendlich oft von Links zur Mitte und wieder zurück laufen. Zyklen müssen erkannt und vermieden werden. Der Folgezustand kann ein Zustand sein auf den keine weiteren ktionen annwendbar sind (Sackgasse): Die letzte ktion (die zur Sackgasse führte) muss zurückgenommen werden (backtracking).

Tiefensuch-lgorithmus 1. ktueller Zustand = nfangszustand 2. Solange ktueller Zustand Zustände vorhanden: Zielzustand Und noch unbesuchte (a) Wähle nächste anwendbare ktion aus. (b) Wenn keine ktion anwendbar ist, Dann nimm die letzte ktion zurück (markiere sie als bereits versucht) und setze ktueller Zustand auf den vorherigen Zustand, Sonst wende ktion an und setze ktueller Zustand auf den resultierenden Zustand. (c) Wenn ktueller Zustand bereits auf dem Lösungsweg liegt, Dann nimm die letzte ktion zurück (markiere sie als bereits versucht) und setze ktueller Zustand auf den vorherigen Zustand. 3. Wenn ktueller Zustand Zielzustand Dann Gib Lösung aus, Sonst Melde Problem nicht lösbar.

Tiefensuche beim ffe-anane Problem Ordnung auf den Operatoren: (1) Greifeanane, (2) SteigeufKiste, (3) SchiebeKiste, (4) GeheVonNach evorzugung von Orten: (1) Mitte, (2) Rechts, (3) Links backtracking GeheVonNach(Links,Mitte) (1) pos(ffe,mitte) auf-boden pos(kiste,rechts) pos(anane,mitte) GeheVonNach(Mitte,Rechts) (2) pos(ffe,rechts) auf-boden pos(kiste,rechts) pos(anane,mitte) SteigeufKiste(Rechts) pos(ffe,rechts) auf-kiste pos(kiste,rechts) pos(anane,mitte) (0) pos(ffe,links) auf-boden pos(kiste,rechts) pos(anane,mitte) SchiebeKiste(Rechts,Mitte) (3) (4) pos(ffe,mitte) auf-boden pos(kiste,mitte) pos(anane,mitte) Die statischen Prädikate ort(links), ort(mitte) und ort(rechts) werden bei den Zustandsbeschreibungen der Übersichtlichkeit halber weggelassen. Sackgasse SteigeufKiste(Mitte) pos(ffe,mitte) auf-kiste pos(kiste,mitte) pos(anane,mitte) Greifeanane(Mitte) pos(ffe,mitte) auf-kiste pos(kiste,mitte) pos(anane,mitte) hat-banane (5) (6)

Heuristische Suche Menschen suchen im llgemeinen nicht systematisch nach einer Problemlösung. Sie haben häufig Vorannahmen/Vermutungen, welche ktionen eher zum Erfolg führen als andere: Heuristik, Erfahrung, Hintergrundwissen,... In der Informatik gibt es eine grosse Klasse von Problemen, die nicht effizient mit systematischen Suchverfahren gelöst werden können (riesige Suchbäume, exponentieller ufwand). KI-lgorithmen: Verwendung von Heuristiken z.. Schachprogramme: Mass zur ewertung einer Spielstellung nach ihren hancen, zum Sieg zu führen Einfachste heuristische Strategie: Hill limbing Idee der Unterschiedsreduktion: Wähle jeweils die ktion, die den Unterschied zwischen dem aktuellen Zustand und dem Zielzustand am stärksten verringert. Problem bei heuristischen Strategien: Wenn man Pech hat, findet man die Lösung nicht (man verrennt sich ). Problem der lokalen Maxima: Ziel

Heuristiken Das ufstellen einer Heuristik bedarf einer Problemanalyse. Naive ewertungsfunktionen: ffe-anane Problem: ein Punkt für ffe bei der Kiste, zwei Punkt für Kiste in Mitte, drei Punkte für ffe und Kiste in Mitte, vier Punkte für ffe auf der Kiste in der Mitte. Hobbits & Orcs: Zahl der Personen auf dem Zielufer (Problem: Es müssen einmal zwei Personen zurück transportiert werden, um das Problem zu lösenn) chter-puzzle: Zahl der korrekt platzierten Plättchen (korrekte Sequenz ist wichtiger) Es ist nicht einfach, sinnvolle Heuristiken zu entwickeln! möglicher nfangszustand 2 1 6 4 8 7 5 3 Zielzustand 1 2 3 4 5 6 7 8 Operator: Verschiebe das leere (schwarze) Feld um eine Position nach links, rechts, oben oder unten

Das Hobbits & Orcs Problem Lösungsweg: (1) b H H H O O O (2) H H O O b H O nfangszustand: Drei Hobbits (H) und drei Orcs (O) befinden sich am linken Ufer eines Flusses. Zielzustand: lle sechs befinden sich am rechten Ufer des Flusses. Operator: Mit einem oot (b) können mindestens ein und maximal zwei Passagiere gleichzeitig von einem Ufer zum anderen transportiert werden. nwendungsbedingung: n keinem Ufer dürfen mehr Orcs als Hobbits sein (da die Orcs sonst die Hobbits auffressen). (3) b H H H O O (4) H H H O b O O O (5) b H H H O (6) H O O O b H H O O (7) b H H O O (8) O O H O b H H H O (9) b O O O (10) O H H H b H H H O O (11) b O O (12) H H H O b H H H O O O

nmerkungen: ester heuristischer lgorithmus: (Nils Nilsson) Nur wenn die heuristische Funktion die tatsächliche Distanz zum Ziel unterschätzt sind solche lgorithmen effizient (mathematisch beweisbar). KI-Planung: llgemeine Sprache zur Repräsentation von Problemen, effiziente lgorithmen (Graphplan, HSP,...) Zweijährlicher Wettbewerb von Planern: http://www.dur.ac.uk/d.p.long/competition.html ktuelle Forschungsbereiche: Fallbasierte Strategien (npassung von Lösungen bekannnter Probleme), Lernen aus Problemlöseerfahrung Und was hat das mit KI zu tun? Was, KI ist so langweilig? Programmieren von Suchalgorithmen soll intelligentes Verhalten abbilden? KI befasst sich damit, Probleme auf omputern lösbar zu machen, die bislang nicht autmatisch gelöst werden können. Teilgebiet der KI: Kognitive Modellierung Versuch der eschreibung menschlichen Problemlöseverhaltens basierend auf empirischen Ergebnissen der kognitiven Psychologie. Häufig führt die erfolgreiche Konstruktion von lgorithmen zur Demystifizierung eines Problembereichs!

Die Türme von Hanoi Der Legende nach sind die Mönche von Hanoi seit Jahrhunderten damit beschäftigt, einen Turm aus 64 Scheiben von einer Position auf eine andere zu versetzen. Nach Meinung der Mönche soll die Welt untergehen, wenn der Turm komplett versetzt ist. Es gibt drei Stäbe. Ursprünglich steht der Turm auf einem dieser Stäbe. Ziel ist es, den Turm auf einem anderen Stab zu haben. Der dritte Stab darf als Zwischenablage genutzt werden. Jede Scheibe hat eine unterschiedliche Grösse. Eine Scheibe darf nur auf eine grössere Scheibe oder auf einen leeren Stab gelegt werden. Das 3-Scheiben Problem: 1 2 3

Problemanalyse für die Türme von Hanoi nzahl der Zustände: bei drei Stäben und Scheiben (Wahrscheinlichkeitstheoretisches Gesetz der Variation) Minimale nzahl von ktionen zur Lösung des -Scheiben Problems: -Scheiben Problem: eine ewegung -Scheiben Problem: eine ewegung für die grosse, zwei ewegungen für die kleine Scheibe -Scheiben Problem: eine ewegung für die grosse, zwei für die mittlere, vier für die kleine... 64-Scheiben Problem: fünf Trillionen Jahre, wenn alle 10 Sekunden eine Scheibe bewegt wird. 2 x 30000 25000 20000 15000 10000 5000 0 0 5 10 15 Exponentielles Wachstum x Scheiben Zustände ktionen 1 3 1 2 9 3 3 27 7 4 81 15 5 243 31 6 729 63 7 2187 127 8 6561 255 9 19683 511 10 59049 1023

Problemraum für das 3-Scheiben Problem (ewegungen von gepunktet, ewegungen von gestrichelt, ewegungen von durchgezogen)

... Die Türme von Hanoi das Türme von Hanoi-Problem ist nicht mit systematischer Suche lösbar: exponentielles Wachstum! Heuristische Suchverfahren sind notwendig. lternativ: Identifizieren eines speziellen Lösungsalgorithmus (Psychologische Studien zeigen, dass vor allem mathematisch begabte Schüler dazu in der Lage sind.) Das Türme von Hanoi Problem hat eine sehr regelmässige Struktur: Problemraum als ineinander verschachtelte Dreiecke. Rekursive erechnungsvorschrift hanoi(n, von, via, nach) = WENN DNN tue nichts SONST hanoi(n-1, von, nach, via) bewegescheibe(von, nach) hanoi(n-1, via, von, nach).

Rekursive Probleme Rekursion meint Selbstbezüglichkeit, also die Definition eines Problems unter ezug auf sich selbst. Die wohl bekannteste rekursive Definition einer mathematischen Funktion ist die der Fakultät: Die Fakultät einer natürlichen Zahl berechnet sich durch Multiplikation von mit der Fakultät der Zahl. eispielsweise gilt:. Um also die Fakultät der Zahl 4 auszurechnen, muss man auf das Ergebnis faku(3) zurückgreifen. Ist dieses Ergebnis nicht bekannt, so muss nun zunächst faku(3) berechnet werden, etc. Für faku(0) ist das Ergebnis direkt definiert. Das Ergebnis 1 kann an die wartende Funktion faku(1) zurückgegeben werden, die nun berechnet werden kann und ihr Ergebnis an faku(2) weitergibt, etc. Es ist wichtig, dass es einen Fall gibt, für den das Ergebnis direkt ermittelt werden kann. nsonsten würde man bei der erechnung endlos in die Tiefe steigen (Nicht-Termination).

barbeitung der rekursiven Funktion hanoi von Scheibe nach via hanoi(3, 1, 2, 3) hanoi(2, 1, 3, 2) hanoi(2, 2, 1, 3) hanoi(1, 1, 2, 3) hanoi(1,3, 1, 2) hanoi(1, 2, 3, 1) hanoi(1, 1, 2, 3) bewegescheibe(1,3) bewegescheibe(1,2) bewegescheibe(3,2) bewegescheibe(1,3) bewegescheibe(2,1) bewegescheibe(2,3) bewegescheibe(1,3) Scheibe Scheibe Scheibe Scheibe Scheibe Scheibe Scheibe

Literatur für den Einstieg R. Kurzweil: Das Zeitalter der Künstlichen Intelligenz. Hanser. (schöner ildband, deckt alle ereiche der KI anschaulich ab) P. Winston. Künstliche Intelligenz. ddison-wesley. (alle Suchalgorithmen in einfacher Form; klassisches KI-Lehrbuch) U. Schmid. omputermodelle des Problemlösens. In J. Müsseler und W. Prinz (Hrsg.), Lehrbuch llgemeine Psychologie, Spektrum Verlag. (2003, siehe http://www.inf.uos.de/schmid/pub-ps/lb-end.pdf) U. Schmid, U. & M. Kindsmüller. Kognitive Modellierung: Eine Einführung in die logischen und algorithmischen Grundlagen. Spektrum Verlag. (einfacher Einstieg in KI-Formalismen)