alternatives to explicit state space search decoupled...

183
About Planning Decoupling Decoupled Search Heuristic Search Dominance Factorings Implementation Open Topics Alternatives to Explicit State Space Search Decoupled Search Daniel Gnad & ´ Alvaro Torralba ICAPS’17 Tutorial June 19, 2017 D. Gnad, ´ A. Torralba Decoupled State Space Search 1/60

Upload: others

Post on 16-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 2: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 3: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 4: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 5: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 6: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 7: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 8: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 9: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 10: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 11: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 12: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 13: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 14: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 15: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 16: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 17: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 18: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 19: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 20: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 21: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 22: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 23: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 24: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 25: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 26: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 27: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 28: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 29: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 30: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 31: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 32: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 33: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 34: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 35: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 36: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 37: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 38: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 39: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 40: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 41: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 42: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 43: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 44: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 45: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 46: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 47: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 48: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 49: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 50: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 51: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 52: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 53: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 54: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 55: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 56: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 57: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 58: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 59: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 60: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 61: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 62: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 63: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 64: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 65: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 66: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 67: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 68: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 69: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 70: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 71: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 72: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 73: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 74: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 75: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 76: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 77: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 78: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 79: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 80: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 81: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 82: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 83: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 84: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 85: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 86: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 87: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 88: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 89: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 90: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 91: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 92: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 93: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 94: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 95: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 96: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 97: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 98: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 99: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 100: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 101: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 102: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 103: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 104: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 105: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 106: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 107: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 108: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 109: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 110: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 111: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 112: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 113: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 114: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 115: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 116: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 117: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 118: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 119: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 120: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 121: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 122: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 123: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 124: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 125: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 126: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 127: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 128: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 129: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 130: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 131: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 132: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 133: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 134: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 135: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 136: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 137: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 138: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 139: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 140: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 141: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 142: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 143: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 144: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 145: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 146: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 147: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 148: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 149: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 150: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 151: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 152: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 153: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 154: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 155: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 156: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 157: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 158: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 159: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 160: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 161: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 162: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 163: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 164: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 165: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 166: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 167: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 168: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 169: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 170: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 171: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 172: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 173: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 174: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 175: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 176: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 177: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 178: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 179: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 180: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 181: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 182: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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

Page 183: Alternatives to Explicit State Space Search Decoupled Searchicaps17.icaps-conference.org/tutorials/T7-Decoupled-Search.pdfAlternatives to State Space Search (not covered here) Planning

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