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

Post on 06-Feb-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related