1 / 58

Informierte Suche

Informierte Suche. Überblick. Best-first Suche Greedy best-first Suche A * Suche Heuristiken Lokale Suchalgorithmen Hill-climbing Simulated annealing Local beam Suche Genetische Algorithmen. Erinnerung: Suchbäume. Eine Suchstrategie ist definiert durch die

urbain
Download Presentation

Informierte Suche

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informierte Suche

  2. Überblick • Best-first Suche • Greedy best-first Suche • A* Suche • Heuristiken • Lokale Suchalgorithmen • Hill-climbing • Simulated annealing • Local beam Suche • Genetische Algorithmen

  3. Erinnerung: Suchbäume Eine Suchstrategie ist definiert durch die Reihenfolge, in der Knoten expandiert werden!

  4. Best-first Suche (Bestensuche) • Idee: Evaluierungsfunktionf(n) für jeden Knoten n • Abschätzung der “Kosten“ oder “Distanz” bis zum Ziel • Expandiere den am meisten Erfolg versprechenden, noch nicht expandierten Knoten • Implementierung: Ordne die Randknoten nach zunehmenden Kosten • Spezialfälle: • greedy best-first Suche • A* Suche

  5. Rumänien, Schrittenkosten in km Beachte: • Bei uninformierter Suche stand nur die Tabelle (rechts) zur Verfügung • Algorithmus “wusste” also nichts von z.B. der Zweidimensionalität des Problems! • Jetzt wird aus der Landkarte weitere Information zur Konstruktion von f(n) bezogen

  6. Greedy best-first Suche • Evaluationsfunktion f(n) = h(n) (Heuristikfunktion) = Schätzung der Kosten von n bis zum Ziel • Expandiere Knoten mit minimalem h(n) • Z.B. hLL(n) = Luftlinie von n nach Bukarest • Heuristikfunktion verwendet nur Information aus dem Zustand, nicht dem Knoten bzw. Suchbaum • Greedy best-first Suche expandiert den Knoten, der am nächsten am Ziel zu sein scheint.

  7. Beispiel: Greedy best-first Suche

  8. Beispiel: Greedy best-first Suche

  9. Beispiel: Greedy best-first Suche

  10. Beispiel: Greedy best-first Suche

  11. Eigenschaften der greedy best-first Suche • Vollständig? Nein – kann in Schleifen steckenbleiben, z.B. Iasi  Neamt  Iasi  Neamt  • Zeit?O(bm), kann aber durch gute Heuristik erheblich verbessert werden • Speicher?O(bm) -- behält alle Knoten im Speicher • Optimal? Nein • Vorteil:Schnell

  12. Schleife: Neamt -- Iasi

  13. A* Suche • Idee: Expandiere keine Pfade weiter, wenn sie bereits teuer sind! • Evaluationsfunktion f(n) = g(n) + h(n) • g(n) = Bisher angefallene Kosten bis zu n • h(n) = Geschätzte Kosten von n zum Ziel • f(n) = Geschätzte Kosten des Pfades über n zum Ziel

  14. A*Suche Beispiel

  15. A*Suche Beispiel

  16. A*Suche Beispiel

  17. A*Suche Beispiel

  18. A*Suche Beispiel

  19. A*Suche Beispiel

  20. Zulässige Heuristikfunktionen • Eine Heuristikfunktion h(n) ist zulässig wenn für jeden Knoten n gilt:h(n) ≤ h*(n), wobei h*(n) die wahren Kosten von n zum Ziel sind. • Eine zulässige Heuristikfunktion ist optimistisch, d.h. überschätzt nie die Kosten bis zum Ziel. • Dadurch werden günstige Pfade nicht wegen Kostenüberschätzung vorzeitig abgebrochen. • Beispiel: hLL(n) - Luftlinie ist nie eine Überschätzung der Straßendistanz • Theorem: Wenn h(n) zulässig ist, dann ist A* mit TREE-Search optimal.

  21. Sei G2eine suboptimale Lösung (Zielknoten) am Rand. Sei n ein nicht expandierter Knoten am Rand, so dass n sich auf dem Pfad zum optimalen Ziel G befindet. Zeige, dass G2 nicht expandiert wird: Erinnerung: f(m) = g(m) + h(m) = (Kosten bis m) + (Restkosten bis Ziel) h* = wahre Restkosten f(G2) = g(G2) da h(G2) = 0 f(G) = g(G) da h(G) = 0 g(G2) > g(G) da G2 suboptimal f(G2) > f(G) s.o. h(n) ≤ h*(n) da h zulässig g(n) + h(n) ≤ g(n) + h*(n) f(n) ≤ f(G) Daher: f(G2) > f(n), folglich expandiert A* den Knoten G2 nicht. Optimalitätsbeweis für den A*-Algorithmus

  22. Konsistente (= Monotone) Heuristikfunktionen • Eine Heuristikfunktion ist konsistent wenn für jeden Knoten n und jeden durch eine Aktion a generierten Nachfolger n' von n gilt: h(n) ≤ c(n,a,n') + h(n') (Dreiecksungleichung) • Wenn h konsistent ist, gilt f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n) • d.h. f(n) steigt monoton auf jedem Pfad. • Theorem: Wenn h(n) konsistent ist, dann ist A* mit GRAPH-Suche optimal.

  23. Veranschaulichung • f-Kosten steigen monoton  „Höhenlinien“ oder „Konturen“ konstanter f-Werte im Zustandsraum • Alle Knoten n innerhalb der Kontur i haben geschätzte Kosten von f<=fi, wobei fi < fi+1. • Einheitliche Kosten (h(n)=0): „Kreisförmige“ Konturen, da h keine Information liefert . • Je besser h gewählt ist, desto enger umschließen die Konturen den optimalen Pfad. • A* expandiert Knoten in der Reihenfolge ansteigender f-Werte.

  24. Eigenschaften von A* • Vollständig? Ja (es sei denn es gibt unendlich viele Knoten mit f≤ f(G) ) • Zeit? Exponentiell in ((Relativer Fehler von h gemessen an h* ) x Länge der Lösung ) • Speicher? Behält alle Knoten im Speicher (Hauptnachteil) • Optimal? Ja • Optimal effizient bezgl. # benötigter Knoten

  25. Bsp.: Zulässige Heuristiken Schiebefax: • h1(n) = # falsch positionierter Steine • h2(n) = Summe der Manhattan-Distanzen zum Ziel für alle Steine • h1(S) = ? 8 • h2(S) = ? 3+1+2+2+2+3+3+2 = 18

  26. Dominanz • Wenn h2(n) ≥ h1(n) für alle n (beide zulässig), dann gilt: • h2dominierth1 • h2ist besser für Suche • Typische Suchkosten (durchschnittliche # expandierter Knoten): • d=12 • IDS = 3,644,035 Knoten • A*(h1) = 227 Knoten • A*(h2) = 73 Knoten • d=24 • IDS = Zu viele Knoten • A*(h1) = 39,135 Knoten • A*(h2) = 1,641 Knoten • Für zulässige Heuristiken h1 und h2 gilt: h(n) = max(h1(n), h2(n)) ist ebenfalls zulässig (und dominiert h1 und h2 ).

  27. Relaxed Problems • Ein Problem mit weniger Beschränkungen der Aktionen heißt relaxed problem. • Bsp.: Regeln des Schiebefax relaxen: • Steine können sich frei bewegen. • Dann beschreibt h1(n) die exakten Kosten zum Ziel. •  h1(n) ergibt optimale Lösung. • Oder: • Stein kann auf jedes benachbarte Feld. • Dann beschreibt h2(n) die exakten Kosten zum Ziel. •  h2(n) ergibt optimale Lösung. • Die Kosten der optimalen Lösung eines relaxed problems sind nie höher als die Kosten der optimalen Lösung des echten Problems. • Warum interessant? Exakte Kosten des relaxed problems sind zulässige und oft sehr gute Heuristik für das echte Problem!

  28. Zusammenfassung • Heuristikfunktionen schätzen die Kosten des kürzesten Weges. • Gute Heuristikfunktionen reduzieren Suchaufwand erheblich. • Greedy best-first Suche: • Expandiert Knoten mit kleinstem h • Unvollständig, nicht optimal • A* - Suche: • Expandiert Knoten mit kleinstem g+h • Vollständig, optimal, optimal effizient • Zulässige Heuristiken können aus exakten Kosten eines „relaxed problems“ gewonnen werden.

  29. Lokale Suche und Optimierung Kurzer Überblick zu: • Hill-Climbing • Simulated Annealing • Genetische Algorithmen • Lokale Suche in kontinuierlichen Räumen

  30. Lokale Suche • Für viele Optimierungsprobleme ist der Pfad zum Ziel irrelevant. Der (zuvor nur implizit definierte) Zielzustand selbst ist die Lösung. • Bsp. 8 Damen, VLSI-Design, Travelling Salesman • Lokale Suchalgorithmen: • Werten nur aktuellen Zustand aus, nicht Pfad • Keine systematische Suche • Wenig Speicherbedarf • Anwendbar auf sehr große Probleme, insbesondere … • … Probleme bei denen suboptimale aber gute Lsg. ausreicht.

  31. Beispiel: n-Damen • Setze n Damen auf n × n Brett wobei niemals zwei Damen in der gleichen Reihe, Spalte oder Diagonale sein dürfen.

  32. Travelling Salesman Problem (TSP) • Finde kürzeste geschlossene Tour durch n Städte • Starte mit bel. geschlossener Tour • Dann paarweiser Austausch der Verbindungen • Führt sehr schnell zu Lösungen ca. 1% unter Optimum für mehrere tausend Städte

  33. Hill-climbing • Wähle stets Folgezustand mit maximierter Nutzenfunktion • “Bergsteigen im Nebel mit Gedächtnisverlust“ • Kein Suchbaum, keine Vorausplanung, kein Speicheraufwand • Terminiert, wenn kein besserer Folgezustand

  34. Hill-climbing: 8-Damen Problem • h = # Paare von Damen die sich bedrohen • h = 17 für obigen Zustand • Zahlen: h-Werte bei Verschiebung einer Dame innerhalb der Spalte

  35. Hill-climbing: 8-Damen Problem Lokales Minimum mit h = 1

  36. Hill-climbing / Gradientenaufstieg • Bei kontinuierlichen Problemen Darstellung der Nutzenfunktion als “Landschaft” • Aufstieg in steilster Richtung (Gradientenaufstieg)

  37. Hill-Climbing: Probleme • Geht nicht zurück (bergab)  Terminiert auf lokalen Maxima oder Plateaus. • Welches Maximum erreicht wird hängt vom Anfangszustand ab. • Probleme, falls Zustände Diskretisierung eines kontinuierlichen Problems sind. • Bsp. Kammlinie: Folge unverbundener lokaler Maxima

  38. Hill-Climbing: Verbesserungsvorschläge • Wiederholtes Starten mit Zufallszuständen • Zufällige Seitwärtsbewegung, um Plateaus zu entkommen • Aber Schleife auf flachen Maxima! • Gelegentlich Schritte bergab erlauben  Führt zu simulated annealing

  39. Simulated Annealing • Konvention: Suche der Minima (nicht Maxima) • Idee: Lokalen Minima durch Schritte bergauf entkommen. • Häufigkeit und Größe der Bergaufschritte allmählich verringern. • Vergleich: Ball in Berglandschaft • Starkes Erdbeben: Ball hüpft auch aus Senken mit hohen Wänden heraus • Leichtes Wackeln: Ball überwindet nur noch kleine Hindernisse • „Simuliertes Tempern“ • „Wackeln“: Temperatur T • „Fahrplan:“ Mit hohem T starten, langsam abkühlen • Umsetzung: T entspricht der Wahrscheinlichkeit von Aufwärtsschritten

  40. Simulated Annealing Hier: Maxima-Suche

  41. Eigenschaften des Simulated Annealing • Wenn T hinreichend langsam abnimmt, geht die Wahrscheinlichkeit gegen 1, dass das globale Optimum gefunden wird. • Weit verbreitet für Aufgaben wie VLSI-Layout, Fahrplan-Erstellung etc.

  42. Local Beam Suche • Start mit k zufällig generierten Zuständen • Wenn Ziel dabei: Schluss. • Generiere alle Nachfolger für jeden der k Zustände. • Wähle aus diesen ca. b*k Zuständen die k besten aus. • Goto 2.

  43. Local Beam Suche • Unterschied zu k-fachem, parallelem Hill-Climbing (d.h. mit k Zufallszuständen starten): • Beim parallelen Hill-Climbing kein Austausch • Local Beam: Bei Auswahl der k Besten aus b*k Nachfolgezuständen können manche Knoten viele Nachfolger „durchbringen“, andere gar keinen. • Dadurch u.U. Konzentration der k Zustände auf kleinen Teil des Suchraums • Vergleichbar dem „Survival of the fittest“ bei genetischen Algorithmen (jedoch ohne crossover und Mutation)

  44. Genetische Algorithmen • Start mit k zufällig generierten Zuständen (Population) • Nachfolge-Zustände werden erzeugt durch: • Crossover zweier Elternzustände • Selektion gemäß Evaluationsfunktion (Fitnessfunktion) • Mutation • Beachte: Zustände müssen so repräsentiert sein, dass Crossover, Selektion und Mutation gültige Zustände erzeugen! Meist: Repräsentation durch Zeichenketten (oft binär). • Erfolg des GA hängt stark von Repräsentation ab

  45. Genetische Algorithmen • Fitnessfunktion: # Paare einander nicht bedrohender Damen (min = 0, max = 8 × 7/2 = 28) • 24/(24+23+20+11) = 31% • 23/(24+23+20+11) = 29% etc

  46. Genetische Algorithmen Crossover nützlich, wenn Zeichenketten in sinnvolle Komponenten zerlegt werden können.

  47. Online-Suchagenten • Bisher: Nur Offline-Suche, d.h. Vorausplanung bis zum Ende • Online-Suchagent: Zyklus: Beobachtung – Berechnung – Aktion (Interleaving) • Online-Suche nötig, falls • Umgebung dynamisch • Explorationsproblem • Unbeobachtbare Zustände • Unbekannte Wirkung von Aktionen, Aktion = Experiment

  48. Online-Agent • Zustand s • Actions(s) : Liste möglicher Aktionen a • Schrittkosten c(s, a, s´) sind nur a posteriori bekannt (nach Erreichen von s´ durch Aktion a) • Zieltest(s)

  49. Online-Agent: Sackgassen • Gefahr von Sackgassen: Kein Algorithmus kann in allen Zustandsräumen Sackgassen vermeiden! • Bew.: „Widersacherargument“ • Bei A kann Agent Nachfolgezustände nicht unterscheiden • Versagt daher stets in einem der beiden Fälle • Andere Formulierung: „Widersacher“ kann Zustandsraum umbauen, ohne das Agent das merkt. • Daher Voraussetzung, das Zustandsraum „sicher explorierbar“: • Von jedem aus Startzustand erreichbaren Zustand ist Zielzustand erreichbar • Z.B. durch Umkehrbarkeit von Aktionen

  50. Online-Agent: Besonderheiten • Unbeobachtbarkeit, Bsp. Labyrinth: • Unbekannte Aktionen: Agent weiß nicht, dass „rechts“ von (1,1) nach (1,2) führt. Auch Rückweg „links“: (1,2) --> (1,1) unbekannt! • Nicht beobachtbare Umgebung: Agent sieht Mauer nicht. • Motiviert Abspeichern explorierter Aktions-Zustands-Paare: result[a, s] = s´ speichert Zustand s´, der durch Aktion a aus s erreicht wurde • Bsp. Mauern: • Agent kann in teilweise unbeobachtbarer Umgebung zu beliebig langen Wegen veranlasst werden.

More Related