34
Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion Tunneling and Decomposition-Based State Reduction for Optimal Planning Raz Nissim, Udi Apsel and Ronen Brafman Manuel Heusner Universit¨ at Basel December 20, 2012

Tunneling and Decomposition-Based State Reduction for Optimal

Embed Size (px)

Citation preview

Page 1: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Tunneling and Decomposition-Based StateReduction for Optimal Planning

Raz Nissim, Udi Apsel and Ronen Brafman

Manuel Heusner

Universitat Basel

December 20, 2012

Page 2: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Motivation

What is pruning?

Only apply subset of actions at a state

Reduce the state space

Why do we need pruning?

Heuristics for generalized planners have limitedstrength (Helmert&Roger,2008)

Only a few generalized prunig methods exist

Faster search and larger coverage

Page 3: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Pruning methods

Action Tunneling

Partition-Based Path Pruning

PB-Pruning and Tunneling

Page 4: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Idea and properties of pruning methods in this presentation

Idea:

Group related actions together

Prevent interleaving with other actions

Properties:

Generalize earlier pruning methods (Tunneling in Sokoban)

Preserve optimality and completeness

Are independent of heuristics

Page 5: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

1 Introduction

2 Action Tunneling

3 Partition Based Path Pruning

4 PB-Pruning and Tunneling

5 Evaluation

6 Conclusion

Page 6: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The model

Definition (SAS+)

SAS+ is a planning task formalism given as a tupleΠ = 〈V, s0, s?,A〉

V: a set of variables which having finite domains Dv

s0: initial state

s?: an assignment of variables in G ⊆ V denoting the goalconditions

A: set of actions a = 〈pre, eff 〉

Page 7: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

1 Introduction

2 Action TunnelingThe idea and the pruning rulePrunig example

3 Partition Based Path Pruning

4 PB-Pruning and Tunneling

5 Evaluation

6 Conclusion

Page 8: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

If the action a leading to the current state sets a goalvariable v 7→ p

and p is not the goal value of v

and all actions that have precondition v 7→ p do not affectother variables than action a

then apply only actions that have precondition v 7→ p

Action Tunneling Pruning Rule

Following action a, prune all actions not in tunnel(a).

Page 9: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

If the action a leading to the current state sets a goalvariable v 7→ p

and p is not the goal value of v

and all actions that have precondition v 7→ p do not affectother variables than action a

then apply only actions that have precondition v 7→ p

Action Tunneling Pruning Rule

Following action a, prune all actions not in tunnel(a).

Page 10: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

If the action a leading to the current state sets a goalvariable v 7→ p

and p is not the goal value of v

and all actions that have precondition v 7→ p do not affectother variables than action a

then apply only actions that have precondition v 7→ p

Action Tunneling Pruning Rule

Following action a, prune all actions not in tunnel(a).

Page 11: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

If the action a leading to the current state sets a goalvariable v 7→ p

and p is not the goal value of v

and all actions that have precondition v 7→ p do not affectother variables than action a

then apply only actions that have precondition v 7→ p

Action Tunneling Pruning Rule

Following action a, prune all actions not in tunnel(a).

Page 12: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

If the action a leading to the current state sets a goalvariable v 7→ p

and p is not the goal value of v

and all actions that have precondition v 7→ p do not affectother variables than action a

then apply only actions that have precondition v 7→ p

Action Tunneling Pruning Rule

Following action a, prune all actions not in tunnel(a).

Page 13: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule (example)

Page 14: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Pruning Example

Example

tunnel(a1) = {a2} (a1 allows a tunnel)

{v1 7→ p 6= pgoal , v2 7→ p}

a1 = 〈{}, {v1 7→ p}〉

a2 = 〈{v1 7→ p}, {v1 7→ p′}〉 a3 = 〈{v2 7→ p}, {v2 7→ p′}〉

tunnel(a4) = A (a4 does not allow a tunnel)

{v3 7→ q 6= qgoal , v4 7→ q}

a4 = 〈{}, {v3 7→ q}〉

a5 = 〈{v3 7→ q}, {v3 7→ q′}〉

a6 = 〈{v3 7→ q}, {v3 7→ q′, v4 7→ q′}〉

a7 = 〈{v4 7→ q}, {v4 7→ q′}〉

Page 15: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Pruning Example

Example

tunnel(a1) = {a2} (a1 allows a tunnel)

{v1 7→ p 6= pgoal , v2 7→ p}

a1 = 〈{}, {v1 7→ p}〉

a2 = 〈{v1 7→ p}, {v1 7→ p′}〉 a3 = 〈{v2 7→ p}, {v2 7→ p′}〉

tunnel(a4) = A (a4 does not allow a tunnel)

{v3 7→ q 6= qgoal , v4 7→ q}

a4 = 〈{}, {v3 7→ q}〉

a5 = 〈{v3 7→ q}, {v3 7→ q′}〉

a6 = 〈{v3 7→ q}, {v3 7→ q′, v4 7→ q′}〉

a7 = 〈{v4 7→ q}, {v4 7→ q′}〉

Page 16: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

1 Introduction

2 Action Tunneling

3 Partition Based Path PruningThe idea and the pruning rulePrunig example

4 PB-Pruning and Tunneling

5 Evaluation

6 Conclusion

Page 17: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

Partition actions into disjoint sets

Private actions only affect actions in own partition

Public actions affect actions in other partitions

If the action leading to the current state is private

and the state is not the goal state

then only apply actions, which are in the same partition.

Partition-Based Pruning Rule

Following a private action a ∈ Ai , prune all actions not in Ai .

Page 18: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

Partition actions into disjoint sets

Private actions only affect actions in own partition

Public actions affect actions in other partitions

If the action leading to the current state is private

and the state is not the goal state

then only apply actions, which are in the same partition.

Partition-Based Pruning Rule

Following a private action a ∈ Ai , prune all actions not in Ai .

Page 19: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

Partition actions into disjoint sets

Private actions only affect actions in own partition

Public actions affect actions in other partitions

If the action leading to the current state is private

and the state is not the goal state

then only apply actions, which are in the same partition.

Partition-Based Pruning Rule

Following a private action a ∈ Ai , prune all actions not in Ai .

Page 20: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule (example) (1)

Init:

Goal:

Page 21: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule (example) (2)

Example

1. Partition:private

drive–t1xy = 〈{truck1 7→ x}, {truck1 7→ y}〉

public

load–t1x = 〈{truck1 7→ x , packet 7→ x}, {packet 7→ t1}〉

unload–t1x = 〈{truck1 7→ x , packet 7→ t1}, {packet 7→ x}〉

2. Partition:private

drive–t2xy = 〈{truck2 7→ x}, {truck2 7→ y}〉

public

load–t2x = 〈{truck2 7→ x , packet 7→ x}, {packet 7→ t2}〉

unload–t2x = 〈{truck2 7→ x , packet 7→ t2}, {packet 7→ x}〉

Page 22: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Pruning Example

Page 23: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

1 Introduction

2 Action Tunneling

3 Partition Based Path Pruning

4 PB-Pruning and TunnelingThe idea and the pruning rulePruning example

5 Evaluation

6 Conclusion

Page 24: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

Action Tunneling and Partition Based Path Pruning do notprune the same states

Combine them and preserve optimality

Action Tunneling and Partition-Based Pruning Rule

Always apply the Partition-Based pruning rule and apply theTunneling pruning rule only if the creating action is private.

Page 25: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

The idea and the pruning rule

Action Tunneling and Partition Based Path Pruning do notprune the same states

Combine them and preserve optimality

Action Tunneling and Partition-Based Pruning Rule

Always apply the Partition-Based pruning rule and apply theTunneling pruning rule only if the creating action is private.

Page 26: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Pruning example

Page 27: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

1 Introduction

2 Action Tunneling

3 Partition Based Path Pruning

4 PB-Pruning and Tunneling

5 EvaluationSearch algorithmResults

6 Conclusion

Page 28: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Search algorithm

PP-A∗ + hlm–cut

PP-A∗ is an extension of A∗

Reexpand node if anotheraction leads to the same statewith the same path cost

Guarantees optimality whileusing path dependend actionpruning

I

G

Open question

Is A∗ optimal in combination with path dependend pruningmethods? The source of concern is duplicate elimination

Page 29: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Search algorithm

PP-A∗ + hlm–cut

PP-A∗ is an extension of A∗

Reexpand node if anotheraction leads to the same statewith the same path cost

Guarantees optimality whileusing path dependend actionpruning

I

G

Open question

Is A∗ optimal in combination with path dependend pruningmethods? The source of concern is duplicate elimination

Page 30: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Search algorithm

PP-A∗ + hlm–cut

PP-A∗ is an extension of A∗

Reexpand node if anotheraction leads to the same statewith the same path cost

Guarantees optimality whileusing path dependend actionpruning

I

G

Open question

Is A∗ optimal in combination with path dependend pruningmethods? The source of concern is duplicate elimination

Page 31: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Results

Page 32: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

1 Introduction

2 Action Tunneling

3 Partition Based Path Pruning

4 PB-Pruning and Tunneling

5 Evaluation

6 Conclusion

Page 33: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Conclusion

Three optimality and completess preserving prunining methods

PP-A∗ guarantees optimality while using path-dependendpruning

Partition-Based pruning effects more domains than ActionTunneling does

The combined version shows best results

Page 34: Tunneling and Decomposition-Based State Reduction for Optimal

Introduction Action Tunneling Partition Based Path Pruning PB-Pruning and Tunneling Evaluation Conclusion

Thank you for your attention!