12.07.2015 Aufrufe

Kognitive Systeme 1 - Lehrstuhl für Informatik 8 (Theoretische ...

Kognitive Systeme 1 - Lehrstuhl für Informatik 8 (Theoretische ...

Kognitive Systeme 1 - Lehrstuhl für Informatik 8 (Theoretische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Kognitive</strong> <strong>Systeme</strong> 1Heuristische SucheDr.-Ing. Bernd Ludwig<strong>Lehrstuhl</strong> <strong>für</strong> Künstliche IntelligenzFriedrich-Alexander-Universität Erlangen-Nürnberg12.11.2009Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 1 / 36


Inhalt1 Heuristiken2 Der A ∗ -Algorithmus3 Eigenschaften von Heuristiken4 Anwendung: RoutenplanungDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 2 / 36


Einbringen von DomänenwissenNach wie vor gegeben ist die Modellierung des Problems alsSuchgraph.Wie kann welches Domänenwissen in die Suche eingebrachtwerden?DomänenwissenRegeln, wie der Suchraum expandiert werden kannBewertung einer Expansion durch Kosten <strong>für</strong> Knoten und KantenBewertungsfunktionen sind numerisch leicht handhabbar.Sind reelle Zahlen der Wertebereich, findet man immer eineindeutiges Minimum und kann Bewertungen verschiedenerExpansionen immer vergleichen.Mehrdimensionale Wertebereiche sind viel schwieriger.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 3 / 36


Einbringen von DomänenwissenDie Richtung ist problematisch als Bestandteil einerBewertungsfunktion:◮ Links- und Rechtsdrehungen können sich gegenseitig aufheben.◮ Man kann sich beliebig oft im Kreis drehen.Besser ist eine Relaxation der Bewertung:◮ In der Entfernung zum Ziel ist die Richtung implizit enthalten: jeweiter man entgegen der Richtung zum Ziel fährt, desto größerwird die Entfernung.◮ Die Entfernung unterscheidet nicht zwischen gleicher Weglänge,aber unterschiedlicher Richtung.◮Die Gesamtkosten sind durch Aufaddieren darstellbar.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 5 / 36


Definitionen zu HeuristikenDefinition (Bewertungsfunktion (Heuristik))Formal ist – <strong>für</strong> uns zunächst – eine Heuristik eine Funktionˆf : R N → R.ˆf bildet N Parameter eines Knotens n im Suchraum auf eineSchätzung der Kosten ab, mit denen ein definiertes Ziel von n auserreicht werden kann.Definition (Tatsächliche Kosten)Die tatsächlich entstehenden Kosten, um auf einem Pfad von n zumZiel zu gelangen, werden durch die Funktion f : R N → R.Beispiel:Tatsächliche Kosten: Weglänge (in auf der Autobahn zu fahrendenKilometern) von einer Ausfahrt zu einer anderenGeschätzte Kosten: Luftlinie von einer Ausfahrt zu einer anderenDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 6 / 36


Definitionen zu HeuristikenDefinition (Bisherige Kosten und Restkosten)Eine A ∗ -Heuristik (kurz: Heuristik) hat die Form:ˆf (x) = ĝ(x) + ĥ(x)ĝ(x) sind die geschätzten bisherigen Kosten vom Startknoten bis zumKnoten x.ĥ(x) sind die geschätzten Restkosten von n zum Ziel.Die tätsachlichen Kosten müssen sich analog zerlegen lassen:Beispiel:f (x) = g(x) + h(x)Bisherige Kosten: Weglänge (in auf der Autobahn zu fahrendenKilometern) vom Start zu einer AusfahrtRestkosten: Luftlinie von einer Ausfahrt zum ZielDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 7 / 36


A ∗ -Suche: Minimierung der GesamtpfadkostenBewertungsfunktion hat zwei Komponenten:bisher angefallene Kosten vom Start zum aktuellen Knoten n: g(n)Schätzung <strong>für</strong> die Kosten von n zum Ziel: h(n)Bewertungsfunktion f (n) = g(n) + h(n)Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 8 / 36


Anforderungen an HeuristikenDas Beispiel (Luftlinie und Richtung) macht deutlich, dass es gut,weniger gut oder sogar überhaupt nicht geeigneteBewertungsfunktionen gibt.Die Eignung einer Bewertungsfunktion hängt auch von der zuoptimierenden Größe (z.B. Fahrzeit, Fahrweg, Benzinverbrauch)ab.Wie kann sichergestellt werden, dass ein Suchverfahrentatsächlich auch eine optimale Lösung findet?Welche Anforderungen stellt dieses Ziel an eine brauchbareHeuristik?Wie funktioniert ein Algorithmus, der eine optimale Lösungberechnet?Der Algorithmus von DIJKSTRA zur Suche des kürzesten Pfadsaddiert Kosten. Kann diese Idee übernommen werden?Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 9 / 36


Algorithmus <strong>für</strong> die A ∗ -SucheA ∗ -Algorithmusastar(source, target)g(source) = 0; open = {source}; close = {};while(not open.isEmpty()) {remove min with the smallest f-value from open;if (min == target) return getWay(min);close.insert(min);for each successor s of min {if (s not in open and s not in close) {open+={s}; saveWay(s); g(s)=g(min)+cost(min,s);}else if (g(min) + cost(min, s) < g(s)) {g(s) = g(min) + cost(min, s); saveWay(s);if (s in close) {open.insert(s); close.remove(s)}}}}return failDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 10 / 36


Optimistische HeuristikenBeispiel:Luftlinie: 5tatsächlich: 5,5mLuftlinie: 3tatsächlich: 4gLuftlinie: 4tatsächlich: 10nDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 11 / 36


Optimistische HeuristikenDefinition (Optimistische Heuristik)Eine Heuristik heißt optimistisch, wenn sie nie Restkosten schätzt, dieüber den tatsächlichen Kosten liegen.Schätzfunktion sei die Luftlinie zwischen zwei Knoten.Im ersten Schritt ergibt sich die Warteschlangeim nächsten Schritt:([m], 3), ([g], 4)([g, m], 4 + 5), ([g], 4)Bei der Expansion von ([g, m], 4 + 5) werden die tatsächlichenKosten 4 + 5.5 = 9.5 ermittelt.Da nun ein Endknoten erreicht ist, wird die Lösung ausgegeben.Die Lösung ist optimal!Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 12 / 36


Optimale Lösungen dank optimistischer HeuristikenZulässigkeit eines SuchgraphenJeder Knoten im Graphen hat 0 ≤ k < ∞ Nachfolger.Jede Kante hat Kosten c mit c > ɛ > 0. Dabei ist ɛ eine <strong>für</strong> alleKanten feste Zahl.Für alle Knoten n gilt: ĥ(n) ≤ h(n) (ĥ ist optimistisch).Wir zeigen damit:TheoremNach jedem Schritt von A ∗ gibt es einen Knoten n ∗ auf der Open-Listemit folgenden Eigenschaften:1 n ∗ liegt auf einem optimalen Pfad zum Ziel.2 Es gibt einen optimalen Pfad von n 0 zu n ∗ .3 ˆf (n ∗ ) ≤ f (n 0 )Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 13 / 36


Optimale Lösungen dank optimistischer HeuristikenDer Beweis wird mittels vollständiger Induktion über die Anzahl derExpansionsschritte geführt.Basisfall: n 0 wird gerade expandiert1 n 0 ist auf der Open-Liste.2 Als Startknoten ist n 0 natürlich auf einem optimalen Pfad vomStart zum Ziel.3 ˆf (n0 ) = ĝ(n 0 ) + ĥ(n 0) = ĥ(n 0) ≤ h(n 0 ).Wir nutzen hier die Tatsachen aus, dass◮ die tatsächlichen Kosten des Startknotens 0 sind und◮ ĥ optimistisch ist.ALSO: Im Basisfall ist die Aussage des Satzes erfüllt, wenn n 0 als dergesuchte Knoten n ∗ genommen wird.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 14 / 36


Optimale Lösungen dank optimistischer HeuristikenInduktionsannahme: Nach m − 1 ≥ 0 Expansionsschritten gibt eseinen Knoten n ∗ , der die Anforderungen des Satzes erfüllt.n ∗ steckt irgendwo in der Warteschlange. Beim nächstenExpansionsschritt tritt einer der beiden Fälle auf:Einfacher Fall: n ∗ steht nicht am Anfang, wird also überhaupt nichtexpandiert, sondern irgendein anderer Knoten.n ∗ bleibt also auf der Open-Liste.Die Eigenschaften (1), (2) und (3) aus dem letztenExpansionsschritt gelten immer noch.Wir nehmen also denselben Knoten n ∗ wie bisher, weil der allegesuchten Eigenschaften erfüllt.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 15 / 36


Optimale Lösungen dank optimistischer HeuristikenSchwieriger Fall:n ∗ wird expandiert.Einer seiner Nachfolger muss die Eigenschaften (1), (2) und (3)erfüllen.Alle Nachfolger von n ∗ kommen auf die Open-Liste.Einer von ihnen (nennen wir ihn n m ) hat die kleinsten Kosten.Deshalb erweitert die Kante durch n ∗ zu n m den optimalen Pfadzu n ∗ optimal.Das erfüllt die Anforderungen (1) und (2) <strong>für</strong> n m .Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 16 / 36


Optimale Lösungen dank optimistischer HeuristikenDie Kosten <strong>für</strong> n m werden wie folgt geschätzt:ˆf (nm ) = ĝ(n m ) + ĥ(n m)≤ g(n ∗ ) + cost(n ∗ , n m ) + h(n m )= g(n m ) + h(n m )= f (n m ) ≤ f (n 0 )Die letzte Ungleichung gilt, weil die tatsächlichen Kosten <strong>für</strong> einemoptimalen Teilpfad von n 0 zum Ziel nicht größer sein können alsdie Kosten <strong>für</strong> den ganzen Pfad.n m wird das neue n ∗ .Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 17 / 36


Optimale Lösungen dank optimistischer HeuristikenMit dem Theorem über optimale Pfade beweisen wir dieVollständigkeit und Korrektheit von A ∗ :TheoremBei einem zulässigen Suchgraphen termininert A ∗ immer und findet zueinem Startknoten n 0 einen optimalen, d.h. kosten-minimalen, Pfadgenau dann, falls der auch existiert.Dass die Termininierung garantiert ist, beweisen wir per Widerspruch.Sei also angenommen, es gebe einen Suchgraphen mit einemStartknoten n 0 , und A ∗ terminiere nicht. Dann werden unendlichlange Knoten expandiert.Da – wegen der Zulässigkeit des Suchgraphen – kein Knotenunendlich viele Nachfolger hat, gibt es aber nur endlich vieleExpansionsschritte, weil Knoten nicht mehrfach besucht werden.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 18 / 36


Optimale Lösungen dank optimistischer HeuristikenNach dem eben gezeigten Theorem gibt es in jedem dieserSchritte einen Knoten n ∗ mit ˆf (n ∗ ) ≤ f (n 0 ).Weil die tatsächlichen Kosten an Kanten immer positiv sind, bleibtbei jedem Schritt ˆf (n ∗ ) mindestens konstant und übersteigtirgendwann f (n 0 ).Dies widerspricht aber der Optimalitätseigenschaft von n ∗ .A ∗ muss also auf jedem zulässigen Suchgraphen terminieren.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 19 / 36


Optimale Lösungen dank optimistischer HeuristikenZur Korrektheit überlegen wir, dass A ∗ nur terminiert, wenn entwederFall 1:die Open-Liste leer ist, oderein Zielknoten erreicht wurde.Bei leerer Open-Liste gibt es keine Kante zu einem Zielknoten (sonstwäre sie ja nicht vorzeitig leer). A ∗ erkennt dies korrekterweise.Fall 2:Falls ein Zielknoten n s erreicht wurde, nehmen wir – <strong>für</strong> einenWiderspruchsbeweis – an, der Pfad sei nicht optimal. Daraus folgt:f (n s ) > f (n 0 )ˆf (ns ) = ĝ(n s ) + ĥ(n s) = ĝ(n s ). ĥ(n s) = 0, da n s ein Zielknoten ist.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 20 / 36


Optimale Lösungen dank optimistischer HeuristikenEinen Schritt früher gab es noch n ∗ mit f (n ∗ ) ≤ f (n 0 ), da n ∗ nachdem ersten Theorem auf einem optimalen Pfad liegt.A ∗ sucht jetzt den kosten-minimalen Nachfolger von n ∗ . Soll diesn s sein, muss ˆf (n s ) ≤ f (n 0 ) gelten.Der Pfad nach n s ist aber suboptimal. Also: ˆf (n s ) ≤ f (n 0 ) < f (n s ),also ĝ(n s ) < g(n s ).In einem Zielknoten gilt aber (weil immer der kosten-minimaleNachfolger gewählt wurde) ĝ(n s ) = g(n s ).Per Konstruktion des Algorithmus wird n s also doch nicht erreicht! Esmuss also einen anderen, besseren Nachfolger von n ∗ geben.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 21 / 36


Nicht optimistische HeuristikenLuftlinie: 5tatsächlich: 5,5mLuftlinie: 3tatsächlich: 4gLuftlinie: 4tatsächlich: 10nEine vorsichtige Schätzung könnte die Reststrecke (rote Linie) mitder dreifachen Luftlinie abschätzen.Für (n, g) gilt also: ĥ(n) > h(n)Expansion ab n ergibt also folgende Warteschlange:([m], 9), ([g], 12)Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 22 / 36


Nicht optimistische HeuristikenNächster Expansionsschritt: m hat die beste Bewertung.Es gibt nur den Nachfolger g.Die Warteschlange schaut jetzt so aus:([g], 12), ([g, m], 4 + 15)Der Pfad [g, m] hat die Bewertung 4 + 15, weil die tatsächlichenKosten von n nach m 4 betragen und die Kosten von m nach g mit3 · 5 = 15 geschätzt werden.Im nächsten Schritt wird das Element ([g], 12) bearbeitet.g ist der Zielknoten, also wird der Pfad n → g als Lösungausgegeben.Seine tatsächlichen Kosten betragen 10, die des Pfadsn → m → g aber nur 9.Es wurde also ein nicht-optimaler Pfad gewählt.Sollen wir weitersuchen? Dann haben wir wieder eineuninformierte Suche!Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 23 / 36


“Backtracking” bei A ∗Als Beispiel nehmen wir die folgendeRestkostenschätzung an:Knoten x ĥ(x) h(x)n 11 11a 4 6b 6 6c 3 3g 0 0Tatsächliche Kosten sind die Entfernungenzwischen zwei Knoten, wie an den Kanten annotiert.Ausgangslage:◮◮Startknoten: nZielknoten: gDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 24 / 36


“Backtracking” bei A ∗Bei Start ab n findet folgender erster Expansionsschritt statt:Expansion von a:a : ˆf (a) = 5 + 4 = 9b : ˆf (b) = 4 + 6 = 10open (a, 9); (b, 10)closed nc : ˆf (c) = 5 + 3 + 3 = 11open (b, 10); (c, 11)closed n, aAls nächster Knoten wird b expandiert.c : ˆf (c) = 4 + 3 + 3 = 10Es gibt nun einen besseren Pfad durch b nach g!Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 25 / 36


“Backtracking” bei A ∗Alle bisherigen Schätzungen über a müssen revidiert werden!Dazu wird a von der Closed-Liste genommen und wieder in dieOpen-Liste eingefügt.openclosedc, an, bnächster Expansionsschritt:g : ˆf (g) = 4 + 3 + 3 = 10open g, aclosed n, b, cLetzter Schritt:g :ZielknotenDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 26 / 36


“Backtracking” bei A ∗Welche Ursache führt zum Backtracking?Ist die Heuristik da<strong>für</strong> verantwortlich?Gibt es Heuristiken, die Backtracking vermeiden können?Analyse der beiden Pfade durch c:Die Kosten <strong>für</strong> den Pfad [n, a, c, g] seien ˆf a (g), die Kosten <strong>für</strong> denPfad [n, b, c, g] seien ˆf b (h).Wir haben berechnet:ˆfb (g) < ˆf a (g) ⇐⇒ ĥb(g) + ĝ b (g) < ĥa(g) + ĝ a (g)Also:ĥ b (g) − ĥa(g) < ĝ a (g) − ĝ b (g)Die Differenz der Restkosten ist also kleiner als die Differenz dertatsächlichen Kosten.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 27 / 36


“Backtracking” bei A ∗Um Backtracking zu vermeiden, mussˆfb (g) ≥ ˆf a (g) ⇐⇒ ĥb(g) − ĥa(g) ≥ ĝ a (g) − ĝ b (g)gelten. Die optimale Lösung wird also je schneller gefunden, destoeher der Pfad mit den kleinstmöglichen Kosten identifiziert wird.Die Restkostenschätzung darf nicht zu optimistisch sein!ĝ a (g) − ĝ b (g) ist die Summe der Kosten <strong>für</strong> Kanten, die nicht denbeiden Pfaden gemeinsam sind.Die tatsächlichen Kosten entstehen durch Aufaddieren von Kosten<strong>für</strong> Kanten, also von Pfaden der Länge 1.Unterscheiden sich Pfad 1 und Pfad 2 zum Knoten g nur um eineKante (x, a), gilt:ĝ 1 (g) − ĝ 2 (g) = c(x, g)Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 28 / 36


Vermeiden des “Backtracking”Damit in diesem Fall “Backtracking” vermieden wird, muss gelten:ˆf2 (g) ≥ ˆf 1 (g) ⇐⇒ ĥ1(g) − ĥ2(g) ≤ ĝ 2 (g) − ĝ 1 (g) = c(x, g)Damit haben wir eine Anforderung an eine Heuristik hergeleitet,mit der “backtracking” vermieden werden kann.Definition (Monotone Heuristik)Eine Heuristik heißt monoton, wenn <strong>für</strong> alle Kanten (x, y) imSuchgraphen gilt:ĥ(x) − ĥ(y) ≤ c(x, y)Das Monotoniekriterium kann als Analogon zurDreiecksungleichung angesehen werden.Die Luftlinie ist ein Beispiel <strong>für</strong> eine monotone Heuristik.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 29 / 36


Nicht monotone HeuristikengEntfernung: 8kein StaumEntfernung: 2kein StauEntfernung: 8Staunv ist die mittlere Geschwindigkeit, die auf allen Strecken gefahrenwird.Tatsächliche Kosten:d(x, g)g(x) =vRestkostenschätzung:ĥ(x) =d(x, g)v · (2 − P(Stau in x))Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 30 / 36


Nicht monotone HeuristikenDie Restkostenschätzung <strong>für</strong> n beträgt:ĥ(n) =8v · (2 − P(Stau in n)) = 8(2 − 1)v = 8 vDie Restkostenschätzung <strong>für</strong> m beträgt:ĥ(m) =Damit ist das Monotoniekriterium8v · (2 − P(Stau in m)) = 8(2 − 0)v = 4 vĥ(n) ≤ cost(n, m) + ĥ(m)nicht erfüllt, da8v > 2 v + 4 vDr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 31 / 36


Monotone Heuristiken sichern lokal optimale PfadeGilt die Anforderung <strong>für</strong> alle Kanten eines Pfads, wachsen dieKosten längs des Pfads streng monoton:aĥ(a) − ĥ(b) ≤ c(a, b)ĥ(b) − ĥ(c) ≤ c(b, c)bh(b)h(a)Also:ĥ(a) − ĥ(c) ≤ c(a, c) + c(b, c) = ĝ(c)cdAlso:ˆf (a) = 0 + ĥ(a) ≤ ĝ(c) + ĥ(c) = ˆf (c)A ∗ wählt zum Knoten x also den Nachfolger y, derĝ(x) + c(x, y) + ĥ(y) minimiert.Jetzt gibt es kein Backtracking mehr!Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 32 / 36


Monotone Heuristiken sichern lokal optimale PfadeTheoremA ∗ hat bei Verwendung einer monotonen Heuristik einen optimalenPfad nach n gefunden, sobald n expandiert wird.Beweis:Besteht der Pfad nur aus dem Start n 0 , ist nichts zu zeigen.Induktionsannahme: Es seien bereits i Knoten expandiert, derletzte sei n i .n i hat die Nachfolger n j i+1(1 ≤ j ≤ K < ∞).Jeder Knoten wird in die Open-Liste eingefügt mit dem Gewichtˆf (nji+1 ) = ĝ(nj i+1 ) + ĥ(nj i+1 ) = g(n i) + c(n i , n j i+1 ) + ĥ(nj i+1 )Im nächsten Schritt wird der Knoten mit der Nummer k = 1expandiert oder überhaupt keiner der Nachfolger.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 33 / 36


Monotone Heuristiken sichern lokal optimale Pfaden 1 i+1 hat die niedrigsten Kosten, denn <strong>für</strong> alle anderen Knoten nj i+1(2 ≤ j ≤ K ) gilt:ˆf (n1i+1 ) − ˆf (n j i+1 ) =g(n i ) + c(n i , n 1 i+1) + ĥ(n1 i+1) − g(n i ) − c(n i , n j i+1 ) − ĥ(nj i+1 ) =c(n i , n 1 i+1) − c(n i , n j i+1 ) + ĥ(n1 i+1) − ĥ(nj i+1 )c(n i , n 1 i+1) − c(n i , n j i+1 ) + ĥ(n i) − c(n i , n 1 i+1) − ĥ(n i) + c(n i , n j i+1 ) = 0Die Ungleichung gilt, weil die Heuristik monoton ist.Fazit: Der optimale Pfad verläuft also entwederdurch n i und dann durch den Nachfolger von n i mit minimalemc(n i , n j i+1 ) odernicht einmal durch n i sondern durch irgendeinen anderen Knoten,falls es einen optimalen Pfad überhaupt gibt.≥Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 34 / 36


ZusammenfassungUnsere Analyse von Heuristiken <strong>für</strong> A ∗ -Stern läßt sich in folgendemFazit zusammenfassen:Eigenschaften von HeuristikenDie Verwendung von Heuristiken bezweckt eine Reduktion desSuchaufwands gegenüber der uninformierten Suche.Die Reduktion soll erreicht werden, indem Domänenwissen ineine Bewertungsfunktion (Heuristik) einfliesst.Eine optimistische Heuristik reicht, um eine optimale Lösung, d.h.einen Pfad mit minimalen Kosten von Start zu Ziel, zu finden.Eine monotone Heuristik bewirkt, dass auch jeder Teilpfad derLösung optimal ist.Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 35 / 36


Klasse <strong>für</strong> A ∗ -Suchepackage graph;import java.util.Enumeration;public class AStarGraph extends ALGOGraph {public void initSearch(ALGOPlacemarkNode startNode,ALGOPlacemarkNode targetNode) {}public boolean solutionFound() { ... }public boolean noSolution() { ... }}public void nextStep() { ... }Dr.-Ing. Bernd Ludwig (<strong>Lehrstuhl</strong> KI) <strong>Kognitive</strong> <strong>Systeme</strong> 1 Kapitel 4 36 / 36

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!