Sie sind auf Seite 1von 49

29/04/2011

Folie 1

Kapitel III

INFORMIERTE SUCHE

29/04/2011

Folie 2

KI
Suchen
(un-)informiert lokal adversial Mit Unsicherheit

Lernen
Bayessch Instanzbasiert Entscheidungsbume Neuronale Netze

Schlieen
Prolog Fuzzy-Logik Bayessche Netze

29/04/2011

Folie 3

Suche nach einer intelligenten Lsung

http://de.wikipedia.org/wiki/Kolshorn

29/04/2011

Folie 4

Suche nach einer intelligenten Lsung Bisher


Allgemeine, un-informierte Suche

Intelligenter
Suche unter Einbeziehung von Wissen, informierte Suche

29/04/2011

Folie 5

Suche nach einer intelligenten Lsung Kostenbasierte Suche (uniform cost search)
hnlich wie Breitensuche, aber statt der Tiefe wird anhand einer Kostenfunktion bestimmt, welche Nachfolger gewhlt werden sollen Es wird der Knoten expandiert, fr den die Kosten von der Wurzel zum Knoten am geringsten sind

Fr Kosten von 1 fr alle Zustandsbergnge ergibt sich der gleiche Ablauf wie fr Breitensuche
Zhlt zu UNINFORMIERTER Suche, aber schne Motivation fr die nchsten Algorithmen ...

29/04/2011

Folie 6

Suche nach einer intelligenten Lsung Kostenbasierte Suche (uniform cost search)
Lbeck

Entfernung / Kosten

70 100

Hamburg
70 90 100 120

Rostock

Lbeck
170 70

Kiel Bremen Hannover

100 120

Lbeck Hamburg Wittstock


100 90 100 100 120 120 220

Wittstock
70 100 170 110 120

110

Magdeburg

Hamburg

Hamburg

Hamburg

Hamburg

Hamburg

Hamburg

Rostock

Rostock

Rostock

350

330

Rostock

Mnster

Kassel

Berlin

Berlin

29/04/2011

Folie 7

Suche nach einer intelligenten Lsung Kostenbasierte Suche


Vollstndigkeit:
ja, falls es zu jedem Knoten endlich viele Nachfolger gibt und die Kosten immer > 0 sind

Optimalitt:
Ja, falls alle Kosten > 0
Test auf Ziel erst wenn der Knoten aus der Fringe entnommen wird! Warum? Auerdem Aktualisierung der Kosten (fr das Erreichen der Zustnde) in der fringe

29/04/2011

Folie 8

Suche nach einer intelligenten Lsung Kostenbasierte Suche


Zeitkomplexitt: O(b(C/e))
Anzahl der Knoten nicht abhngig von der Tiefe des Zielknotens im Baum, im worst case wird ein Baum der Tiefe C/e vor der optimalen Lsung betrachtet

Raumkomplexitt: O(b(C/e))
Im worst case mssen die Knoten mit der Tiefe C/e gespeichert werden

29/04/2011

Folie 9

Suche nach einer intelligenten Lsung Kostenbasierte Suche

>> e d'

d=2 C = Kosten auf dem Pfad

Laufzeit kann grer als bd sein!

29/04/2011 Folie 10

Bisher uninformierte Suche Alle haben exponentielle worst-case Laufzeit

Wie knnen wir schneller werden

29/04/2011 Folie 11

Suche nach einer intelligenten Lsung Allgemeiner Ansatz zur informierten Suche: Best-First Search
Der jeweils bzgl. einer Bewertungsfunktion f (n) beste Knoten in der fringe wird expandiert (=> fringe ist eine Priorittswarteschlange)
Bewertungsfunktion f(n) setzt sich aus Heuristik h(n) und bekannten Kosten g(n) zusammen h(n) sind die geschtzten Kosten von n zum Ziel

g(n) sind die bekannten Kosten vom Start zu n

29/04/2011 Folie 12

Suche nach einer intelligenten Lsung Spezialflle:


Uniform cost search (ggf. auch BFS)
f(n) = g(n)

Greedy Search (Best-First-Search)


f(n) = h(n)

A* Search
f(n) = g(n) + h(n)

29/04/2011 Folie 13

Suche nach einer intelligenten Lsung Problem: Fahre von Lbeck nach Berlin
Echte Kosten
Kiel Lbeck Rostock

Heuristik
LuftLinie

94
Bremen

120 130
Wittstock

65
Hamburg

112 181 149

165
141
Hannover

106
Magdeburg

Berlin

144 166 116

189

Mnster

148

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 14

Suche nach einer intelligenten Lsung Greedy-Search


Kiel Lbeck Rostock

94
Bremen

120 130
Wittstock

65
Hamburg

112 181 149

165
141
Hannover

106
Magdeburg

Berlin

144 166 116

189

Mnster

148

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 15

Suche nach einer intelligenten Lsung Greedy-Search


Kiel Lbeck Rostock

94
Bremen

120 130
Wittstock

65
Hamburg

112 181 149

165
141
Hannover

106
Magdeburg

Berlin

144 166 116

189

Mnster

148

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 16

Suche nach einer intelligenten Lsung Greedy-Search


Kiel Lbeck Rostock

94
Bremen

120 130
Wittstock

65
Hamburg

112 181 149

165
141
Hannover

106
Magdeburg

Berlin

144 166 116

189

Mnster

148

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 17

Suche nach einer intelligenten Lsung Greedy-Search


Kiel Lbeck Rostock

94
Bremen

120 130
Wittstock

65
Hamburg

112 181 149

Vollsperrung 106
Berlin

165
141
Hannover

Magdeburg

144 166 116

189

Mnster

148

110 In Wittstock wird klar, dass es nicht weiter geht, Dresden der nchstbeste Knoten ist Rostock, und dann

Kassel

Leipzig

29/04/2011 Folie 18

Suche nach einer intelligenten Lsung Greedy Search (Best-First-Search)


Vollstndigkeit:
Nein, siehe Beispiel: Zyklen sind mglich

Optimalitt:
Nein, siehe Beispiel: die Kosten zum ersten Nachbarn sind kein Indikator fr die Kosten des Pfades

29/04/2011 Folie 19

Suche nach einer intelligenten Lsung Kostenbasierte Suche


Zeitkomplexitt: O(bm)
Im worst case wird der gesamte Baum durchlaufen (ggf. ist M unendlich ...)

Raumkomplexitt: O(bm)
Im worst case werden alle Blattknoten in die fringe aufgenommen

29/04/2011 Folie 20

Suche nach einer intelligenten Lsung A*


Kiel Lbeck Rostock

120 + 193

94 65 + 254 112
Bremen

120 130
Wittstock

65
Hamburg

181 106
Berlin

149

165
141
Hannover

Magdeburg

144 166 116

189

Mnster

148

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 21

Suche nach einer intelligenten Lsung A*


Kiel

240 + 234
Lbeck

Rostock

94 65 + 254 112
Bremen

120 130
Wittstock

65
Hamburg

181 106

250 + 93
Berlin

149

165
141
Hannover

Magdeburg

144 166 116

189

Mnster

148

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 22

Suche nach einer intelligenten Lsung A*

Kiel

Lbeck

Rostock

94
Bremen

120

130
Wittstock

65
Hamburg

112 181 149

246+ 93 106
Berlin

165

Hannover

141 148

Magdeburg

144 166 116

189

Mnster

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 23

Suche nach einer intelligenten Lsung A*

Kiel

Lbeck

Rostock

Bremen

94 112

120

130
Wittstock

65
Hamburg

181 106
Berlin

149

165

Hannover

141 148

Magdeburg

352 + 0 189 166

144 116

Mnster

Kassel

Leipzig

110
Dresden

29/04/2011 Folie 24

Suche nach einer intelligenten Lsung A*


Kombiniert bereits entstandene Kosten mit heuristischer Abschtzung der verbleibenden Kosten Bedingung(en) an die Heuristik
Zulssig (optimistisch, nie berschtzend): c(n,z) h(n), mit c(n,z) krzester Weg von n zum Ziel z c(n,n)) Konsistent (aufsteigende h(n) f-Werte fr jeden Pfad): h(n) c(n,n) + h(n), fr n Nachfolger von n h(n)

29/04/2011 Folie 25

Suche nach einer intelligenten Lsung A* fr zulssige Heuristik optimal


Sei z ein Zielknoten im Suchbaum, z* der optimale Zielknoten (=> h(z*) = 0) und n ein Knoten auf dem optimalen Pfad zum Ziel z* Knnen wir z vor z* finden? Es gilt:
f(n) = g(n) + h(n) g(n) + c(n,z*) = g(z*) = f(z*) f(z) Falls z nicht optimal ist, ist also f(n) < f(z) D.h., n wird vor z betrachtet Wird n expandiert, kommen alle Nachfolger in die fringe D.h. es werden alle Knoten des optimalen Pfades vor z expandiert, also auch z*

29/04/2011 Folie 26

Suche nach einer intelligenten Lsung A*


Fr konsistente Heuristik knnen die iso-f Konturen geplottet werden

Form hngt von h ab. Wenn h(n) := 0 spielen nur entstandene Kosten eine Rolle wie sehen die Konturen aus?
Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. Pearson Education, 2003

29/04/2011 Folie 27

Suche nach einer intelligenten Lsung A* Suche


Vollstndigkeit:
Ja, wenn Kantengewichte > 0
Nur krzere Pfade betrachtet (keine Zyklen), d.h., fr endlichen Suchbaum vollstndig

Optimalitt:
Fr Tree-Search bei zulssiger Heuristik Fr Graph-Search wenn krzester Pfad zu jedem Knoten gespeichert oder konsistente Heuristik (Anmerkung: wenn nicht der krzeste Pfad gespeichert wird, knnte ein besserer Wert berschrieben werden)

29/04/2011 Folie 28

Suche nach einer intelligenten Lsung A* Suche


Zeitkomplexitt: O(bd(z*))
Im worst case wird der Baum bis z* durchlaufen
Bessere Laufzeiten hngen von der Heuristik ab

Raumkomplexitt: O(bd)
Im worst case alle Zustnde betrachtet
d(z*) sei Tiefe der Lsung; grobe Abschtzung, eigentlich fliet Fehler der Heuristik ein

29/04/2011 Folie 29

Suche nach einer intelligenten Lsung A* Suche

Potentielles Problem bei groen Suchrumen: Fringe wchst bis Arbeitsspeicher voll ist.

29/04/2011 Folie 30

Suche nach einer intelligenten Lsung A* Suche


Lsungsansatz: memory-bounded heuristic search

Ideen:
IDA*:
statt speichern der Knoten, iterative deepening search

Grenze fr Kosten (f) statt Tiefe

RBFS (recursive best first search):


bisher beste Kosten stellen Schranke dar Falls f(aktueller Knoten) > Schranke, aktualisiere Kosten und verfolge (bessere) Alternative

29/04/2011 Folie 31

Suche nach einer intelligenten Lsung

Ursprngliches f = g + h

Schtzung fr anderen Pfad besser als bestes neues f

Neue Schtzungen fr f

Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. Pearson Education, 2003

29/04/2011 Folie 32

Suche nach einer intelligenten Lsung

Der Knoten ist nicht gespeichert! Aber via Sibiu (Rekursion) kann der Knoten mit dem besseren f-Wert wiedergefunden werden

Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. Pearson Education, 2003

29/04/2011 Folie 33

Suche nach einer intelligenten Lsung

Ggf. oft Sprnge, viele Unterbume mehrfach exploriert

Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. Pearson Education, 2003

29/04/2011 Folie 34

Suche nach einer intelligenten Lsung


function RECURSIVE-BEST-FIRST-SEARCH(problem) returns a solution, or failure return RBFS(problem, MAKE-NODE(problem.INITIAL-STATE), infinity) function RBFS(problem, node, f_limit) returns a solution, or failure and a new f-cost limit if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) successors <- [] for each action in problem.ACTION(node.STATE) do add CHILD-NODE(problem, node, action) into successors if successors is empty then return failure, infinity for each s in successors do // update f with value from previous search, if any s.f <- max(s.g + s.h, node.f)

Abbruch repeat best <- the lowest f-value node in successors if best.f > f_limit then return failure, best.f alternative <- the second-lowest f-value among successors result, best.f <- RBFS(problem, best, min(f_limit, alternative)) if result != failure then return result

Update der Kosten

Russell / Norvig: : Artificial Intelligence - A Modern Approach, 2nd edition. Pearson Education, 2003

29/04/2011 Folie 35

Heuristiken Wie erzeugt man Heuristiken?


Relaxieren des Problems Teilprobleme lsen (+ Musterdatenbanken anlegen) Kombination bekannter Heuristiken

Wie bewertet man Heuristiken?


Dominanz

29/04/2011 Folie 36

Heuristiken: Relaxierung Relaxieren des Problems an einem Beispiel:


Fr 8-Puzzle gelten folgende Regeln:
Man darf einen Stein nur um ein Feld bewegen Man darf einen Stein nur auf ein freies Feld bewegen

29/04/2011 Folie 37

Heuristiken: Relaxierung Verzicht auf Regeln (Relaxieren des Problems)


Lsung wird einfacher Jede Lsung des ursprnglichen Problems ist auch Lsung des relaxierten (einfachen) Problems Beste Lsung des relaxierten Problems besser / entspricht Lsung des ursprnglichen Problems, d.h. zulssige Heuristik fr ursprngliches Problem Die Heuristik ist konsistent

29/04/2011 Folie 38

Heuristiken: Relaxierung Beispiel 1: Keine Regeln


Lsung: Jeden Stein direkt auf seinen Platz schieben h1(n) = Anzahl der falsch platzierten Steine Im Bild: h1(n) = 8

29/04/2011 Folie 39

Heuristiken: Relaxierung Beispiel 2: Mehrfachbelegung der Felder


Verzicht auf Regel Man darf einen Stein nur auf ein freies Feld bewegen Lsung: Steine nacheinander in e(S) Zgen auf ihren Platz schieben; e(S) = Manhattendistanz h2(n) = Se(S) Im Bild: h2(n) = 3+1+2+2+2+3+3+2 = 18 ?

29/04/2011 Folie 40

Heuristiken: Dominanz Dominanz


8-Puzzle ohne Regeln ist Relaxierung des 8-Puzzles mit der Regel Steine nur um ein Feld bewegen Es gilt h1(n) h2(n), Heuristik h2 dominiert h1 Konsequenz: Die A*-Suche mit h2 liefert meist schneller Ergebnisse als die Suche mit h1:
Nur Knoten n mit f(n) < f(z*) expandiert h(n) < f(z*) g(n) h1(n) h2(n) < f(z*) g(n) h1 betrachtet mindestens genauso viele Knoten wie h2 h2 betrachtet aber keine Knoten, fr die h1(n) < f(z*) g(n), aber h2(n) f(z*) g(n)

29/04/2011 Folie 41

Heuristiken: Dominanz Dominanz: h1(n) = Euklidischer Abstand

29/04/2011 Folie 42

Heuristiken: Dominanz Dominanz: h2(n) = Manhattan Abstand

Manhattan Abstand schtzt die Kosten besser (entspricht, abgesehen von Sackgasse, den wahren Kosten ...)

29/04/2011 Folie 43

Heuristiken: Teilprobleme lsen Heuristiken durch Lsen von Teilproblemen


Beispiel: 8-Puzzle, bringe die Steine 1-4 in die richtige Reihenfolge Einfacher, Reihenfolge von 5-8 unwichtig Zulssig und konsistent

29/04/2011 Folie 44

Heuristiken: Teilprobleme lsen Grundlegende Idee:


Instanzen der Teilprobleme lsen, Lsungen in Musterdatenbank speichern Whrend der Suche nach der Lsung des Gesamtproblems fr jeden Zustand die Instanz des Teilproblems bestimmen Optimale Kosten der Lsung dieser Instanz des Teilproblems geben Heuristik fr Lsung des Gesamtproblems Eigentliche Lsung des Teilproblems interessiert nicht Datenstruktur: z.B. Hash-Table

29/04/2011 Folie 45

Heuristiken: Maximum-Heuristik Verknpfung mehrerer Heuristiken


Gegeben: mehrere sich nicht dominierende Heuristiken Kombination: Maximum bilden: h(n) = max {h1(n), , hk(n)} Maximum zulssiger Heuristiken ist wieder zulssig Maximum konsistenter Heuristiken ist wieder konsistent

29/04/2011 Folie 46

Heuristiken: Maximum-Heuristik Die perfekte Heuristik lst das eigentliche Suchproblem um h(n) zu berechnen Immer zwischen Aufwand fr das Berechnen der Heuristik und Aufwand fr das Lsen des Problems abwgen!

29/04/2011 Folie 47

Suche nach einer intelligenten Lsung

29/04/2011 Folie 48

Suche nach einer intelligenten Lsung

29/04/2011 Folie 49

Suche nach einer intelligenten Lsung