Informierte Suche. Überblick Best-first Suche Greedy best-first Suche A * Suche Heuristiken Lokale...

58
Informierte Suche

Transcript of Informierte Suche. Überblick Best-first Suche Greedy best-first Suche A * Suche Heuristiken Lokale...

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

Informierte Suche

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

Überblick

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

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

Erinnerung: Suchbäume

Eine Suchstrategie ist definiert durch die Reihenfolge, in der Knoten expandiert werden!

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

Best-first Suche (Bestensuche)

• Idee: Evaluierungsfunktion f(n) für jeden Knoten n– Abschätzung der “Kosten“ oder “Distanz” bis zum ZielExpandiere den am meisten Erfolg versprechenden, noch nicht

expandierten Knoten

• Implementierung:Ordne die Randknoten nach zunehmenden Kosten

• Spezialfälle:– greedy best-first Suche– A* Suche

•–

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

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

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

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.

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

Beispiel: Greedy best-first Suche

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

Beispiel: Greedy best-first Suche

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

Beispiel: Greedy best-first Suche

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

Beispiel: Greedy best-first Suche

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

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 •••

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

Schleife: Neamt -- Iasi

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

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

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

A* Suche Beispiel

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

A* Suche Beispiel

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

A* Suche Beispiel

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

A* Suche Beispiel

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

A* Suche Beispiel

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

A* Suche Beispiel

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

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.

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

Optimalitätsbeweis für den A*-Algorithmus

• Sei G2 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 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.

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

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')

• Wenn h konsistent ist, giltf(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.

•• (Dreiecksungleichung)•

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

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.

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

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

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

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

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

Dominanz• Wenn h2(n) ≥ h1(n) für alle n (beide zulässig), dann gilt:

– h2 dominiert h1 – h2 ist 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 ).

•–

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

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!

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

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.

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

Lokale Suche und Optimierung

Kurzer Überblick zu:

• Hill-Climbing

• Simulated Annealing

• Genetische Algorithmen

• Lokale Suche in kontinuierlichen Räumen

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

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.

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

Beispiel: n-Damen

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

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

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

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

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

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

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

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

Hill-climbing: 8-Damen Problem

Lokales Minimum mit h = 1•

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

Hill-climbing / Gradientenaufstieg

• Bei kontinuierlichen Problemen Darstellung der Nutzenfunktion als “Landschaft”

• Aufstieg in steilster Richtung (Gradientenaufstieg)

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

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

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

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

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

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

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

Simulated Annealing

Hier: Maxima-Suche

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

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.

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

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.

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

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)

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

Genetische Algorithmen

• Start mit k zufällig generierten Zuständen (Population)

• Nachfolge-Zustände werden erzeugt durch:1. Crossover zweier Elternzustände2. 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

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

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

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

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

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

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

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

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)

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

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

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

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.

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

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)

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

Online-Suchagent mit Tiefensuche

function Online-DFS-Agent(s´) returns Actioninputs: s´ Wahrnehmung, die aktuellen Zustand identifiziertstatic:

a, s: vorherige Aktion, vorheriger Zustand, anfangs Nullresult[a,s] Tabelle, gibt Folgezustand zu a, s unexplored[s] Tabelle noch nicht probierter Aktionen für (schon besuchten) Zustand sunbacktracked[s] Tabelle noch nicht probierter Rückschritte für (schon bes.) Zustand s

if Goal-Test(s´) then return stopif 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 thenif unbacktracked[s´] then return stopelse a <- Aktion b, so dass result[b,s´] = Pop(unbacktracked[s´])

else a <- Pop(unexplored[s´])

s <- s´return a

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

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:

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

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“

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

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“

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

LRTA*

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

Learning Real Time A* (LRTA*)

function LRTA*-Agent(s´) returns Actioninputs: s´ Wahrnehmung, die aktuellen Zustand identifiziertstatic:

a, s: vorherige Aktion, vorheriger Zustand, anfangs Nullresult[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 stopif 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) minimierts <- 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´]

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

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*