• Keine Ergebnisse gefunden

37. Automated Planning: Abstraction

N/A
N/A
Protected

Academic year: 2022

Aktie "37. Automated Planning: Abstraction"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Foundations of Artificial Intelligence

37. Automated Planning: Abstraction

Malte Helmert

University of Basel

May 5, 2021

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 1 / 30

Foundations of Artificial Intelligence

May 5, 2021 — 37. Automated Planning: Abstraction

37.1 SAS +

37.2 Abstractions

37.3 Pattern Databases 37.4 Summary

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 2 / 30

Automated Planning: Overview

Chapter overview: automated planning I 33. Introduction

I 34. Planning Formalisms

I 35.–36. Planning Heuristics: Delete Relaxation I 37. Planning Heuristics: Abstraction

I 38.–39. Planning Heuristics: Landmarks

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 3 / 30

Planning Heuristics

We consider three basic ideas for general heuristics:

I Delete Relaxation

I Abstraction this chapter I Landmarks

Abstraction: Idea

Estimate solution costs by considering a smaller planning task.

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 4 / 30

(2)

37. Automated Planning: Abstraction SAS+

37.1 SAS +

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 5 / 30

37. Automated Planning: Abstraction SAS+

SAS + Encoding

I in this chapter: SAS + encoding instead of STRIPS (see Chapter 34) I difference: state variables v not binary,

but with finite domain dom(v )

I accordingly, preconditions, effects, goals specified as partial assignments

I everything else equal to STRIPS

(In practice, planning systems convert automatically between STRIPS and SAS + .)

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 6 / 30

37. Automated Planning: Abstraction SAS+

SAS + Planning Task

Definition (SAS + planning task)

A SAS + planning task is a 5-tuple Π = hV , dom, I, G, Ai with the following components:

I V : finite set of state variables

I dom: domain; dom(v ) finite and non-empty for all v ∈ V I states: total assignments for V according to dom I I: the initial state (state = total assignment) I G : goals (partial assignment)

I A: finite set of actions a with

I pre(a): its preconditions (partial assignment) I eff(a): its effects (partial assignment) I cost(a) ∈ N

0

: its cost

German: SAS + -Planungsaufgabe

37. Automated Planning: Abstraction SAS+

State Space of SAS + Planning Task

Definition (state space induced by SAS + planning task) Let Π = hV , dom, I, G , Ai be a SAS + planning task.

Then Π induces the state space S(Π) = hS , A, cost, T , s 0 , S ? i:

I set of states: total assignments of V according to dom I actions: actions A defined as in Π

I action costs: cost as defined in Π

I transitions: s − → a s 0 for states s, s 0 and action a iff I pre(a) complies with s (precondition satisfied)

I s

0

complies with eff(a) for all variables mentioned in eff;

complies with s for all other variables (effects are applied) I initial state: s 0 = I

I goal states: s ∈ S ? for state s iff G complies with s

German: durch SAS + -Planungsaufgabe induzierter Zustandsraum

(3)

37. Automated Planning: Abstraction SAS+

Example: Logistics Task with One Package, Two Trucks

Example (one package, two trucks)

Consider the SAS + planning task hV , dom, I , G , Ai with:

I V = {p, t A , t B }

I dom(p) = {L, R, A, B} and dom(t A ) = dom(t B ) = {L, R}

I I = {p 7→ L, t A 7→ R, t B 7→ R} and G = {p 7→ R}

I A = {load i ,j | i ∈ {A, B}, j ∈ {L, R}}

∪ {unload i,j | i ∈ {A, B}, j ∈ {L, R}}

∪ {move i,j,j

0

| i ∈ {A, B}, j, j 0 ∈ {L, R}, j 6= j 0 } with:

I load

i,j

has preconditions {t

i

7→ j , p 7→ j }, effects {p 7→ i}

I unload

i,j

has preconditions {t

i

7→ j, p 7→ i}, effects {p 7→ j}

I move

i,j,j0

has preconditions {t

i

7→ j}, effects {t

i

7→ j

0

}

I All actions have cost 1.

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 9 / 30

37. Automated Planning: Abstraction SAS+

State Space for Example Task

LRR LLL

LLR

LRL

ALR

ALL

BLL

BRL

ARL

ARR

BRR

BLR

RRR RRL

RLR

RLL

I state {p 7→ i, t A 7→ j, t B 7→ k} denoted as ijk I annotations of edges not shown for simplicity

I for example, edge from LLL to ALL has annotation load A,L

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 10 / 30

37. Automated Planning: Abstraction Abstractions

37.2 Abstractions

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 11 / 30

37. Automated Planning: Abstraction Abstractions

State Space Abstraction

State space abstractions drop distinctions between certain states, but preserve the state space behavior as well as possible.

I An abstraction of a state space S is defined by

an abstraction function α that determines which states can be distinguished in the abstraction.

I Based on S and α, we compute the abstract state space S α which is “similar” to S but smaller.

German: Abstraktionsfunktion, abstrakter Zustandsraum Abstraction Heuristic

Use abstract solution costs (solution costs in S α )

as heuristic values for concrete solution costs (solution costs in S).

abstraction heuristic h α

German: abstrakte/konkrete Zielabst¨ ande, Abstraktionsheuristik

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 12 / 30

(4)

37. Automated Planning: Abstraction Abstractions

Induced Abstraction

Definition (induced abstraction)

Let S = hS, A, cost, T , s 0 , S ? i be a state space, and let α : S → S 0 be a surjective function.

The abstraction of S induced by α, denoted as S α , is the state space S α = hS 0 , A, cost, T 0 , s 0 0 , S ? 0 i with:

I T 0 = {hα(s), a, α(t)i | hs , a, ti ∈ T } I s 0 0 = α(s 0 )

I S ? 0 = {α(s ) | s ∈ S ? } German: induzierte Abstraktion

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 13 / 30

37. Automated Planning: Abstraction Abstractions

Abstraction: Example

concrete state space

LRR LLL

LLR

LRL

ALR

ALL

BLL

BRL

ARL

ARR

BRR

BLR

RRR RRL

RLR

RLL

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 14 / 30

37. Automated Planning: Abstraction Abstractions

Abstraction: Example

(an) abstract state space

LRR

LLR

LLL

LRL LLR

LRL LLL

ALR ARL

ALL ARR

BLL

BRL

BRR

BLR ALR ARL

BLR BRL

ALL ARR

BLL BRR

RRR RRL

RLR

RLL RLL RRL

RLR RRR

remark: Most edges correspond to several (parallel) transitions with different annotations.

37. Automated Planning: Abstraction Abstractions

Abstraction Heuristic: Example

LRR

LLR

LLL

LRL LLR

LRL LLL

ALR ARL

ALL ARR

BLL

BRL

BRR

BLR ALR ARL

BLR BRL

ALL ARR

BLL BRR

RRR RRL

RLR

RLL RLL RRL

RLR RRR

h α ({p 7→ L, t A 7→ R, t B 7→ R}) = 3

(5)

37. Automated Planning: Abstraction Abstractions

Abstraction Heuristics: Discussion

I Every abstraction heuristic is admissible and consistent.

(proof idea?)

I The choice of the abstraction function α is very important.

I Every α yields an admissible and consistent heuristic.

I But most α lead to poor heuristics.

I An effective α must yield an informative heuristic . . . I . . . as well as being efficiently computable.

I How to find a suitable α?

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 17 / 30

37. Automated Planning: Abstraction Abstractions

Usually a Bad Idea: Single-State Abstraction

LRR

LLR

LLL

LRL

ALR

ALL

BLL

BRL

ARL

ARR

BRR

BLR

RRR RRL

RLR LRR RLL

LLR

LLL

LRL

ALR

ALL

BLL

BRL

ARL

ARR

BRR

BLR

RRR RRL

RLR

RLL

one state abstraction: α(s) := const

+ compactly representable and α easy to compute

− very uninformed heuristic

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 18 / 30

37. Automated Planning: Abstraction Abstractions

Usually a Bad Idea: Identity Abstraction

LRR LLL

LLR

LRL

ALR

ALL

BLL

BRL

ARL

ARR

BRR

BLR

RRR RRL

RLR

RLL

identity abstraction: α(s) := s

+ perfect heuristic and α easy to compute

− too many abstract states computation of h α too hard

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 19 / 30

37. Automated Planning: Abstraction Abstractions

Automatic Computation of Suitable Abstractions

Main Problem with Abstraction Heuristics How to find a good abstraction?

Several successful methods:

I pattern databases (PDBs) this course (Culberson & Schaeffer, 1996)

I merge-and-shrink abstractions

(Dr¨ ager, Finkbeiner & Podelski, 2006) I Cartesian abstractions

(Seipp & Helmert, 2013)

German: Musterdatenbanken, Merge-and-Shrink-Abstraktionen, Kartesische Abstraktionen

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 20 / 30

(6)

37. Automated Planning: Abstraction Pattern Databases

37.3 Pattern Databases

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 21 / 30

37. Automated Planning: Abstraction Pattern Databases

Pattern Databases: Background

I The most common abstraction heuristics are pattern database heuristics.

I originally introduced for the 15-puzzle (Culberson &

Schaeffer, 1996) and for Rubik’s Cube (Korf, 1997) I introduced for automated planning by Edelkamp (2001) I for many search problems the best known heuristics I many many research papers studying

I theoretical properties

I efficient implementation and application I pattern selection

I . . .

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 22 / 30

37. Automated Planning: Abstraction Pattern Databases

Pattern Databases: Projections

A PDB heuristic for a planning task is an abstraction heuristic where

I some aspects (= state variables) of the task are preserved with perfect precision while I all other aspects are not preserved at all.

formalized as projections; example:

I s = {v 1 7→ d 1 , v 2 7→ d 2 , v 3 7→ d 3 }

I projection on P = {v 1 } (= ignore v 2 , v 3 ):

α(s) = s| P = {v 1 7→ d 1 }

I projection on P = {v 1 , v 3 } (= ignore v 2 ):

α(s) = s| P = {v 1 7→ d 1 , v 3 7→ d 3 } German: Projektionen

37. Automated Planning: Abstraction Pattern Databases

Pattern Databases: Definition

Definition (pattern database heuristic)

Let P be a subset of the variables of a planning task.

The abstraction heuristic induced by the projection π P on P is called pattern database heuristic (PDB heuristic) with pattern P . abbreviated notation: h P for h π

P

German: Musterdatenbank-Heuristik remark:

I “pattern databases” in analogy to endgame databases

(which have been successfully applied in 2-person-games)

(7)

37. Automated Planning: Abstraction Pattern Databases

Example: Concrete State Space

LRR LLL

LLR

LRL

ALR

ALL

BLL

BRL

ARL

ARR

BRR

BLR

RRR RRL

RLR

RLL

I state variable package: {L, R, A, B}

I state variable truck A: {L, R}

I state variable truck B: {L, R}

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 25 / 30

37. Automated Planning: Abstraction Pattern Databases

Example: Projection (1)

abstraction induced by π {package} :

LRR LLL

LLR

LRL LRR

LLR

LRL LLL

ALR ARL

ALL ARR

ALR ARL

ARR ALL

BLL

BRL

BRR

BLR BLL BRR

BLR BRL

RRR RRL

RLR

RLL RLL RRL

RLR RRR

h {package} (LRR) = 2

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 26 / 30

37. Automated Planning: Abstraction Pattern Databases

Example: Projection (2)

abstraction induced by π {package,truck A} :

LRR

LRL LRR

LRL LLL LLR LLR

LLL

ALR

ALL ALR

ALL

ARL

ARR ARL

ARR

BRR

BLL BLR

BRL

BLL BLR

BRL BRR

RRR RRL RRL

RRR

RLR

RLL RLL

RLR

h {package,truck A}

(LRR) = 2

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 27 / 30

37. Automated Planning: Abstraction Pattern Databases

Pattern Databases in Practice

practical aspects which we do not discuss in detail:

I How to automatically find good patterns?

I How to combine multiple PDB heuristics?

I How to implement PDB heuristics efficiently?

I good implementations efficiently handle abstract state spaces with 10

7

, 10

8

or more abstract states

I effort independent of the size of the concrete state space I usually all heuristic values are precomputed

space complexity = number of abstract states

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 28 / 30

(8)

37. Automated Planning: Abstraction Summary

37.4 Summary

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 29 / 30

37. Automated Planning: Abstraction Summary

Summary

I basic idea of abstraction heuristics: estimate solution cost by considering a smaller planning task.

I formally: abstraction function α maps states to abstract states and thus defines which states can be distinguished by the resulting heuristic.

I induces abstract state space whose solution costs are used as heuristic

I Pattern database heuristics are abstraction heuristics based on projections onto state variable subsets (patterns):

states are distinguishable iff they differ on the pattern.

M. Helmert (University of Basel) Foundations of Artificial Intelligence May 5, 2021 30 / 30

Referenzen

ÄHNLICHE DOKUMENTE

Tue object gets its structure (attributes and values) by the change-command (see below). In the second case, additionally, the abstraction relationships of the

Part iii provides a theoretical and experimental comparison of saturated cost partitioning and other cost partitioning algorithms. Theoretically, we show that saturated

Automated Planning: Delete Relaxation Heuristics Relaxed Planning Graphs.. 36.1 Relaxed

basic idea of abstraction heuristics: estimate solution cost by considering a smaller planning task. formally: abstraction function α maps states to abstract states and thus

I Hitting sets over all cut landmarks yield a perfect heuristic for delete-free planning tasks. I The LM-cut heuristic is an admissible heuristic based on

Abstraction Heuristics for Rubik’s Cube Cartesian Abstraction Refinement. Cartesian

According to the meta model in figure 1 we define this version of the ER-model to consist of the modelling notions entity type and value type and the ab- straction concepts

In addition to abstracting arrays that may have been modified, our approach can also keep full precision while adding additional information about array elements which have been