Kognitive Systeme 1 - Heuristische Suche

Werbung
Kognitive Systeme 1
Heuristische Suche
Dr.-Ing. Bernd Ludwig
Lehrstuhl für Künstliche Intelligenz
Friedrich-Alexander-Universität Erlangen-Nürnberg
12.11.2009
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
1 / 36
Inhalt
1
Heuristiken
2
Der A∗ -Algorithmus
3
Eigenschaften von Heuristiken
4
Anwendung: Routenplanung
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
2 / 36
Einbringen von Domänenwissen
Nach wie vor gegeben ist die Modellierung des Problems als
Suchgraph.
Wie kann welches Domänenwissen in die Suche eingebracht
werden?
Domänenwissen
Regeln, wie der Suchraum expandiert werden kann
Bewertung einer Expansion durch Kosten für Knoten und Kanten
Bewertungsfunktionen sind numerisch leicht handhabbar.
Sind reelle Zahlen der Wertebereich, findet man immer ein
eindeutiges Minimum und kann Bewertungen verschiedener
Expansionen immer vergleichen.
Mehrdimensionale Wertebereiche sind viel schwieriger.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
3 / 36
Einbringen von Domänenwissen
Intuitiv sucht man den kürzesten Weg in der richtigen Richtung.
Die Länge eines Wegs ist eine positive reelle Zahl, der kürzeste
Weg hat die Länge 0, zwei Wege sind immer über ihre Länge
vergleichbar.
Die Richtung zum Ziel (0 ≤ φ ≤ 360) spielt auch eine Rolle.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
4 / 36
Einbringen von Domänenwissen
Die Richtung ist problematisch als Bestandteil einer
Bewertungsfunktion:
I
I
Links- und Rechtsdrehungen können sich gegenseitig aufheben.
Man kann sich beliebig oft im Kreis drehen.
Besser ist eine Relaxation der Bewertung:
I
I
I
In der Entfernung zum Ziel ist die Richtung implizit enthalten: je
weiter man entgegen der Richtung zum Ziel fährt, desto größer
wird die Entfernung.
Die Entfernung unterscheidet nicht zwischen gleicher Weglänge,
aber unterschiedlicher Richtung.
Die Gesamtkosten sind durch Aufaddieren darstellbar.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
5 / 36
Definitionen zu Heuristiken
Definition (Bewertungsfunktion (Heuristik))
Formal ist – für uns zunächst – eine Heuristik eine Funktion
f̂ : RN → R.
f̂ bildet N Parameter eines Knotens n im Suchraum auf eine
Schätzung der Kosten ab, mit denen ein definiertes Ziel von n aus
erreicht werden kann.
Definition (Tatsächliche Kosten)
Die tatsächlich entstehenden Kosten, um auf einem Pfad von n zum
Ziel zu gelangen, werden durch die Funktion f : RN → R.
Beispiel:
Tatsächliche Kosten: Weglänge (in auf der Autobahn zu fahrenden
Kilometern) von einer Ausfahrt zu einer anderen
Geschätzte Kosten: Luftlinie von einer Ausfahrt zu einer anderen
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
6 / 36
Definitionen zu Heuristiken
Definition (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 zum
Knoten x.
ĥ(x) sind die geschätzten Restkosten von n zum Ziel.
Die tätsachlichen Kosten müssen sich analog zerlegen lassen:
f (x) = g(x) + h(x)
Beispiel:
Bisherige Kosten: Weglänge (in auf der Autobahn zu fahrenden
Kilometern) vom Start zu einer Ausfahrt
Restkosten: Luftlinie von einer Ausfahrt zum Ziel
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
7 / 36
A∗ -Suche: Minimierung der Gesamtpfadkosten
Bewertungsfunktion hat zwei Komponenten:
bisher angefallene Kosten vom Start zum aktuellen Knoten n: g(n)
Schätzung für die Kosten von n zum Ziel: h(n)
Bewertungsfunktion f (n) = g(n) + h(n)
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
8 / 36
Anforderungen an Heuristiken
Das Beispiel (Luftlinie und Richtung) macht deutlich, dass es gut,
weniger gut oder sogar überhaupt nicht geeignete
Bewertungsfunktionen gibt.
Die Eignung einer Bewertungsfunktion hängt auch von der zu
optimierenden Größe (z.B. Fahrzeit, Fahrweg, Benzinverbrauch)
ab.
Wie kann sichergestellt werden, dass ein Suchverfahren
tatsächlich auch eine optimale Lösung findet?
Welche Anforderungen stellt dieses Ziel an eine brauchbare
Heuristik?
Wie funktioniert ein Algorithmus, der eine optimale Lösung
berechnet?
Der Algorithmus von D IJKSTRA zur Suche des kürzesten Pfads
addiert Kosten. Kann diese Idee übernommen werden?
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
9 / 36
Algorithmus für die A∗ -Suche
A∗ -Algorithmus
astar(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 fail
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
10 / 36
Optimistische Heuristiken
Beispiel:
m
Luftlinie: 5
tatsächlich: 5,5
Luftlinie: 3
tatsächlich: 4
g
n
Luftlinie: 4
tatsächlich: 10
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
11 / 36
Optimistische Heuristiken
Definition (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 Warteschlange
([m], 3), ([g], 4)
im nächsten Schritt:
([g, m], 4 + 5), ([g], 4)
Bei der Expansion von ([g, m], 4 + 5) werden die tatsächlichen
Kosten 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 (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
12 / 36
Optimale Lösungen dank optimistischer Heuristiken
Zulässigkeit eines Suchgraphen
Jeder Knoten im Graphen hat 0 ≤ k < ∞ Nachfolger.
Jede Kante hat Kosten c mit c > > 0. Dabei ist eine für alle
Kanten feste Zahl.
Für alle Knoten n gilt: ĥ(n) ≤ h(n) (ĥ ist optimistisch).
Wir zeigen damit:
Theorem
Nach jedem Schritt von A∗ gibt es einen Knoten n∗ auf der Open-Liste
mit folgenden Eigenschaften:
1
n∗ liegt auf einem optimalen Pfad zum Ziel.
2
Es gibt einen optimalen Pfad von n0 zu n∗ .
3
f̂ (n∗ ) ≤ f (n0 )
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
13 / 36
Optimale Lösungen dank optimistischer Heuristiken
Der Beweis wird mittels vollständiger Induktion über die Anzahl der
Expansionsschritte geführt.
Basisfall: n0 wird gerade expandiert
1
n0 ist auf der Open-Liste.
2
Als Startknoten ist n0 natürlich auf einem optimalen Pfad vom
Start zum Ziel.
3
f̂ (n0 ) = ĝ(n0 ) + ĥ(n0 ) = ĥ(n0 ) ≤ h(n0 ).
Wir nutzen hier die Tatsachen aus, dass
I
I
die tatsächlichen Kosten des Startknotens 0 sind und
ĥ optimistisch ist.
ALSO: Im Basisfall ist die Aussage des Satzes erfüllt, wenn n0 als der
gesuchte Knoten n∗ genommen wird.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
14 / 36
Optimale Lösungen dank optimistischer Heuristiken
Induktionsannahme: Nach m − 1 ≥ 0 Expansionsschritten gibt es
einen Knoten n∗ , der die Anforderungen des Satzes erfüllt.
n∗ steckt irgendwo in der Warteschlange. Beim nächsten
Expansionsschritt tritt einer der beiden Fälle auf:
Einfacher Fall: n∗ steht nicht am Anfang, wird also überhaupt nicht
expandiert, sondern irgendein anderer Knoten.
n∗ bleibt also auf der Open-Liste.
Die Eigenschaften (1), (2) und (3) aus dem letzten
Expansionsschritt gelten immer noch.
Wir nehmen also denselben Knoten n∗ wie bisher, weil der alle
gesuchten Eigenschaften erfüllt.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
15 / 36
Optimale Lösungen dank optimistischer Heuristiken
Schwieriger 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 nm ) hat die kleinsten Kosten.
Deshalb erweitert die Kante durch n∗ zu nm den optimalen Pfad
zu n∗ optimal.
Das erfüllt die Anforderungen (1) und (2) für nm .
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
16 / 36
Optimale Lösungen dank optimistischer Heuristiken
Die Kosten für nm werden wie folgt geschätzt:
f̂ (nm ) = ĝ(nm ) + ĥ(nm )
≤ g(n∗ ) + cost(n∗ , nm ) + h(nm )
= g(nm ) + h(nm )
= f (nm ) ≤ f (n0 )
Die letzte Ungleichung gilt, weil die tatsächlichen Kosten für einem
optimalen Teilpfad von n0 zum Ziel nicht größer sein können als
die Kosten für den ganzen Pfad.
nm wird das neue n∗ .
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
17 / 36
Optimale Lösungen dank optimistischer Heuristiken
Mit dem Theorem über optimale Pfade beweisen wir die
Vollständigkeit und Korrektheit von A∗ :
Theorem
Bei einem zulässigen Suchgraphen termininert A∗ immer und findet zu
einem Startknoten n0 einen optimalen, d.h. kosten-minimalen, Pfad
genau dann, falls der auch existiert.
Dass die Termininierung garantiert ist, beweisen wir per Widerspruch.
Sei also angenommen, es gebe einen Suchgraphen mit einem
Startknoten n0 , und A∗ terminiere nicht. Dann werden unendlich
lange Knoten expandiert.
Da – wegen der Zulässigkeit des Suchgraphen – kein Knoten
unendlich viele Nachfolger hat, gibt es aber nur endlich viele
Expansionsschritte, weil Knoten nicht mehrfach besucht werden.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
18 / 36
Optimale Lösungen dank optimistischer Heuristiken
Nach dem eben gezeigten Theorem gibt es in jedem dieser
Schritte einen Knoten n∗ mit f̂ (n∗ ) ≤ f (n0 ).
Weil die tatsächlichen Kosten an Kanten immer positiv sind, bleibt
bei jedem Schritt f̂ (n∗ ) mindestens konstant und übersteigt
irgendwann f (n0 ).
Dies widerspricht aber der Optimalitätseigenschaft von n∗ .
A∗ muss also auf jedem zulässigen Suchgraphen terminieren.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
19 / 36
Optimale Lösungen dank optimistischer Heuristiken
Zur Korrektheit überlegen wir, dass A∗ nur terminiert, wenn entweder
die Open-Liste leer ist, oder
ein Zielknoten erreicht wurde.
Fall 1:
Bei leerer Open-Liste gibt es keine Kante zu einem Zielknoten (sonst
wäre sie ja nicht vorzeitig leer). A∗ erkennt dies korrekterweise.
Fall 2:
Falls ein Zielknoten ns erreicht wurde, nehmen wir – für einen
Widerspruchsbeweis – an, der Pfad sei nicht optimal. Daraus folgt:
f (ns ) > f (n0 )
f̂ (ns ) = ĝ(ns ) + ĥ(ns ) = ĝ(ns ). ĥ(ns ) = 0, da ns ein Zielknoten ist.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
20 / 36
Optimale Lösungen dank optimistischer Heuristiken
Einen Schritt früher gab es noch n∗ mit f (n∗ ) ≤ f (n0 ), da n∗ nach
dem ersten Theorem auf einem optimalen Pfad liegt.
A∗ sucht jetzt den kosten-minimalen Nachfolger von n∗ . Soll dies
ns sein, muss f̂ (ns ) ≤ f (n0 ) gelten.
Der Pfad nach ns ist aber suboptimal. Also: f̂ (ns ) ≤ f (n0 ) < f (ns ),
also ĝ(ns ) < g(ns ).
In einem Zielknoten gilt aber (weil immer der kosten-minimale
Nachfolger gewählt wurde) ĝ(ns ) = g(ns ).
Per Konstruktion des Algorithmus wird ns also doch nicht erreicht! Es
muss also einen anderen, besseren Nachfolger von n∗ geben.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
21 / 36
Nicht optimistische Heuristiken
m
Luftlinie: 5
tatsächlich: 5,5
Luftlinie: 3
tatsächlich: 4
g
n
Luftlinie: 4
tatsächlich: 10
Eine vorsichtige Schätzung könnte die Reststrecke (rote Linie) mit
der 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 (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
22 / 36
Nicht optimistische Heuristiken
Nä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ächlichen
Kosten von n nach m 4 betragen und die Kosten von m nach g mit
3 · 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ösung
ausgegeben.
Seine tatsächlichen Kosten betragen 10, die des Pfads
n → m → g aber nur 9.
Es wurde also ein nicht-optimaler Pfad gewählt.
Sollen wir weitersuchen? Dann haben wir wieder eine
uninformierte Suche!
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
23 / 36
“Backtracking” bei A∗
Als Beispiel nehmen wir die folgende
Restkostenschätzung an:
Knoten x
n
a
b
c
g
ĥ(x)
11
4
6
3
0
h(x)
11
6
6
3
0
Tatsächliche Kosten sind die Entfernungen
zwischen zwei Knoten, wie an den Kanten annotiert.
Ausgangslage:
I
I
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Startknoten: n
Zielknoten: g
Kognitive Systeme 1
Kapitel 4
24 / 36
“Backtracking” bei A∗
Bei Start ab n findet folgender erster Expansionsschritt statt:
a:
b:
open
closed
f̂ (a) = 5 + 4 = 9
f̂ (b) = 4 + 6 = 10
(a, 9); (b, 10)
n
Expansion von a:
c:
f̂ (c) = 5 + 3 + 3 = 11
open
(b, 10); (c, 11)
closed n, a
Als nächster Knoten wird b expandiert.
c : f̂ (c) = 4 + 3 + 3 = 10
Es gibt nun einen besseren Pfad durch b nach g!
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 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 die
Open-Liste eingefügt.
open
c, a
closed n, b
nächster Expansionsschritt:
g:
f̂ (g) = 4 + 3 + 3 = 10
open
g, a
closed n, b, c
Letzter Schritt:
g : Zielknoten
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
26 / 36
“Backtracking” bei A∗
Welche Ursache führt zum Backtracking?
Ist die Heuristik dafür verantwortlich?
Gibt es Heuristiken, die Backtracking vermeiden können?
Analyse der beiden Pfade durch c:
Die Kosten für den Pfad [n, a, c, g] seien f̂a (g), die Kosten für den
Pfad [n, b, c, g] seien f̂b (h).
Wir haben berechnet:
f̂b (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 der
tatsächlichen Kosten.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
27 / 36
“Backtracking” bei A∗
Um Backtracking zu vermeiden, muss
f̂b (g) ≥ f̂a (g) ⇐⇒ ĥb (g) − ĥa (g) ≥ ĝa (g) − ĝb (g)
gelten. Die optimale Lösung wird also je schneller gefunden, desto
eher 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 für Kanten, die nicht den
beiden Pfaden gemeinsam sind.
Die tatsächlichen Kosten entstehen durch Aufaddieren von Kosten
für Kanten, also von Pfaden der Länge 1.
Unterscheiden sich Pfad 1 und Pfad 2 zum Knoten g nur um eine
Kante (x, a), gilt:
ĝ1 (g) − ĝ2 (g) = c(x, g)
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
28 / 36
Vermeiden des “Backtracking”
Damit in diesem Fall “Backtracking” vermieden wird, muss gelten:
f̂2 (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 für alle Kanten (x, y ) im
Suchgraphen gilt:
ĥ(x) − ĥ(y ) ≤ c(x, y )
Das Monotoniekriterium kann als Analogon zur
Dreiecksungleichung angesehen werden.
Die Luftlinie ist ein Beispiel für eine monotone Heuristik.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
29 / 36
Nicht monotone Heuristiken
Entfernung: 8
kein Stau
m
Entfernung: 2
kein Stau
g
Entfernung: 8
Stau
n
v ist die mittlere Geschwindigkeit, die auf allen Strecken gefahren
wird.
Tatsächliche Kosten:
d(x, g)
g(x) =
v
Restkostenschätzung:
ĥ(x) =
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
d(x, g)
v · (2 − P(Stau in x))
Kognitive Systeme 1
Kapitel 4
30 / 36
Nicht monotone Heuristiken
Die Restkostenschätzung für n beträgt:
ĥ(n) =
8
8
8
=
=
v · (2 − P(Stau in n))
(2 − 1)v
v
Die Restkostenschätzung für m beträgt:
ĥ(m) =
8
8
4
=
=
v · (2 − P(Stau in m))
(2 − 0)v
v
Damit ist das Monotoniekriterium
ĥ(n) ≤ cost(n, m) + ĥ(m)
nicht erfüllt, da
2 4
8
> +
v
v
v
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
31 / 36
Monotone Heuristiken sichern lokal optimale Pfade
Gilt die Anforderung für alle Kanten eines Pfads, wachsen die
Kosten längs des Pfads streng monoton:
a
ĥ(a) − ĥ(b) ≤ c(a, b)
ĥ(b) − ĥ(c) ≤ c(b, c)
Also:
b
h(b)
h(a)
ĥ(a) − ĥ(c) ≤ c(a, c) + c(b, c) = ĝ(c)
Also:
c
d
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 (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
32 / 36
Monotone Heuristiken sichern lokal optimale Pfade
Theorem
A∗ hat bei Verwendung einer monotonen Heuristik einen optimalen
Pfad nach n gefunden, sobald n expandiert wird.
Beweis:
Besteht der Pfad nur aus dem Start n0 , ist nichts zu zeigen.
Induktionsannahme: Es seien bereits i Knoten expandiert, der
letzte sei ni .
j
ni hat die Nachfolger ni+1
(1 ≤ j ≤ K < ∞).
Jeder Knoten wird in die Open-Liste eingefügt mit dem Gewicht
j
j
j
j
j
f̂ (ni+1
) = ĝ(ni+1
) + ĥ(ni+1
) = g(ni ) + c(ni , ni+1
) + ĥ(ni+1
)
Im nächsten Schritt wird der Knoten mit der Nummer k = 1
expandiert oder überhaupt keiner der Nachfolger.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
33 / 36
Monotone Heuristiken sichern lokal optimale Pfade
j
1
ni+1
hat die niedrigsten Kosten, denn für alle anderen Knoten ni+1
(2 ≤ j ≤ K ) gilt:
j
1
f̂ (ni+1
) − f̂ (ni+1
)
=
j
j
1
1
g(ni ) + c(ni , ni+1
) + ĥ(ni+1
) − g(ni ) − c(ni , ni+1
) − ĥ(ni+1
)
=
1
c(ni , ni+1
)
1
c(ni , ni+1
)−
j
c(ni , ni+1
)
−
j
c(ni , ni+1
)
+
j
− ĥ(ni+1
)
j
c(ni , ni+1 )
1
ĥ(ni+1
)
1
+ ĥ(ni ) − c(ni , ni+1
) − ĥ(ni ) +
≥
=
0
Die Ungleichung gilt, weil die Heuristik monoton ist.
Fazit: Der optimale Pfad verläuft also entweder
durch ni und dann durch den Nachfolger von ni mit minimalem
j
c(ni , ni+1
) oder
nicht einmal durch ni sondern durch irgendeinen anderen Knoten,
falls es einen optimalen Pfad überhaupt gibt.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
34 / 36
Zusammenfassung
Unsere Analyse von Heuristiken für A∗ -Stern läßt sich in folgendem
Fazit zusammenfassen:
Eigenschaften von Heuristiken
Die Verwendung von Heuristiken bezweckt eine Reduktion des
Suchaufwands gegenüber der uninformierten Suche.
Die Reduktion soll erreicht werden, indem Domänenwissen in
eine 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 der
Lösung optimal ist.
Dr.-Ing. Bernd Ludwig (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
35 / 36
Klasse für A∗ -Suche
package 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 (Lehrstuhl KI)
Kognitive Systeme 1
Kapitel 4
36 / 36
Herunterladen