About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Alternatives to Explicit State Space Search
Decoupled Search
Daniel Gnad & Álvaro Torralba
ICAPS’17 Tutorial
June 19, 2017
D. Gnad, Á. Torralba
Decoupled State Space Search
1/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
About us
Daniel Gnad
Dr. Álvaro Torralba
Saarland University, Saarbrücken, Germany
D. Gnad, Á. Torralba
Decoupled State Space Search
2/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
About you
Target audience:
Ideally, you are..
.. familiar with Classical Planning Formalisms (FDR/SAS+ ).
.. familiar with Planning as Heuristic Search.
.. aware of an important issue in Explicit State Space Search
→ State Space Explosion
D. Gnad, Á. Torralba
Decoupled State Space Search
3/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
About you
Target audience:
Ideally, you are..
.. familiar with Classical Planning Formalisms (FDR/SAS+ ).
.. familiar with Planning as Heuristic Search.
.. aware of an important issue in Explicit State Space Search
→ State Space Explosion
Don’t hesitate to ask questions if something is unclear!
D. Gnad, Á. Torralba
Decoupled State Space Search
3/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
4/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
5/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Classical Planning
Definition. A planning task is a 4-tuple Π = (V, A, I, G) where:
V is a set of state variables, each v ∈ V with a finite domain Dv .
A is a set of actions; each a ∈ A is a triple (pre(a), eff (a), c(a)), of
precondition and effect (partial assignments), and the action’s cost
c(a) ∈ R0+ .
Initial state I (complete assignment), goal G (partial assignment).
D. Gnad, Á. Torralba
Decoupled State Space Search
6/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Classical Planning
Definition. A planning task is a 4-tuple Π = (V, A, I, G) where:
V is a set of state variables, each v ∈ V with a finite domain Dv .
A is a set of actions; each a ∈ A is a triple (pre(a), eff (a), c(a)), of
precondition and effect (partial assignments), and the action’s cost
c(a) ∈ R0+ .
Initial state I (complete assignment), goal G (partial assignment).
Running Example:
l1
l2
l3
V = {t, p1 , p2 , p3 , p4 }
with Dt = {l1 , l2 , l3 } and Dpi = {t, l1 , l2 , l3 }.
A = {load (pi , x), unload (pi , x), drive(x, x0 )}
D. Gnad, Á. Torralba
Decoupled State Space Search
6/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Semantics – The State Space of a Planning Task
Definition. Let Π = (V, A, I, G) be an FDR planning task. The state space of
Π is the labeled transition system ΘΠ = (S, L, c, T, I, S G ) where:
The states S are the complete variable assignments.
The labels L = A are Π’s actions; the cost function c is that of Π.
a
The transitions are T = {s −
→ s0 | pre(a) ⊆ s, s0 = s[[a]]}.
If pre(a) ⊆ s, then a is applicable in s and, for all v ∈ V ,
s[[a]][v] := eff (a)[v] if eff (a)[v] is defined and s[[a]][v] := s[v] otherwise.
If pre(a) 6⊆ s, then s[[a]] is undefined.
The initial state I is identical to that of Π.
The goal states S G = {s ∈ S | G ⊆ s} are those that satisfy Π’s goal.
D. Gnad, Á. Torralba
Decoupled State Space Search
7/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Semantics – The State Space of a Planning Task
Definition. Let Π = (V, A, I, G) be an FDR planning task. The state space of
Π is the labeled transition system ΘΠ = (S, L, c, T, I, S G ) where:
The states S are the complete variable assignments.
The labels L = A are Π’s actions; the cost function c is that of Π.
a
The transitions are T = {s −
→ s0 | pre(a) ⊆ s, s0 = s[[a]]}.
If pre(a) ⊆ s, then a is applicable in s and, for all v ∈ V ,
s[[a]][v] := eff (a)[v] if eff (a)[v] is defined and s[[a]][v] := s[v] otherwise.
If pre(a) 6⊆ s, then s[[a]] is undefined.
The initial state I is identical to that of Π.
The goal states S G = {s ∈ S | G ⊆ s} are those that satisfy Π’s goal.
→ Solution (“Plan”): Action sequence mapping I into s ∈ S G .
Optimal plan: Minimum summed-up cost.
D. Gnad, Á. Torralba
Decoupled State Space Search
7/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A successful approach: Heuristic Search
goal
init
D. Gnad, Á. Torralba
Decoupled State Space Search
8/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A successful approach: Heuristic Search
goal
init
D. Gnad, Á. Torralba
Decoupled State Space Search
8/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A successful approach: Heuristic Search
init
dist
anc
ee
stim
ate
h
distance
estimate
h
distance
goal
h
estimate
ate
h
stim
ee
c
n
a
dist
→ Forward state space search. Heuristic function h maps states s to an
estimate h(s) of goal distance.
D. Gnad, Á. Torralba
Decoupled State Space Search
8/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Alternatives to State Space Search (not covered here)
Planning as SAT: Extensions use, e. g., heuristics, symmetry breaking.
Kautz and Selman (1992, 1996); Ernst et al. (1997); Rintanen (1998,
2003, 2012)
Property Directed Reachability
Bradley (2011); Eén et al. (2011); Suda (2014)
Planning via Petri Net Unfolding
Godefroid and Wolper (1991); McMillan (1992); Esparza et al. (2002);
Edelkamp et al. (2004); Hickmott et al. (2007); Bonet et al. (2008, 2014)
Partial-order Planning
Sacerdoti (1975); Kambhampati et al. (1995); Younes and Simmons
(2003); Bercher et al. (2013)
Factored Planning (details later)
Knoblock (1994); Amir and Engelhardt (2003); Brafman and Domshlak
(2006); Kelareva et al. (2007); Brafman and Domshlak (2008, 2013);
Fabre et al. (2010)
...
D. Gnad, Á. Torralba
Decoupled State Space Search
9/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
State Space Explosion
init
goal
...
...
?
...
Huge branching factor → state space explosion.
D. Gnad, Á. Torralba
Decoupled State Space Search
10/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
State Space Explosion
init
...
...Decoupling to the rescue!
goal
?
...
Huge branching factor → state space explosion.
D. Gnad, Á. Torralba
Decoupled State Space Search
10/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
State Space Explosion
init
...
...Decoupling to the rescue!
goal
?
...
Huge branching factor → state space explosion.
Helmert and Röger (2008)
D. Gnad, Á. Torralba
Decoupled State Space Search
10/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
11/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star-Topology Decoupling
Running Example:
V = {t, p1 , p2 , p3 , p4 }.
l1
l2
l3
A = {load (pi , x), unload (pi , x), drive(x, x0 )}, where:
pre(load (pi , x)) = {(t, x), (pi , x)} and eff (load (i, x)) = {(pi , t)},
pre(unload (pi , x)) = {(t, x), (pi , t)} and eff (unload (i, x)) = {(pi , x)}.
Causal Graph: Dependencies across (components of) state variables.
D. Gnad, Á. Torralba
precondition
precondition
precondition
precondition
Decoupled State Space Search
12/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star-Topology Decoupling
Causal Graph: Dependencies across (components of) state variables.
D. Gnad, Á. Torralba
precondition
precondition
precondition
precondition
Decoupled State Space Search
12/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star-Topology Decoupling
Causal Graph: Dependencies across (components of) state variables.
precondition
precondition
precondition
precondition
Decomposition: “Instantiate center to break the conditional dependencies”.
D. Gnad, Á. Torralba
Decoupled State Space Search
12/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star-Topology Decoupling
Causal Graph: Dependencies across (components of) state variables.
precondition
precondition
precondition
precondition
Decomposition: “Instantiate center to break the conditional dependencies”.
Search over center actions; handle each leaf component separately.
D. Gnad, Á. Torralba
Decoupled State Space Search
12/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star-Topology Decoupling
Running Example:
V = {t, p1 , p2 , p3 , p4 }.
l1
l2
l3
A = {load (pi , x), unload (pi , x), drive(x, x0 )}, where:
pre(load (pi , x)) = {(t, x), (pi , x)} and eff (load (i, x)) = {(pi , t)},
pre(unload (pi , x)) = {(t, x), (pi , t)} and eff (unload (i, x)) = {(pi , x)}.
Causal Graph: Dependencies across (components of) state variables.
precondition
precondition
precondition
precondition
Decomposition: “Instantiate center to break the conditional dependencies”.
Search over center actions; handle each leaf component separately.
D. Gnad, Á. Torralba
Decoupled State Space Search
12/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
D. Gnad, Á. Torralba
Decoupled State Space Search
l2
l3
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
Center path:
l1
drive(l1 , l2 )
D. Gnad, Á. Torralba
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
Decoupled State Space Search
l2
l2
drive(l2 , l1 )
l3
l1
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
Center path:
l1
:
(a) l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
l2
drive(l2 , l1 )
l3
l1
load(p1 , l1 ) unload(p1 , l2 )
l2
t
D. Gnad, Á. Torralba
Decoupled State Space Search
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
Center path:
l1
:
(a) l1
(b) l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
l2
drive(l2 , l1 )
l3
l1
load(p1 , l1 ) unload(p1 , l2 )
l2
t
load(p1 , l1 )
D. Gnad, Á. Torralba
t
unload(p1 , l3 )
l3
Decoupled State Space Search
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
Center path:
l1
:
(a) l1
(b) l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
l2
drive(l2 , l1 )
l3
l1
load(p1 , l1 ) unload(p1 , l2 )
l2
t
load(p1 , l1 )
:
(a)
D. Gnad, Á. Torralba
t
unload(p1 , l3 )
l3
l3
load(p3 , l3 ) unload(p3 , l2 )
l2
t
Decoupled State Space Search
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
Center path:
l1
:
(a) l1
(b) l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
l2
drive(l2 , l1 )
l3
l1
load(p1 , l1 ) unload(p1 , l2 )
l2
t
load(p1 , l1 )
t
unload(p1 , l3 )
l3
:
(a)
l3
(b)
l3
D. Gnad, Á. Torralba
load(p3 , l3 ) unload(p3 , l2 )
l2
t
load(p3 , l3 )
Decoupled State Space Search
t
unload(p3 , l1 )
l1
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
“Conditional Independence”
l1
Center path:
l1
:
(a) l1
(b) l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
l2
drive(l2 , l1 )
l3
l1
load(p1 , l1 ) unload(p1 , l2 )
l2
t
load(p1 , l1 )
t
unload(p1 , l3 )
l3
:
(a)
l3
(b)
l3
load(p3 , l3 ) unload(p3 , l2 )
l2
t
load(p3 , l3 )
t
unload(p3 , l1 )
l1
We can choose (a) or (b) for each of p1 and p3 independently
=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, Á. Torralba
Decoupled State Space Search
13/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Exponential Reduction of the State Space
Reachable State Space. Right: Average over Instances Commonly Built
Success
Representation Size (in Thousands)
Std
POR
Unfold.
Decoupled
Std
POR
Decoupled
Domain
Solvable Benchmarks: From the International Planning Competition (IPC)
Depots
Driverlog
Elevators
Logistics
Miconic
NoMystery
Pathways
PSR
Rovers
Satellite
TPP
Transport
Woodworking
Zenotravel
4
5
21
12
50
11
4
3
5
5
5
28
11
7
4
5
17
12
45
11
4
3
6
5
5
23
20
7
2
3
3
11
30
7
3
3
4
5
4
11
22
4
5
10
41
27
145
40
4
3
5
4
11
34
16
7
30,954.8
35,632.4
22,652.1
3,793.8
52,728.9
29,459.3
54,635.5
39.4
98,051.6
2,864.2
340,961.5
4,958.6
438,638.5
17,468.0
30,954.8
35,632.4
22,651.1
3,793.8
52,673.1
25,581.5
1,229.0
33.9
6,534.4
582.5
326,124.8
4,958.5
226.8
17,467.5
3,970.0
127.2
186.7
8.2
2.4
10.0
11,211.9
11.1
4,032.9
352.7
.8
173.3
9,688.9
99.4
Unsolvable Benchmarks: Extended from Hoffmann and Nebel (2001)
NoMystery
Rovers
P
D. Gnad, Á. Torralba
9
4
8
4
4
0
40
4
186
181
116
398
85,254.2
697,778.9
Decoupled State Space Search
65,878.2
302,608.9
3.8
20,924.4
14/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Exponential Reduction of the State Space
Reachable State Space. Right: Average over Instances Commonly Built
Success
Representation Size (in Thousands)
Std
POR
Unfold.
Decoupled
Std
POR
Decoupled
Domain
Solvable Benchmarks: From the International Planning Competition (IPC)
Depots
Driverlog
Elevators
Logistics
Miconic
NoMystery
Pathways
PSR
Rovers
Satellite
TPP
Transport
Woodworking
Zenotravel
4
5
21
12
50
11
4
3
5
5
5
28
11
7
4
5
17
12
45
11
4
3
6
5
5
23
20
7
2
3
3
11
30
7
3
3
4
5
4
11
22
4
5
10
41
27
145
40
4
3
5
4
11
34
16
7
30,954.8
35,632.4
22,652.1
3,793.8
52,728.9
29,459.3
54,635.5
39.4
98,051.6
2,864.2
340,961.5
4,958.6
438,638.5
17,468.0
30,954.8
35,632.4
22,651.1
3,793.8
52,673.1
25,581.5
1,229.0
33.9
6,534.4
582.5
326,124.8
4,958.5
226.8
17,467.5
3,970.0
127.2
186.7
8.2
2.4
10.0
11,211.9
11.1
4,032.9
352.7
.8
173.3
9,688.9
99.4
Unsolvable Benchmarks: Extended from Hoffmann and Nebel (2001)
NoMystery
Rovers
P
9
4
8
4
4
0
40
4
186
181
116
398
85,254.2
697,778.9
65,878.2
302,608.9
3.8
20,924.4
Decoupled Search can be viewed as a form of Petri Net Unfolding, exploiting the star topology
to avoid the hardness of detecting the reachable markings.
D. Gnad, Á. Torralba
Decoupled State Space Search
14/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
15/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star Factorings
Factoring F := A partitioning of V into non-empty subsets.
D. Gnad, Á. Torralba
Decoupled State Space Search
16/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star Factorings
Factoring F := A partitioning of V into non-empty subsets.
Definition F is a star factoring if |F| > 1 and there exists F C ∈ F such
that, for every action a where V(eff (a)) ∩ F C = ∅, there exists F ∈ F
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
D. Gnad, Á. Torralba
Decoupled State Space Search
16/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star Factorings
Factoring F := A partitioning of V into non-empty subsets.
Definition F is a star factoring if |F| > 1 and there exists F C ∈ F such
that, for every action a where V(eff (a)) ∩ F C = ∅, there exists F ∈ F
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
D. Gnad, Á. Torralba
Decoupled State Space Search
16/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star Factorings
Factoring F := A partitioning of V into non-empty subsets.
Definition F is a star factoring if |F| > 1 and there exists F C ∈ F such
that, for every action a where V(eff (a)) ∩ F C = ∅, there exists F ∈ F
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {F C } ∪ F L . (center + leaves)
D. Gnad, Á. Torralba
Decoupled State Space Search
16/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star Factorings
Factoring F := A partitioning of V into non-empty subsets.
Definition F is a star factoring if |F| > 1 and there exists F C ∈ F such
that, for every action a where V(eff (a)) ∩ F C = ∅, there exists F ∈ F
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {F C } ∪ F L . (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ F C .
Leaf Actions AL : affect only one leaf F L ∈ F L .
D. Gnad, Á. Torralba
Decoupled State Space Search
16/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Star Factorings
Factoring F := A partitioning of V into non-empty subsets.
Definition F is a star factoring if |F| > 1 and there exists F C ∈ F such
that, for every action a where V(eff (a)) ∩ F C = ∅, there exists F ∈ F
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {F C } ∪ F L . (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ F C .
Leaf Actions AL : affect only one leaf F L ∈ F L .
Center States sC : complete assignment to F C .
Leaf States sL : complete assignment to an F L ∈ F L .
D. Gnad, Á. Torralba
Decoupled State Space Search
16/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled States
Definition Let F be a star factoring with center F C and leaves F L . A
decoupled state sF is a triple (π C (sF ), center(sF ), prices(sF )) where
π C (sF ) is a center path, center(sF ) is a center state, and prices(sF ) is
a pricing function, prices(sF ) : S L 7→ R0+ ∪ {∞}, mapping each leaf
state to a non-negative price.
D. Gnad, Á. Torralba
Decoupled State Space Search
17/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled States
Definition Let F be a star factoring with center F C and leaves F L . A
decoupled state sF is a triple (π C (sF ), center(sF ), prices(sF )) where
π C (sF ) is a center path, center(sF ) is a center state, and prices(sF ) is
a pricing function, prices(sF ) : S L 7→ R0+ ∪ {∞}, mapping each leaf
state to a non-negative price.
l1
D. Gnad, Á. Torralba
l2
l3
l1 t l2 l3
l1 t l2 l3
p1 0 1 ∞ ∞ p2 0 1 ∞ ∞
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
Decoupled State Space Search
17/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph
C
Definition Let π C = haC
1 , . . . , an i be a center path traversing center states
C
C
C
hs0 , . . . , sn i. The π -compliant-path graph for a leaf F L ∈ F L , denoted
CompG[π C , F L ], is the arc-labeled weighted directed graph whose vertices are
L
L
L
{sL
t | s ∈ S [F ], 0 ≤ t ≤ n}, and whose arcs are:
aL
L
L
−→ s0 t with weight c(aL ) whenever sL , s0 ∈ S L [F L ] and
(i) sL
t −
L
L
C
L
C
a ∈ AL [F L ] \ AC are such that sC
t [V(pre(a )) ∩ F ] = pre(a )[F ],
L
sL [V(pre(aL )) ∩ F L ] = pre(aL )[F L ], and sL [[aL ]] = s0 .
0
L
L
(ii) sL
→ s0 t+1 with weight 0 whenever sL , s0 ∈ S L [F L ] are such that
t −
L
C
L
L C
0L
sL [V(pre(aC
t )) ∩ F ] = pre(at )[F ] and s [[at ]] = s .
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p , l )unload(p , l )
1 1
1 2
(a) l1
l2
t
(b) l1
D. Gnad, Á. Torralba
load(p1 , l1 )
t
unload(p1 , l3 )
l3
Decoupled State Space Search
18/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
CompG[π C , {p1 }]:
(p1 = t)0
1 (un)load(p1 , l1 )
(p1 = l1 )0
D. Gnad, Á. Torralba
Decoupled State Space Search
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
drive(l1 , l2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
1 (un)load(p1 , l1 )
(p1 = l1 )0
D. Gnad, Á. Torralba
Decoupled State Space Search
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
drive(l1 , l2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
1 (un)load(p1 , l1 )
(p1 = l1 )0
0
(p1 = l1 )1
(un)load(p1 , l2 ) 1
(p1 = l2 )1
D. Gnad, Á. Torralba
Decoupled State Space Search
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
1 (un)load(p1 , l1 )
(p1 = l1 )0
0
(p1 = l1 )1
(un)load(p1 , l2 ) 1
(p1 = l2 )1
D. Gnad, Á. Torralba
Decoupled State Space Search
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
1 (un)load(p1 , l1 )
(p1 = l1 )0
0
(p1 = l1 )1
0
(p1 = l1 )2
(un)load(p1 , l2 ) 1
(p1 = l2 )1
0
(p1 = l2 )2
(un)load(p1 , l3 ) 1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
1 (un)load(p1 , l1 )
(p1 = l1 )0
0
(p1 = l1 )1
0
(p1 = l1 )2
(un)load(p1 , l2 ) 1
(p1 = l2 )1
0
(p1 = l2 )2
(un)load(p1 , l3 ) 1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – Example
Center path π C :
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
0
(p1 = t)3
1 (un)load(p1 , l1 )
(p1 = l1 )0
0
(p1 = l1 )1
0
(p1 = l1 )2
0
(p1 = l1 )3
(un)load(p1 , l2 ) 1
(p1 = l2 )1
0
(p1 = l2 )2
(un)load(p1 , l3 ) 1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
0
0
(p1 = l2 )3
(p1 = l3 )3
19/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
CompG[π C , {p1 }]:
(p1 = t)0
1 (un)load(p1 , l1 )
(p1 = l1 )0
D. Gnad, Á. Torralba
Decoupled State Space Search
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
1 (un)load(p1 , l1 )
(p1 = l1 )0
D. Gnad, Á. Torralba
Decoupled State Space Search
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
1 (un)load(p1 , l1 )
(p1 = l1 )0
(un)load(p1 , l2 ) 1
(p1 = l2 )1
D. Gnad, Á. Torralba
Decoupled State Space Search
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
drive(l2 , l3 , p1 )
l3
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
1 (un)load(p1 , l1 )
(p1 = l1 )0
(un)load(p1 , l2 ) 1
(p1 = l2 )1
D. Gnad, Á. Torralba
Decoupled State Space Search
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
drive(l2 , l3 , p1 )
l3
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
1 (un)load(p1 , l1 )
(p1 = l1 )0
(un)load(p1 , l2 ) 1
(p1 = l2 )1
(un)load(p1 , l3 ) 1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
drive(l2 , l3 , p1 )
l3
drive(l3 , l2 , p2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
1 (un)load(p1 , l1 )
(p1 = l1 )0
(un)load(p1 , l2 ) 1
(p1 = l2 )1
(un)load(p1 , l3 ) 1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
drive(l2 , l3 , p1 )
l3
drive(l3 , l2 , p2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
0
(p1 = t)3
1 (un)load(p1 , l1 )
(p1 = l1 )0
(un)load(p1 , l2 ) 1
(p1 = l2 )1
(un)load(p1 , l3 ) 1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
0
(p1 = l3 )3
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The Compliant-Path Graph – No-Empty Example
Center path π C : pre(drive(lx , ly , pz )) = {t = lx , pz = t}
l1
drive(l1 , l2 , p1 )
l2
drive(l2 , l3 , p1 )
l3
drive(l3 , l2 , p2 )
l2
CompG[π C , {p1 }]:
(p1 = t)0
0
(p1 = t)1
0
(p1 = t)2
0
(p1 = t)3
1 (un)load(p1 , l1 )
(p1 = l1 )0
(p1 = l1 )1
(p1 = l1 )2
(p1 = l1 )3
(p1 = l2 )2
(un)load(p1 , l3 ) 1
(p1 = l2 )3
(un)load(p1 , l2 ) 1
(p1 = l2 )1
(p1 = l3 )2
D. Gnad, Á. Torralba
Decoupled State Space Search
0
(p1 = l3 )3
20/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) S F is the set of all decoupled states.
D. Gnad, Á. Torralba
Decoupled State Space Search
21/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) S F is the set of all decoupled states.
(ii) I F is the decoupled initial state, where center(I F ) := I[F C ],
π C (I F ) := hi, and, for every leaf F L ∈ F L and leaf state sL ∈ S L [F L ],
prices(I F )[sL ] is the cost of a cheapest path from I[F L ]0 to sL
0 in
CompG[hi, F L ].
D. Gnad, Á. Torralba
Decoupled State Space Search
21/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) S F is the set of all decoupled states.
(ii) I F is the decoupled initial state, where center(I F ) := I[F C ],
π C (I F ) := hi, and, for every leaf F L ∈ F L and leaf state sL ∈ S L [F L ],
prices(I F )[sL ] is the cost of a cheapest path from I[F L ]0 to sL
0 in
CompG[hi, F L ].
F
(iii) SG
are the decoupled goal states sG , where G[F C ] ⊆ center(sG ) and, for
every F L ∈ F L , there exists a leaf goal state sL ∈ S L [F L ] s.t.
G[F L ] ⊆ sL and prices(sG )[sL ] < ∞.
D. Gnad, Á. Torralba
Decoupled State Space Search
21/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
aC
(ii) T F contains a transition (sF −−→ tF ) ∈ T F whenever aC ∈ AC and
sF , tF are such that:
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
aC
(ii) T F contains a transition (sF −−→ tF ) ∈ T F whenever aC ∈ AC and
sF , tF are such that:
1. π C (sF ) ◦ haC i = π C (tF );
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
aC
(ii) T F contains a transition (sF −−→ tF ) ∈ T F whenever aC ∈ AC and
sF , tF are such that:
1. π C (sF ) ◦ haC i = π C (tF );
2. center(sF )[V(pre(aC )) ∩ F C ] = pre(aC )[F C ];
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
aC
(ii) T F contains a transition (sF −−→ tF ) ∈ T F whenever aC ∈ AC and
sF , tF are such that:
1. π C (sF ) ◦ haC i = π C (tF );
2. center(sF )[V(pre(aC )) ∩ F C ] = pre(aC )[F C ];
3. center(sF )[[aC ]] = center(tF );
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
aC
(ii) T F contains a transition (sF −−→ tF ) ∈ T F whenever aC ∈ AC and
sF , tF are such that:
1.
2.
3.
4.
π C (sF ) ◦ haC i = π C (tF );
center(sF )[V(pre(aC )) ∩ F C ] = pre(aC )[F C ];
center(sF )[[aC ]] = center(tF );
for every F L ∈ F L where V(pre(aC )) ∩ F L 6= ∅, there exists
sL ∈ S L [F L ] s.t. sL [V(pre(aC )) ∩ F L ] = pre(aC )[F L ] and
prices(s)[sL ] < ∞; and
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled State Space – Cont.
Definition The decoupled state space is a labeled transition system
F
C
F
F
F
ΘF
Π = (S , A , c|AC , T , I , SG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that of
Π, restricted to AC .
aC
(ii) T F contains a transition (sF −−→ tF ) ∈ T F whenever aC ∈ AC and
sF , tF are such that:
π C (sF ) ◦ haC i = π C (tF );
center(sF )[V(pre(aC )) ∩ F C ] = pre(aC )[F C ];
center(sF )[[aC ]] = center(tF );
for every F L ∈ F L where V(pre(aC )) ∩ F L 6= ∅, there exists
sL ∈ S L [F L ] s.t. sL [V(pre(aC )) ∩ F L ] = pre(aC )[F L ] and
prices(s)[sL ] < ∞; and
5. for every leaf F L ∈ F L and leaf state sL ∈ S L [F L ], prices(tF )[sL ] is
C F
L
the cost of a cheapest path from I[F L ]0 to sL
n in CompG[π (t ), F ],
C F
where n := |π (t )|.
1.
2.
3.
4.
D. Gnad, Á. Torralba
Decoupled State Space Search
22/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search – Example
l1 t l2 l3
p1 0 1 ∞ ∞
l1 t l2 l3
p2 0 1 ∞ ∞
l1
l2
l3
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
D. Gnad, Á. Torralba
Decoupled State Space Search
23/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search – Example
l1 t l2 l3
p1 0 1 ∞ ∞
l1 t l2 l3
p2 0 1 ∞ ∞
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
l1
l2
l3
drive(l1 , l2 )
l1 t l2 l3
p1 0 1 2 ∞
l1 t l2 l3
p2 0 1 2 ∞
t = l2
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
D. Gnad, Á. Torralba
Decoupled State Space Search
23/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search – Example
l1 t l2 l3
p1 0 1 ∞ ∞
l1 t l2 l3
p2 0 1 ∞ ∞
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
l1
l2
l3
drive(l1 , l2 )
l1 t l2 l3
p1 0 1 2 ∞
l1 t l2 l3
p2 0 1 2 ∞
t = l2
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
drive(l2 , l3 )
l1 t l2 l3
p1 0 1 2 2
l1 t l2 l3
p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
D. Gnad, Á. Torralba
Decoupled State Space Search
23/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search – No-Empty Example
l1 t l2 l3
p1 0 1 ∞ ∞
l1 t l2 l3
p2 0 1 ∞ ∞
l1
l2
l3
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
D. Gnad, Á. Torralba
Decoupled State Space Search
24/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search – No-Empty Example
l1 t l2 l3
p1 0 1 ∞ ∞
l1 t l2 l3
p2 0 1 ∞ ∞
l1
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
l2
l3
drive(l1 , l2 , p1 )
l1 t l2 l3
p1 ∞ 1 2 ∞
l1 t l2 l3
p2 0 1 2 ∞
t = l2
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
D. Gnad, Á. Torralba
Decoupled State Space Search
24/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search – No-Empty Example
l1 t l2 l3
p1 0 1 ∞ ∞
l1 t l2 l3
p2 0 1 ∞ ∞
l1
t = l1
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
l2
l3
drive(l1 , l2 , p1 )
l1 t l2 l3
p1 ∞ 1 2 ∞
l1 t l2 l3
p2 0 1 2 ∞
t = l2
l1 t l2 l3
l1 t l2 l3
p3 ∞ ∞ ∞ 0 p4 ∞ ∞ ∞ 0
drive(l2 , l3 , p2 )
l1 t l2 l3
p1 ∞ 1 2 2
l1 t l2 l3
p2 ∞ 1 ∞ 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
D. Gnad, Á. Torralba
Decoupled State Space Search
24/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercubes
Definition A state p in Π is a member state of a decoupled state sF , if
p[F C ] = center(sF ) and, for all leaves F L ∈ F L ,
L
F
prices(sF )[p[F
P ]] < ∞. We sayF that pL has cost cost sF (p) in sF , where
cost sF (p) := F L ∈F L prices(s )[p[F ]]. The hypercube of s , denoted
[sF ], is the set of all member states of sF .
D. Gnad, Á. Torralba
Decoupled State Space Search
25/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercubes
Definition A state p in Π is a member state of a decoupled state sF , if
p[F C ] = center(sF ) and, for all leaves F L ∈ F L ,
L
F
prices(sF )[p[F
P ]] < ∞. We sayF that pL has cost cost sF (p) in sF , where
cost sF (p) := F L ∈F L prices(s )[p[F ]]. The hypercube of s , denoted
[sF ], is the set of all member states of sF .
l1 t l2 l3
p1 ∞ 1 2 2 p2
t = l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4
l1 t l2 l3
∞1∞ 2
l1 t l2 l3
∞1∞ 0
Decoupled State sF
D. Gnad, Á. Torralba
tl3 , p1 t, p2 l3 , p3 l3 , p4 l3 3
tl3 , p1 l3 , p2 l3 , p3 t, p4 t6
tl3 , p1 t, p2 t, p3 t, p4 l3 3
tl3 , p1 l3 , p2 t, p3 t, p4 l3 4
tl3 , p1 t, p2 l3 , p3 t, p4 t5
...
Hypercube [sF ] (24 member states!)
Decoupled State Space Search
25/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercubes
Definition A state p in Π is a member state of a decoupled state sF , if
p[F C ] = center(sF ) and, for all leaves F L ∈ F L ,
L
F
prices(sF )[p[F
P ]] < ∞. We sayF that pL has cost cost sF (p) in sF , where
cost sF (p) := F L ∈F L prices(s )[p[F ]]. The hypercube of s , denoted
[sF ], is the set of all member states of sF .
l1 t l2 l3
p1 ∞ 1 2 2 p2
t = l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4
l1 t l2 l3
∞1∞ 2
l1 t l2 l3
∞1∞ 0
Decoupled State sF
tl3 , p1 t, p2 l3 , p3 l3 , p4 l3 3
tl3 , p1 l3 , p2 l3 , p3 t, p4 t6
tl3 , p1 t, p2 t, p3 t, p4 l3 3
tl3 , p1 l3 , p2 t, p3 t, p4 l3 4
tl3 , p1 t, p2 l3 , p3 t, p4 t5
...
Hypercube [sF ] (24 member states!)
Hypercube dimensions = Leaves; Axis values = Leaf States.
D. Gnad, Á. Torralba
Decoupled State Space Search
25/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercubes II
[sF ] contains all states reachable via a path π that contains π C (sF ).
D. Gnad, Á. Torralba
Decoupled State Space Search
26/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercubes II
[sF ] contains all states reachable via a path π that contains π C (sF ).
Center path:
l1
drive(l1 , l2 )
l2
drive(l2 , l3 )
l3
drive(l3 , l2 )
l2
drive(l2 , l1 )
l1
: load(p1 , l1 ) unload(p1 , l2 )
l1
l1
...
load(p1 , l1 )
t
l2
t
unload(p1 , l3 )
l3
:
l3
l3
D. Gnad, Á. Torralba
load(p3 , l3 ) unload(p3 , l2 )
l2
t
...
load(p3 , l3 )
t
Decoupled State Space Search
unload(p3 , l1 )
l1
26/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
State Space Size Reduction
Illustrative Example:
A
B
C
D
E
..
D. Gnad, Á. Torralba
Decoupled State Space Search
27/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
State Space Size Reduction
Illustrative Example:
A
B
C
D
E
..
E.g. loading the packages at A:
2n reachable standard states but only a single decoupled state!
D. Gnad, Á. Torralba
Decoupled State Space Search
27/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
State Space Size Reduction
Illustrative Example:
A
B
C
D
E
..
E.g. loading the packages at A:
2n reachable standard states but only a single decoupled state!
Standard state space size here is 5 ∗ 6n ; decoupled is 15.
D. Gnad, Á. Torralba
Decoupled State Space Search
27/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Exponential Blow-Up
Illustrative Example:
B
A
D
C
D. Gnad, Á. Torralba
E
G
...
F
Decoupled State Space Search
28/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Exponential Blow-Up
Illustrative Example:
B
A
E
D
C
G
...
F
Drive to D via B or C:
Standard state space → identical state
Decoupled state space → different states! (pricing function)
D. Gnad, Á. Torralba
Decoupled State Space Search
28/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Exponential Blow-Up
Illustrative Example:
B
A
E
D
C
G
...
F
Drive to D via B or C:
Standard state space → identical state
Decoupled state space → different states! (pricing function)
Decoupled state “remembers” the taken center path.
ΘF
Π exponentially larger than ΘΠ !
D. Gnad, Á. Torralba
Decoupled State Space Search
28/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Exponential Blow-Up
Illustrative Example:
B
A
E
D
C
G
...
F
Drive to D via B or C:
Standard state space → identical state
Decoupled state space → different states! (pricing function)
Decoupled state “remembers” the taken center path.
ΘF
Π exponentially larger than ΘΠ !
Multiple packages: both effects occur.
Length of map vs. # of packages.
D. Gnad, Á. Torralba
Decoupled State Space Search
28/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
29/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Planning Heuristics
Definition A heuristic h is a function h : S 7→ R+
0 ∪ {∞}. Its value h(s)
for a state s is referred to as the state’s heuristic value, or h value.
D. Gnad, Á. Torralba
Decoupled State Space Search
30/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Planning Heuristics
Definition A heuristic h is a function h : S 7→ R+
0 ∪ {∞}. Its value h(s)
for a state s is referred to as the state’s heuristic value, or h value.
Definition For a state s ∈ S, the perfect heuristic value h∗ of s is the
cost of an optimal plan for s, or ∞ if there exists no plan for s.
→ Heuristic functions h estimate the remaining cost h∗ .
D. Gnad, Á. Torralba
Decoupled State Space Search
30/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Heuristic Functions
Definition. A decoupled heuristic is a function h from decoupled states
S F into R+
0 ∪ ∞.
D. Gnad, Á. Torralba
Decoupled State Space Search
31/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Heuristic Functions
Definition. A decoupled heuristic is a function h from decoupled states
S F into R+
0 ∪ ∞.
The center-perfect heuristic hC∗ is that where hC∗ (sF ) is the cost of a
cheapest center path reaching the goal from sF .
D. Gnad, Á. Torralba
Decoupled State Space Search
31/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Heuristic Functions
Definition. A decoupled heuristic is a function h from decoupled states
S F into R+
0 ∪ ∞.
The center-perfect heuristic hC∗ is that where hC∗ (sF ) is the cost of a
cheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗ (sF ) is the minimum over
path-cost + goal-price for all center paths reaching the goal from sF .
D. Gnad, Á. Torralba
Decoupled State Space Search
31/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Heuristic Functions
Definition. A decoupled heuristic is a function h from decoupled states
S F into R+
0 ∪ ∞.
The center-perfect heuristic hC∗ is that where hC∗ (sF ) is the cost of a
cheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗ (sF ) is the minimum over
path-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗ , and
star-admissible if h ≤ hS∗ .
D. Gnad, Á. Torralba
Decoupled State Space Search
31/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Heuristic Functions
Definition. A decoupled heuristic is a function h from decoupled states
S F into R+
0 ∪ ∞.
The center-perfect heuristic hC∗ is that where hC∗ (sF ) is the cost of a
cheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗ (sF ) is the minimum over
path-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗ , and
star-admissible if h ≤ hS∗ .
Center heuristics hC estimate hC∗ , and star heuristics hS estimate hS∗ .
→ But how to compute such heuristics?
D. Gnad, Á. Torralba
Decoupled State Space Search
31/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Heuristic Compilation
Connect to standard classical planning heuristics!
Center heuristics: Set leaf action costs to 0,
D. Gnad, Á. Torralba
Decoupled State Space Search
32/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Heuristic Compilation
Connect to standard classical planning heuristics!
Center heuristics: Set leaf action costs to 0, include auxiliary
L
F
actions AL
aux allowing to achieve each leaf state s reached in s
at cost 0.
D. Gnad, Á. Torralba
Decoupled State Space Search
32/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Heuristic Compilation
Connect to standard classical planning heuristics!
Center heuristics: Set leaf action costs to 0, include auxiliary
L
F
actions AL
aux allowing to achieve each leaf state s reached in s
at cost 0.
Star heuristics: Include auxiliary actions AL
aux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL ].
D. Gnad, Á. Torralba
Decoupled State Space Search
32/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Heuristic Compilation
Connect to standard classical planning heuristics!
Center heuristics: Set leaf action costs to 0, include auxiliary
L
F
actions AL
aux allowing to achieve each leaf state s reached in s
at cost 0.
Star heuristics: Include auxiliary actions AL
aux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL ].
F
AL
aux changes for every decoupled state s !
l1 t l2 l3
p1 0 1 ∞ 2
l1 t l2 l3
p2 0 1 ∞ 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0
p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
D. Gnad, Á. Torralba
Decoupled State Space Search
32/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Heuristic Compilation
Connect to standard classical planning heuristics!
Center heuristics: Set leaf action costs to 0, include auxiliary
L
F
actions AL
aux allowing to achieve each leaf state s reached in s
at cost 0.
Star heuristics: Include auxiliary actions AL
aux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL ].
F
AL
aux changes for every decoupled state s !
l1 t l2 l3
p1 0 1 ∞ 2
l1 t l2 l3
p2 0 1 ∞ 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0
p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
Heuristic admissible? → We can guarantee optimality!
D. Gnad, Á. Torralba
Decoupled State Space Search
32/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
How to guarantee Optimality?
Search Space Reformulation:
Introduce a new goal state G0 .
D. Gnad, Á. Torralba
Decoupled State Space Search
33/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
How to guarantee Optimality?
Search Space Reformulation:
Introduce a new goal state G0 .
a
Give all decoupled goal states sF a transition sF −
→ G0 with
c(a) = goal price at sF .
l1 t l2 l3
p1 0 1 ∞ 2
Goal price = 2 + 0 + 1 = 3
= price of cheapest member goal state in sF .
D. Gnad, Á. Torralba
Decoupled State Space Search
l1 t l2 l3
p2 0 1 ∞ 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0
p4 ∞ 1 2 0
33/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
How to guarantee Optimality?
Search Space Reformulation:
Introduce a new goal state G0 .
a
Give all decoupled goal states sF a transition sF −
→ G0 with
c(a) = goal price at sF .
Extend hS by hS (G0 ) := 0.
l1 t l2 l3
p1 0 1 ∞ 2
Goal price = 2 + 0 + 1 = 3
= price of cheapest member goal state in sF .
D. Gnad, Á. Torralba
Decoupled State Space Search
l1 t l2 l3
p2 0 1 ∞ 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0
p4 ∞ 1 2 0
33/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
How to guarantee Optimality?
Search Space Reformulation:
Introduce a new goal state G0 .
a
Give all decoupled goal states sF a transition sF −
→ G0 with
c(a) = goal price at sF .
Extend hS by hS (G0 ) := 0.
l1 t l2 l3
p1 0 1 ∞ 2
Goal price = 2 + 0 + 1 = 3
= price of cheapest member goal state in sF .
l1 t l2 l3
p2 0 1 ∞ 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0
p4 ∞ 1 2 0
Any standard (complete/optimal) search on the modified graph yields a
(complete/optimal) decoupled search algorithm.
A∗ → DA∗
D. Gnad, Á. Torralba
Decoupled State Space Search
33/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercubes
tl3 , p1 t, p2 l3 , p3 l3 , p4 l3 h = 5
tl3 , p1 l3 , p2 l3 , p3 t, p4 t h = 7
tl3 , p1 t, p2 t, p3 t, p4 l3 h = 4
tl3 , p1 l3 , p2 t, p3 t, p4 l3 h = 2
tl3 , p1 t, p2 l3 , p3 t, p4 t h = 5
...
Estimate the minimum heuristic value of all member states.
→ Captured by AL
aux .
l1 t l2 l3
p1 ∞ 1 2 2 p2
t = l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4
D. Gnad, Á. Torralba
l1 t l2 l3
∞1∞ 2
l1 t l2 l3
∞1∞ 0
Decoupled State Space Search
34/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
35/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Why no Duplicate Checking?
l1 t l2 l3
p1 0 1 2 2
l1 t l2 l3
p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
Decoupled states are complex!
D. Gnad, Á. Torralba
Decoupled State Space Search
36/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Why no Duplicate Checking?
l1 t l2 l3
p1 0 1 2 2
l1 t l2 l3
p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
Decoupled states are complex!
→ Identical decoupled states are only generated very rarely.
D. Gnad, Á. Torralba
Decoupled State Space Search
36/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Why no Duplicate Checking?
l1 t l2 l3
p1 0 1 2 2
l1 t l2 l3
p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
Decoupled states are complex!
→ Identical decoupled states are only generated very rarely.
Instead:
Dominance relation over decoupled states.
Prune newly generated states if dominated by already seen ones.
D. Gnad, Á. Torralba
Decoupled State Space Search
36/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Why no Duplicate Checking?
l1 t l2 l3
p1 0 1 2 2
l1 t l2 l3
p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
Decoupled states are complex!
→ Identical decoupled states are only generated very rarely.
Instead:
Dominance relation over decoupled states.
Prune newly generated states if dominated by already seen ones.
→ Guarantees finiteness of decoupled state space!
D. Gnad, Á. Torralba
Decoupled State Space Search
36/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Dominance over Decoupled States
When is a decoupled state “better” than another one?
D. Gnad, Á. Torralba
Decoupled State Space Search
37/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Dominance over Decoupled States
When is a decoupled state “better” than another one?
New generated state:
l1 t l2 l3
l1 t l2 l3
p1 0 1 2 2 p2 0 1 2 2
t = l3
l1 t l 2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
D. Gnad, Á. Torralba
Previously seen state:
l1 t l2 l3
l1 t l2 l3
p1 0 1 2 2 p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0 p4 ∞ 1 2 0
Decoupled State Space Search
37/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Dominance over Decoupled States
When is a decoupled state “better” than another one?
New generated state:
l1 t l2 l3
l1 t l2 l3
p1 0 1 2 2 p2 0 1 2 2
t = l3
l1 t l 2 l3
l1 t l2 l3
p3 ∞ 1 ∞ 0 p4 ∞ 1 ∞ 0
Previously seen state:
l1 t l2 l3
l1 t l2 l3
p1 0 1 2 2 p2 0 1 2 2
t = l3
l1 t l2 l3
l1 t l2 l3
p3 ∞ 1 2 0 p4 ∞ 1 2 0
Definition A decoupled state sF dominates another state tF , if the
center state is the same and for all leaf states sL :
prices(sF )[sL ] ≤ prices(tF )[sL ].
D. Gnad, Á. Torralba
Decoupled State Space Search
37/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercube Pruning
tl2 , p1 t, p2 l3 , p3 t, p4 l2
tl2 , p1 l3 , p2 l1 , p3 t, p4 t
tl2 , p1 l3 , p2 l1 , p3 t, p4 l3
tl2 , p1 l2 , p2 l1 , p3 t, p4 l1
tl2 , p1 l1 , p2 l2 , p3 t, p4 l2
...
tl2 , p1 t, p2 l3 , p3 l3 , p4 l3
tl2 , p1 l3 , p2 l3 , p3 t, p4 t
tl2 , p1 t, p2 t, p3 t, p4 l3
tl2 , p1 l3 , p2 t, p3 t, p4 l3
...
tl2 , p1 t, p2 l3 , p3 t, p4 t
...
F
F
F
Given new state sF , seen states sF
1 , . . . , sn s.t. center(si ) = center(s ).
D. Gnad, Á. Torralba
Decoupled State Space Search
38/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercube Pruning
tl2 , p1 t, p2 l3 , p3 t, p4 l2
tl2 , p1 l3 , p2 l1 , p3 t, p4 t
tl2 , p1 l3 , p2 l1 , p3 t, p4 l3
tl2 , p1 l2 , p2 l1 , p3 t, p4 l1
tl2 , p1 l1 , p2 l2 , p3 t, p4 l2
...
tl2 , p1 t, p2 l3 , p3 l3 , p4 l3
tl2 , p1 l3 , p2 l3 , p3 t, p4 t
tl2 , p1 t, p2 t, p3 t, p4 l3
tl2 , p1 l3 , p2 t, p3 t, p4 l3
...
tl2 , p1 t, p2 l3 , p3 t, p4 t
...
F
F
F
Given new state sF , seen states sF
1 , . . . , sn s.t. center(si ) = center(s ).
Prune sF if
F
F
[sF ] \ [sF
1 ] ∪ [s2 ] ∪ · · · ∪ [sn ] = ∅.
D. Gnad, Á. Torralba
Decoupled State Space Search
38/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercube Pruning
tl2 , p1 t, p2 l3 , p3 t, p4 l2
tl2 , p1 l3 , p2 l1 , p3 t, p4 t
tl2 , p1 l3 , p2 l1 , p3 t, p4 l3
tl2 , p1 l2 , p2 l1 , p3 t, p4 l1
tl2 , p1 l1 , p2 l2 , p3 t, p4 l2
...
tl2 , p1 t, p2 l3 , p3 l3 , p4 l3
tl2 , p1 l3 , p2 l3 , p3 t, p4 t
tl2 , p1 t, p2 t, p3 t, p4 l3
tl2 , p1 l3 , p2 t, p3 t, p4 l3
...
tl2 , p1 t, p2 l3 , p3 t, p4 t
...
F
F
F
Given new state sF , seen states sF
1 , . . . , sn s.t. center(si ) = center(s ).
Prune sF if
F
F
[sF ] \ [sF
1 ] ∪ [s2 ] ∪ · · · ∪ [sn ] = ∅.
→ Size guarantee
D. Gnad, Á. Torralba
Decoupled State Space Search
38/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercube Pruning
tl2 , p1 t, p2 l3 , p3 t, p4 l2
tl2 , p1 l3 , p2 l1 , p3 t, p4 t
tl2 , p1 l3 , p2 l1 , p3 t, p4 l3
tl2 , p1 l2 , p2 l1 , p3 t, p4 l1
tl2 , p1 l1 , p2 l2 , p3 t, p4 l2
...
tl2 , p1 t, p2 l3 , p3 l3 , p4 l3
tl2 , p1 l3 , p2 l3 , p3 t, p4 t
tl2 , p1 t, p2 t, p3 t, p4 l3
tl2 , p1 l3 , p2 t, p3 t, p4 l3
...
tl2 , p1 t, p2 l3 , p3 t, p4 t
...
F
F
F
Given new state sF , seen states sF
1 , . . . , sn s.t. center(si ) = center(s ).
Prune sF if
F
F
[sF ] \ [sF
1 ] ∪ [s2 ] ∪ · · · ∪ [sn ] = ∅.
→ Size guarantee, but this is an NP-hard problem!
D. Gnad, Á. Torralba
Decoupled State Space Search
38/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercube Pruning
tl2 , p1 t, p2 l3 , p3 t, p4 l2
tl2 , p1 l3 , p2 l1 , p3 t, p4 t
tl2 , p1 l3 , p2 l1 , p3 t, p4 l3
tl2 , p1 l2 , p2 l1 , p3 t, p4 l1
tl2 , p1 l1 , p2 l2 , p3 t, p4 l2
...
tl2 , p1 t, p2 l3 , p3 l3 , p4 l3
tl2 , p1 l3 , p2 l3 , p3 t, p4 t
tl2 , p1 t, p2 t, p3 t, p4 l3
tl2 , p1 l3 , p2 t, p3 t, p4 l3
...
tl2 , p1 t, p2 l3 , p3 t, p4 t
...
F
F
F
Given new state sF , seen states sF
1 , . . . , sn s.t. center(si ) = center(s ).
Prune sF if
F
F
[sF ] \ [sF
1 ] ∪ [s2 ] ∪ · · · ∪ [sn ] = ∅.
→ Size guarantee, but this is an NP-hard problem!
Cube elimination! Hoffmann and Kupferschmid (2005).
D. Gnad, Á. Torralba
Decoupled State Space Search
38/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hypercube Pruning
tl2 , p1 t, p2 l3 , p3 t, p4 l2
tl2 , p1 l3 , p2 l1 , p3 t, p4 t
tl2 , p1 l3 , p2 l1 , p3 t, p4 l3
tl2 , p1 l2 , p2 l1 , p3 t, p4 l1
tl2 , p1 l1 , p2 l2 , p3 t, p4 l2
...
tl2 , p1 t, p2 l3 , p3 l3 , p4 l3
tl2 , p1 l3 , p2 l3 , p3 t, p4 t
tl2 , p1 t, p2 t, p3 t, p4 l3
tl2 , p1 l3 , p2 t, p3 t, p4 l3
...
tl2 , p1 t, p2 l3 , p3 t, p4 t
...
F
F
F
Given new state sF , seen states sF
1 , . . . , sn s.t. center(si ) = center(s ).
Prune sF if
F
F
[sF ] \ [sF
1 ] ∪ [s2 ] ∪ · · · ∪ [sn ] = ∅.
→ Size guarantee, but this is an NP-hard problem!
Cube elimination! Hoffmann and Kupferschmid (2005).
Extension to optimality? → Need to take prices into account.
D. Gnad, Á. Torralba
Decoupled State Space Search
38/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
39/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Variable Dependencies
Definition The causal graph of Π is the directed graph CG(Π) with
vertices V and an arc u → v if u 6= v and there exists an action a ∈ A so
that either (i) there exists a ∈ A so that pre(a)[u] and eff (a)[v] are both
defined, or (ii) there exists a ∈ A so that eff (a)[u] and eff (a)[v] are both
defined.
Causal graphs capture variable dependencies.
D. Gnad, Á. Torralba
Decoupled State Space Search
40/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Variable Dependencies
Definition The causal graph of Π is the directed graph CG(Π) with
vertices V and an arc u → v if u 6= v and there exists an action a ∈ A so
that either (i) there exists a ∈ A so that pre(a)[u] and eff (a)[v] are both
defined, or (ii) there exists a ∈ A so that eff (a)[u] and eff (a)[v] are both
defined.
Causal graphs capture variable dependencies.
Definition The interaction graph of Π given F is the directed graph
IGΠ (F), with vertices F, and an arc F → F 0 if F 6= F 0 , and there exist
v ∈ F and v 0 ∈ F 0 , s.t. v → v 0 is an arc in CG(Π).
The interaction graph is the quotient of CG(Π) over F.
D. Gnad, Á. Torralba
Decoupled State Space Search
40/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factored Planning – Related Work
Factoring := partitioning of state variables.
D. Gnad, Á. Torralba
Decoupled State Space Search
41/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factored Planning – Related Work
Factoring := partitioning of state variables.
Traditional Factoring: (e. g. Sacerdoti (1974); Knoblock (1994); Lansky and Getoor
(1995); Amir and Engelhardt (2003); Fabre et al. (2010); Brafman and Domshlak (2013))
Design factors motivated by abstraction hierarchies or agents.
Cater for arbitrary cross-factor interactions.
D. Gnad, Á. Torralba
Decoupled State Space Search
41/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factored Planning – Related Work
Factoring := partitioning of state variables.
Traditional Factoring: (e. g. Sacerdoti (1974); Knoblock (1994); Lansky and Getoor
(1995); Amir and Engelhardt (2003); Fabre et al. (2010); Brafman and Domshlak (2013))
Design factors motivated by abstraction hierarchies or agents.
Cater for arbitrary cross-factor interactions.
Star Factoring: Force the factoring to induce a star profile!
→ That is, choose factoring F so that the interaction graph has a center
incident to all arcs.
D. Gnad, Á. Torralba
Decoupled State Space Search
41/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factoring Types
Recap:
F is a star factoring if |F| > 1 and there exists
F C ∈ F such that, for every action a where
V(eff (a)) ∩ F C = ∅, there exists F L ∈ F L
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
D. Gnad, Á. Torralba
Decoupled State Space Search
F L4
F L2
FC
F L3
F L1
42/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factoring Types
Recap:
F is a star factoring if |F| > 1 and there exists
F C ∈ F such that, for every action a where
V(eff (a)) ∩ F C = ∅, there exists F L ∈ F L
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
D. Gnad, Á. Torralba
Decoupled State Space Search
F L4
F L2
FC
F L3
F L1
42/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factoring Types
Recap:
F is a star factoring if |F| > 1 and there exists
F C ∈ F such that, for every action a where
V(eff (a)) ∩ F C = ∅, there exists F L ∈ F L
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ F C .
F L4
F L2
FC
F L3
F L1
Strict-Star Factoring:
Arbitrary center-leaf interaction; no dependencies between leaves directly.
Definition A factoring F is a strict-star factoring, if there exists a center
factor F C ∈ F such that the arcs in IGΠ (F) are in
{F C → F L | F L ∈ F \ {F C }} ∪ {F C ← F L | F L ∈ F \ {F C }}.
D. Gnad, Á. Torralba
Decoupled State Space Search
42/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
How to automatically find a factoring?
Based on the SCCs of the causal graph:
Fork / Inverted-Fork Factorings:
Set leaves to causal graph leaf / root components.
Xshape Factoring:
First do fork factoring, then inverted-fork on resulting center.
Need to take care of leaf-leaf dependencies!
D. Gnad, Á. Torralba
Decoupled State Space Search
43/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
How to automatically find a factoring?
Based on the SCCs of the causal graph:
Fork / Inverted-Fork Factorings:
Set leaves to causal graph leaf / root components.
Xshape Factoring:
First do fork factoring, then inverted-fork on resulting center.
Need to take care of leaf-leaf dependencies!
Important criteria:
Number of leaves factors → exponential gain.
Leaf flexibility → frozen leaves.
Leaf size (domain size product) → runtime/memory overhead.
Structure of leaf state space.
D. Gnad, Á. Torralba
Decoupled State Space Search
43/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Maximizing the Number of Leaves
Maximum number of leaves in a strict-star factoring?
→ size of a maximum independent set (MIS) of the causal graph.
D. Gnad, Á. Torralba
Decoupled State Space Search
44/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Maximizing the Number of Leaves
Maximum number of leaves in a strict-star factoring?
→ size of a maximum independent set (MIS) of the causal graph.
MIS Strategy:
1
Seed factoring = MIS of causal graph (one MIS variables per leaf).
D. Gnad, Á. Torralba
Decoupled State Space Search
44/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Maximizing the Number of Leaves
Maximum number of leaves in a strict-star factoring?
→ size of a maximum independent set (MIS) of the causal graph.
MIS Strategy:
1
Seed factoring = MIS of causal graph (one MIS variables per leaf).
2
Apply post-process to increase flexibility.
D. Gnad, Á. Torralba
Decoupled State Space Search
44/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Maximizing the Number of Leaves
Maximum number of leaves in a strict-star factoring?
→ size of a maximum independent set (MIS) of the causal graph.
MIS Strategy:
1
Seed factoring = MIS of causal graph (one MIS variables per leaf).
2
Apply post-process to increase flexibility.
3
Abstain if less than 2 leaves.
D. Gnad, Á. Torralba
Decoupled State Space Search
44/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A Greedy Approach – # Incident Arcs (IA)
What if computing an MIS is infeasible?
2
3
2
3
1
D. Gnad, Á. Torralba
Decoupled State Space Search
2
2
3
3
1
45/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A Greedy Approach – # Incident Arcs (IA)
What if computing an MIS is infeasible?
2
3
2
2
3
1
3
3
2
1
IA Strategy:
1
Move variables most densely connected in causal graph to center.
D. Gnad, Á. Torralba
Decoupled State Space Search
45/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A Greedy Approach – # Incident Arcs (IA)
What if computing an MIS is infeasible?
2
3
2
2
3
1
3
3
2
1
IA Strategy:
1
Move variables most densely connected in causal graph to center.
2
Leaves = weakly connected components in CG[V \ F C ].
D. Gnad, Á. Torralba
Decoupled State Space Search
45/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
A Greedy Approach – # Incident Arcs (IA)
What if computing an MIS is infeasible?
2
3
2
2
3
1
3
3
2
1
IA Strategy:
1
Move variables most densely connected in causal graph to center.
2
Leaves = weakly connected components in CG[V \ F C ].
3
Select factoring with maximum number of mobile leaves.
4
Abstain if less than 2 leaves.
D. Gnad, Á. Torralba
Decoupled State Space Search
45/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Factoring Time
100%
90%
80%
70%
F
≤ 0.1s
D. Gnad, Á. Torralba
IF
≤ 1s
X MIS IA
≤ 5s
≤ 10s
Decoupled State Space Search
≥ 10s
46/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
47/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The interesting stuff . . . after the break
Short Break (5 min)
D. Gnad, Á. Torralba
Decoupled State Space Search
48/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The interesting stuff . . . after the break
Short Break (5 min)
Implementation in Fast Downward
D. Gnad, Á. Torralba
Decoupled State Space Search
48/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
The interesting stuff . . . after the break
Short Break (5 min)
Implementation in Fast Downward
Hands-On – Implement your own heuristic in decoupled search
Instructions:
hg clone https://bitbucket.org/dagnad/decoupled-fd
hg up icaps-tutorial
The relevant files are ../src/search/icaps heuristic.*
The URL is linked on http://fai.uni-saarland.de/software.html
(“Decoupled Fast Downward”).
D. Gnad, Á. Torralba
Decoupled State Space Search
48/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search within Fast Downward (Helmert (2006))
Pruning Techniques
Heuristics
Search Algorithms
State Representation
D. Gnad, Á. Torralba
Successor Generator
Decoupled State Space Search
49/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Decoupled Search within Fast Downward (Helmert (2006))
Pruning Techniques
Heuristics
Search Algorithms
State Representation
D. Gnad, Á. Torralba
Successor Generator
Decoupled State Space Search
49/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Representing Decoupled States
Decoupled State Registry: In fact, many state registries!
D. Gnad, Á. Torralba
Decoupled State Space Search
50/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Representing Decoupled States
Decoupled State Registry: In fact, many state registries!
Center state registry,
One registry for every leaf factor → store every leaf state only once.
D. Gnad, Á. Torralba
Decoupled State Space Search
50/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Representing Decoupled States
Decoupled State Registry: In fact, many state registries!
Center state registry,
One registry for every leaf factor → store every leaf state only once.
Decoupled State: a pair of
Center State + auxiliary variable to distinguish decoupled states
with the same center,
Instance of “CompliantPathGraph” (many sub-classes).
→ Search Algorithms use (augmented) center state only.
→ Accessing pricing function via a vector indexed by aug. center state ID.
D. Gnad, Á. Torralba
Decoupled State Space Search
50/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Representing Decoupled States II
CompliantPathGraphs:
Many different variants for optimal/satisficing planning, more elaborate
dominance pruning methods, symbolic leaves, . . .
D. Gnad, Á. Torralba
Decoupled State Space Search
51/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Representing Decoupled States II
CompliantPathGraphs:
Many different variants for optimal/satisficing planning, more elaborate
dominance pruning methods, symbolic leaves, . . .
Pricing Function (optimal planning):
A vector<int> for each leaf factor.
vector indexed by leaf state IDs.
D. Gnad, Á. Torralba
Decoupled State Space Search
51/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Representing Decoupled States II
CompliantPathGraphs:
Many different variants for optimal/satisficing planning, more elaborate
dominance pruning methods, symbolic leaves, . . .
Pricing Function (optimal planning):
A vector<int> for each leaf factor.
vector indexed by leaf state IDs.
Update of Pricing Function:
Run uniform-cost search from currently reached leaf states.
Cache entire leaf state spaces to be more efficient.
D. Gnad, Á. Torralba
Decoupled State Space Search
51/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Interface to Heuristics/Pruning/Successor Generator
CPGStorage::get cpg(State)
→ Global access to the pricing function of a decoupled state.
D. Gnad, Á. Torralba
Decoupled State Space Search
52/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Interface to Heuristics/Pruning/Successor Generator
CPGStorage::get cpg(State)
→ Global access to the pricing function of a decoupled state.
Access price/reachability of a leaf state by its ID + factor.
Functions:
has leaf state(id, factor),
get cost of state(id, factor),
get number state(factor),
goal reachable(factor).
D. Gnad, Á. Torralba
Decoupled State Space Search
52/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Wanna Take a Look at the Code?
D. Gnad, Á. Torralba
Decoupled State Space Search
53/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Wanna Take a Look at the Code?
It’s a trap mess!
D. Gnad, Á. Torralba
Decoupled State Space Search
53/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hands-On Decoupled Search in Fast Downward
CPGStorage::get cpg(State)
→ Global access to the pricing function of a decoupled state.
Functions:
has leaf state(id, factor),
get cost of state(id, factor),
get number state(factor),
goal reachable(factor).
D. Gnad, Á. Torralba
Decoupled State Space Search
54/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hands-On Decoupled Search in Fast Downward
CPGStorage::get cpg(State)
→ Global access to the pricing function of a decoupled state.
Functions:
has leaf state(id, factor),
get cost of state(id, factor),
get number state(factor),
goal reachable(factor).
Hands-on:
Want to implement a simple heuristic function?
A mixture between goal-counting and PDB heuristic!
D. Gnad, Á. Torralba
Decoupled State Space Search
54/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Hands-On Decoupled Search in Fast Downward
CPGStorage::get cpg(State)
→ Global access to the pricing function of a decoupled state.
Functions:
has leaf state(id, factor),
get cost of state(id, factor),
get number state(factor),
goal reachable(factor).
Hands-on:
Want to implement a simple heuristic function?
A mixture between goal-counting and PDB heuristic!
g min goal cost: precomputed minimum goal cost with “patterns” F L .
Build: ./build all
Execute: ./fast-downward.py [task-file] --decoupling "fork"
--search "astar(icaps)"
D. Gnad, Á. Torralba
Decoupled State Space Search
54/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Agenda
1
About this Tutorial
2
Classical Planning: Models, Approaches
3
Decoupling – Intuition
4
Decoupled Search
5
Heuristics in Decoupled Search
6
Dominance Pruning – a.k.a. Duplicate Checking
7
Factoring Strategies
8
Implementation
9
Open Topics
D. Gnad, Á. Torralba
Decoupled State Space Search
55/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
What’s Done
Basic Framework is Established!
D. Gnad, Á. Torralba
Gnad and Hoffmann (2015); Gnad et al. (2015)
Decoupled State Space Search
56/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
What’s Done
Basic Framework is Established!
Gnad and Hoffmann (2015); Gnad et al. (2015)
+ lots of extensions:
Factoring methods, target-profile factoring.
→ Tomorrow at HSDIP!
Partial-order Reduction.
Gnad et al. (2017a)
Gnad et al. (2016)
Symmetry Breaking.
→ Friday morning!
Gnad et al. (2017c)
Dominance Pruning.
Torralba et al. (2016)
Combination with symbolic search,
BDDs to represent leaf state spaces.
D. Gnad, Á. Torralba
Decoupled State Space Search
Gnad et al. (2017b)
56/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Alternative Planning Formulations
It works for Classical Planning, but what about . . .
Numerical Planning?
Probabilistic Planning?
Temporal Planning?
Generalized Planning?
D. Gnad, Á. Torralba
Decoupled State Space Search
57/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Beyond Delete-Relaxation
What we have:
hmax , hadd , hFF , hLM-cut
How to connect to other types of heuristics?
Abstraction Heuristics
Patter Database Heuristics (PDB)
Merge-And-Shrink
Cartesian Abstractions
Linear-Programming-based Heuristics
Operator Counting
Potential Heuristics
Landmark Heuristics
...
D. Gnad, Á. Torralba
Decoupled State Space Search
58/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Beyond Classical Planning
Why scramble for star topologies in IPC benchmarks when the world is
full of applications that have a star topology by definition?
Multiple agents (leaves) that interact on a set of shared variables
(center).
Model Checking! E.g., client-server architectures; parallel
processors with central memory (weak memory models).
Decoupled Search vs. Petri Net Unfolding.
D. Gnad, Á. Torralba
Decoupled State Space Search
59/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Take Home Message
Explicit Search is the most prominent approach to tackle classical
planning problems.
Full generality (A∗ , GBFS, hill-climbing, . . . ).
Powerful heuristics.
Various search enhancements available (e. g., successor pruning)
Works well across all (IPC) domains.
D. Gnad, Á. Torralba
Decoupled State Space Search
60/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Take Home Message
Explicit Search is the most prominent approach to tackle classical
planning problems.
Full generality (A∗ , GBFS, hill-climbing, . . . ).
Powerful heuristics.
Various search enhancements available (e. g., successor pruning)
Works well across all (IPC) domains.
Has its limitations!
D. Gnad, Á. Torralba
Decoupled State Space Search
60/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Take Home Message
Explicit Search is the most prominent approach to tackle classical
planning problems.
Full generality (A∗ , GBFS, hill-climbing, . . . ).
Powerful heuristics.
Various search enhancements available (e. g., successor pruning)
Works well across all (IPC) domains.
Has its limitations!
Alternative State Representations like Decoupled Search offer:
More specialized way to exploit, e.g., conditional independence.
Potentially exponential gain over explicit search.
D. Gnad, Á. Torralba
Decoupled State Space Search
60/60
About
Planning
Decoupling
Decoupled Search
Heuristic Search
Dominance
Factorings
Implementation
Open Topics
Take Home Message
Explicit Search is the most prominent approach to tackle classical
planning problems.
Full generality (A∗ , GBFS, hill-climbing, . . . ).
Powerful heuristics.
Various search enhancements available (e. g., successor pruning)
Works well across all (IPC) domains.
Has its limitations!
Alternative State Representations like Decoupled Search offer:
More specialized way to exploit, e.g., conditional independence.
Potentially exponential gain over explicit search.
Easy to Use:
Implemented in Fast Downward.
Many heuristics + pruning methods applicable.
Factoring process is fast!
D. Gnad, Á. Torralba
Decoupled State Space Search
60/60
References
References I
Eyal Amir and Barbara Engelhardt. Factored planning. In G. Gottlob, editor,
Proceedings of the 18th International Joint Conference on Artificial Intelligence
(IJCAI’03), pages 929–935, Acapulco, Mexico, August 2003. Morgan Kaufmann.
Pascal Bercher, Thomas Geier, and Susanne Biundo. Using state-based planning
heuristics for partial-order causal-link planning. In Ingo J. Timm and Matthias
Thimm, editors, Proceedings of the 36th Annual German Conference on Artificial
Intelligence (KI’11), volume 8077 of Lecture Notes in Computer Science, pages
1–12. Springer, 2013.
Blai Bonet, Patrik Haslum, Sarah L. Hickmott, and Sylvie Thiébaux. Directed
unfolding of petri nets. Transactions on Petri Nets and Other Models of
Concurrency, 1:172–198, 2008.
Blai Bonet, Patrik Haslum, Victor Khomenko, Sylvie Thiébaux, and Walter Vogler.
Recent advances in unfolding technique. Theoretical Computer Science,
551:84–101, 2014.
Aaron R. Bradley. Sat-based model checking without unrolling. In Proceedings of the
12th International Conference on Verification, Model Checking, and Abstract
Interpretation (VMCAI’11), pages 70–87, 2011.
D. Gnad, Á. Torralba
Decoupled State Space Search
1/9
References
References II
Ronen Brafman and Carmel Domshlak. Factored planning: How, when, and when not.
In Yolanda Gil and Raymond J. Mooney, editors, Proceedings of the 21st National
Conference of the American Association for Artificial Intelligence (AAAI’06), pages
809–814, Boston, Massachusetts, USA, July 2006. AAAI Press.
Ronen I. Brafman and Carmel Domshlak. From one to many: Planning for loosely
coupled multi-agent systems. In Jussi Rintanen, Bernhard Nebel, J. Christopher
Beck, and Eric Hansen, editors, Proceedings of the 18th International Conference on
Automated Planning and Scheduling (ICAPS’08), pages 28–35. AAAI Press, 2008.
Ronen Brafman and Carmel Domshlak. On the complexity of planning for agent teams
and its implications for single agent planning. Artificial Intelligence, 198:52–71,
2013.
Stefan Edelkamp, Stefan Leue, and Alberto Lluch-Lafuente. Partial-order reduction
and trail improvement in directed model checking. International Journal on
Software Tools for Technology Transfer, 6(4):277–301, 2004.
Niklas Eén, Alan Mishchenko, and Robert K. Brayton. Efficient implementation of
property directed reachability. In International Conference on Formal Methods in
Computer-Aided Design, FMCAD ’11, Austin, TX, USA, pages 125–134, 2011.
D. Gnad, Á. Torralba
Decoupled State Space Search
2/9
References
References III
Michael D. Ernst, Todd D. Millstein, and Daniel S. Weld. Automatic SAT-compilation
of planning problems. In M. Pollack, editor, Proceedings of the 15th International
Joint Conference on Artificial Intelligence (IJCAI’97), pages 1169–1177, Nagoya,
Japan, August 1997. Morgan Kaufmann.
Javier Esparza, Stefan Römer, and Walter Vogler. An improvement of mcmillan’s
unfolding algorithm. Formal Methods in System Design, 20(3):285–310, 2002.
Eric Fabre, Loı̈g Jezequel, Patrik Haslum, and Sylvie Thiébaux. Cost-optimal factored
planning: Promises and pitfalls. In Ronen I. Brafman, Hector Geffner, Jörg
Hoffmann, and Henry A. Kautz, editors, Proceedings of the 20th International
Conference on Automated Planning and Scheduling (ICAPS’10), pages 65–72.
AAAI Press, 2010.
Daniel Gnad and Jörg Hoffmann. Beating LM-cut with hmax (sometimes):
Fork-decoupled state space search. In Ronen Brafman, Carmel Domshlak, Patrik
Haslum, and Shlomo Zilberstein, editors, Proceedings of the 25th International
Conference on Automated Planning and Scheduling (ICAPS’15), pages 88–96.
AAAI Press, 2015.
D. Gnad, Á. Torralba
Decoupled State Space Search
3/9
References
References IV
Daniel Gnad, Jörg Hoffmann, and Carmel Domshlak. From fork decoupling to
star-topology decoupling. In Levi Lelis and Roni Stern, editors, Proceedings of the
8th Annual Symposium on Combinatorial Search (SOCS’15), pages 53–61. AAAI
Press, 2015.
Daniel Gnad, Martin Wehrle, and Jörg Hoffmann. Decoupled strong stubborn sets. In
Subbarao Kambhampati, editor, Proceedings of the 25th International Joint
Conference on Artificial Intelligence (IJCAI’16), pages 3110–3116. AAAI
Press/IJCAI, 2016.
Daniel Gnad, Valerie Poser, and Jörg Hoffmann. Beyond forks: Finding and ranking
star factorings for decoupled search. In Carles Sierra, editor, Proceedings of the
26th International Joint Conference on Artificial Intelligence (IJCAI’17). AAAI
Press/IJCAI, 2017.
Daniel Gnad, Álvaro Torralba, and Jörg Hoffmann. Symbolic leaf representation in
decoupled search. In Alex Fukunaga and Akihiro Kishimoto, editors, Proceedings of
the 10th Annual Symposium on Combinatorial Search (SOCS’17). AAAI Press,
2017.
D. Gnad, Á. Torralba
Decoupled State Space Search
4/9
References
References V
Daniel Gnad, Álvaro Torralba, Alexander Shleyfman, and Jörg Hoffmann. Symmetry
breaking in star-topology decoupled search. In Proceedings of the 27th International
Conference on Automated Planning and Scheduling (ICAPS’17). AAAI Press, 2017.
Patrice Godefroid and Pierre Wolper. Using partial orders for the efficient verification
of deadlock freedom and safety properties. In Proceedings of the 3rd International
Workshop on Computer Aided Verification (CAV’91), pages 332–342, 1991.
Malte Helmert and Gabriele Röger. How good is almost perfect? In Dieter Fox and
Carla Gomes, editors, Proceedings of the 23rd National Conference of the American
Association for Artificial Intelligence (AAAI’08), pages 944–949, Chicago, Illinois,
USA, July 2008. AAAI Press.
Malte Helmert. The Fast Downward planning system. Journal of Artificial Intelligence
Research, 26:191–246, 2006.
Sarah L. Hickmott, Jussi Rintanen, Sylvie Thiébaux, and Langford B. White. Planning
via petri net unfolding. In Manuela Veloso, editor, Proceedings of the 20th
International Joint Conference on Artificial Intelligence (IJCAI’07), pages
1904–1911, Hyderabad, India, January 2007. Morgan Kaufmann.
D. Gnad, Á. Torralba
Decoupled State Space Search
5/9
References
References VI
Jörg Hoffmann and Sebastian Kupferschmid. A covering problem for hypercubes. In
Leslie Pack Kaelbling, editor, Proceedings of the 19th International Joint
Conference on Artificial Intelligence (IJCAI’05), pages 1523–1524, Edinburgh, UK,
August 2005. Morgan Kaufmann.
Jörg Hoffmann and Bernhard Nebel. The FF planning system: Fast plan generation
through heuristic search. Journal of Artificial Intelligence Research, 14:253–302,
2001.
Subbarao Kambhampati, Craig A. Knoblock, and Qiang Yang. Planning as refinement
search: a unified framework for evaluating design tradeoffs in partial-order planning.
Artificial Intelligence, 76(1–2):167–238, July 1995.
Henry A. Kautz and Bart Selman. Planning as satisfiability. In B. Neumann, editor,
Proceedings of the 10th European Conference on Artificial Intelligence (ECAI’92),
pages 359–363, Vienna, Austria, August 1992. Wiley.
Henry A. Kautz and Bart Selman. Pushing the envelope: Planning, propositional logic,
and stochastic search. In William J. Clancey and Daniel Weld, editors, Proceedings
of the 13th National Conference of the American Association for Artificial
Intelligence (AAAI’96), pages 1194–1201, Portland, OR, July 1996. MIT Press.
D. Gnad, Á. Torralba
Decoupled State Space Search
6/9
References
References VII
Elena Kelareva, Olivier Buffet, Jinbo Huang, and Sylvie Thiébaux. Factored planning
using decomposition trees. In Manuela Veloso, editor, Proceedings of the 20th
International Joint Conference on Artificial Intelligence (IJCAI’07), pages
1942–1947, Hyderabad, India, January 2007. Morgan Kaufmann.
Craig Knoblock. Automatically generating abstractions for planning. Artificial
Intelligence, 68(2):243–302, 1994.
Amy L. Lansky and Lise Getoor. Scope and abstraction: Two criteria for localized
planning. In S. Mellish, editor, Proceedings of the 14th International Joint
Conference on Artificial Intelligence (IJCAI’95), pages 1612–1619, Montreal,
Canada, August 1995. Morgan Kaufmann.
Kenneth L. McMillan. Using unfoldings to avoid the state explosion problem in the
verification of asynchronous circuits. In Gregor von Bochmann and David K.
Probst, editors, Proceedings of the 4th International Workshop on Computer Aided
Verification (CAV’92), Lecture Notes in Computer Science, pages 164–177.
Springer, 1992.
D. Gnad, Á. Torralba
Decoupled State Space Search
7/9
References
References VIII
Jussi T. Rintanen. A planning algorithm not based on directional search. In A. Cohn,
L. Schubert, and S. Shapiro, editors, Principles of Knowledge Representation and
Reasoning: Proceedings of the 6th International Conference (KR-98), pages
953–960, Trento, Italy, May 1998. Morgan Kaufmann.
Jussi Rintanen. Symmetry reduction for SAT representations of transition systems. In
Enrico Giunchiglia, Nicola Muscettola, and Dana Nau, editors, Proceedings of the
13th International Conference on Automated Planning and Scheduling (ICAPS’03),
pages 32–41, Trento, Italy, 2003. Morgan Kaufmann.
Jussi Rintanen. Planning as satisfiability: Heuristics. Artificial Intelligence, 193:45–86,
2012.
Earl D. Sacerdoti. Planning in a hierarchy of abstraction spaces. Artificial Intelligence,
5:115135, 1974.
Earl D. Sacerdoti. The nonlinear nature of plans. In Proceedings of the 4th
International Joint Conference on Artificial Intelligence (IJCAI’75), pages 206–214,
Tiblisi, USSR, September 1975. William Kaufmann.
Martin Suda. Property directed reachability for automated planning. Journal of
Artificial Intelligence Research, 50:265–319, 2014.
D. Gnad, Á. Torralba
Decoupled State Space Search
8/9
References
References IX
Álvaro Torralba, Daniel Gnad, Patrick Dubbert, and Jörg Hoffmann. On
state-dominance criteria in fork-decoupled search. In Subbarao Kambhampati,
editor, Proceedings of the 25th International Joint Conference on Artificial
Intelligence (IJCAI’16). AAAI Press/IJCAI, 2016.
Håkan L. S. Younes and Reid G. Simmons. VHPOP: versatile heuristic partial order
planner. Journal of Artificial Intelligence Research, 20:405–430, 2003.
D. Gnad, Á. Torralba
Decoupled State Space Search
9/9
© Copyright 2026 Paperzz