Planning as model checking, (OBDDs) Jos Luis Ambite* [* Based in - - PowerPoint PPT Presentation

planning as model checking obdds
SMART_READER_LITE
LIVE PREVIEW

Planning as model checking, (OBDDs) Jos Luis Ambite* [* Based in - - PowerPoint PPT Presentation

Planning as model checking, (OBDDs) Jos Luis Ambite* [* Based in part on Paolo Traversos (http://sra.itc.it/people/traverso/) tutorial: http://prometeo.ing.unibs.it/sschool/slides/traverso/traverso-slides.ps.gz Some slides from


slide-1
SLIDE 1

1

Planning as model checking, (OBDDs)

José Luis Ambite*

[* Based in part on Paolo Traverso’s (http://sra.itc.it/people/traverso/)

tutorial: http://prometeo.ing.unibs.it/sschool/slides/traverso/traverso-slides.ps.gz Some slides from http://www-2.cs.cmu.edu/~mmv/planning/handouts/BDDplanning.pdf ] by Rune Jensen http://www.itu.dk/people/rmj

slide-2
SLIDE 2

2

The Model Checking Problem

Determine whether a formula is true in a model 1. A domain of interest is described by a semantic model 2. A desired property of the domain is described by a logical formula 3. Check if the domain satisfy the desired property by checking whether the formula is true in the model Motivation: Formal verification of dynamic systems

slide-3
SLIDE 3

3

State Space: Blocks World

slide-4
SLIDE 4

4

slide-5
SLIDE 5

5

State-Transition Systems: Planning Domains

A planning domain D is a 4-tuple <F, S, A, R>: F is a finite set of Fluents S ⊆ 2F is a finite set of states A is a finite set of actions R ⊆ S x A x S is a transition relation

Action a ∈ A is executable in s ∈ S if ∃s’ R(s, a, s’)

slide-6
SLIDE 6

6

State-Transition Systems: (Deterministic) Planning Domain Example:

F = {loaded, locked} S = {(¬loaded locked), (¬loaded ¬locked), (loaded ¬locked), (loaded locked)} A = {lock, unlock, load, unload} R = { [(¬loaded locked) unlock (¬loaded ¬locked)], [(¬loaded ¬locked) lock (¬loaded locked)], [(¬loaded ¬locked) load (loaded ¬locked)], [(loaded ¬locked) unload (¬loaded ¬locked)], [(loaded ¬locked) lock (loaded locked)], [(loaded locked) unlock (loaded ¬locked)] }

slide-7
SLIDE 7

7

State-Transition Systems: Planning Problem

A planning problem P for a planning Domain D=<F S A R> is a 3-tuple <D, I, G>:

I ⊆ S is the set of initial states G ⊆ S is the set of goal states

I G

slide-8
SLIDE 8

8

State-Transition Systems: Plan

A plan π for a planning problem P=<I, G, D> in a planning domain D = <F, S, A, R> is a set of state-action pairs:

{(s, a) : s ∈ S, a ∈ A, a executable in s} at least one (s, a) with s ∈ I

Goal achieving plan (informally):

for each state-action pairs (s, a), either a leads from s to the goal, R(s, a) ∈ G, or a leads from s to a state s’ such that (s’, a’) ∈ π and a’ leads from s’ to the goal R(s’, a’) ∈ G, and so on. π = {(2, load), (3, lock)}

slide-9
SLIDE 9

9

Planning Algorithm (Regression)

I

Backward image (regress set of states) Remove Visited

slide-10
SLIDE 10

10

Planning Algorithm (Regression)

I G

Backward image (regress set of states) Remove Visited

slide-11
SLIDE 11

11

Planning via Symbolic Model Checking

Problem: Realistic planning domains often have large state spaces Idea: exploit the work on symbolic model checking based on Ordered Binary Decision Diagrams (OBDD’s) OBDD’s:

Canonical form for propositional formulas Efficient!

Polynomial boolean operations: O(ϕ1 ⊗ ϕ2) = O(|ϕ1| |ϕ2|) Constant time equality

slide-12
SLIDE 12

12

OBDD example:

Variable ordering Is important

slide-13
SLIDE 13

13

slide-14
SLIDE 14

14

slide-15
SLIDE 15

15

Planning via Model Checking Symbolic Representation Action represented by assigning true to the corresponding variable Transition t = <s a s’> encoded as

ξ(t) = ξ(s) ^ ξ(a) ^ ξ(s’)

Transition relation T encoded as disjunction of all the transitions

ξ(T)= Vt∈T ξ(t)

slide-16
SLIDE 16

16

Planning Algorithm (regression)

I G

slide-17
SLIDE 17

17

Planning Algorithm (regression)

OneStepPlan(S) in the regression algorithm is the backward image of the set of states S. Can computed as the QBF formula: ∃x’ (States(x’) ∧ R(x, a, x’)) Quantified Boolean Formula (QBF):

∃x φ(x y) = φ(0 y) ∨ φ(1 y) ∀x φ(x y) = φ(0 y) ∧ φ(1 y)

slide-18
SLIDE 18

18

slide-19
SLIDE 19

19

slide-20
SLIDE 20

20

slide-21
SLIDE 21

21

slide-22
SLIDE 22

22

Planning as model checking

slide-23
SLIDE 23

23

Planning as Model Checking

slide-24
SLIDE 24

24

slide-25
SLIDE 25

25

slide-26
SLIDE 26

26

slide-27
SLIDE 27

27

slide-28
SLIDE 28

28

slide-29
SLIDE 29

29

slide-30
SLIDE 30

30

slide-31
SLIDE 31

31

slide-32
SLIDE 32

32