stefan ender / matthias raps - otto-friedrich- · pdf file{als heuristik bezeichnet man eine...

26
1 Heuristic search planning Hauptseminar „Problemlösen und Planen“ Stefan Ender / Matthias Raps

Upload: doannga

Post on 06-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

1

Heuristic search planning

Hauptseminar„Problemlösen und Planen“

Stefan Ender / Matthias Raps

Page 2: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

2

Agenda

Einleitung mit DefinitionenSTRIPS und ZustandsraummodellEingesetzte HeuristikenHSP 2.0 (Heuristic search planner)Bewertung und Ausblick

Page 3: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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)

Page 4: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 5: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 6: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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.

Page 7: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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 ∪=

Page 8: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 9: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 10: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 11: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 12: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 13: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 14: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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 )()(

Page 15: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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∈

=

Page 16: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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 +=

Page 17: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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))

Page 18: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 19: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 20: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 21: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 22: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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)

Page 23: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 24: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 25: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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

Page 26: Stefan Ender / Matthias Raps - Otto-Friedrich- · PDF file{Als Heuristik bezeichnet man eine Strategie, {die das Streben nach Erkenntnis {und das Finden von Wegen zum Ziel {planvoll

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