Planning with State-Dependent Action Costs ICAPS 2016 Tutorial - - PowerPoint PPT Presentation

planning with state dependent action costs
SMART_READER_LITE
LIVE PREVIEW

Planning with State-Dependent Action Costs ICAPS 2016 Tutorial - - PowerPoint PPT Presentation

Planning with State-Dependent Action Costs ICAPS 2016 Tutorial Robert Mattmller Florian Geier June 13, 2016 Background Compilation Relaxations Abstractions Summary Part I Theory June 13, 2016 Robert Mattmller, Florian Geier


slide-1
SLIDE 1

Planning with State-Dependent Action Costs

ICAPS 2016 Tutorial Robert Mattmüller Florian Geißer

June 13, 2016

slide-2
SLIDE 2

Background Compilation Relaxations Abstractions Summary

Part I Theory

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 2 / 64

slide-3
SLIDE 3

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

Section Background

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 3 / 64

slide-4
SLIDE 4

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

What are State-Dependent Action Costs?

London@(0,0) Freiburg Madrid Paris Istanbul

14 5 10 32

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 4 / 64

slide-5
SLIDE 5

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

What are State-Dependent Action Costs?

London@(0,0) Freiburg Madrid Paris Istanbul

14 5 10 32

Action costs: unit constant state-dependent cost(fly(Madrid,London)) = 1, cost(fly(Paris,London)) = 1, cost(fly(Freiburg,London)) = 1, cost(fly(Istanbul,London)) = 1.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 4 / 64

slide-6
SLIDE 6

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

What are State-Dependent Action Costs?

London@(0,0) Freiburg Madrid Paris Istanbul

14 5 10 32

Action costs: unit constant state-dependent cost(fly(Madrid,London)) = 14, cost(fly(Paris,London)) = 5, cost(fly(Freiburg,London)) = 10, cost(fly(Istanbul,London)) = 32.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 4 / 64

slide-7
SLIDE 7

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

What are State-Dependent Action Costs?

London@(0,0) Freiburg Madrid Paris Istanbul

14 5 10 32

Action costs: unit constant state-dependent cost(flyTo(London)) = |xLondon −xcurrent|+|yLondon −ycurrent|

= |xcurrent|+|ycurrent|.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 4 / 64

slide-8
SLIDE 8

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

Why Study State-Dependent Action Costs?

Human perspective:

“natural” and “elegant” modeler-friendly less error-prone?

Machine perspective:

more structured exploit in algorithms? fewer redundancies, exponentially more compact

Language support:

numeric PDDL, PDDL 3 RDDL, MDPs (state-dependent rewards!)

Applications:

modeling preferences and soft goals PSR domain

(Abbreviation: SDAC = state-dependent action costs)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 5 / 64

slide-9
SLIDE 9

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

Handling State-Dependent Action Costs

Good news: Computing g values in forward search still easy. Challenge: But what about SDAC-aware h values? Or can we simply compile SDAC away? This tutorial: Proposed answers to these challenges.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 6 / 64

slide-10
SLIDE 10

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

Handling State-Dependent Action Costs

Roadmap:

1 Look at compilations. 2 This leads to edge-valued multi-valued decision diagrams

(EVMDDs) as data structure to represent cost functions.

3 Based on EVMDDs, formalize and discuss:

compilations relaxation heuristics abstraction heuristics

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 7 / 64

slide-11
SLIDE 11

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Running Example

Example (Household domain)

Actions:

vacuumFloor = ⊤, floorClean washDishes = ⊤, dishesClean doHousework = ⊤, floorClean∧dishesClean

Cost functions: costvacuumFloor = [¬floorClean]·2 costwashDishes = [¬dishesClean]·(1+2·[¬haveDishwasher]) costdoHousework = costvacuumFloor + costwashDishes

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 8 / 64

slide-12
SLIDE 12

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilations

Different ways of compiling SDAC away: Compilation I: “Parallel Action Decomposition” Compilation II: “Purely Sequential Action Decomposition” Compilation III: “EVMDD-Based Action Decomposition” (combination of Compilations I and II)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 9 / 64

slide-13
SLIDE 13

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation I: “Parallel Action Decomposition”

Example

dishesClean, haveDishwasher: 0 dishesClean, ¬haveDishwasher: 0 ¬dishesClean, haveDishwasher: 1 ¬dishesClean, ¬haveDishwasher: 3

washDishes( dC, hD) = dC∧ hD, dC,

cost = 0

washDishes( dC,¬hD) = dC∧¬hD, dC,

cost = 0

washDishes(¬dC, hD) = ¬dC∧ hD, dC,

cost = 1

washDishes(¬dC,¬hD) = ¬dC∧¬hD, dC,

cost = 3

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 10 / 64

slide-14
SLIDE 14

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation I: “Parallel Action Decomposition”

Compilation I

Transform each action into multiple actions:

  • ne for each partial state relevant to cost function

add partial state to precondition use cost for partial state as constant cost Properties:

✧ always possible ✪ exponential blow-up

Question: Exponential blow-up avoidable? Compilation II

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 11 / 64

slide-15
SLIDE 15

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation II: “Purely Sequential Action Decomposition”

Example

Assume we own a dishwasher: costdoHousework = 2·[¬floorClean]+[¬dishesClean]

floorClean: 0 ¬floorClean: 2 dishesClean: 0 ¬dishesClean: 1

doHousework1( fC) = fC, fC,

cost = 0

doHousework1(¬fC) = ¬fC, fC,

cost = 2

doHousework2( dC) = dC, dC,

cost = 0

doHousework2(¬dC) = ¬dC, dC,

cost = 1

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 12 / 64

slide-16
SLIDE 16

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation II: “Purely Sequential Action Decomposition”

Compilation II

If costs additively decomposable: high-level actions ≈ macro actions decompose into sequential micro actions Properties:

✧ linear blow-up ✪ not always possible

plan lengths not preserved, costs preserved

blow-up in search space action ordering!

attention: all partial effects at end! Question: Can this always work (kind of)? Compilation III

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 13 / 64

slide-17
SLIDE 17

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation III: “EVMDD-Based Action Decomposition”

Example

costdoHousework = [¬floorClean]·2+

[¬dishesClean]·(1+2·[¬haveDishwasher])

floorClean: 0 ¬floorClean: 2 dishesClean, haveDishwasher: 0 dishesClean, ¬haveDishwasher: 0 ¬dishesClean, haveDishwasher: 1 ¬dishesClean, ¬haveDishwasher: 3

Simplify right-hand part of diagram: Branch over single variable at a time. Exploit: haveDishwasher irrelevant if dishesClean is true.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 14 / 64

slide-18
SLIDE 18

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation III: “EVMDD-Based Action Decomposition”

Example (ctd.)

floorClean: 0 ¬floorClean: 2 dishesClean: 0 ¬dishesClean: 1 haveDishwasher: 0 ¬haveDishwasher: 2

Later: Compiled actions Auxiliary variables to enforce action ordering

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 15 / 64

slide-19
SLIDE 19

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation III: “EVMDD-Based Action Decomposition”

Compilation III

exploit as much additive decomposability as possible multiply out variable domains where inevitable Technicalities:

fix variable ordering perform Shannon and isomorphism reduction

Properties:

✧ always possible

worst-case exponential blow-up, but as good as it gets

plan lengths not preserved, costs preserved

as before: action ordering, all partial effects at end!

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 16 / 64

slide-20
SLIDE 20

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

State-Dependent Action Costs

Compilation III: “EVMDD-Based Action Decomposition”

Compilation III provides optimal combination of sequential and parallel action decomposition, given fixed variable ordering. Question: How to find such decompositions automatically? Answer: Figure for Compilation III basically a reduced ordered edge-valued multi-valued decision diagram (EVMDD)!

[Lai et al., 1996; Ciardo and Siminiceanu, 2002]

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 17 / 64

slide-21
SLIDE 21

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

EVMDDs: Decision diagrams for arithmetic functions Decision nodes with associated decision variables Edge weights: partial costs contributed by facts Size of EVMDD compact in many “typical” cases Properties:

✧ satisfy all requirements for Compilation III,

even (almost) uniquely determined by them

✧ already have well-established theory and tool support ✧ detect and exhibit additive structure in arithmetic functions

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 18 / 64

slide-22
SLIDE 22

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Consequence: represent cost functions as EVMDDs exploit additive structure exhibited by them draw on theory and tool support for EVMDDs Two perspectives on EVMDDs: graphs specifying how to decompose action costs data structures encoding action costs (used independently from compilations)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 19 / 64

slide-23
SLIDE 23

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Example (EVMDD Evaluation)

costa = xy2 +z+2

Dx = Dz = {0,1}, Dy = {0,1,2} x y z

2 1 4 2 1 1 1 1

Directed acyclic graph Dangling incoming edge Single terminal node 0 Decision nodes with:

decision variables edge label edge weights

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 20 / 64

slide-24
SLIDE 24

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Example (EVMDD Evaluation)

costa = xy2 +z+2

Dx = Dz = {0,1}, Dy = {0,1,2} x y z

2 1 4 2 1 1 1 1

s = {x → 1, y → 2, z → 0}

costa(s) =

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 20 / 64

slide-25
SLIDE 25

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Example (EVMDD Evaluation)

costa = xy2 +z+2

Dx = Dz = {0,1}, Dy = {0,1,2} x y z

2 1 4 2 1 1 1 1

s = {x → 1, y → 2, z → 0}

costa(s) = 2+

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 20 / 64

slide-26
SLIDE 26

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Example (EVMDD Evaluation)

costa = xy2 +z+2

Dx = Dz = {0,1}, Dy = {0,1,2} x y z

2 1 4 2 1 1 1 1

s = {x → 1, y → 2, z → 0}

costa(s) = 2+0+

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 20 / 64

slide-27
SLIDE 27

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Example (EVMDD Evaluation)

costa = xy2 +z+2

Dx = Dz = {0,1}, Dy = {0,1,2} x y z

2 1 4 2 1 1 1 1

s = {x → 1, y → 2, z → 0}

costa(s) = 2+0+4+

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 20 / 64

slide-28
SLIDE 28

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Example (EVMDD Evaluation)

costa = xy2 +z+2

Dx = Dz = {0,1}, Dy = {0,1,2} x y z

2 1 4 2 1 1 1 1

s = {x → 1, y → 2, z → 0}

costa(s) = 2+0+4+0 = 6

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 20 / 64

slide-29
SLIDE 29

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Edge-Valued Multi-Valued Decision Diagrams

Properties of EVMDDs:

✧ Existence for finitely many finite-domain variables ✧ Uniqueness/canonicity if reduced and ordered ✧ Basic arithmetic operations supported

(Lai et al., 1996; Ciardo and Siminiceanu, 2002)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 21 / 64

slide-30
SLIDE 30

Background

State-Dependent Action Costs Edge-Valued Multi-Valued Decision Diagrams

Compilation Relaxations Abstractions Summary

EVMDDs

Arithmetic operations on EVMDDs

Given arithmetic operator ⊗ ∈ {+,−,·,...}, EMVDDs E1, E2. Compute EVMDD E = E1 ⊗E2. Implementation: procedure apply(⊗,E1,E2): Base case: single-node EVMDDs encoding constants Inductive case: apply ⊗ recursively:

push down edge weights recursively apply ⊗ to corresponding children pull up excess edge weights from children

Time complexity [Lai et al., 1996]: additive operations: product of input EVMDD sizes in general: exponential

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 22 / 64

slide-31
SLIDE 31

Background Compilation Relaxations Abstractions Summary

Section Compilation

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 23 / 64

slide-32
SLIDE 32

Background Compilation Relaxations Abstractions Summary

EVMDD-Based Action Compilation

Example (EVMDD-based action compilation)

Let a = pre,eff, costa = xy2 +z+2. Auxiliary variables: One semaphore variable σ with Dσ = {0,1} for entire planning task. One auxiliary variable α = αa with Dαa = {0,1,2,3,4} for action a. Replace a by new auxiliary actions (similarly for other actions).

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 24 / 64

slide-33
SLIDE 33

Background Compilation Relaxations Abstractions Summary

EVMDD-Based Action Compilation

Example (EVMDD-based action compilation, ctd.)

x y z

2 1 4 2 1 1 1 1 α = 0 α = 1 α = 2 α = 3 α = 4

apre = pre∧σ = 0∧α = 0, σ = 1∧α = 1,

cost = 2

a1,x=0 = α = 1∧x = 0, α = 3,

cost = 0

a1,x=1 = α = 1∧x = 1, α = 2,

cost = 0

a2,y=0 = α = 2∧y = 0, α = 3,

cost = 0

a2,y=1 = α = 2∧y = 1, α = 3,

cost = 1

a2,y=2 = α = 2∧y = 2, α = 3,

cost = 4

a3,z=0 = α = 3∧z = 0, α = 4,

cost = 0

a3,z=1 = α = 3∧z = 1, α = 4,

cost = 1

aeff = α = 4, eff∧σ = 0∧α = 0,

cost = 0

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 25 / 64

slide-34
SLIDE 34

Background Compilation Relaxations Abstractions Summary

EVMDD-Based Action Compilation

Let Π be an SDAC-task and Π′ the result of EVMDD-based action compilation applied to Π.

Proposition Π′ has only state-independent costs. Proposition

Size of Π′ is polynomial in size of Π times size of largest EVMDD used in compilation.

Proposition Π and Π′ admit the same plans (modulo replacement of actions

by action sequences). Optimal plan costs are preserved.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 26 / 64

slide-35
SLIDE 35

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Section Relaxations

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 27 / 64

slide-36
SLIDE 36

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxation Heuristics

We know: Delete-relaxation heuristics informative in classical planning. Question: Also informative in SDAC planning?

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 28 / 64

slide-37
SLIDE 37

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxation Heuristics

Definition (Classical additive heuristic hadd) hadd

s

(Facts) =

fact∈Facts

hadd

s

(fact) hadd

s

(fact) =   

if fact ∈ s

min

achiever a of fact[hadd

s

(pre(a))+ costa]

  • therwise

Question: How to generalize hadd to SDAC?

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 29 / 64

slide-38
SLIDE 38

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxations with SDAC

Example a = ⊤, x=1

costa = 2−2y

b = ⊤, y=1

costb = 1

s = {x → 0,y → 0} hadd

s

(y=1) =1 hadd

s

(x=1) =?

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 30 / 64

slide-39
SLIDE 39

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxations with SDAC

Example a = ⊤, x=1

costa = 2−2y

b = ⊤, y=1

costb = 1

s = {x → 0,y → 0} hadd

s

(y=1) =1 hadd

s

(x=1) =?

00 10

a : 2

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 30 / 64

slide-40
SLIDE 40

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxations with SDAC

Example a = ⊤, x=1

costa = 2−2y

b = ⊤, y=1

costb = 1

s = {x → 0,y → 0} hadd

s

(y=1) =1 hadd

s

(x=1) =?

00 10

a : 2

00 01 11

b : 1 a : 0 ⇒ cheaper!

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 30 / 64

slide-41
SLIDE 41

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxations with SDAC

Minimize over all situations where a is applicable.

Definition (Additive heuristic hadd for SDAC) hadd

s

(fact) =   

if fact ∈ s

min

achiever a of fact[hadd

s

(pre(a))+ costa]

  • therwise

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 31 / 64

slide-42
SLIDE 42

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxations with SDAC

Minimize over all situations where a is applicable.

Definition (Additive heuristic hadd for SDAC) hadd

s

(fact) =   

if fact ∈ s

min

achiever a of fact[hadd

s

(pre(a))+ Costs

a]

  • therwise

Costs

a = min ˆ s∈Sa[costa(ˆ

s)+hadd

s

(ˆ s)] Sa: set of partial states over variables in cost function |Sa| exponential in number of variables in cost function

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 31 / 64

slide-43
SLIDE 43

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Relaxations with SDAC

Properties of hadd for SDAC: Good: classical hadd on compiled task = generalized hadd on SDAC-task Bad: exponential blow-up Computing hadd for SDAC: Option 1: Compute classical hadd on compiled task. Option 2: Compute Costs

a directly.

Plug EVMDDs as subgraphs into RPG

efficient computation of hadd

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 32 / 64

slide-44
SLIDE 44

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: RPG Compilation

x y z 0, Output

∨ ∨ ∨ ∨ ∧ +2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +1

costa = xy2 +z+2

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-45
SLIDE 45

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: RPG Compilation

x y z 0, Output

∨ ∨ ∨ ∨ ∧ +2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +1

variable nodes become

∨-nodes

weights become ∧-nodes

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-46
SLIDE 46

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: RPG Compilation

Input

x y z 0, Output

x=0 x=1 y=0 y=1 y=2 z=0 z=1 ∨ ∨ ∨ ∨ ∧ +2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +1

Augment with input nodes

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-47
SLIDE 47

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: RPG Compilation

Input

x y z 0, Output

x=0 x=1 y=0 y=1 y=2 z=0 z=1 ∨ ∨ ∨ ∨ ∨ ∧ +2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Ensure complete evaluation

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-48
SLIDE 48

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ ∨ ∨ ∨ ∨ ∧ +2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Insert hadd values

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-49
SLIDE 49

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ ∨ ∨ ∨ ∨ ∧ +2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-50
SLIDE 50

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ ∨ ∨ ∨ ∨ ∧ +2 2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-51
SLIDE 51

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ ∨ ∨ ∨ ∧ +2 2 ∧ +0 ∧ +0 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-52
SLIDE 52

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ ∨ ∨ ∨ ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-53
SLIDE 53

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ ∨ ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 ∧ +1 ∧ +4 ∧ +0 ∧ +0 ∧ +0 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-54
SLIDE 54

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ ∨ ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-55
SLIDE 55

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 ∧ +1

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-56
SLIDE 56

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 9 ∧ +1 10

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-57
SLIDE 57

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ 9 ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 9 ∧ +1 10

Evaluate nodes:

∧: ∑(parents) + weight ∨: min(parents)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-58
SLIDE 58

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ 9 ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 9 ∧ +1 10

Costs

a =

min

ˆ s∈Sa

[costa(ˆ s)+hadd

s

(ˆ s)]

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-59
SLIDE 59

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ 9 ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 9 ∧ +1 10

Costs

a =

min

ˆ s∈Sa

[costa(ˆ s)+hadd

s

(ˆ s)]

costa = xy2 +z+2

ˆ s = {x → 1,y → 2,z → 0}

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-60
SLIDE 60

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ 9 ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 9 ∧ +1 10

Costs

a =

min

ˆ s∈Sa

[costa(ˆ s)+hadd

s

(ˆ s)]

costa = xy2 +z+2

ˆ s = {x → 1,y → 2,z → 0}

costa(ˆ

s) = 1·22 +0+2 = 6 = 2+0+4+0 hadd

s

(ˆ s) = 0+1+2 = 3

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-61
SLIDE 61

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Option 2: Computing Costs

a

Input

x y z 0, Output

x=0 10 x=1 y=0 6 y=1 ∞ y=2 1 z=0 2 z=1 2 ∨ 2 ∨ 2 ∨ 12 ∨ 7 ∨ 9 ∧ +2 2 ∧ +0 12 ∧ +0 2 ∧ +0 8 ∧ +1 ∞ ∧ +4 7 ∧ +0 18 ∧ +0 ∞ ∧ +0 13 ∧ +0 9 ∧ +1 10

Costs

a =

min

ˆ s∈Sa

[costa(ˆ s)+hadd

s

(ˆ s)]

costa = xy2 +z+2

ˆ s = {x → 1,y → 2,z → 0}

costa(ˆ

s) = 1·22 +0+2 = 6 = 2+0+4+0 hadd

s

(ˆ s) = 0+1+2 = 3

Costs

a = 6+3 = 9

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 33 / 64

slide-62
SLIDE 62

Background Compilation Relaxations

Relaxed Planning Graph

Abstractions Summary

Additive Heuristic

RPG compilation: RPG subgraph in each layer for each action Connect subgraphs with precondition graphs Link outputs to next proposition layer Good: classical hadd on compiled task = generalized hadd on SDAC-task = cost value computed using RPG compilation

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 34 / 64

slide-63
SLIDE 63

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Section Abstractions

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 35 / 64

slide-64
SLIDE 64

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Abstraction Heuristics

Question: Why consider abstraction heuristics? Answer: admissibility

  • ptimality

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 36 / 64

slide-65
SLIDE 65

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Abstraction Heuristics

a : 1 a : 2

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 37 / 64

slide-66
SLIDE 66

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Abstraction Heuristics

a : 1 a : 2 a :?

Question: What are the abstract action costs?

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 37 / 64

slide-67
SLIDE 67

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Abstraction Heuristics

a : 1 a : 2 a : 1

Question: What are the abstract action costs? Answer: For admissibility, abstract cost of a should be costa(sabs) =

min

concrete state s abstracted to sabs

costa(s).

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 37 / 64

slide-68
SLIDE 68

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Abstraction Heuristics

a : 1 a : 2 a : 1

Question: What are the abstract action costs? Answer: For admissibility, abstract cost of a should be costa(sabs) =

min

concrete state s abstracted to sabs

costa(s). Problem: exponentially many states in minimization Aim: Compute costa(sabs) efficiently (given EVMDD for costa(s)).

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 37 / 64

slide-69
SLIDE 69

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

We will see: possible if the abstraction is Cartesian or coarser.

(Includes projections and domain abstractions.)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 38 / 64

slide-70
SLIDE 70

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

We will see: possible if the abstraction is Cartesian or coarser.

(Includes projections and domain abstractions.)

Definition (Cartesian abstraction)

A set of states sabs is Cartesian if it is of the form

D1 ×···×Dn,

where Di ⊆ Di for all i = 1,...,n. An abstraction is Cartesian if all abstract states are Cartesian sets.

[Seipp and Helmert, 2013]

Intuition: Variables are abstracted independently.

exploit independence when computing abstract costs!

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 38 / 64

slide-71
SLIDE 71

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Example (Cartesian abstraction)

Cartesian abstraction over x, y

sabs 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 39 / 64

slide-72
SLIDE 72

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Example (Cartesian abstraction)

Cartesian abstraction over x, y Cost x+y+1

(edges consistent with sabs)

sabs 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

x y

1 1 1 2 2 2 2 1 1

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 39 / 64

slide-73
SLIDE 73

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Example (Cartesian abstraction)

Cartesian abstraction over x, y Cost x+y+1

(edges consistent with sabs)

sabs 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

cost = 4 cost = 5

x y

1 1 1 2 2 2 2 1 1

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 39 / 64

slide-74
SLIDE 74

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Example (Cartesian abstraction)

Cartesian abstraction over x, y Cost x+y+1

(edges consistent with sabs)

sabs 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

cost = 4 cost = 5

x y

1 1 1 2 2 2 2 1 1

min = 1

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 39 / 64

slide-75
SLIDE 75

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Example (Cartesian abstraction)

Cartesian abstraction over x, y Cost x+y+1

(edges consistent with sabs)

sabs 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

cost = 4 cost = 5

x y

1 1 1 2 2 2 2 1 1

min = 1 min = 3

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 39 / 64

slide-76
SLIDE 76

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Example (Cartesian abstraction)

Cartesian abstraction over x, y Cost x+y+1

(edges consistent with sabs)

sabs 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

cost = 4 cost = 5

x y

1 1 1 2 2 2 2 1 1

min = 1 min = 3 min = 4

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 39 / 64

slide-77
SLIDE 77

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

What happens here?

  • r:

Why does the topsort EVMDD traversal correctly compute costa(sabs)?

1 For each Cartesian state sabs and each variable x,

each value d ∈ Dx is either consistent with sabs or not.

2 This implies: at all decision nodes associated with variable x,

some outgoing edges are enabled, others are disabled. This is independent from all other decision nodes/variables.

3 This allows local minimizations over linearly many edges

instead of global minimization over exponentially many paths in the EVMDD when computing minimum costs.

polynomial in EVMDD size!

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 40 / 64

slide-78
SLIDE 78

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Not Cartesian!

If abstraction not Cartesian: two variables can be independent in cost function ( compact EVMDD), but dependent in abstraction.

cannot consider independent parts of the EVMDD separately.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 41 / 64

slide-79
SLIDE 79

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Cartesian Abstractions

Not Cartesian!

If abstraction not Cartesian: two variables can be independent in cost function ( compact EVMDD), but dependent in abstraction.

cannot consider independent parts of the EVMDD separately. Example (Non-Cartesian abstraction)

cost : x+y+1, cost(sabs) = 2, local minim.: 1 underestimate!

sabs = (x = y) 00 01 02 10 11 12 20 21 22 x = 0 x = 1 x = 2 y = 0 y = 1 y = 2

x y

1 1 1 2 2 2 2 1 1

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 41 / 64

slide-80
SLIDE 80

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Wanted: principled way of computing Cartesian abstractions.

Counterexample-Guided Abstraction Refinement (CEGAR)

Initial abstraction Search plan Analyze plan Refine abstraction no plan unsolvable plan no flaws plan found flaws

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 42 / 64

slide-81
SLIDE 81

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Possible flaws in abstract plan:

1 Concrete state does not fit abstract state

(concrete and abstract traces diverge)

2 Action not applicable in concrete state 3 Trace completed, but goal not reached

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 43 / 64

slide-82
SLIDE 82

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Possible flaws in abstract plan:

1 Concrete state does not fit abstract state

(concrete and abstract traces diverge)

2 Action not applicable in concrete state 3 Trace completed, but goal not reached

Here, we need to consider a further type of flaw:

4 Cost-mismatch flaw: Action more costly in concrete state

than in abstract state

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 43 / 64

slide-83
SLIDE 83

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Possible flaws in abstract plan:

1 Concrete state does not fit abstract state

(concrete and abstract traces diverge)

2 Action not applicable in concrete state 3 Trace completed, but goal not reached

Here, we need to consider a further type of flaw:

4 Cost-mismatch flaw: Action more costly in concrete state

than in abstract state

resolve cost-mismatch flaws with additional refinement.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 43 / 64

slide-84
SLIDE 84

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Example (Cost-mismatch flaw) b : 1 a : 1 a : 1 00 10 01 11 a = ⊤, x∧y, costa = 2x+1 s0 = 10 b = ⊤, ¬x∧y, costb = 1 s⋆ = x∧y

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 44 / 64

slide-85
SLIDE 85

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Example (Cost-mismatch flaw) b : 1 a : 1 a : 1 00 10 01 11 a = ⊤, x∧y, costa = 2x+1 s0 = 10 b = ⊤, ¬x∧y, costb = 1 s⋆ = x∧y

Optimal abstract plan: a (abstract cost 1)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 44 / 64

slide-86
SLIDE 86

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Example (Cost-mismatch flaw) b : 1 a : 1 a : 1 00 10 01 11 a = ⊤, x∧y, costa = 2x+1 s0 = 10 b = ⊤, ¬x∧y, costb = 1 s⋆ = x∧y

Optimal abstract plan: a (abstract cost 1) This is also a concrete plan (concrete cost 3)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 44 / 64

slide-87
SLIDE 87

Background Compilation Relaxations Abstractions

Cartesian Abstractions Counterexample- Guided Abstraction Refinement

Summary

Counterexample-Guided Abstraction Refinement

Example (Cost-mismatch flaw) b : 1 a : 1 a : 1 00 10 01 11 a = ⊤, x∧y, costa = 2x+1 s0 = 10 b = ⊤, ¬x∧y, costb = 1 s⋆ = x∧y

Optimal abstract plan: a (abstract cost 1) This is also a concrete plan (concrete cost 3) But optimal concrete plan: b,a (concr. and abstract cost 2)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 44 / 64

slide-88
SLIDE 88

Background Compilation Relaxations Abstractions Summary

Section Summary

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 45 / 64

slide-89
SLIDE 89

Background Compilation Relaxations Abstractions Summary

Summary

Summary: EVMDDs compact representation of cost functions exhibit additive structure Recall: motivating challenges compiling SDAC away solved!

EVMDD-based action compilation preserves hadd and habs

SDAC-aware h values possible! hadd

RPG embedding Cartesian abstraction heuristics

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 46 / 64

slide-90
SLIDE 90

Background Compilation Relaxations Abstractions Summary

Future Work

Future Work: Other delete-relaxation heuristics such as hFF Static and dynamic EVMDD variable orders

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 47 / 64

slide-91
SLIDE 91

Libraries PDDL

Part II Practice

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 48 / 64

slide-92
SLIDE 92

Libraries

MEDDLY pyevmdd

PDDL

Section Libraries

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 49 / 64

slide-93
SLIDE 93

Libraries

MEDDLY pyevmdd

PDDL

EVMDD Libraries

MEDDLY

MEDDLY: Multi-terminal and Edge-valued Decision Diagram LibrarY Authors: Junaid Babar and Andrew Miner Language: C++ License: open source (LGPLv3) Advantages:

many different types of decision diagrams mature and efficient

Disadvantages:

documentation

Code: http://meddly.sourceforge.net

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 50 / 64

slide-94
SLIDE 94

Libraries

MEDDLY pyevmdd

PDDL

EVMDD Libraries

pyevmdd

pyevmdd: EVMDD library for Python Authors: RM and FG Language: Python License: open source (GPLv3) Disadvantages:

restricted to EVMDDs neither mature nor optimized

Purpose: our EVMDD playground Code:

https://github.com/robertmattmueller/pyevmdd

Documentation:

http://pyevmdd.readthedocs.io/en/latest/

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 51 / 64

slide-95
SLIDE 95

Libraries PDDL

Section PDDL

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 52 / 64

slide-96
SLIDE 96

Libraries PDDL

PDDL Representation

Usual way of representing costs in PDDL: effects (increase (total-cost) (<expression>)) metric (minimize (total-cost)) Custom syntax: Besides :parameters, :precondition, and :effect, actions may have field

:cost (<expression>)

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 53 / 64

slide-97
SLIDE 97

Libraries PDDL

Gripper

initial state goal state

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 54 / 64

slide-98
SLIDE 98

Libraries PDDL

Colored Gripper

initial state goal state Colored rooms and balls Cost of move increases if ball color differs from its room color Goal did not change!

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 54 / 64

slide-99
SLIDE 99

Libraries PDDL

Colored Gripper

initial state goal state Colored rooms and balls Cost of move increases if ball color differs from its room color Goal did not change!

cost(move) = ∑

room ∑ ball

(at(ball,room)∧(red(ball))∧(blue(room)) + ∑

room ∑ ball

(at(ball,room)∧(blue(ball))∧(red(room))

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 54 / 64

slide-100
SLIDE 100

Libraries PDDL

EVMDD-Based Action Compilation

Example (EVMDD-based action compilation)

Let a = pre,eff, costa = xy2 +z+2. Auxiliary variables: One semaphore variable σ with Dσ = {0,1} for entire planning task. One auxiliary variable α = αa with Dαa = {0,1,2,3,4} for action a. Replace a by new auxiliary actions (similarly for other actions).

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 55 / 64

slide-101
SLIDE 101

Libraries PDDL

EVMDD-Based Action Compilation

Example (EVMDD-based action compilation, ctd.)

x y z

2 1 4 2 1 1 1 1 α = 0 α = 1 α = 2 α = 3 α = 4

apre = pre∧σ = 0∧α = 0, σ = 1∧α = 1,

cost = 2

a1,x=0 = α = 1∧x = 0, α = 3,

cost = 0

a1,x=1 = α = 1∧x = 1, α = 2,

cost = 0

a2,y=0 = α = 2∧y = 0, α = 3,

cost = 0

a2,y=1 = α = 2∧y = 1, α = 3,

cost = 1

a2,y=2 = α = 2∧y = 2, α = 3,

cost = 4

a3,z=0 = α = 3∧z = 0, α = 4,

cost = 0

a3,z=1 = α = 3∧z = 1, α = 4,

cost = 1

aeff = α = 4, eff∧σ = 0∧α = 0,

cost = 0

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 56 / 64

slide-102
SLIDE 102

Libraries PDDL

EVMDD-Based Action Compilation Tool

Disclaimer:

Not completely functional Still some bugs

Uses pyevmdd Language: Python License: open source Code: https:

//github.com/robertmattmueller/sdac-compiler

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 57 / 64

slide-103
SLIDE 103

Part III Acknowledgements

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 58 / 64

slide-104
SLIDE 104

Acknowledgements

Acknowledgements: Christian Muise, for taking the time to get our compiler running in the cloud. Erik Wacker, for working on the compiler. Thomas Keller, for doing all the reasearch behind this tutorial with us.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 59 / 64

slide-105
SLIDE 105

Part IV References

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 60 / 64

slide-106
SLIDE 106

References I

Blai Bonet and Hector Geffner. Planning as heuristic search: New results. In Proc. ECP, pages 359–371, 1999. Blai Bonet, Gábor Loerincs, and Hector Geffner. A robust and fast action selection mechanism for planning. In Proc. AAAI, pages 714–719, 1997. Junaid Badar and Andrew Miner. MEDDLY: Multi-terminal and Edge-valued Decision Diagram LibrarY.

http://meddly.sourceforge.net/, 2011.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 61 / 64

slide-107
SLIDE 107

References II

Thomas Ball, Andreas Podelski, and Sriram K. Rajamani. Boolean and Cartesian abstraction for model checking C programs. In Proc. TACAS, pages 268–283, 2001. Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith. Counterexample-guided abstraction refinement. In Proc. CAV, pages 154–169, 2000. Gianfranco Ciardo and Radu Siminiceanu. Using edge-valued decision diagrams for symbolic generation

  • f shortest paths.

In Proc. FMCAD, pages 256–273, 2002.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 62 / 64

slide-108
SLIDE 108

References III

Florian Geißer, Thomas Keller, and Robert Mattmüller. Delete relaxations for planning with state-dependent action costs. In Proc. IJCAI, pages 1573–1579, 2015. Florian Geißer, Thomas Keller, and Robert Mattmüller. Abstractions for planning with state-dependent action costs. In Proc. ICAPS, 2016. Franc Ivankovic, Patrik Haslum, Sylvie Thiébaux, Vikas Shivashankar, and Dana S. Nau. Optimal planning with global numerical state constraints. In Proc. ICAPS, pages 145–153, 2014.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 63 / 64

slide-109
SLIDE 109

References IV

Thomas Keller, Florian Pommerening, Jendrik Seipp, Florian Geißer, and Robert Mattmüller. State-dependent cost partitionings for Cartesian abstractions in classical planning. In Proc. IJCAI, 2016. To appear. Yung-Te Lai, Massoud Pedram, and Sarma B. K. Vrudhula. Formal verification using edge-valued binary decision diagrams. IEEE Transactions on Computers, 45(2):247–255, 1996. Jendrik Seipp and Malte Helmert. Counterexample-guided Cartesian abstraction refinement. In Proc. ICAPS, pages 347–351, 2013.

June 13, 2016 Robert Mattmüller, Florian Geißer – Planning with State-Dependent Action Costs 64 / 64