Heuristische Suche

Werbung
PD Dr. Stefan Edelkamp
Dipl. Inform. Tilman Mehler
Dortmund, den 7.11.2003
Übungen zur Vorlesung
Heuristische Suche
Wintersemester 2003/2004
Aufgabenblatt 2
Abgabe am 21.11.2003, in der Vorlesung.
Besprechung am 25.11.2003.
Aufgabe 1.1 (Gewichtungen in A∗ )
Algorithmus A* aktualisiert dynamisch die Gesamtschätzungen f (n) = g(n) + h(n), wobei g(n) die Länge
(Kosten) des Generierungspfades ist und h(n) der Schätzwert der Länge (Kosten) von n zum Ziel ist. Parametrisiert man fl (n) = l · h(n) + (1 − l) · g(n) mit l ∈ [0, 1] so erhält man Algorithmen Al . Zeigen Sie:
a) In uniformen Zustandsräumen entspricht A0 einer Breitensuche.
b) Bei gleicher Behandlung von gleichbewerteten Knoten (tie-breaking) expandiert Algorithmus A0.5 die
Knoten in der gleichen Reihenfolge wie A∗ .
c) Für konsistente Heuristiken und l ≤ 0.5 ist fl monoton. Damit terminiert Algorithmus Al mit einer
optimalen Lösung.
Aufgabe 1.2 (Dynamische Gewichtung)
Ein Algorithmus ist -optimal, wenn er mit einer Lösung mit maximalen Kosten (1 + ) · δ(s, T ) terminiert.
Zeigen Sie:
a) A* mit f (u) = g(u) + h(u) + [1 − d(u)/N ] · h(u) ist -optimal. Hierbei sei d(u) die derzeitige und N
die antizipierte optimale Suchtiefe.
b) Sei F = {n | f (n) ≤ (1 + ) · minn0 ∈Open f (n0 )}.
Dann liefert die Entnahme des Knotens mit minimalem h-Wert in F einen -optimalen Algorithmus.
Nutzen Sie in beiden Fällen Invarianz (I), die besagt, dass es in Open einen Knoten u auf einem optimalen
Zielpfad mit Bewertung f (u) = δ(s, u) + h(u) gibt.
Aufgabe 1.3 (Priority Queues)
Es sei folgende Instanz des 2 × 3-Puzzles gegeben:
1
5
4
3
2
Verwenden Sie die A*-Suche mit der Manhattan-Distanz zur Lösung des Puzzles, wobei Open als 1-Level
Bucket realisiert sein soll. Halten Sie nach jeder Expansion bildlich fest, welche Zustände im Dial gespeichert
sind. Wieviele Schritte sind nötig?
Aufgabe 1.4 (Hashing)
Zeigen Sie, wie die Idee zum Algorithmus von Rabin und Karp eingesetzt werden kann, um den Hashwert eines
Zustandes im 15-Puzzle inkrementell zu berechnen. Welche Aussage könne Sie generell darüber machen, wann
diese Art der Hashberechnung möglich und sinnvoll ist?
Herunterladen