Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Einführung in die Methoden der Künstlichen Intelligenz --- Vorlesung vom 24.4.2007 --Sommersemester 2007 Prof. Dr. Ingo J. Timm, Andreas D. Lattner Professur für Wirtschaftsinformatik und Simulation (IS) 3. Uninformierte Suche Prof. Timm 1 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Wohl definierte Suchprobleme ... Generelles Suchproblem: Probleme und Lösungen: Initialstatus Operator oder Erfolgsfunktion Zustandsraum des Problems, das sind alle Zustände, die vom Initialzustand über Sequenzen von Aktionen zu erreichen sind. Pfade im Zustandsraum sind Sequenzen von Aktionen von Zustand a zu Zustand z. Zieltest: Einfache Überprüfung, ob aktueller Zustand = Ziel. Abstrakte Eigenschaften testen (Bsp.: Schach). Zusätzlich: Testen, welche Sequenz “billiger” ist (Pfadkosten g). Initialzustand, Operator-Satz, Zieltest und Pfadkostenfunktion definieren zusammengenommen ein Problem. Lösung Pfad vom Initialzustand zum Ziel Problemlösungsagenten Staubsauger-Problem – Zustände 8 Zustände wie in Bild – Operatoren Move right, left and suck – Ziel-Test Kein Staub – Pfadkosten Jeder Schritt kostet eine Einheit Beispielprobleme Prof. Timm 2 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Staubsauger-Problem keine Sensoren, gestrichelt: set of states Beispielprobleme 4. Suchstrategien (uninformiert, blind) • 1. 2. 3. 4. 5. 6. Komplexität – b der Verzweigungsfaktor – d die Tiefe des flachsten Knoten – m die maximale Länge eines jeden Pfades in dem Suchraum Breitensuche Uniforme Kostensuche Tiefensuche Tiefensuche (limitiert) Iterative Tiefensuche Bi-direktionale Suche Suchstrategien Prof. Timm 3 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Breitensuche Die Wurzel wird zuerst erweitert, dann alle Knoten, die von der Wurzel erzeugt worden sind usw. Alle Knoten der Tiefe d sind erweitert worden, bevor der ersten Knoten der Tiefe d+1 erzeugt wird. Kann durch GeneralSearch mit Queue implementiert werden. Zeit: O(bd), hier b=2. Suchstrategien Uniforme Kostensuche Modifiziert Breitensuche, erweitert nur den Knoten, der am wenigsten kostet (über Pfad g(n)). Breitensuche = uniforme Kostensuche mit g(n) = Tiefe(n). Problem: von S nach G, Kosten sind markiert (a). SAG ist die erste Lösung (Kosten 11). Der Algorithmus erkennt dieses nicht als Lösung, weil 11 > 5 (von B). Danach SBG als finale Lösung (b). S A 1 a) Zustandsraum 10 5 B 15 C S 5 G 5 S S S 0 b) A B C 1 5 15 A G Suchstrategien Prof. Timm 11 B C 5 15 A B C 15 G 11 G 10 4 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Tiefensuche Erweitert immer einen der Knoten auf der tiefsten Ebene des Baumes. Kann mit GeneralSearch und einer Queue, die die neuen Zustände an den Anfang hängt, implementiert werden. Suchstrategien Tiefensuche (2) Diskussion: Moderater Speicherverbrauch (nur der einzelne Pfad muß gespeichert werden), max. Tiefe m und Verzweigungsfaktor b = bm Knoten. Im Vergleich zur Breitensuche: 118 KB statt 10 PB bei Tiefe 12, das ist ein Faktor von 1:10 Milliarden weniger Speicherplatz. Zeit: O(bm). Für Probleme mit vielen Lösungen besser als Breitensuche. Aber: man kann stecken bleiben, wenn man den falschen Pfad entlang läuft. --> Tiefensuche ist nicht vollständig und nicht optimal. Deswegen sollte man vermeiden, die Tiefensuche bei Suchproblemen mit großen oder infiniten maximalen Tiefen einzusetzen. Suchstrategien Prof. Timm 5 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Limitierte Tiefensuche Verhindert die Nachteile von Tiefensuche durch Abschneiden der max. Tiefe des Pfades. Kann mit einem Spezialalgorithmus oder mit GeneralSearch mit Operatoren, die die Tiefe speichern, implementiert werden. Bsp.: Suche nach Lösung eines Weges bei 20 Städten. Wir wissen, daß die max. Pfadlänge 19 ist. Neuer Operator: Wenn man in Stadt A ist und weniger als 19 Schritte gegangen ist, generiert man einen neuen Zustand in Stadt B mit einer Pfadlänge, die um eins größer ist. Man findet garantiert die Lösung (wenn sie existiert), aber der Algorithmus ist nicht optimal. Zeit- und Speicherverbrauch ähnlich der Tiefensuche. Limitierte Tiefensuche ist vollständig aber nicht optimal. Suchstrategien Limitierte Tiefensuche (2) Pfadlänge 19 ist offensichtlich, aber wenn wir uns die Karte genau ansehen, werden wir die Pfadlänge neun feststellen (Diameter des Zustandsraums). Diameter gibt ein besseres Tiefenlimit und folglich eine effizientere Suche, aber: Diameter ist nicht oft bekannt. Iterative Tiefensuche verwendet verschiedene Tiefen, um das beste Tiefenlimit zu suchen. Suchstrategien Prof. Timm 6 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Iterative Tiefensuche Generelle Strategie zum Auffinden des besten Tiefenlimits Suchstrategien Iterative Tiefensuche (2) Suchstrategien Prof. Timm 7 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Iterative Tiefensuche (3) Diskussion: Kombination der Vorteile von Breiten- und Tiefensuche. Iterative Tiefensuche ist vollständig und optimal. Zustände wie Breitensuche, ca. 11% mehr Knoten. Zeit: O(bd). Speicher: O(bd). Generell: iterative Tiefensuche wird dann eingesetzt, wenn ein großer Suchraum vorhanden ist und die Tiefe der Lösung unbekannt ist. Suchstrategien Bidirektionale Suche Idee: Suche beginnt sowohl vom Initialzustand als auch vom Ziel Ende ist erreicht, wenn sich beide Suchzweige in der Mitte treffen Motivation: bd/2 + bd/2 << bd Suchstrategien Prof. Timm 8 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Bidirektionale Suche (2) Diskussion: Zeit: O(bd/2), wenn b in beide Richtungen gleich ist. Bsp.: für b=10 und d=6 würde die Breitensuche 11.111.100 Knoten erzeugen, hier aber nur 22.200 (weil Tiefe=3). Speicher: O(bd/2), weil einer der Bäume im Speicher gehalten werden muß Was muß beachtet werden? Vorgänger für Rückwärtssuche Effizienz bei der Suche, ob der aktuelle Knoten schon im anderen Baum existiert. Welche Art der Suche wird angestrebt? ... Suchstrategien Vergleich der Suchstrategien wobei: b = Verzweigungsfaktor d = Tiefe m = maximale Tiefe l = Limit generell: Annahme level d+1 Suchstrategien Prof. Timm 9 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Vermeidung von wiederholten Zuständen Möglichkeiten: Gehe nicht den Weg zurück, den Du gekommen bist. Kreiere keine Pfade mit Zyklen. Generiere keinen Zustand, der vorher schon einmal generiert worden ist. (a): Zustandsraum mit jeweils zwei Optionen, um von A nach B usw. zu gelangen (Zustandsraum d+1) (b): Korrespondierender Suchbaum 2d (c): Rechteckiger Gitterraum, grau: Zustände, die in 2 Schritten von A erreicht werden können Besonderheiten Suche mit partiellen Informationen Abhängig vom Wissen über die Umgebung (Sensoren, Effektoren) Bsp.: Staubsaugerwelt: Zwei Orte, jeder Ort enthält Staub oder nicht, der Agent befindet an einem der beiden Orte. Es gibt acht mögliche Zustände. Der Agent hat drei Aktionen: Left, Right, Suck. Zielzustand --> {7,8} Besonderheiten Prof. Timm 10 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Sensorlose (konformante) Probleme 1. Single-state problems • Welt ist verfügbar, Sensoren geben alle notwendigen Informationen, Aktionen sind exakt bekannt. • Schritte zum Ziel kalkulierbar (Bsp.: Zustand 5, Aktion [Right,Suck]). 2. Multiple-state problems • Aktionen sind bekannt, Informationen über die Welt sind nur bedingt zugreifbar (Extremfall: keine Sensoren). • Initialzustand aus {1,2,3,4,5,6,7,8}. Mit [Right] würden wir in {2,4,6,8} übergehen und mit [Right, Suck, Left, Suck] wird das Ziel erreicht. • Agent schlußfolgert über eine Menge von Zuständen (Belief states) Besonderheiten Kontingente Probleme • Während der Ausführung treten die Probleme auf (Bsp.: {1,3} --> {7,8}). • Annahme: Agent ist in {1,3}, er könnte die Sequenz [suck, right, suck] formulieren, sucking geht in {5,7}, moving right geht dann in {6,8}, wenn er in {6} ist, ist die Aktion erfolgreich, wenn er in {8} ist, scheitert die Aktion. • -->Lösung: von {1,3} über {5,7} in {6,8} und dann [suck] aber nur, wenn Staub vorhanden ist. • • • D. h., das Lösen des Problems bedeutet Aufnahme von Sensordaten während der Ausführungsphase! Der Agent muß dadurch nicht einzelne Sequenzen prüfen, sondern einen ganzen Baum. Adversariale Probleme, wenn Unsicherheit durch einen Gegner ausgelöst wird. Besonderheiten Prof. Timm 11 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Explorationsprobleme Annahme: Der Agent hat keine Informationen über die Effekte seiner Aktionen (schwierigste Situation). Der Agent muß experimentieren, dieses ist eine Art von Suche, aber eine Suche in der realen Welt anstatt in der Modell-Welt. Wenn der Agent “überlebt”, lernt er seine Welt wie durch eine Karte kennen und kann dadurch später Subprobleme lösen. Single-state und multiple-state Probleme sind mit ähnlichen Suchtechniken lösbar, Contingency Probleme benötigen komplexere Techniken. Besonderheiten Zusammenfassung Vor der Suche nach Lösungen muß ein Ziel definiert werden, daß wiederum für die Formulierung des Problems benötigt wird. Ein Problem besteht aus vier Komponenten: einem Initialzustand, einem Satz von Operatoren, einer Zieltestfunktion und einer Kostenfunktion. Die Umgebung des Problems ist durch den Zustandsraum repräsentiert. Ein Pfad durch den Zustandsraum vom Initialzustand zum Ziel heißt Lösung. Der generelle TreeSearch-Algorithmus kann verwendet werden, um jedes Problem zu lösen, spezielle Varianten stehen für spezielle Strategien zur Verfügung. Suchalgorithmus werden nach Vollständigkeit, Optimalität sowie Zeit- und Speicherkomplexität beurteilt. Prof. Timm 12 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Zusammenfassung (2) Breitensuche erweitert den flachsten Knoten zuerst. Sie ist vollständig, optimal für uniform-cost-Operatoren und hat O(bd) für Zeit- und Speicherkomplexität. Uniforme Kostensuche erweitert den ‘billigsten’ Knoten zuerst. Sie ist vollständig und optimal. Zeit und Speicherk. wie Breitensuche. Tiefensuche erweitert den tiefsten Knoten zuerst. Sie ist nicht vollständig und nicht optimal. Zeitk. O(bm), Speicherk. O(bm). Limitierte Tiefensuche setzt ein Limit bei der Tiefe der Suche. Iterative Tiefensuche verwendet limitierte Tiefensuche mit sich erhöhenden Limits bis ein Ziel gefunden worden ist. Sie ist vollständig und optimal. Zeitk. O(bd), Speicherk. O(bd). Bidirektionale Suche kann die Suchzeit enorm verringern, ist allerdings nicht immer anwendbar. Die Speichervoraussetzungen sind nicht praktikabel. 4. Informierte Suche --- Suche mit Vorwissen --- Prof. Timm 13 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Wiederholung Suche ohne Vorwissen generiert neue Zustände und testet sie gegen das Ziel. Meistens sehr ineffizient. Problemspezifisches Wissen kann helfen, die Suche zu beschleunigen. Inhalt der Vorlesung 1. 2. 3. 4. Prof. Timm Informierte (heuristische) Suchstrategien Heuristische Funktionen Lokale Suchalgorithmen und Optimierungsprobleme Zusammenfassung 14 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Bestensuche GeneralSearch Implementierung von Wissen in der Queuefunktion, die die Knoten verwaltet und erweitert: Evaluationsfunktion. Wenn Knoten der ‘Wertigkeit’ nach geordnet werden Bestensuche. – Aber: • Nur scheinbar der beste Knoten, eigentlich müsste es ‘Scheinbare Bestensuche’ heißen. • Erweiterung des allgemeinen Suchalgorithmus Informierte Suchstrategien Bestensuche Evaluationsfunktion Maß z.B. durch Pfadkosten g, aber: keine direkte Suche zum Ziel! Zusätzliche Kostenfunktion Sie ist notwendig für die Kostenschätzung vom gegenwärtigen Zustand zum nächstgelegenen Zielzustand. Dazu gibt es zwei grundlegende Ansätze: – Erweiterung des Knotens, der dem Ziel am nächsten ist Greedy Search – Erweiterung des Knotens, der am wenigsten kostet A*-Suche Informierte Suchstrategien Prof. Timm 15 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Greedy Search • Eine der einfachsten Suchstrategien für Bestensuche ist die Minimierung der geschätzten Kosten. Der Knoten, der durch die Beurteilung am nächsten zum Zielzustand ist, wird erweitert. Eine Funktion, die diese Kosten schätzt (und nicht kalkuliert!) nennt man heuristische Funktion (meistens mit h bezeichnet). Beispiele: – Weg von Arad nach Bukarest – Maß: ? h(n) = geschätzte Kosten des billigsten Pfades vom Zustand am Knoten n zum Zielzustand und es gilt für den Zielzustand: h(n)=0 Informierte Suchstrategien Greedy Search Karte von Rumänien mit Straßendistanzen in km sowie Luftentfernung nach Bukarest. • Wieso ist das eine gute Heuristik? • Weg von Iasi nach Fagaras? Informierte Suchstrategien Prof. Timm 16 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Greedy Search Zustände nach Greedy Search für Bukarest, Luftlinienentfernung als heuristische Funktion h, die Knoten sind mit ihrem h-Wert bezeichnet. Suchkosten? Optimal? Informierte Suchstrategien Greedy Search Heuristik liefert hier minimale Suchkosten Lösung wird gefunden, ohne dass ein Knoten erzeugt wird, der nicht auf dem Lösungspfad ist. Aber: sie ist nicht optimal Der Pfad über Fagaras ist 32km länger • Merke: Strategie versucht jederzeit, die Kosten zu minimieren, ohne die Gesamtkosten bis ans Ende zu betrachten deswegen Greedy Search (manche Autoren: Bestensuche oder Best-first) Informierte Suchstrategien Prof. Timm 17 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Greedy Search Diskussion Greedy Search ist ähnlich wie Tiefensuche (tiefer Pfad, zurück, wenn Sackgasse), sie ist nicht optimal und nicht vollständig, Worst-case Zeit- und Raumkomplexität: O(bm) mit m = maximale Tiefe des Suchraums, aber h ist entscheidend! Greedy Search neigt dazu, manchmal falsch zu starten (Iasi – Fagaras: Sackgasse) Lösung hier: erst einen suboptimalen Weg einschlagen, die Heuristik „direkte Entfernung“ würde hier einen Knoten erzeugen, der überflüssig ist. ...und wenn keine repeated states beachtet werden, kann es oszillieren (zwischen Neamt und Iasi) Aber: Greedy Algorithmen tendieren dazu, schnell Lösungen zu finden, wenn auch nicht immer die optimale. Informierte Suchstrategien A*-Suche Greedy Search: minimiert Kosten zum Ziel mit h(n), aber: nicht vollständig und nicht optimal Uniform-cost Search: minimiert Kosten bis n mit g(n) Ist vollständig und optimal, kann aber ineffizient sein Lösung: Kombination beider Ansätze Geschätzte Kosten der billigsten Lösung durch den Knoten n: f(n) = g(n) + h(n) f(n) = geschätzte Kosten der billigsten Lösung durch n Informierte Suchstrategien Prof. Timm 18 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 A*-Suche Minimale Pfadkosten: die A*-Suche Restriktion: Funktion h, die die Kosten zum Ziel nicht überschätzt: Eine derartige Funktion nennt man auch “admissible heuristic”, zulässige (nicht überschätzende) Heuristik Bsp.: die Luftlinienentfernung zweier Orte ist niemals länger als der direkte Weg über die Straße. Solche Heuristiken sind optimistisch, die realen Kosten werden in der Regel höher sein. Wenn h zulässig ist, wird f(n) niemals die realen Kosten der besten Lösung durch n überschätzen. Informierte Suchstrategien A*-Suche Zustände nach A*-Suche für Bukarest, die Knoten sind mit dem Wert der Funktion f = g + h bezeichnet. Die h-Werte sind die Luftlinienentfernungen nach Bukarest von vorhin. Informierte Suchstrategien Prof. Timm 19 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 A*-Suche Monotonieverhalten Kosten von f steigen kontinuierlich Monotonie (“consistent heuristic”) • Beweis zur Optimalität – Z1 ist optimales Ziel mit Pfadkosten f* – Ein suboptimales Ziel Z2 ist generiert worden und ist in der Queue; g(Z2) > f* – Annahme: n ist ein noch nicht erweiterter Knoten auf dem kürzesten Pfad zu einem optimalen Ziel Z1 k n – Weil h unterschätzt, ist f* ≥ f(n) und außerdem wenn n nicht zur Erweiterung für Z2 gewählt ist, ist f(n) ≥ f(Z2) – Kombination (Transitivität): f* ≥ f(Z2) – Aber weil Z2 ein Zielzustand ist, ist h(Z2)=0 f(Z2)=g(Z2) Z Z 1 2 – Also: f* ≥ g(Z2) Widerspruch! – Z2 ist nicht suboptimal, A* wählt deshalb nie Z2 aus. Informierte Suchstrategien A*-Suche Wenn die Kosten f monoton steigen, dann kann man Konturen im Zustandsraum zeichnen Innerhalb der Kontur 420 sind alle f(n) <= 420 A* expandiert die Knoten mit geringsten Kosten, deswegen konzentrische Bänder Mit uniformer Kostensuche: h(n)=0; Bänder werden Kreise Je besser Heuristik, desto enger werden Bänder A* ist vollständig und optimal f = 380, 400, 420 mit Arad als Startzustand Informierte Suchstrategien Prof. Timm 20 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Speicher-beschränkte heuristische Suche Speicher-beschränkte Suche Bei schweren Problemen gibt man meist zuviel Speicherplatz. Hier werden zwei Methoden vorgestellt, die dem Einhalt gebieten können: IDA*, eine logische Erweiterung von ID (iterative Deepening) SMA*, ähnlich wie A*, aber mit einer stringenten Queue-Größe Iterative Tiefensuche A* (IDA*) Jede Iteration ist eine Tiefensuche mit f-Kostenschranke statt Tiefenlimit. Jede Iteration expandiert alle Knoten innerhalb einer Kontur und schaut über die Konturgrenze nach der nächsten Iteration. IDA* ist vollständig und optimal, Raumkomplexität proportional dem längsten explorierten Pfad: seien δ die kleinsten Kosten eines Operators, seien f* die optimale Kosten der Lösung, dann gilt: IDA* benötigt bf*/δ Knoten im Speicher. Eine gute Abschätzung ist bd Informierte Suchstrategien Speicher-beschränkte heuristische Suche Simplified Memory-Bounded A* Suche (SMA*) Folgende Eigenschaften zeichnen diese Suche aus: Nutzt gesamten Speicher, der zur Verfügung steht Vermeidet repeated states Vollständig, solange genug Speicher für den flachsten Lösungsweg vorhanden ist. Optimal, solange genug Speicher für den flachsten Lösungsweg vorhanden ist, ansonsten beste Lösung für verfügbaren Speicher. Informierte Suchstrategien Prof. Timm 21 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Speicher-beschränkte heuristische Suche SMA* Suche D,F,I,J sind Zielknoten Jeder Knoten ist mit seinen fKosten beschrieben. In Klammern der Wert des besten vergessenen Nachfolger-Knotens. Ziel: Finde den Zielknoten mit den geringsten Kosten mit genug Speicher für nur drei Knoten. Algorithmus: Update die f-Kosten von A mit dem Minimum seiner Kinder (13), Speicher ist voll. Addiere den Nachfolger am billigsten Knoten (G). F vom besten vergessenen Nachfolger merken (15), B entfernen, H erweitern, Speicher voll, H ist keine Lösung, H = f(G)=24, f(A)=15, f´(A)=24, I=Ziel, aber 24 B erweitern, C wie H, D erweitern, f(D)=20 f(A)=20, Suche beendet. Informierte Suchstrategien 8-Puzzle: heuristische Funktionen b ≈ 3, typische Lösung nach 20 Schritten Erschöpfende Suche: 320 Zustände Ohne repeated states nur 9!/2 = 181440 Ziel daher: gute Heuristik h1: Zahl der Plättchen in falscher Position (unterschätzend?) h2: Manhattan-Entfernung (City-Block Distance): Summe der Entfernungen der Plättchen von ihren Endzuständen (unterschätzend?) Heuristische Funktionen Prof. Timm 22 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 8-Puzzle: heuristische Funktionen H1 ist unterschätzend, weil jedes Plättchen, daß an einer falschen Position ist, mindestens einmal verschoben werden muss, h1 wäre hier 7. H2 ist unterschätzend, weil jeder Schritt nur ein Plättchen einen Schritt weiter zum Ziel bringen, h2 = 2+3+3+2+4+2+0+2=18. Qualität einer Heuristik: Ein Weg, die Qualität der Heuristik zu bestimmen ist der effektive Verzweigungsfaktor b*. Sei n die Anzahl der durch A* expandierten Knoten, d die Lösungstiefe, dann ist b* der Verzweigungsfaktor, den ein gleichmäßiger Baum der Tiefe d mit n Knoten hätte, n + 1 = 1 + b* + (b*)2 +…+ (b*)d Heuristische Funktionen Qualität heuristischer Funktionen Beispiel: wenn die Tiefe 5 ist und die Anzahl der Knoten 52, dann ist der effektive Verzweigungsfaktor 1.91 100 zufällig generierte Probleme des 8-Puzzles mit variabler Lösungslänge Tabelle zeigt die Anzahl der Knoten, die erweitert werden und die Verzweigungsfaktoren. h2 ist besser als h1 (h2 dominiert h1), iterative Tiefensuche (uninformiert) ist viel schlechter. Heuristische Funktionen Prof. Timm 23 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Heuristiken entwickeln Relaxierte Probleme Lernen aus Erfahrung Annahme: Puzzle-Regeln wären einfacher (z.B. Plättchen können überall hin geschoben werden) h1 wäre dann keine Schätzung mehr, sondern würde beste Lösung liefern Problem mit weniger Restriktionen auf den Aktionen heisst relaxiertes Problem Kosten für optimale Lösung eines relaxierten Problems ist eine unterschätzende Heuristik für Originalproblem h(n) ist eine Schätzkostenfunktion von Initialzustand bis zur Lösung Idee: Lösen vieler Puzzles und Verwendung dieser Lösungen als Lernbasis Jedes Beispiel besteht aus dem Zustand der Lösung und der dazu gehörigen Kosten Induktive Lernalgorithmen können jetzt eingesetzt werden (KNN, DTs, RL) Heuristische Funktionen Lokale Suche Bisher: systematisches Durchsuchen des Zustandsraumes. Pfade werden teilweise im Speicher gehalten und zur Laufzeit werden neue Teilpfade generiert Wenn Ziel gefunden ist, ist der Pfad die Lösung des Problems Bei vielen Problemen ist der Pfad nebensächlich, nur das Erreichen des Zieles ist entscheidend (Bsp.: 8-Damen Problem) Andere Klasse von Algorithmen: lokale Suchalgorithmen, ein einzelner Zustand wird im Speicher gehalten und man bewegt sich im Zustandsraum auf der Basis lokaler Informationen. Keine Pfade! Zwei Vorteile: meistens wenig Speicherverbrauch häufig gute Lösungen in großen oder kontinuierlichen Suchräumen Lokale Suchalgorithmen Prof. Timm 24 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Optimierungsprobleme Derartige Algorithmen sind gut für Optimierungsprobleme geeignet, d.h. finde den besten Zustand anhand einer Zielfunktion • „Landschaft“ (2D) – globales Minimum, Maximum – vollständiger lokaler Suchalgorithmus findet Lösung, wenn sie existiert – Optimaler Algorithmus findet globales Minimum Lokale Suchalgorithmen Vier Algorithmen Hill-climbing (Gradient descent) Simulated Annealing Local Beam Suche Genetische Algorithmen Lokale Suchalgorithmen Prof. Timm 25 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Hill-Climbing Suche Schleife, die dem höchsten Wert folgt (aufwärts) Terminiert, wenn „höchster“ Wert erreicht ist Kein Suchbaum Beispiel: 8 Damen h=17, beste Nachfolger haben h=12 • Zustand hat 8 Damen auf Brett, eine pro Spalte • Nachfolgerfunktion liefert alle möglichen Zustände, die durch Ziehen einer Dame in der gleichen Spalte generiert werden (8x7=56) • h = Anzahl von Damenpaaren, die sich gegenseitig attackieren • Globales Minimum ist 0 Lokales Minimum, h=1, jeder Nachfolger hat hohe Kosten Lokale Suchalgorithmen Hill-Climbing Suche Probleme: Lokale Minima Lösung supoptimalen Nachfolger wählen Grate (Kammlinien lokaler Maxima) Plateaus zufälligen Nachfolger Diskussion: 8-Damen Problem wird in 14% aller Fälle gelöst, wenn zufällig gestartet wird, 86% Problemfälle Wenn Lösung, dann ist sie schnell, im Mittel nach vier Schritten Wenn nicht, dann bleibt man nach drei Schritten stecken aber: bei 88 ~ 17 Millionen Zuständen ist das nicht schlecht! Nicht vollständig Vermeidung der Nachteile durch zufälliges Neustarten... Wichtig in der Praxis! Lokale Suchalgorithmen Prof. Timm 26 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Simulated Annealing Hill-Climbing nicht vollständig aber effizient, Kontrast: zufällige Auswahl ist vollständig aber nicht effizient Idee der Kombination: Simulated Annealing Bewusstes Verlassen eines lokalen Maximums in „falsche Richtung“ Innere Schleife wie Hill-Climbing Anstatt die beste, eine zufällige Auswahl des nächsten Zuges: • Wenn der Zug die Situation verbessert: ausführen, • Wenn nicht: sonst. Zug mit gewisser Wahrscheinlichkeit <1 ausführen; die Wahrscheinlichkeit vermindert sich exponentiell mit der “Schlechtheit” des Zuges: ∆E Lokale Suchalgorithmen Simulated Annealing Der Parameter T wird benutzt, um die Wahrscheinlichkeit zu bestimmen: bei höheren Werten von T sind auch schlechtere Züge möglich Parameter schedule: bestimmt T aufgrund der bisher abgearbeiteten Zyklen. Annealing: graduelle Abkühlung von Flüssigkeiten Value-Funktion korrespondiert zur Energie der Atome T zur Temperatur Schedule bestimmt die Abnahme der Temperatur Lokale Suchalgorithmen Prof. Timm 27 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Local Beam Suche Pfad-basierter Algorithmus Nicht nur ein einzelner Zustand im Speicher, sondern k In jedem Schritt werden alle Nachfolger für die k Zustände generiert, wenn Ziel erreicht ist stop Sonst: wähle die besten k Nachfolger aus und mache weiter Anders als SA, weil wir k Pfade haben. Bsp.: wenn ein Zustand gute Nachfolger generiert und für die anderen k-1 nicht klar ist, in welche Richtung gegangen wird Local Beam Suche kann sich schnell in Regionen verlieren Abhilfe: Stochastic Beam Suche anstatt die besten k Nachfolger werden zufällig k Nachfolger gewählt Stichworte: natürliche Auslese, Offspring, Organismus Lokale Suchalgorithmen Genetische Algorithmen GA ist Variante von Local Beam Suche Nachfolger wird aus zwei Vorgängerzuständen erzeugt Evolution ist Pate, deswegen der Name – a) k zufällige Zustände am Anfang (Population), jeder Zustand (Individuum) ist ein String über einem endlichen Alphabet (Bsp.: 8-Damen Problem 8 digits, jedes digit zwischen 1 und 8 – b) Evaluationsfunktion oder hier: Fitnessfunktion (höhere Werte für bessere Zustände), im Bsp.: Anzahl der attackierenden Damen, 28 ist Lösung Lokale Suchalgorithmen Prof. Timm 28 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Genetische Algorithmen c) Reproduktionsschritt, zwei Zustände werden zufällig ausgewählt (nach Wahrscheinlichkeiten), hier ein Zustand 2x, ein anderer überhaupt nicht d) Für jedes Paar crossover point zufällig wählen. Nachfolger werden dann gemischt e) Mutation zufällig mit kleiner unabhängigen Wahrscheinlichkeit Lokale Suchalgorithmen Beispiel zu GA Zwei Eltern (wie (c)) und ein Nachfolger Lokale Suchalgorithmen Prof. Timm 29 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 GA Diskussion Kombination von hillclimbing und zufälliger Auswahl Vorteil (wenn überhaupt nachweisbar) durch crossover Mathematisch nachweisbar, das crossover nichts bringt, wenn die digits am Anfang zufällig sind Praxisbedeutung groß bei Optimierungsproblemen (circuit layouts, scheduling) Lokale Suchalgorithmen Zusammenfassung Prof. Timm Heuristiken werden benutzt, um die Kosten der Suche zu minimieren. Bestensuche ist GeneralSearch, bei der die Knoten mit den minimalen Kosten zuerst erweitert werden. Wenn man die geschätzten Kosten zum Erreichen des Zieles minimiert (h(n)), bekommt man greedy search (GS). Die Suche ist i.d.R. besser als uninformierte Algorithmen, aber GS ist weder vollständig noch optimal. Die Minimierung von f(n) = g(n) + h(n) kombiniert die Vorteile von uniform-costsearch und greedy search. Wenn man garantiert, dass h(n) nicht überschätzt wird und repeated states beachtet werden, bekommt man A*-Suche. A* ist vollständig und optimal. Die Zeitkomplexität hängt von der Wahl der Heuristik ab. Man kann den Speicherplatz reduzieren, in dem man speicher-beschränkte Algorithmen verwendet (IDA*, SMA*). 30 Einführung in die Methoden der Künstlichen Intelligenz SoSe 2007 Zusammenfassung Prof. Timm Lokale Suchalgorithmen behalten immer nur einen Zustand im Speicher, können aber auf lokalen Maxima stehen bleiben (Hill-Climbing). Mit Simulated Annealing (SA) ist ein stochastisches Verfahren entwicklt worden, um dieses zu verhindern (mit Temperatur). SA ist vollständig und optimal. Genetische Algorithmen ist stochastische Hill-Climbing Suche mit einer großen Anzahl von Individuen in einer Population. Neue Zustände werden durch Crossover und Mutation erzeugt. 31