stefan ender / matthias raps - otto-friedrich- · pdf file{als heuristik bezeichnet man eine...
TRANSCRIPT
1
Heuristic search planning
Hauptseminar„Problemlösen und Planen“
Stefan Ender / Matthias Raps
2
Agenda
Einleitung mit DefinitionenSTRIPS und ZustandsraummodellEingesetzte HeuristikenHSP 2.0 (Heuristic search planner)Bewertung und Ausblick
3
Was ist eine Heuristik? [1]
eine allgemeine Definition:abgeleitet aus dem Altgriechischenzu deutsch „ich finde“Als Heuristik bezeichnet man eine Strategie, die das Streben nach Erkenntnis und das Finden von Wegen zum Ziel planvoll gestaltet.
(aus www.wikipedia.org)
4
Was ist eine Heuristik? [2]
d.h. eine „Heuristik" ist eine Daumenregel, eine Strategie, ein Trick, eine Vereinfachung oder ein anderes Hilfsmittel, das die Problemlösungssuche in großen Problemräumen drastisch begrenzt.
garantiert keine optimale Lösungeigentlich garantiert sie nicht einmal irgendeine Lösung
5
Was ist eine Heuristik? [3]
aus Sicht der Informatik:Lehre zur methodischen Gewinnung neuer Erkenntnisse, mit Hilfe der Erfahrungberuht meist auf Faustregeln bzw. Algorithmenliefern häufig keine optimalenaber meist gute Lösungen Einsatzgebiet: Aufwand zu groß für die Berechnung der optimalen Lösung
6
Beispiel für eine Heuristik:„nächster Nachbar“
wird häufig im täglichen Leben angewandtAusgangspunkt: Reisender muss verschiedene Kunden besuchen
sucht zuerst nächsten Nachbarn seines aktuellen Standortes bewegt sich zu diesem und wendet die Heuristik erneut anwenn er alle Kunden besucht hat, fährt er nach Hause zurück.
Nachteil: oftmals schlechte Resultate, daHeimweg und andere unterwegs vergessene Punkte
hohe Kosten verursachen.
7
Planungsproblem in STRIPS [1]Planungsproblem wird in STRIPS dargestellt als Tupel P = (A,O,I,G) mit
A: Menge von AtomenO: Menge von Operatoren mit Prec(op), Add(op), Del(op)I: InitialzustandG: Zielzustände
Ein STRIPS Problem definiert dabei einen Zustandsraum bestehend aus:
Menge von ZuständenStartzustandZielzuständeMenge von möglichen Aktionen (Operatoren)ZustandsübergangsfunktionKosten der Aktionen (sind für jeden Übergang 1!)
))()(\´( aAddaDelss ∪=
8
Planungsproblem in STRIPS [2]
heuristic search planning kann jetzt als Suche im Zustandsraum angesehen werdend.h. Überführung des Startzustands in Zielzustand durch eine Folge von AktionenHSP nutzt Beschreibungen in PDDL
Planning Domain Definition LanguageErweiterung von STRIPS Standard für Darstellung von Plannungsproblemen
9
Domänendefinition für die Blockswelt in PDDL
; Block World Domain definition(define (domain blocks_world)(:requirements :strips)(:predicates (on-table ?x) (on ?x ?y) (clear ?x))(:action MoveToTable
:parameters (?x ?y):precondition (and (clear ?x) (on ?x ?y)):effect (and (clear ?y) (on-table ?x)
(not (on ?x ?y))))(:action MoveToBlock1
:parameters (?x ?y ?z):precondition (and (clear ?x) (clear ?z) (on ?x ?y)):effect (and (clear ?y) (on ?x ?z)
(not (clear ?z)) (not (on ?x ?y))))(:action MoveToBlock2
:parameters (?x ?y):precondition (and (clear ?x) (clear ?y) (on-table ?x)):effect (and (on ?x ?y)
(not (clear ?y)) (not (on-table ?x)))))
Definition der möglichen Prädikate
Block x wird von Block y auf den Tisch gelegt
Block x wird von Block y auf Block z gelegt
Block x wird vom Tisch auf Block y gelegt
10
Problemdefinition in PDDL -Ein Beispiel für die Blockswelt
(define (problem hs1) (:domain blocks_world)(:objects A B C D E F)
(:init
(on-table A) (on D A) (clear D)
(on-table F) (on B F) (on C B) (clear C)
(on-table E) (clear E))
(:goal
(and (on B C) (on-table C) (on A F)
(on-table F) (on-table D) (on E D) (clear B)
(clear A) (clear E))))
Zugehörige Domänendefinition
StartzustandA ED
FBC
EndzustandDFC
B A E
11
Suche im Zustandsraum
Einsatz von Heuristiken um diese effizient zu gestalten Heuristik soll dabei automatisch aus der Problemrepräsentation gewonnen werden=> Domänenunabhängigkeit
12
Gewinnung der Heuristik [1]
Heuristische Funktion h(s)Betrachtung eines vereinfachten Problems (relaxed problem P´), in demdelete lists ignoriert werdenKosten h´(s) sind untere Schranke für h*(s) (Kosten des Problems P)=> h´(s) zulässige (admissible) Heuristik
13
Gewinnung der Heuristik [2]
Aber: auch Lösung von P´ und damit Gewinnung der Funktion h´ ist NP-hard=> Annäherung an h´(s):
Kosten für die Gewinnung der einzelnen Zielatome (Teilziele) aus Zustand s werden geschätzth(s) ist dann eine geeignete Kombination aus diesen einzelnen Schätzungen
14
Die additive Heuristik
„Summe der Kosten um alle Teilziele zu erreichen“
Beispiel: gS (Teilziel 1) = 3, gS(Teilziel 2) = 5, gS(Teilziel 3) = 2 => hadd = 3 + 5 + 2 = 10nicht admissible,
da Teilziele nicht unabhängig voneinander sindd.h. es kann auch zu Überschätzungen kommen
∑∈
=Cr
Sadd rgsh )()(
15
Die Max – Heuristik
„die höchsten Kosten um ein Teilziel zu erreichen“
Beispiel: gS (Teilziel 1) = 3, gS(Teilziel 2) = 5, gS(Teilziel 3) = 2 => hmax = 5ist admissible,
d.h. keine Überschätzung möglich
)()( maxmax rgsh SCr∈
=
16
Berechnung der Kosten für die Erreichung der Teilziele
Version des Bellman–Ford Algorithmus (findet den kürzesten Weg in einem Graphen)falls Teilziel im Zustand s vorhanden ist, so werden die Kosten hierfür auf gS(p)= 0, andernfalls auf ∞ gesetztAusführung aller anwendbaren Operatoren Hinzufügen der Atome aus den zugehörigen Add-Listenzum Zustand s.gS(p) verändern auf:Vorgang wiederholen bis sich gS(p) nicht mehr verändert
))](Prec(1),(min[:)( opgpgpg SSS +=
17
Berechung der Kosten für die Erreichung der Teilziele - Beispiel
Bewertung der bereits erfüllten Teilziele mit 0:gs(on-table(F)) = 0; gs(clear (E)) = 0Ausführung aller möglichen Operatoren z.B. MoveToTable (D A), MoveToBlock2 (E D) usw.Atome der Add-Listen zu S hinzufügen z.B. on-table (D), clear(A), on(E D) usw.Jetzt erreichte Teilziele werden mit Kosten 1 bewertetz.B. gs(on-table(D)) = 1; gs(clear(A)) = 1; gs(on(E D)) = 1 usw.Wieder alle möglichen Operatoren ausführen usw.
StartzustandA ED
FBC
EndzustandDFC
B A E
S = ((on-table A) (on-table E) (on-table F) (on D A) (on B F) (on C B) (clear C) (clear D) (clear E))
G = ((on-table C) (on-table D) (on-table F) (on B C) (on E D) (on A F) (clear A) (clear B) (clear E))
18
HSP 2.0(Heuristic search planner)
domänenunabhängig (general problemsolver)automatische Gewinnung der Heuristik aus der Problemdefinitionverschiedene Funktionalitäten des HSP 2.0
Vorwärts- bzw. RückwärtsplanungVerschiedene Heuristiken (add, max, h2)
implementiert in C
19
HSP 2.0 [1]
Best-First-Search Planner (entspricht einer Breitensuche)Suchalgorithmus in HSP 2.0
nutzt WA* - Algorithmus (Abwandlung von A*)A*: Entscheidung anhand Evaluierungsfunktion welcher Knoten als nächstes generiert wird
f(n) = g(n) + h (n)g(n): tatsächliche Kosten bis Knoten nh(n): geschätzte Kosten bis zum Ziel
20
HSP 2.0 [2]
WA*: f(n) = g(n) + W*h(n)W: Parameter zur Gewichtung der HeuristikFür W = 1 entspricht WA* dem A* -AlgorithmusFür W > 1: Lösungen werden schneller gefunden, aber wahrscheinlich sind diese weiter entfernt von der optimalen Lösung, d.h. mehr Schritte vom Startzustand in den Zielzustand
21
Berechnung der Evaluierungsfunktion - Beispiel
StartzustandA ED
FBC
Kosten sind bekannt => hier z.B. g(n) = 2
A E DFB C
aktueller Zustand
Evaluierungsfunktion f(n) = g(n) + W * h(n)
=> hier z.B f(n) = 2 + 2 * 3 = 10 mit W = 2Kosten werden vom
Planer geschätzt => hier z.B. hAdd(n) = 4
EndzustandFA
CB
DE
22
HSP 2.0 in Aktion
Default-Modus: Vorwärtssuche mit der additiven Heuristik und W=2
cost = g(n)
h1plus = hadd(n)
h1max = hmax(n)
23
HSP 2.0 – Die Lösung unseres Beispiels
Schritt 2A E DF
B C
Schritt 3A E DF C
B
Schritt 4A F DC
B E
EndzustandFA
CB
DE
StartzustandA ED
FBC
Schritt 1
Schritt 2
Schritt 3
Schritt 4
Endzustand
Schritt 1A ED
FB C
24
Bewertung von HSP 2.0
komplett,d.h. es wird eine Lösung gefunden, wenn eine existiert
nicht optimal,da hadd nicht admissible ist
Nachteil vom Vorwärtsplanen: Heuristik muss in jedem Zustand neu berechnet werden
25
Ergebnisse der AIPS-00 Planning Competition für die Blockswelt
BlackBox
Mips
System R
FF
HSP2
IPP
PropPlan
TokenPlan
STAN
BDDPlan
AltAlt
GRT
0.001
0.1
10
1000
4 5 6 8 9 10 12 14 16 18 20 22 24 26 28 30 32 34 36 83 40 42 44 46 48 50
Seco
nds
26
Ausblick: FF Planer
FF = Fast Forwardentwickelt an der Universität Freiburg (Hoffmann, Nebel)VorwärtsplanerErweitert Heuristik des HSP
Informationen aus der Extraktionsphase des Graphplan –Algorithmus
Suchstrategie: Kombination aus Hill-Climbing und systematischer Suche
Top Performer in der AIPS–Competition ´02