Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Informierte Suche. Überblick Best-first Suche Greedy best-first Suche A * Suche Heuristiken Lokale Suchalgorithmen Hill-climbing Simulated annealing Local.

Ähnliche Präsentationen


Präsentation zum Thema: "Informierte Suche. Überblick Best-first Suche Greedy best-first Suche A * Suche Heuristiken Lokale Suchalgorithmen Hill-climbing Simulated annealing Local."—  Präsentation transkript:

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: Evaluierungsfunktion f(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. h LL (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

9

10

11 Eigenschaften der greedy best- first Suche Vollständig? Nein – kann in Schleifen steckenbleiben, z.B. Iasi Neamt Iasi Neamt Zeit? O(b m ), kann aber durch gute Heuristik erheblich verbessert werden Speicher? O(b m ) -- 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

16

17

18

19

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: h LL (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 Optimalitätsbeweis für den A * -Algorithmus Sei G 2 eine 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 G 2 nicht expandiert wird: Erinnerung: f(m) = g(m) + h(m) = (Kosten bis m) + (Restkosten bis Ziel) h* = wahre Restkosten f(G 2 ) = g(G 2 ) da h(G 2 ) = 0 f(G) = g(G) da h(G) = 0 g(G 2 ) > g(G) da G 2 suboptimal f(G 2 ) > 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(G 2 ) > f(n), folglich expandiert A * den Knoten G 2 nicht.

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<=f i, wobei f i < f i+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: h 1 (n) = # falsch positionierter Steine h 2 (n) = Summe der Manhattan-Distanzen zum Ziel für alle Steine h 1 (S) = ? 8 h 2 (S) = ? = 18

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

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 h 1 (n) die exakten Kosten zum Ziel. – h 1 (n) ergibt optimale Lösung. Oder: –Stein kann auf jedes benachbarte Feld. –Dann beschreibt h 2 (n) die exakten Kosten zum Ziel. – h 2 (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 1.Start mit k zufällig generierten Zuständen 2.Wenn Ziel dabei: Schluss. 3.Generiere alle Nachfolger für jeden der k Zustände. 4.Wähle aus diesen ca. b*k Zuständen die k besten aus. 5.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: 1.Crossover zweier Elternzustände 2.Selektion gemäß Evaluationsfunktion (Fitnessfunktion) 3.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/( ) = 31% 23/( ) = 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.

51 Online-Agent: Besonderheiten Kein Springen im Suchbaum: –Um in anderem Zweig des Baums zu suchen, ist physisches Zurückgehen durch mehrere Zustände erforderlich! –Bsp.: Um bei Timisoara weiterzusuchen, Rückfahrt von Fagaras über Sibiu und Arad! –Motiviert Knotenexpandierung in lokaler Reihenfolge (Tiefensuche statt Breitensuche)

52 Online-Suchagent mit Tiefensuche function Online-DFS-Agent(s´) returns Action inputs: s´ Wahrnehmung, die aktuellen Zustand identifiziert static: a, s: vorherige Aktion, vorheriger Zustand, anfangs Null result[a,s] Tabelle, gibt Folgezustand zu a, s unexplored[s] Tabelle noch nicht probierter Aktionen für (schon besuchten) Zustand s unbacktracked[s] Tabelle noch nicht probierter Rückschritte für (schon bes.) Zustand s if Goal-Test(s´) then return stop if s´ neuer Zustand then unexplored[s´] <- Actions(s´) if s not Null then result[a,s] <- s´ unbacktracked[s´] <- s (am Anfang einfügen) if unexplored[s´] leer then if unbacktracked[s´] then return stop else a <- Aktion b, so dass result[b,s´] = Pop(unbacktracked[s´]) else a <- Pop(unexplored[s´]) s <- s´ return a

53 Lokale Online-Suche Hill-Climbing: –Ist bereits online-fähig –Aber: Leidet unter ähnlichen Problemen wie lokale Offline-Suche –erlaubt aber keine Lösungen wie Local Beam oder zufällige Neustarts. Alternative: Hill-Climbing + Random Walk –Wähle aus den erlaubten Aktionen zufällig –Führt in endlichem Raum zum Ziel –Aber u.U. sehr langsam –Bsp.: Rückwärtsschritt 2x so wahrscheinlich wie vorwärts:

54 LRTA* Hill-Climbing + Random Walk unzureichend Besser: Hill-Climbing + Lernen einer Kostenschätzung Führt zu Learning Real Time A* (LRTA*) Idee: –Verwende anfangs heuristische Kostenschätzung h(s) –Verbessere h(s) zu H(s) durch Erfahrungen im Zustandsraum –Dadurch Vermeidung lokaler Minima –Prinzip: Optimismus bei Unsicherheit

55 LRTA* Berechne Kosten bis Ziel aus Kosten bis zum Folgezustand + geschätzten weiteren Kosten bis Ziel Aktualisiere H des alten Zustands mit dem im neuen Zustand verfügbaren Wissen Falls Nachbarn des neuen Zustands längeren Weg zum Ziel anzeigen, als erwartet, zurückgehen. Dadurch u.U. mehfaches Hin- und Herpendeln, um lokales Minimum von H einzuebnen

56 LRTA*

57 Learning Real Time A* (LRTA*) function LRTA*-Agent(s´) returns Action inputs: s´ Wahrnehmung, die aktuellen Zustand identifiziert static: a, s: vorherige Aktion, vorheriger Zustand, anfangs Null result[a,s] Tabelle, gibt Folgezustand zu a, s H[s] Tabelle mit Kostenschätzung von Zustand s bis Ziel, anfangs Null if Goal-Test(s´) then return stop if s´ neuer Zustand (d.h. ohne H-Wert) then H[s´] <- h(s´) if s not Null then result[a,s] <- s´ H[s] <- min LRTA*-Cost(s, b, result[b, s], H) wobei b in Actions(s) a <- Aktion b in Actions(s´) die LRTA*-Cost(s´, b, result[b, s´], H) minimiert s <- s´ return a ________________________________________________________________________ function LRTA*-Cost(s, b, s´, H) returns Kostenschätzung if s´ undefined then return h(s) else return c(s, a, s´) + H[s´]

58 Zusammenfassung Online-Suche falls Umgebung / Zustände / Wirkung von Aktionen (teilweise) unbekannt Besonderheiten im Vgl. zu Offline-Suche: –Gefahr von Sackgassen –Sichere Explorierbarkeit / Umkehrbarkeit von Aktionen sehr hilfreich –Kein Springen im Suchbaum, physisches Zurückgehen erforderlich Entsprechendes Problem bei lokaler Suche Gute Lösung: Lernen von Kostenschätzung durch LRTA*


Herunterladen ppt "Informierte Suche. Überblick Best-first Suche Greedy best-first Suche A * Suche Heuristiken Lokale Suchalgorithmen Hill-climbing Simulated annealing Local."

Ähnliche Präsentationen


Google-Anzeigen