Alternatives to Explicit State Space Search Decoupled...
Transcript of Alternatives to Explicit State Space Search Decoupled...
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Alternatives to Explicit State Space SearchDecoupled Search
Daniel Gnad & Alvaro Torralba
ICAPS’17 Tutorial
June 19, 2017
D. Gnad, A. Torralba Decoupled State Space Search 1/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
About us
Daniel Gnad Dr. Alvaro Torralba
Saarland University, Saarbrucken, Germany
D. Gnad, A. 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
Don’t hesitate to ask questions if something is unclear!
D. Gnad, A. 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, A. 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, A. 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, A. 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)), ofprecondition and effect (partial assignments), and the action’s costc(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, x′)}
D. Gnad, A. 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)), ofprecondition and effect (partial assignments), and the action’s costc(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, x′)}
D. Gnad, A. 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, SG) where:
The states S are the complete variable assignments.
The labels L = A are Π’s actions; the cost function c is that of Π.
The transitions are T = {s a−→ s′ | pre(a) ⊆ s, s′ = 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 SG = {s ∈ S | G ⊆ s} are those that satisfy Π’s goal.
→ Solution (“Plan”): Action sequence mapping I into s ∈ SG.Optimal plan: Minimum summed-up cost.
D. Gnad, A. 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, SG) where:
The states S are the complete variable assignments.
The labels L = A are Π’s actions; the cost function c is that of Π.
The transitions are T = {s a−→ s′ | pre(a) ⊆ s, s′ = 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 SG = {s ∈ S | G ⊆ s} are those that satisfy Π’s goal.
→ Solution (“Plan”): Action sequence mapping I into s ∈ SG.Optimal plan: Minimum summed-up cost.
D. Gnad, A. Torralba Decoupled State Space Search 7/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
A successful approach: Heuristic Search
goalinit
distance estim
ate hdistance estimate h
distance estimate h
distance estimate h
→ Forward state space search. Heuristic function h maps states s to anestimate h(s) of goal distance.
D. Gnad, A. Torralba Decoupled State Space Search 8/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
A successful approach: Heuristic Search
goalinit
distance estim
ate hdistance estimate h
distance estimate h
distance estimate h
→ Forward state space search. Heuristic function h maps states s to anestimate h(s) of goal distance.
D. Gnad, A. Torralba Decoupled State Space Search 8/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
A successful approach: Heuristic Search
goalinit
distance estim
ate hdistance estimate h
distance estimate h
distance estimate h
→ Forward state space search. Heuristic function h maps states s to anestimate h(s) of goal distance.
D. Gnad, A. 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 ReachabilityBradley (2011); Een et al. (2011); Suda (2014)
Planning via Petri Net UnfoldingGodefroid and Wolper (1991); McMillan (1992); Esparza et al. (2002);Edelkamp et al. (2004); Hickmott et al. (2007); Bonet et al. (2008, 2014)
Partial-order PlanningSacerdoti (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, A. Torralba Decoupled State Space Search 9/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
State Space Explosion
goalinit
...
?......
Huge branching factor → state space explosion.
Helmert and Roger (2008)
D. Gnad, A. Torralba Decoupled State Space Search 10/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
State Space Explosion
goalinit
...
?......
Decoupling to the rescue!
Huge branching factor → state space explosion.
Helmert and Roger (2008)
D. Gnad, A. Torralba Decoupled State Space Search 10/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
State Space Explosion
goalinit
...
?......
Decoupling to the rescue!
Huge branching factor → state space explosion.Helmert and Roger (2008)
D. Gnad, A. 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, A. Torralba Decoupled State Space Search 11/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Star-Topology Decoupling
Running Example: l1 l2 l3
V = {t, p1, p2, p3, p4}.
A = {load(pi, x), unload(pi, x), drive(x, x′)}, 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, A. Torralba Decoupled State Space Search 12/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Star-Topology Decoupling
Running Example: l1 l2 l3
V = {t, p1, p2, p3, p4}.
A = {load(pi, x), unload(pi, x), drive(x, x′)}, 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, A. Torralba Decoupled State Space Search 12/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Star-Topology Decoupling
Running Example: l1 l2 l3
V = {t, p1, p2, p3, p4}.
A = {load(pi, x), unload(pi, x), drive(x, x′)}, 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, A. Torralba Decoupled State Space Search 12/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Star-Topology Decoupling
Running Example: l1 l2 l3
V = {t, p1, p2, p3, p4}.
A = {load(pi, x), unload(pi, x), drive(x, x′)}, 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, A. Torralba Decoupled State Space Search 12/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Star-Topology Decoupling
Running Example: l1 l2 l3
V = {t, p1, p2, p3, p4}.
A = {load(pi, x), unload(pi, x), drive(x, x′)}, 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, A. Torralba Decoupled State Space Search 12/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. Torralba Decoupled State Space Search 13/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. Torralba Decoupled State Space Search 13/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. Torralba Decoupled State Space Search 13/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. Torralba Decoupled State Space Search 13/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. Torralba Decoupled State Space Search 13/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. Torralba Decoupled State Space Search 13/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
“Conditional Independence”
l1 l2 l3Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:(a) l1 t l2
load(p1, l1) unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
:(a) l3 t l2
load(p3, l3) unload(p3, l2)
(b) l3 t l1load(p3, l3) unload(p3, l1)
We can choose (a) or (b) for each of p1 and p3 independently=⇒ Maintain the compliant paths for each leaf separately.
D. Gnad, A. 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 BuiltSuccess Representation Size (in Thousands)
Domain Std POR Unfold. Decoupled Std POR Decoupled
Solvable Benchmarks: From the International Planning Competition (IPC)
Depots 4 4 2 5 30,954.8 30,954.8 3,970.0Driverlog 5 5 3 10 35,632.4 35,632.4 127.2Elevators 21 17 3 41 22,652.1 22,651.1 186.7Logistics 12 12 11 27 3,793.8 3,793.8 8.2Miconic 50 45 30 145 52,728.9 52,673.1 2.4NoMystery 11 11 7 40 29,459.3 25,581.5 10.0Pathways 4 4 3 4 54,635.5 1,229.0 11,211.9PSR 3 3 3 3 39.4 33.9 11.1Rovers 5 6 4 5 98,051.6 6,534.4 4,032.9Satellite 5 5 5 4 2,864.2 582.5 352.7TPP 5 5 4 11 340,961.5 326,124.8 .8Transport 28 23 11 34 4,958.6 4,958.5 173.3Woodworking 11 20 22 16 438,638.5 226.8 9,688.9Zenotravel 7 7 4 7 17,468.0 17,467.5 99.4
Unsolvable Benchmarks: Extended from Hoffmann and Nebel (2001)
NoMystery 9 8 4 40 85,254.2 65,878.2 3.8Rovers 4 4 0 4 697,778.9 302,608.9 20,924.4∑
186 181 116 398
Decoupled Search can be viewed as a form of Petri Net Unfolding, exploiting the star topologyto avoid the hardness of detecting the reachable markings.
D. Gnad, A. Torralba Decoupled State Space Search 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 BuiltSuccess Representation Size (in Thousands)
Domain Std POR Unfold. Decoupled Std POR Decoupled
Solvable Benchmarks: From the International Planning Competition (IPC)
Depots 4 4 2 5 30,954.8 30,954.8 3,970.0Driverlog 5 5 3 10 35,632.4 35,632.4 127.2Elevators 21 17 3 41 22,652.1 22,651.1 186.7Logistics 12 12 11 27 3,793.8 3,793.8 8.2Miconic 50 45 30 145 52,728.9 52,673.1 2.4NoMystery 11 11 7 40 29,459.3 25,581.5 10.0Pathways 4 4 3 4 54,635.5 1,229.0 11,211.9PSR 3 3 3 3 39.4 33.9 11.1Rovers 5 6 4 5 98,051.6 6,534.4 4,032.9Satellite 5 5 5 4 2,864.2 582.5 352.7TPP 5 5 4 11 340,961.5 326,124.8 .8Transport 28 23 11 34 4,958.6 4,958.5 173.3Woodworking 11 20 22 16 438,638.5 226.8 9,688.9Zenotravel 7 7 4 7 17,468.0 17,467.5 99.4
Unsolvable Benchmarks: Extended from Hoffmann and Nebel (2001)
NoMystery 9 8 4 40 85,254.2 65,878.2 3.8Rovers 4 4 0 4 697,778.9 302,608.9 20,924.4∑
186 181 116 398
Decoupled Search can be viewed as a form of Petri Net Unfolding, exploiting the star topologyto avoid the hardness of detecting the reachable markings.
D. Gnad, A. 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, A. 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.
Definition F is a star factoring if |F| > 1 and there exists FC ∈ F suchthat, for every action a where V(eff (a)) ∩ FC = ∅, there exists F ∈ Fwith V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {FC} ∪ FL. (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ FC .
Leaf Actions AL: affect only one leaf FL ∈ FL.
Center States sC : complete assignment to FC .
Leaf States sL: complete assignment to an FL ∈ FL.
D. Gnad, A. 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 FC ∈ F suchthat, for every action a where V(eff (a)) ∩ FC = ∅, there exists F ∈ Fwith V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {FC} ∪ FL. (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ FC .
Leaf Actions AL: affect only one leaf FL ∈ FL.
Center States sC : complete assignment to FC .
Leaf States sL: complete assignment to an FL ∈ FL.
D. Gnad, A. 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 FC ∈ F suchthat, for every action a where V(eff (a)) ∩ FC = ∅, there exists F ∈ Fwith V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {FC} ∪ FL. (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ FC .
Leaf Actions AL: affect only one leaf FL ∈ FL.
Center States sC : complete assignment to FC .
Leaf States sL: complete assignment to an FL ∈ FL.
D. Gnad, A. 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 FC ∈ F suchthat, for every action a where V(eff (a)) ∩ FC = ∅, there exists F ∈ Fwith V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {FC} ∪ FL. (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ FC .
Leaf Actions AL: affect only one leaf FL ∈ FL.
Center States sC : complete assignment to FC .
Leaf States sL: complete assignment to an FL ∈ FL.
D. Gnad, A. 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 FC ∈ F suchthat, for every action a where V(eff (a)) ∩ FC = ∅, there exists F ∈ Fwith V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {FC} ∪ FL. (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ FC .
Leaf Actions AL: affect only one leaf FL ∈ FL.
Center States sC : complete assignment to FC .
Leaf States sL: complete assignment to an FL ∈ FL.
D. Gnad, A. 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 FC ∈ F suchthat, for every action a where V(eff (a)) ∩ FC = ∅, there exists F ∈ Fwith V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
Center interacts with leaves arbitrarily, no direct leaf-leaf interaction.
Notation conventions:
F = {FC} ∪ FL. (center + leaves)
Center Actions AC : affect (have an effect on) a variable v ∈ FC .
Leaf Actions AL: affect only one leaf FL ∈ FL.
Center States sC : complete assignment to FC .
Leaf States sL: complete assignment to an FL ∈ FL.
D. Gnad, A. 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 FC and leaves FL. Adecoupled 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 ) isa pricing function, prices(sF ) : SL 7→ R0+ ∪ {∞}, mapping each leafstate to a non-negative price.
l1 l2 l3 t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3∞∞∞ 0
l1 t l2 l3p4∞∞∞ 0
D. Gnad, A. 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 FC and leaves FL. Adecoupled 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 ) isa pricing function, prices(sF ) : SL 7→ R0+ ∪ {∞}, mapping each leafstate to a non-negative price.
l1 l2 l3 t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3∞∞∞ 0
l1 t l2 l3p4∞∞∞ 0
D. Gnad, A. Torralba Decoupled State Space Search 17/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba Decoupled State Space Search 18/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
The Compliant-Path Graph
Definition Let πC = 〈aC1 , . . . , aCn 〉 be a center path traversing center states〈sC0 , . . . , sCn 〉. The πC-compliant-path graph for a leaf FL ∈ FL, denotedCompG[πC , FL], is the arc-labeled weighted directed graph whose vertices are{sLt | sL ∈ SL[FL], 0 ≤ t ≤ n}, and whose arcs are:
(i) sLtaL
−−→ s′Lt with weight c(aL) whenever sL, s′L ∈ SL[FL] and
aL ∈ AL[FL] \AC are such that sCt [V(pre(aL)) ∩ FC ] = pre(aL)[FC ],
sL[V(pre(aL)) ∩ FL] = pre(aL)[FL], and sL[[aL]] = s′L
.
(ii) sLt0−→ s′
Lt+1 with weight 0 whenever sL, s′
L ∈ SL[FL] are such that
sL[V(pre(aCt )) ∩ FL] = pre(aCt )[FL] and sL[[aCt ]] = s′L
.
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:
(a) l1 t l2load(p1, l1)unload(p1, l2)
(b) l1 t l3load(p1, l1) unload(p1, l3)
D. Gnad, A. Torralba 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
l2 l3 l2
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
0
0
0
0
0
0
0
0
0
D. Gnad, A. 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 l2
l3 l2
drive(l1, l2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
0
0
0
0
0
0
0
0
0
D. Gnad, A. 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 l2
l3 l2
drive(l1, l2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
0
0
0
0
0
0
0
0
0
D. Gnad, A. 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 l2 l3
l2
drive(l1, l2) drive(l2, l3)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
0
0
0
0
0
0
0
0
0
D. Gnad, A. 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 l2 l3
l2
drive(l1, l2) drive(l2, l3)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0
0
0
0
0
0
0
0
0
D. Gnad, A. 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 l2 l3 l2drive(l1, l2) drive(l2, l3) drive(l3, l2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0
0
0
0
0
0
0
0
0
D. Gnad, A. 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 l2 l3 l2drive(l1, l2) drive(l2, l3) drive(l3, l2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0
0
0
0
0
0
0
0
0
D. Gnad, A. Torralba Decoupled State Space Search 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
l2 l3 l2
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
0
D. Gnad, A. 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 l2
l3 l2
drive(l1, l2, p1)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
0
D. Gnad, A. 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 l2
l3 l2
drive(l1, l2, p1)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
0
D. Gnad, A. 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 l2 l3
l2
drive(l1, l2, p1) drive(l2, l3, p1)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
0
D. Gnad, A. 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 l2 l3
l2
drive(l1, l2, p1) drive(l2, l3, p1)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0 0
D. Gnad, A. 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 l2 l3 l2drive(l1, l2, p1) drive(l2, l3, p1) drive(l3, l2, p2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0 0
D. Gnad, A. 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 l2 l3 l2drive(l1, l2, p1) drive(l2, l3, p1) drive(l3, l2, p2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l2)1
(p1 = t)2
(p1 = l3)2
(p1 = t)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0 0 0
0
D. Gnad, A. 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 l2 l3 l2drive(l1, l2, p1) drive(l2, l3, p1) drive(l3, l2, p2)
CompG[πC , {p1}]:
(p1 = t)0
(p1 = l1)0
(p1 = t)1
(p1 = l1)1
(p1 = l2)1
(p1 = t)2
(p1 = l1)2
(p1 = l2)2
(p1 = l3)2
(p1 = t)3
(p1 = l1)3
(p1 = l2)3
(p1 = l3)3
(un)load(p1, l1)1
(un)load(p1, l2) 1
(un)load(p1, l3) 1
0 0 0
0
D. Gnad, A. Torralba Decoupled State Space Search 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) SF is the set of all decoupled states.
(ii) IF is the decoupled initial state, where center(IF ) := I[FC ],πC(IF ) := 〈〉, and, for every leaf FL ∈ FL and leaf state sL ∈ SL[FL],prices(IF )[sL] is the cost of a cheapest path from I[FL]0 to sL0 inCompG[〈〉, FL].
(iii) SFG are the decoupled goal states sG, where G[FC ] ⊆ center(sG) and, for
every FL ∈ FL, there exists a leaf goal state sL ∈ SL[FL] s.t.G[FL] ⊆ sL and prices(sG)[sL] <∞.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) SF is the set of all decoupled states.
(ii) IF is the decoupled initial state, where center(IF ) := I[FC ],πC(IF ) := 〈〉, and, for every leaf FL ∈ FL and leaf state sL ∈ SL[FL],prices(IF )[sL] is the cost of a cheapest path from I[FL]0 to sL0 inCompG[〈〉, FL].
(iii) SFG are the decoupled goal states sG, where G[FC ] ⊆ center(sG) and, for
every FL ∈ FL, there exists a leaf goal state sL ∈ SL[FL] s.t.G[FL] ⊆ sL and prices(sG)[sL] <∞.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) SF is the set of all decoupled states.
(ii) IF is the decoupled initial state, where center(IF ) := I[FC ],πC(IF ) := 〈〉, and, for every leaf FL ∈ FL and leaf state sL ∈ SL[FL],prices(IF )[sL] is the cost of a cheapest path from I[FL]0 to sL0 inCompG[〈〉, FL].
(iii) SFG are the decoupled goal states sG, where G[FC ] ⊆ center(sG) and, for
every FL ∈ FL, there exists a leaf goal state sL ∈ SL[FL] s.t.G[FL] ⊆ sL and prices(sG)[sL] <∞.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];3. center(sF )[[aC ]] = center(tF );4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there exists
sL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];3. center(sF )[[aC ]] = center(tF );4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there exists
sL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );
2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];3. center(sF )[[aC ]] = center(tF );4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there exists
sL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];
3. center(sF )[[aC ]] = center(tF );4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there exists
sL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];3. center(sF )[[aC ]] = center(tF );
4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there existssL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];3. center(sF )[[aC ]] = center(tF );4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there exists
sL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. 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
Π = (SF , AC , c|AC , TF , IF , SFG ) as follows:
(i) The transition labels are the center actions AC , the cost function is that ofΠ, restricted to AC .
(ii) TF contains a transition (sFaC
−−→ tF ) ∈ TF whenever aC ∈ AC andsF , tF are such that:
1. πC(sF ) ◦ 〈aC〉 = πC(tF );2. center(sF )[V(pre(aC)) ∩ FC ] = pre(aC)[FC ];3. center(sF )[[aC ]] = center(tF );4. for every FL ∈ FL where V(pre(aC)) ∩ FL 6= ∅, there exists
sL ∈ SL[FL] s.t. sL[V(pre(aC)) ∩ FL] = pre(aC)[FL] andprices(s)[sL] <∞; and
5. for every leaf FL ∈ FL and leaf state sL ∈ SL[FL], prices(tF )[sL] isthe cost of a cheapest path from I[FL]0 to sLn in CompG[πC(tF ), FL],where n := |πC(tF )|.
D. Gnad, A. Torralba Decoupled State Space Search 22/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Decoupled Search – Example
l1 l2 l3
t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
t = l2
l1 t l2 l3p1 0 1 2∞
l1 t l2 l3p2 0 1 2∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. Torralba Decoupled State Space Search 23/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Decoupled Search – Example
l1 l2 l3
t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
drive(l1, l2)
t = l2
l1 t l2 l3p1 0 1 2∞
l1 t l2 l3p2 0 1 2∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. Torralba Decoupled State Space Search 23/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Decoupled Search – Example
l1 l2 l3
t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
drive(l1, l2)
t = l2
l1 t l2 l3p1 0 1 2∞
l1 t l2 l3p2 0 1 2∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
drive(l2, l3)
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. 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 l2 l3
t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
t = l2
l1 t l2 l3p1 ∞ 1 2∞
l1 t l2 l3p2 0 1 2∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. 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 l2 l3
t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
drive(l1, l2, p1)
t = l2
l1 t l2 l3p1 ∞ 1 2∞
l1 t l2 l3p2 0 1 2∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. 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 l2 l3
t = l1
l1 t l2 l3p1 0 1∞∞
l1 t l2 l3p2 0 1∞∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
drive(l1, l2, p1)
t = l2
l1 t l2 l3p1 ∞ 1 2∞
l1 t l2 l3p2 0 1 2∞
l1 t l2 l3p3 ∞∞∞ 0
l1 t l2 l3p4 ∞∞∞ 0
drive(l2, l3, p2)
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. 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 , ifp[FC ] = center(sF ) and, for all leaves FL ∈ FL,prices(sF )[p[FL]] <∞. We say that p has cost costsF (p) in sF , wherecostsF (p) :=
∑FL∈FL prices(sF )[p[FL]]. The hypercube of sF , denoted
[sF ], is the set of all member states of sF .
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
tl3, p1t, p2l3, p3l3, p4l33tl3, p1l3, p2l3, p3t, p4t6
tl3, p1t, p2t, p3t, p4l33
tl3, p1l3, p2t, p3t, p4l34
tl3, p1t, p2l3, p3t, p4t5. . .
Decoupled State sF Hypercube [sF ] (24 member states!)
Hypercube dimensions = Leaves; Axis values = Leaf States.
D. Gnad, A. 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 , ifp[FC ] = center(sF ) and, for all leaves FL ∈ FL,prices(sF )[p[FL]] <∞. We say that p has cost costsF (p) in sF , wherecostsF (p) :=
∑FL∈FL prices(sF )[p[FL]]. The hypercube of sF , denoted
[sF ], is the set of all member states of sF .
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
tl3, p1t, p2l3, p3l3, p4l33tl3, p1l3, p2l3, p3t, p4t6
tl3, p1t, p2t, p3t, p4l33
tl3, p1l3, p2t, p3t, p4l34
tl3, p1t, p2l3, p3t, p4t5. . .
Decoupled State sF Hypercube [sF ] (24 member states!)
Hypercube dimensions = Leaves; Axis values = Leaf States.
D. Gnad, A. 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 , ifp[FC ] = center(sF ) and, for all leaves FL ∈ FL,prices(sF )[p[FL]] <∞. We say that p has cost costsF (p) in sF , wherecostsF (p) :=
∑FL∈FL prices(sF )[p[FL]]. The hypercube of sF , denoted
[sF ], is the set of all member states of sF .
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
tl3, p1t, p2l3, p3l3, p4l33tl3, p1l3, p2l3, p3t, p4t6
tl3, p1t, p2t, p3t, p4l33
tl3, p1l3, p2t, p3t, p4l34
tl3, p1t, p2l3, p3t, p4t5. . .
Decoupled State sF Hypercube [sF ] (24 member states!)
Hypercube dimensions = Leaves; Axis values = Leaf States.
D. Gnad, A. 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 ).
Center path:
l1 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:l1 t l2
load(p1, l1) unload(p1, l2)
. . .
l1 t l3load(p1, l1) unload(p1, l3)
:l3 t l2
load(p3, l3) unload(p3, l2)
. . .
l3 t l1load(p3, l3) unload(p3, l1)
D. Gnad, A. 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 l2 l3 l2 l1drive(l1, l2) drive(l2, l3) drive(l3, l2) drive(l2, l1)
:l1 t l2
load(p1, l1) unload(p1, l2)
. . .
l1 t l3load(p1, l1) unload(p1, l3)
:l3 t l2
load(p3, l3) unload(p3, l2)
. . .
l3 t l1load(p3, l3) unload(p3, l1)
D. Gnad, A. Torralba Decoupled State Space Search 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
..
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, A. 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, A. 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, A. Torralba Decoupled State Space Search 27/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Exponential Blow-Up
Illustrative Example:
A
B
C
D
E
F
G . . .
Drive to D via B or C:Standard state space → identical stateDecoupled 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, A. Torralba Decoupled State Space Search 28/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Exponential Blow-Up
Illustrative Example:
A
B
C
D
E
F
G . . .
Drive to D via B or C:Standard state space → identical stateDecoupled 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, A. Torralba Decoupled State Space Search 28/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Exponential Blow-Up
Illustrative Example:
A
B
C
D
E
F
G . . .
Drive to D via B or C:Standard state space → identical stateDecoupled 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, A. Torralba Decoupled State Space Search 28/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Exponential Blow-Up
Illustrative Example:
A
B
C
D
E
F
G . . .
Drive to D via B or C:Standard state space → identical stateDecoupled 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, A. 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, A. 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.
Definition For a state s ∈ S, the perfect heuristic value h∗ of s is thecost of an optimal plan for s, or ∞ if there exists no plan for s.
→ Heuristic functions h estimate the remaining cost h∗.
D. Gnad, A. 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 thecost of an optimal plan for s, or ∞ if there exists no plan for s.
→ Heuristic functions h estimate the remaining cost h∗.
D. Gnad, A. 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 statesSF into R+
0 ∪∞.
The center-perfect heuristic hC∗ is that where hC∗(sF ) is the cost of acheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗(sF ) is the minimum overpath-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗, andstar-admissible if h ≤ hS∗.
Center heuristics hC estimate hC∗, and star heuristics hS estimate hS∗.
→ But how to compute such heuristics?
D. Gnad, A. 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 statesSF into R+
0 ∪∞.
The center-perfect heuristic hC∗ is that where hC∗(sF ) is the cost of acheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗(sF ) is the minimum overpath-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗, andstar-admissible if h ≤ hS∗.
Center heuristics hC estimate hC∗, and star heuristics hS estimate hS∗.
→ But how to compute such heuristics?
D. Gnad, A. 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 statesSF into R+
0 ∪∞.
The center-perfect heuristic hC∗ is that where hC∗(sF ) is the cost of acheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗(sF ) is the minimum overpath-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗, andstar-admissible if h ≤ hS∗.
Center heuristics hC estimate hC∗, and star heuristics hS estimate hS∗.
→ But how to compute such heuristics?
D. Gnad, A. 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 statesSF into R+
0 ∪∞.
The center-perfect heuristic hC∗ is that where hC∗(sF ) is the cost of acheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗(sF ) is the minimum overpath-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗, andstar-admissible if h ≤ hS∗.
Center heuristics hC estimate hC∗, and star heuristics hS estimate hS∗.
→ But how to compute such heuristics?
D. Gnad, A. 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 statesSF into R+
0 ∪∞.
The center-perfect heuristic hC∗ is that where hC∗(sF ) is the cost of acheapest center path reaching the goal from sF .
The star-perfect heuristic hS∗ is that where hS∗(sF ) is the minimum overpath-cost + goal-price for all center paths reaching the goal from sF .
We say that h is center-admissible if h ≤ hC∗, andstar-admissible if h ≤ hS∗.
Center heuristics hC estimate hC∗, and star heuristics hS estimate hS∗.
→ But how to compute such heuristics?
D. Gnad, A. 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,
include auxiliaryactions AL
aux allowing to achieve each leaf state sL reached in sF
at cost 0.
Star heuristics: Include auxiliary actions ALaux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL].
ALaux changes for every decoupled state sF !
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
Heuristic admissible? → We can guarantee optimality!
D. Gnad, A. 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 auxiliaryactions AL
aux allowing to achieve each leaf state sL reached in sF
at cost 0.
Star heuristics: Include auxiliary actions ALaux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL].
ALaux changes for every decoupled state sF !
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
Heuristic admissible? → We can guarantee optimality!
D. Gnad, A. 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 auxiliaryactions AL
aux allowing to achieve each leaf state sL reached in sF
at cost 0.
Star heuristics: Include auxiliary actions ALaux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL].
ALaux changes for every decoupled state sF !
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
Heuristic admissible? → We can guarantee optimality!
D. Gnad, A. 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 auxiliaryactions AL
aux allowing to achieve each leaf state sL reached in sF
at cost 0.
Star heuristics: Include auxiliary actions ALaux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL].
ALaux changes for every decoupled state sF !
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
Heuristic admissible? → We can guarantee optimality!
D. Gnad, A. 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 auxiliaryactions AL
aux allowing to achieve each leaf state sL reached in sF
at cost 0.
Star heuristics: Include auxiliary actions ALaux allowing to achieve
each leaf state sL reached in sF at cost prices(sF )[sL].
ALaux changes for every decoupled state sF !
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Can use standard heuristics via this compilation.
Heuristic admissible? → We can guarantee optimality!
D. Gnad, A. 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 G′.
Give all decoupled goal states sF a transition sFa−→ G′ with
c(a) = goal price at sF .
Extend hS by hS(G′) := 0.
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Goal price = 2 + 0 + 1 = 3= price of cheapest member goal state in sF .
Any standard (complete/optimal) search on the modified graph yields a(complete/optimal) decoupled search algorithm.
A∗ → DA∗
D. Gnad, A. 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 G′.
Give all decoupled goal states sF a transition sFa−→ G′ with
c(a) = goal price at sF .
Extend hS by hS(G′) := 0.
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Goal price = 2 + 0 + 1 = 3= price of cheapest member goal state in sF .
Any standard (complete/optimal) search on the modified graph yields a(complete/optimal) decoupled search algorithm.
A∗ → DA∗
D. Gnad, A. 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 G′.
Give all decoupled goal states sF a transition sFa−→ G′ with
c(a) = goal price at sF .
Extend hS by hS(G′) := 0.
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Goal price = 2 + 0 + 1 = 3= price of cheapest member goal state in sF .
Any standard (complete/optimal) search on the modified graph yields a(complete/optimal) decoupled search algorithm.
A∗ → DA∗
D. Gnad, A. 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 G′.
Give all decoupled goal states sF a transition sFa−→ G′ with
c(a) = goal price at sF .
Extend hS by hS(G′) := 0.
t = l3
l1 t l2 l3p1 0 1∞ 2
l1 t l2 l3p2 0 1∞ 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Goal price = 2 + 0 + 1 = 3= price of cheapest member goal state in sF .
Any standard (complete/optimal) search on the modified graph yields a(complete/optimal) decoupled search algorithm.
A∗ → DA∗
D. Gnad, A. Torralba Decoupled State Space Search 33/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercubes
tl3, p1t, p2l3, p3l3, p4l3 h = 5
tl3, p1l3, p2l3, p3t, p4t h = 7
tl3, p1t, p2t, p3t, p4l3 h = 4
tl3, p1l3, p2t, p3t, p4l3 h = 2
tl3, p1t, p2l3, p3t, p4t h = 5. . .
Estimate the minimum heuristic value of all member states.→ Captured by AL
aux.
t = l3
l1 t l2 l3p1 ∞ 1 2 2
l1 t l2 l3p2 ∞ 1∞ 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
D. Gnad, A. Torralba 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, A. Torralba Decoupled State Space Search 35/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Why no Duplicate Checking?
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 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, A. Torralba Decoupled State Space Search 36/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Why no Duplicate Checking?
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 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, A. Torralba Decoupled State Space Search 36/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Why no Duplicate Checking?
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 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, A. Torralba Decoupled State Space Search 36/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Why no Duplicate Checking?
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 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, A. 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?
New generated state:
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
Previously seen state:
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Definition A decoupled state sF dominates another state tF , if thecenter state is the same and for all leaf states sL:prices(sF )[sL] ≤ prices(tF )[sL].
D. Gnad, A. 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:
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
Previously seen state:
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Definition A decoupled state sF dominates another state tF , if thecenter state is the same and for all leaf states sL:prices(sF )[sL] ≤ prices(tF )[sL].
D. Gnad, A. 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:
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1∞ 0
l1 t l2 l3p4 ∞ 1∞ 0
Previously seen state:
t = l3
l1 t l2 l3p1 0 1 2 2
l1 t l2 l3p2 0 1 2 2
l1 t l2 l3p3 ∞ 1 2 0
l1 t l2 l3p4 ∞ 1 2 0
Definition A decoupled state sF dominates another state tF , if thecenter state is the same and for all leaf states sL:prices(sF )[sL] ≤ prices(tF )[sL].
D. Gnad, A. Torralba Decoupled State Space Search 37/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercube Pruning
tl2, p1t, p2l3, p3t, p4l2tl2, p1l3, p2l1, p3t, p4t
tl2, p1l3, p2l1, p3t, p4l3
tl2, p1l2, p2l1, p3t, p4l1tl2, p1l1, p2l2, p3t, p4l2
. . .
tl2, p1t, p2l3, p3l3, p4l3tl2, p1l3, p2l3, p3t, p4t
tl2, p1t, p2t, p3t, p4l3tl2, p1l3, p2t, p3t, p4l3
tl2, p1t, p2l3, p3t, p4t. . .
. . .
Given new state sF , seen states sF1 , . . . , sFn s.t. center(sFi ) = center(sF ).
Prune sF if
[sF ] \ [sF1 ] ∪ [sF2 ] ∪ · · · ∪ [sFn ] = ∅.
→ 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, A. Torralba Decoupled State Space Search 38/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercube Pruning
tl2, p1t, p2l3, p3t, p4l2tl2, p1l3, p2l1, p3t, p4t
tl2, p1l3, p2l1, p3t, p4l3
tl2, p1l2, p2l1, p3t, p4l1tl2, p1l1, p2l2, p3t, p4l2
. . .
tl2, p1t, p2l3, p3l3, p4l3tl2, p1l3, p2l3, p3t, p4t
tl2, p1t, p2t, p3t, p4l3tl2, p1l3, p2t, p3t, p4l3
tl2, p1t, p2l3, p3t, p4t. . .
. . .
Given new state sF , seen states sF1 , . . . , sFn s.t. center(sFi ) = center(sF ).
Prune sF if
[sF ] \ [sF1 ] ∪ [sF2 ] ∪ · · · ∪ [sFn ] = ∅.
→ 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, A. Torralba Decoupled State Space Search 38/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercube Pruning
tl2, p1t, p2l3, p3t, p4l2tl2, p1l3, p2l1, p3t, p4t
tl2, p1l3, p2l1, p3t, p4l3
tl2, p1l2, p2l1, p3t, p4l1tl2, p1l1, p2l2, p3t, p4l2
. . .
tl2, p1t, p2l3, p3l3, p4l3tl2, p1l3, p2l3, p3t, p4t
tl2, p1t, p2t, p3t, p4l3tl2, p1l3, p2t, p3t, p4l3
tl2, p1t, p2l3, p3t, p4t. . .
. . .
Given new state sF , seen states sF1 , . . . , sFn s.t. center(sFi ) = center(sF ).
Prune sF if
[sF ] \ [sF1 ] ∪ [sF2 ] ∪ · · · ∪ [sFn ] = ∅.
→ 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, A. Torralba Decoupled State Space Search 38/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercube Pruning
tl2, p1t, p2l3, p3t, p4l2tl2, p1l3, p2l1, p3t, p4t
tl2, p1l3, p2l1, p3t, p4l3
tl2, p1l2, p2l1, p3t, p4l1tl2, p1l1, p2l2, p3t, p4l2
. . .
tl2, p1t, p2l3, p3l3, p4l3tl2, p1l3, p2l3, p3t, p4t
tl2, p1t, p2t, p3t, p4l3tl2, p1l3, p2t, p3t, p4l3
tl2, p1t, p2l3, p3t, p4t. . .
. . .
Given new state sF , seen states sF1 , . . . , sFn s.t. center(sFi ) = center(sF ).
Prune sF if
[sF ] \ [sF1 ] ∪ [sF2 ] ∪ · · · ∪ [sFn ] = ∅.
→ 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, A. Torralba Decoupled State Space Search 38/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercube Pruning
tl2, p1t, p2l3, p3t, p4l2tl2, p1l3, p2l1, p3t, p4t
tl2, p1l3, p2l1, p3t, p4l3
tl2, p1l2, p2l1, p3t, p4l1tl2, p1l1, p2l2, p3t, p4l2
. . .
tl2, p1t, p2l3, p3l3, p4l3tl2, p1l3, p2l3, p3t, p4t
tl2, p1t, p2t, p3t, p4l3tl2, p1l3, p2t, p3t, p4l3
tl2, p1t, p2l3, p3t, p4t. . .
. . .
Given new state sF , seen states sF1 , . . . , sFn s.t. center(sFi ) = center(sF ).
Prune sF if
[sF ] \ [sF1 ] ∪ [sF2 ] ∪ · · · ∪ [sFn ] = ∅.
→ 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, A. Torralba Decoupled State Space Search 38/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Hypercube Pruning
tl2, p1t, p2l3, p3t, p4l2tl2, p1l3, p2l1, p3t, p4t
tl2, p1l3, p2l1, p3t, p4l3
tl2, p1l2, p2l1, p3t, p4l1tl2, p1l1, p2l2, p3t, p4l2
. . .
tl2, p1t, p2l3, p3l3, p4l3tl2, p1l3, p2l3, p3t, p4t
tl2, p1t, p2t, p3t, p4l3tl2, p1l3, p2t, p3t, p4l3
tl2, p1t, p2l3, p3t, p4t. . .
. . .
Given new state sF , seen states sF1 , . . . , sFn s.t. center(sFi ) = center(sF ).
Prune sF if
[sF ] \ [sF1 ] ∪ [sF2 ] ∪ · · · ∪ [sFn ] = ∅.
→ 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, A. 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, A. 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(Π) withvertices V and an arc u→ v if u 6= v and there exists an action a ∈ A sothat either (i) there exists a ∈ A so that pre(a)[u] and eff (a)[v] are bothdefined, or (ii) there exists a ∈ A so that eff (a)[u] and eff (a)[v] are bothdefined.
Causal graphs capture variable dependencies.
Definition The interaction graph of Π given F is the directed graphIGΠ(F), with vertices F , and an arc F → F ′ if F 6= F ′, and there existv ∈ F and v′ ∈ F ′, s.t. v → v′ is an arc in CG(Π).
The interaction graph is the quotient of CG(Π) over F .
D. Gnad, A. 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(Π) withvertices V and an arc u→ v if u 6= v and there exists an action a ∈ A sothat either (i) there exists a ∈ A so that pre(a)[u] and eff (a)[v] are bothdefined, or (ii) there exists a ∈ A so that eff (a)[u] and eff (a)[v] are bothdefined.
Causal graphs capture variable dependencies.
Definition The interaction graph of Π given F is the directed graphIGΠ(F), with vertices F , and an arc F → F ′ if F 6= F ′, and there existv ∈ F and v′ ∈ F ′, s.t. v → v′ is an arc in CG(Π).
The interaction graph is the quotient of CG(Π) over F .
D. Gnad, A. 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.
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 centerincident to all arcs.
D. Gnad, A. 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 centerincident to all arcs.
D. Gnad, A. 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 centerincident to all arcs.
D. Gnad, A. Torralba Decoupled State Space Search 41/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Factoring Types
FC
FL1
FL2
FL3
FL4Recap:F is a star factoring if |F| > 1 and there existsFC ∈ F such that, for every action a whereV(eff (a)) ∩ FC = ∅, there exists FL ∈ FL
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
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 centerfactor FC ∈ F such that the arcs in IGΠ(F) are in{FC → FL | FL ∈ F \ {FC}} ∪ {FC ← FL | FL ∈ F \ {FC}}.
D. Gnad, A. Torralba Decoupled State Space Search 42/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Factoring Types
FC
FL1
FL2
FL3
FL4Recap:F is a star factoring if |F| > 1 and there existsFC ∈ F such that, for every action a whereV(eff (a)) ∩ FC = ∅, there exists FL ∈ FL
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
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 centerfactor FC ∈ F such that the arcs in IGΠ(F) are in{FC → FL | FL ∈ F \ {FC}} ∪ {FC ← FL | FL ∈ F \ {FC}}.
D. Gnad, A. Torralba Decoupled State Space Search 42/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Factoring Types
FC
FL1
FL2
FL3
FL4Recap:F is a star factoring if |F| > 1 and there existsFC ∈ F such that, for every action a whereV(eff (a)) ∩ FC = ∅, there exists FL ∈ FL
with V(eff (a)) ⊆ F and V(pre(a)) ⊆ F ∪ FC .
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 centerfactor FC ∈ F such that the arcs in IGΠ(F) are in{FC → FL | FL ∈ F \ {FC}} ∪ {FC ← FL | FL ∈ F \ {FC}}.
D. Gnad, A. 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!
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, A. 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, A. 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.
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, A. 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, A. 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, A. 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, A. 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
2
1
3
3
2
3
2
3
1
IA Strategy:
1 Move variables most densely connected in causal graph to center.
2 Leaves = weakly connected components in CG[V \ FC ].
3 Select factoring with maximum number of mobile leaves.
4 Abstain if less than 2 leaves.
D. Gnad, A. 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
2
1
3
3
2
3
2
3
1
IA Strategy:
1 Move variables most densely connected in causal graph to center.
2 Leaves = weakly connected components in CG[V \ FC ].
3 Select factoring with maximum number of mobile leaves.
4 Abstain if less than 2 leaves.
D. Gnad, A. 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
2
1
3
3
2
3
2
3
1
IA Strategy:
1 Move variables most densely connected in causal graph to center.
2 Leaves = weakly connected components in CG[V \ FC ].
3 Select factoring with maximum number of mobile leaves.
4 Abstain if less than 2 leaves.
D. Gnad, A. 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
2
1
3
3
2
3
2
3
1
IA Strategy:
1 Move variables most densely connected in causal graph to center.
2 Leaves = weakly connected components in CG[V \ FC ].
3 Select factoring with maximum number of mobile leaves.
4 Abstain if less than 2 leaves.
D. Gnad, A. Torralba Decoupled State Space Search 45/60
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics
Factoring Time
F IF X MIS IA
70%
80%
90%
100%
≤ 0.1s ≤ 1s ≤ 5s ≤ 10s ≥ 10s
D. Gnad, A. Torralba Decoupled State Space Search 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, A. 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)
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, A. 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, A. 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, A. 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))
Heuristics Pruning Techniques
Search Algorithms
State Representation Successor Generator
D. Gnad, A. Torralba 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))
Heuristics Pruning Techniques
Search Algorithms
State Representation Successor Generator
D. Gnad, A. Torralba 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!
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 stateswith 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, A. 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 stateswith 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, A. 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 stateswith 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, A. 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 elaboratedominance 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, A. 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 elaboratedominance 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, A. 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 elaboratedominance 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, A. 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.
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, A. 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, A. 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?
It’s a trap mess!
D. Gnad, A. 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, A. 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).
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” FL.Build: ./build all
Execute: ./fast-downward.py [task-file] --decoupling "fork"
--search "astar(icaps)"
D. Gnad, A. 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” FL.Build: ./build all
Execute: ./fast-downward.py [task-file] --decoupling "fork"
--search "astar(icaps)"
D. Gnad, A. 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” FL.Build: ./build all
Execute: ./fast-downward.py [task-file] --decoupling "fork"
--search "astar(icaps)"D. Gnad, A. 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, A. 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! Gnad and Hoffmann (2015); Gnad et al. (2015)
+ lots of extensions:
Factoring methods, target-profile factoring. Gnad et al. (2017a)→ Tomorrow at HSDIP!
Partial-order Reduction. Gnad et al. (2016)
Symmetry Breaking. Gnad et al. (2017c)→ Friday morning!
Dominance Pruning. Torralba et al. (2016)
Combination with symbolic search, Gnad et al. (2017b)BDDs to represent leaf state spaces.
D. Gnad, A. Torralba 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. Gnad et al. (2017a)→ Tomorrow at HSDIP!
Partial-order Reduction. Gnad et al. (2016)
Symmetry Breaking. Gnad et al. (2017c)→ Friday morning!
Dominance Pruning. Torralba et al. (2016)
Combination with symbolic search, Gnad et al. (2017b)BDDs to represent leaf state spaces.
D. Gnad, A. Torralba Decoupled State Space Search 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, A. 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 HeuristicsPatter Database Heuristics (PDB)Merge-And-ShrinkCartesian Abstractions
Linear-Programming-based HeuristicsOperator CountingPotential Heuristics
Landmark Heuristics
. . .
D. Gnad, A. 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 isfull 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; parallelprocessors with central memory (weak memory models).
Decoupled Search vs. Petri Net Unfolding.
D. Gnad, A. 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 classicalplanning 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, A. 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 classicalplanning 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, A. 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 classicalplanning 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, A. 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 classicalplanning 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, A. 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 planningheuristics for partial-order causal-link planning. In Ingo J. Timm and MatthiasThimm, editors, Proceedings of the 36th Annual German Conference on ArtificialIntelligence (KI’11), volume 8077 of Lecture Notes in Computer Science, pages1–12. Springer, 2013.
Blai Bonet, Patrik Haslum, Sarah L. Hickmott, and Sylvie Thiebaux. Directedunfolding of petri nets. Transactions on Petri Nets and Other Models ofConcurrency, 1:172–198, 2008.
Blai Bonet, Patrik Haslum, Victor Khomenko, Sylvie Thiebaux, 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 the12th International Conference on Verification, Model Checking, and AbstractInterpretation (VMCAI’11), pages 70–87, 2011.
D. Gnad, A. 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 NationalConference of the American Association for Artificial Intelligence (AAAI’06), pages809–814, Boston, Massachusetts, USA, July 2006. AAAI Press.
Ronen I. Brafman and Carmel Domshlak. From one to many: Planning for looselycoupled multi-agent systems. In Jussi Rintanen, Bernhard Nebel, J. ChristopherBeck, and Eric Hansen, editors, Proceedings of the 18th International Conference onAutomated Planning and Scheduling (ICAPS’08), pages 28–35. AAAI Press, 2008.
Ronen Brafman and Carmel Domshlak. On the complexity of planning for agent teamsand its implications for single agent planning. Artificial Intelligence, 198:52–71,2013.
Stefan Edelkamp, Stefan Leue, and Alberto Lluch-Lafuente. Partial-order reductionand trail improvement in directed model checking. International Journal onSoftware Tools for Technology Transfer, 6(4):277–301, 2004.
Niklas Een, Alan Mishchenko, and Robert K. Brayton. Efficient implementation ofproperty directed reachability. In International Conference on Formal Methods inComputer-Aided Design, FMCAD ’11, Austin, TX, USA, pages 125–134, 2011.
D. Gnad, A. Torralba Decoupled State Space Search 2/9
References
References III
Michael D. Ernst, Todd D. Millstein, and Daniel S. Weld. Automatic SAT-compilationof planning problems. In M. Pollack, editor, Proceedings of the 15th InternationalJoint Conference on Artificial Intelligence (IJCAI’97), pages 1169–1177, Nagoya,Japan, August 1997. Morgan Kaufmann.
Javier Esparza, Stefan Romer, and Walter Vogler. An improvement of mcmillan’sunfolding algorithm. Formal Methods in System Design, 20(3):285–310, 2002.
Eric Fabre, Loıg Jezequel, Patrik Haslum, and Sylvie Thiebaux. Cost-optimal factoredplanning: Promises and pitfalls. In Ronen I. Brafman, Hector Geffner, JorgHoffmann, and Henry A. Kautz, editors, Proceedings of the 20th InternationalConference on Automated Planning and Scheduling (ICAPS’10), pages 65–72.AAAI Press, 2010.
Daniel Gnad and Jorg Hoffmann. Beating LM-cut with hmax (sometimes):Fork-decoupled state space search. In Ronen Brafman, Carmel Domshlak, PatrikHaslum, and Shlomo Zilberstein, editors, Proceedings of the 25th InternationalConference on Automated Planning and Scheduling (ICAPS’15), pages 88–96.AAAI Press, 2015.
D. Gnad, A. Torralba Decoupled State Space Search 3/9
References
References IV
Daniel Gnad, Jorg Hoffmann, and Carmel Domshlak. From fork decoupling tostar-topology decoupling. In Levi Lelis and Roni Stern, editors, Proceedings of the8th Annual Symposium on Combinatorial Search (SOCS’15), pages 53–61. AAAIPress, 2015.
Daniel Gnad, Martin Wehrle, and Jorg Hoffmann. Decoupled strong stubborn sets. InSubbarao Kambhampati, editor, Proceedings of the 25th International JointConference on Artificial Intelligence (IJCAI’16), pages 3110–3116. AAAIPress/IJCAI, 2016.
Daniel Gnad, Valerie Poser, and Jorg Hoffmann. Beyond forks: Finding and rankingstar factorings for decoupled search. In Carles Sierra, editor, Proceedings of the26th International Joint Conference on Artificial Intelligence (IJCAI’17). AAAIPress/IJCAI, 2017.
Daniel Gnad, Alvaro Torralba, and Jorg Hoffmann. Symbolic leaf representation indecoupled search. In Alex Fukunaga and Akihiro Kishimoto, editors, Proceedings ofthe 10th Annual Symposium on Combinatorial Search (SOCS’17). AAAI Press,2017.
D. Gnad, A. Torralba Decoupled State Space Search 4/9
References
References V
Daniel Gnad, Alvaro Torralba, Alexander Shleyfman, and Jorg Hoffmann. Symmetrybreaking in star-topology decoupled search. In Proceedings of the 27th InternationalConference on Automated Planning and Scheduling (ICAPS’17). AAAI Press, 2017.
Patrice Godefroid and Pierre Wolper. Using partial orders for the efficient verificationof deadlock freedom and safety properties. In Proceedings of the 3rd InternationalWorkshop on Computer Aided Verification (CAV’91), pages 332–342, 1991.
Malte Helmert and Gabriele Roger. How good is almost perfect? In Dieter Fox andCarla Gomes, editors, Proceedings of the 23rd National Conference of the AmericanAssociation 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 IntelligenceResearch, 26:191–246, 2006.
Sarah L. Hickmott, Jussi Rintanen, Sylvie Thiebaux, and Langford B. White. Planningvia petri net unfolding. In Manuela Veloso, editor, Proceedings of the 20thInternational Joint Conference on Artificial Intelligence (IJCAI’07), pages1904–1911, Hyderabad, India, January 2007. Morgan Kaufmann.
D. Gnad, A. Torralba Decoupled State Space Search 5/9
References
References VI
Jorg Hoffmann and Sebastian Kupferschmid. A covering problem for hypercubes. InLeslie Pack Kaelbling, editor, Proceedings of the 19th International JointConference on Artificial Intelligence (IJCAI’05), pages 1523–1524, Edinburgh, UK,August 2005. Morgan Kaufmann.
Jorg Hoffmann and Bernhard Nebel. The FF planning system: Fast plan generationthrough heuristic search. Journal of Artificial Intelligence Research, 14:253–302,2001.
Subbarao Kambhampati, Craig A. Knoblock, and Qiang Yang. Planning as refinementsearch: 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, Proceedingsof the 13th National Conference of the American Association for ArtificialIntelligence (AAAI’96), pages 1194–1201, Portland, OR, July 1996. MIT Press.
D. Gnad, A. Torralba Decoupled State Space Search 6/9
References
References VII
Elena Kelareva, Olivier Buffet, Jinbo Huang, and Sylvie Thiebaux. Factored planningusing decomposition trees. In Manuela Veloso, editor, Proceedings of the 20thInternational Joint Conference on Artificial Intelligence (IJCAI’07), pages1942–1947, Hyderabad, India, January 2007. Morgan Kaufmann.
Craig Knoblock. Automatically generating abstractions for planning. ArtificialIntelligence, 68(2):243–302, 1994.
Amy L. Lansky and Lise Getoor. Scope and abstraction: Two criteria for localizedplanning. In S. Mellish, editor, Proceedings of the 14th International JointConference 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 theverification of asynchronous circuits. In Gregor von Bochmann and David K.Probst, editors, Proceedings of the 4th International Workshop on Computer AidedVerification (CAV’92), Lecture Notes in Computer Science, pages 164–177.Springer, 1992.
D. Gnad, A. 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 andReasoning: Proceedings of the 6th International Conference (KR-98), pages953–960, Trento, Italy, May 1998. Morgan Kaufmann.
Jussi Rintanen. Symmetry reduction for SAT representations of transition systems. InEnrico Giunchiglia, Nicola Muscettola, and Dana Nau, editors, Proceedings of the13th 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 4thInternational 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 ofArtificial Intelligence Research, 50:265–319, 2014.
D. Gnad, A. Torralba Decoupled State Space Search 8/9
References
References IX
Alvaro Torralba, Daniel Gnad, Patrick Dubbert, and Jorg Hoffmann. Onstate-dominance criteria in fork-decoupled search. In Subbarao Kambhampati,editor, Proceedings of the 25th International Joint Conference on ArtificialIntelligence (IJCAI’16). AAAI Press/IJCAI, 2016.
Hakan L. S. Younes and Reid G. Simmons. VHPOP: versatile heuristic partial orderplanner. Journal of Artificial Intelligence Research, 20:405–430, 2003.
D. Gnad, A. Torralba Decoupled State Space Search 9/9