63
New Mexico State University Son Thanh To Tran Cao Son Enrico Pontelli Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent Planning as And/Or forward Search with Disjunctive Representation

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contingent Planning as And/Or forward Search with Disjunctive Representation

New Mexico State UniversitySon Thanh ToTran Cao Son

Enrico Pontelli

Contingent Planning

as And/Or forward Search

with Disjunctive Representation

Page 2: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Contingent planning• Approach overview

Employed DNF representationPrAO: a new And/Or forward search with novel pruning techniques

• DNF representation: review & extension• PrAO And/Or forward search algorithm• Experimental evaluation• Conclusion and future work

Outline

Page 3: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent planningAn example & formulationAnd/Or search for solutions

• Approach overviewEmployed DNF representationPrAO: an And/Or forward search

• DNF representation: review & extension• And/Or forward search algorithm: PrAO• Experimental evaluation• Conclusion and future work

Outline

Page 4: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent Planning: An Example

at-same-room

at-same-room

bug-is-dead

bug-is-dead

Page 5: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Problem P = F, A, , I, G Fluents: F = {bug-is-dead, at-same-room} Actions: A = {move, kill-bug}

◊ pre(move) = move: at-same-room at-same-roommove: at-same-room at-same-room

◊ pre(kill-bug) = at-same-roomkill-bug: bug-is-dead

Sensing: = {sense-bug}, pre(sense-bug) = ◊ l(sense-bug) = at-same-room

Initial State: I = bug-is-dead (? at-same-room) Goal: G = bug-is-dead

• The initial Belief State: set of states satisfying I:BS(I) = { {bug-is-dead, at-same-room} ,

{bug-is-dead, at-same-room} }

Contingent Planning Problem

Page 6: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Contingent planningFormulationAnd/Or search for solutions

• Approach overviewEmployed DNF representationPrAO: an And/Or forward search

• DNF representation: review & extension• And/Or forward search algorithm: PrAO• Experimental evaluation• Conclusion and future work

Outline

Page 7: Contingent Planning as And/Or forward Search with Disjunctive Representation

bug-is-dead

at-same-room

N2

bug-is-dead

at-same-room

N1

bug-is-dead

at-same-room

N3 (goal)

bug-is-dead

?at-same-room

N0 (initial)

sense-bug sense-bug

move

kill-bug

move

move

Start node

(initial belief state)

Page 8: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Extend DNF representation for conformant planning (ICAPS-2009) to handle Non-deterministic actions Sensing actions

• Develop PrAO: an And/Or forward search with Novel pruning techniques The remaining search graph when a solution

is detected is also the solution

Overview of Our Approach

Page 9: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent planningApproach overviewDNF representationBrief review (conformant planning)Extending for contingent planing

• And/Or forward search algorithm: PrAO• Experimental evaluation• Conclusion and future work

Outline

Page 10: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent planning Approach overview•DNF representationReview (conformant planning)Extending for contingent planning

• And/Or forward search algorithm: PrAO• Experimental evaluation• Conclusion and future work

Outline

Page 11: Contingent Planning as And/Or forward Search with Disjunctive Representation

• A non-deterministic action a contains a set of outcomes: o1, …, on. (a is deterministic if n = 1)

• oi is a set of conditional effects • ai : the deterministic action with set of effects oi

DNF(a, )

non-det. action: a

Extending to Non-deterministic action

?

Page 12: Contingent Planning as And/Or forward Search with Disjunctive Representation

• A non-deterministic action a contains a set of outcomes: o1, …, on. (a is deterministic if n = 1)

• oi is a set of conditional effects • ai : the deterministic action with set of effects oi

DNF(a, )

DNF(a1, )det. action: a1

non-det. action: a

Extending to Non-deterministic action

Page 13: Contingent Planning as And/Or forward Search with Disjunctive Representation

• A non-deterministic action a contains a set of outcomes: o1, …, on. (a is deterministic if n = 1)

• oi is a set of conditional effects • ai : the deterministic action with set of effects oi

DNF(a, )

DNF(a1, )

DNF(an, )

det. action: a1

det. action: an

non-det. action: a

Extending to Non-deterministic action

Page 14: Contingent Planning as And/Or forward Search with Disjunctive Representation

Union of

DNF(a1, ), ...

DNF(an, )

• A non-deterministic action a contains a set of outcomes: o1, …, on. (a is deterministic if n = 1)

• oi is a set of conditional effects • ai : the deterministic action with set of effects oi

DNF(a, )

DNF(a1, )

DNF(an, )

det. action: a1

det. action: an

non-det. action: a

Extending to Non-deterministic action

Page 15: Contingent Planning as And/Or forward Search with Disjunctive Representation

Union of

DNF(a1, ), ...

DNF(an, )

• A non-deterministic action a contains a set of outcomes: o1, …, on. (a is deterministic if n = 1)

• oi is a set of conditional effects • ai : the deterministic action with set of effects oi

DNF(a, )

DNF(a1, )

DNF(an, )

det. action: a1

det. action: an

Remove super

partial states

non-det. action: a

Extending to Non-deterministic action

Page 16: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Sensing action : (, S) (S+, S-)

◊ S+ = {s | s S, s l()}◊ S- = {s | s S, s l()}

(, ) (+, -): + S+ - S-

(+ l() - l())

Initially: + = - = For every :

◊ If l() then: + = + { }◊ Else if l() then: - = - { }◊ Else:

+ = + { +} + = { l() }- = - { -} - = {l()}

Intuitively: + - + S+ - S-

Successor states for Sensing Actions

Page 17: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent planning

Approach overview

DNF representation: review & extension

PrAO: a new And/Or forward search: Search space is a directed graph Novel pruning techniques

• Experimental evaluation

• Conclusion and future work

Outline

Page 18: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Node N is goal reachable (GR) if:− Goal node (satisfies the goal), or− Has a goal-reachable or-child, or − Both dual and-children are goal-reachable

Goal Reachability

GR

N

GR

GR

N

GR GR

Page 19: Contingent Planning as And/Or forward Search with Disjunctive Representation

bug-is-dead

at-same-room

N2

bug-is-dead

at-same-room

N1

bug-is-dead

at-same-room

N3 (goal)

bug-is-dead

?at-same-room

N0 (initial)

sense-bug sense-bug

move

kill-bug

move

move

Page 20: Contingent Planning as And/Or forward Search with Disjunctive Representation

bug-is-dead

at-same-room

N2

bug-is-dead

at-same-room

N1

bug-is-dead

at-same-room

N3 (GR)

bug-is-dead

?at-same-room

N0 (initial)

sense-bug sense-bug

move

kill-bug

move

move

Page 21: Contingent Planning as And/Or forward Search with Disjunctive Representation

bug-is-dead

at-same-room

N2

bug-is-dead

at-same-room

N1 (GR)

bug-is-dead

at-same-room

N3 (GR)

bug-is-dead

?at-same-room

N0 (initial)

sense-bug sense-bug

move

kill-bug

move

move

Page 22: Contingent Planning as And/Or forward Search with Disjunctive Representation

bug-is-dead

at-same-room

N2 (GR)

bug-is-dead

at-same-room

N1 (GR)

bug-is-dead

at-same-room

N3 (GR)

bug-is-dead

?at-same-room

N0 (initial)

sense-bug sense-bug

move

kill-bug

move

move

Page 23: Contingent Planning as And/Or forward Search with Disjunctive Representation

bug-is-dead

at-same-room

N2 (GR)

bug-is-dead

at-same-room

N1 (GR)

bug-is-dead

at-same-room

N3 (GR)

bug-is-dead

?at-same-room

N0 (GR)

sense-bug sense-bug

move

kill-bug

move

move

Page 24: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Node N is dead if N goal and either:− N has no outgoing edges; or− Every or-child is dead, and for every pair of

dual and-children, at least one is dead

Dead Node Propagation

dead

N

dead dead

Page 25: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Observation 1:− Some edges may become “useless” due to

goal-reachable path

Pruning

GR

N

GR

N’

Page 26: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm: Pruning Technique

GR

N

GR

N’

“useless” edges

Page 27: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm: Pruning Technique

GR

N

GR

N’

Page 28: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm: Pruning Technique

GR

N

GR

N1

GR

N2

Page 29: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm: Pruning Technique

GR

N

GR

N1

GR

N2

Page 30: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm: Pruning Technique

GR

N

GR

N1

GR

N2

Page 31: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Observation 2:− Edges can be removed due to a dead-node

PrAO Algorithm: Pruning Technique

dead

N

N1

Page 32: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Observation 2:− Edges can be removed by dead-nodes

PrAO Algorithm: Pruning Technique

dead

N

N1

N2

Page 33: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Observation 2:− Edges can be removed by dead-nodes

PrAO Algorithm: Pruning Technique

dead

N

N1

Page 34: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Active nodes: can be reached from the start node

• Some nodes (and their descendants if exist) may become disabled (inactive) after removing useless edges

• Expand only active nodes

• A disabled node N may become active again if it is a child of being expanded node. If N is active then so are its descendants (reactivate-propagation).

PrAO Algorithm: Pruning Technique

Page 35: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO: Reactivate Disabled Nodes

N1

active

N3

disabled

N1

active

N2

disabled

Page 36: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO: Reactivate Disabled Nodes

N1

active

N3

disabled

N1

active

N2

disabled

Page 37: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO: Reactivate Disabled Nodes

N1

active

N3

disabled

N1

active

N2

active

Page 38: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO: Reactivate Disabled Nodes

N1

active

N3

active

N1

active

N2

active

Page 39: Contingent Planning as And/Or forward Search with Disjunctive Representation

1. Initialize the front queue Q with the start node n0 (initial belief state).

2. Iteratively perform the following steps:3. Pick an active node n from Q with the best heuristic4. If no such node n exists, terminate the search5. Expand node n6. If n is goal-reachable, then

7. Execute goal-propagation(n)8. If n0 is goal-reachable then extract and return the

solution.9. Else if n is dead, then

10. Execute dead-end-propagation(n)11. If n0 is a dead node then terminate the search

10. Else for every disabled child n’ of n, activate n’ and execute reactivate-propagation(n’)

PrAO Algorithm

Page 40: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Incorporate the pruning techniques in: goal-propagation dead-end-propagation

• Expand only active unexpanded nodes: avoid redundant expansion and reducenumbers of expanded/generated nodes

• PrAO is complete due to reactivate-propagation

PrAO Algorithm

Page 41: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

Page 42: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N2N1 N3

Page 43: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5N4

N2N1 N3

Page 44: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

N4

dead

N2N1 N3

Page 45: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

N4

dead

N2N1 N3

Page 46: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

disabled

N4

dead

N2

N1

deadN3

Page 47: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

disabled

N4

dead

N2

N1

deadN3

Page 48: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

disabled

N4

dead

N2

N1

deadN3

N7 N8

N6

goal

Page 49: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

disabled

N4

dead

N2

N1

dead

N3

GR

N7 N8

N6

goal

Page 50: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

disabled

N4

dead

N2

N1

dead

N7

disabled

N8

disabled

N3

GR

N6

goal

Page 51: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

disabled

N4

dead

N2

N1

dead

N7

disabled

N8

disabled

N3

GR

N6

goal

Page 52: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

N4

dead

N2

N1

dead

N7

disabled

N8

disabled

N3

GR

N6

goal

Page 53: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N5

N4

dead

N2

N1

dead

N8

disabled

N7

disabled

N3

GR

N6

goal

Page 54: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N4

dead

N2

N1

dead

N8

disabled

N7

disabled

N5

GR

N3

GR

N6

goal

Page 55: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

N4

dead

N1

dead

N8

disabled

N7

disabled

N2

GR

N5

GR

N3

GR

N6

goal

Page 56: Contingent Planning as And/Or forward Search with Disjunctive Representation

PrAO Algorithm

N0

GR

N4

dead

N1

dead

N8

disabled

N7

disabled

N2

GR

N5

GR

N3

GR

N6

goal

Page 57: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent planning Approach overviewDNF representation: review & extensionAnd/Or forward search: PrAO algorithm Experimental evaluation

•Experimental setupPerformance comparison

• Conclusion and future work

Outline

Page 58: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Planners: compare DNFct with most state-of the-art: CLG (Albore, Palacios, and Geffner IJCAI-2009)

Contingent-FF (Hoffmann and Brafman ICAPS-2005)

POND (Bryce, Kambhampati, and Smith JAIR-2006)

• Benchmarks:From Pond, Contingent-FF, and CLG distribution. Several obtained by our modification from conformant domains. Total: 64 instances out of 17 domains.

Experimental Setup

Page 59: Contingent Planning as And/Or forward Search with Disjunctive Representation

Performance Comparisonon 64 Instances of 17 Domains

0

10

20

30

40

50

60

70

DNFct CLG cont-FF Pond

# of instances theplanner solvesfastest

# of instances theplanner can solve

# of the largestinstances of adomain the plannersolves fastest

Page 60: Contingent Planning as And/Or forward Search with Disjunctive Representation

Contingent planning Approach overviewDNF representation: review & extensionAnd/Or forward search: PrAO algorithm Experimental evaluationConclusion and future work

Outline

Page 61: Contingent Planning as And/Or forward Search with Disjunctive Representation

• Extended DNF Representation to handle non-det & sensing actions in contingent planning: Compact Fast state computation Complete

• Developed a new And/Or search algorithm PrAO with novel pruning techniques: Avoid redundant expansion Less expanded/generated nodes Complete

Conclusion

Page 62: Contingent Planning as And/Or forward Search with Disjunctive Representation

• DNF Representation Not good when the size of DNF formulae

representing belief states is too large.

• PrAO: And/Or forward search In several problem instances, application

of pruning techniques results in more generated/explored nodes.

Future Work

Page 63: Contingent Planning as And/Or forward Search with Disjunctive Representation

Thank you!

Question?