1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by...

35
1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

Transcript of 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by...

Page 1: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

1

Hierarchical Task Network (HTN) Planning

José Luis Ambite*

[* Based in part on presentations by Dana Nau and Rao Kambhampati]

Page 2: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

2

Hierarchical Decomposition

Page 3: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

3

Task Reduction

Page 4: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

4

Hierarchical Planning Brief History Originally developed about 25 years ago

NOAH [Sacerdoti, IJCAI 1977] NONLIN [Tate, IJCAI 1977]

Knowledge-based Scalable Task Hierarchy is a form of domain-specific

knowledge Practical, applied to real world problems Lack of theoretical understanding until early

1990’s [Erol et al, 1994] [Yang 1990] [Kambhampati 1992] Formal semantics, sound/complete algorithm,

complexity analysis [Erol et al, 1994]

Page 5: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

5

Deployed, Practical Planners SIPE, SIPE-2 [Wilkins, 85-]

http://www.ai.sri.com/~sipe/ NONLIN/O-Plan/I-X [Tate et. al., 77-]

http://www.aiai.ed.ac.uk/~oplan/ http://www.aiai.ed.ac.uk/project/ix/

Applications: Logistics

Military operations planning: Air campaign planning, Non-Combatant Evacuation Operations

Crisis Response: Oil Spill Response Production line scheduling Construction planning: Space platform building, house

construction Space applications: mission sequencing, satellite control Software Development: Unix administrator's script writing

Page 6: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

6

Deployed, Practical Planners

Many features: Hierarchical decomposition Resources Time Complex conditions Axioms Procedural attachments Scheduling Planning and Execution Knowledge acquisition tools Mixed-initiative

Page 7: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

7

Page 8: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

8

O-Plan

Page 9: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

9

HTN Planning

Capture hierarchical structure of the planning domain

Planning domain contains non-primitive actions and schemas for reducing them

Reduction schemas: given by the designer express preferred ways to accomplish a

task

Page 10: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

10

HTN Formalization (1) State: list of ground atoms Tasks:

Primitive tasks: do[f(x1, …, xn)] Non-primitive tasks:

Goal task: achieve(l) (l is a literal) Compound task: perform[t(x1, …, xn)]

Operator: [operator f(x1, …, xn) (pre: l1, …, ln) (post: l’1, …, l’n)]

Method: (, d) is a non-primitive task and d is a task network

Plan: sequence of ground primitive tasks (operators)

Page 11: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

11

HTN Formalization (2)

Task network: [(n1 : 1) … (nm : m), ] ni = node label

i = task = formula that includes

Binding constraints: (v = v’) or (v v’) Ordering constraints: (n < n’) State constraints:

(n, l, n’): interval preservation constraint (causal link)

(l, n): l must be true in state immediately before n (n, l): l must be true in state immediately after n

Page 12: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

12

Task Network Example

Page 13: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

13

HTN Planning Algorithm (intuition)

Problem reduction: Decompose tasks into subtasks Handle constraints Resolve interactions If necessary, backtrack and try other

decompositions

Page 14: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

14

Basic HTN Procedure

1. Input a planning problem P2. If P contains only primitive tasks, then

resolve the conflicts and return the result. If the conflicts cannot be resolved, return failure

3. Choose a non-primitive task t in P4. Choose an expansion for t5. Replace t with the expansion6. Find interactions among tasks in P and

suggest ways to handle them. Choose one. 7. Go to 2

Page 15: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

15

m = (’, d’) s.t.mgu(, ’) =

ground total ordering satisfying constraints

Reduce(d, n, m) = task network obtained from d by replacing (n : ) with d’ (and modifying the constraint formula)

= “critics” to resolve conflicts

Page 16: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

16

GobyBus(Phx,Msn)Get(Money) Buy(WiscCheese)

At(Msn)

Hv-Money

t1: Getin(B,Phx)

t2: BuyTickt(B)

t3: Getout(B,Msn)

In(B)Hv-Tkt

Hv-MoneyAt(D)

Get(Money)

Buy(WiscCheese)

GobyBus(S,D)

t1: Getin(B,S)

t2: BuyTickt(B)

t3: Getout(B,D)

In(B)

Hv-Tkt

Hv-Money At(D)

Similarity between reduction schemas and plan-space planning

Page 17: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

17

Page 18: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

18

Page 19: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

19

Page 20: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

20

Refinement Planning

[Kambhampati 96]

Taskreduction

Page 21: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

21

Refinement Planning

Unified framework for state-space, plan-space, and HTN planning

[Kambhampati et al, 96]

Page 22: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

22

Expressiveness of STRIPS vs HTN planning

Solutions to STRIPS problems are regular sets: (a1| a2|… an)*

Solutions to HTN problems can be arbitrary context-free sets: a1

n a2n…

ann

HTN’s are more expressive than STRIPS

Page 23: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

23

Task Decomposition via Plan Parsing

Task decomposition hierarchy can be seen as a context-free grammar

Prune plans that do not conform to the grammar in a Partial-Order planner [Barret & Weld, AAAI94]

Page 24: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

24

Task Decomposition via Plan Parsing

Page 25: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

25

Ordered Task Decomposition

Adaptation of HTN planning Subtasks of each method to be totally

ordered Decompose these tasks left-to-right

The same order that they’ll later be executed

Spindling Spraying Spreading Painting

PhotolithographyApply photoresistPreclean for artwork Etching

Make the artwork for a PC board

Page 26: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

26

Page 27: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

27

SHOP (Simple Hierarchical Ordered Planner) Domain-independent algorithm for

Ordered Task Decomposition Sound/complete

Input: State: a set of ground atoms Task List: a linear list of tasks Domain: methods, operators, axioms

Output: one or more plans, it can return: the first plan it finds all possible plans a least-cost plan all least-cost plans

Page 28: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

28

Initial task list: ((travel home park)) Initial state: ((at home) (cash 20) (distance home park 8)) Methods (task, preconditions, subtasks):

(:method (travel ?x ?y)((at x) (walking-distance ?x ?y)) ' ((!walk ?x ?y)) 1)

(:method (travel ?x ?y)((at ?x) (have-taxi-fare ?x ?y))' ((!call-taxi ?x) (!ride ?x ?y) (!pay-driver ?x ?y)) 1)

Axioms: (:- (walking-dist ?x ?y) ((distance ?x ?y ?d) (eval (<= ?d 5)))) (:- (have-taxi-fare ?x ?y)

((have-cash ?c) (distance ?x ?y ?d) (eval (>= ?c (+ 1.50 ?d))))

Primitive operators (task, delete list, add list) (:operator (!walk ?x ?y) ((at ?x)) ((at ?y))) …

Simple Example

Optional cost;default is 1

Page 29: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

29

Precond: Precond:

(travel home park)

(!walk home park)

(!call-taxi home) (!ride home park) (!pay-driver home park)

Fail (distance > 5)Succeed (we have $20,and the fare is only $9.50)Succeed

Succeed

(at home)(walking-distance Home park)

(have-taxi-fare home park)

(at park)(cash 10.50)(distance home park 8)

Simple Example(Continued)

(at home)

Initial state:

Final state:

(at home)(cash 20)(distance home park 8)

Page 30: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

30

The SHOP Algorithmprocedure SHOP (state S, task-list T, domain D) 1. if T = nil then return nil2. t1 = the first task in T3. U = the remaining tasks in T4. if t is primitive & an operator instance o matches t1 then5. P = SHOP (o(S), U, D)6. if P = FAIL then return FAIL7. return cons(o,P)8. else if t is non-primitive & a method instance m matches t1 in S & m’s preconditions can be inferred from S then9. return SHOP (S, append (m(t1), U), D)10. else11. return FAIL12. end ifend SHOP

state S; task list T=( t1 ,t2,…)

operator instance o

state o(S) ; task list T=(t2, …)

task list T=( t1 ,t2,…)

method instance m

task list T=( u1,…,uk ,t2,…)

nondeterministic choice among all methods m whose preconditions can be inferred from S

Page 31: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

31

Blocks World

100 randomlygenerated problems

167-MHz Sun Ultrawith 64 MB of RAM

Blackbox and IPPcould not solveany of these problems

TLplan’s running timewas only slightly worsethan SHOP’s TLplan’s pruning rules

[Bacchus et al., 2000] have expressive power similar to SHOP’s

Using its pruning rules, they encoded a block-stacking algorithmsimilar to ours

0.01

0.1

1

10

100

1000

SHOPTLPlan

050

100150200250300350400

SHOPTLPlan

Time

Number of actions in plan

Page 32: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

32

Logistics 110 randomly

generated problems Same machine

as before As before, Blackbox

and IPP could notsolve any of theseproblems

TLplan ransomewhat slowerthan SHOP(about an order ofmagnitude on largeproblems)

0.11

10100

100010000

SHOPTLPlan

Time

0

100

200

300

400

500

SHOPTLPlan

Number of actions in plan

Page 33: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

33

Logistics 30 problems from

the Blackboxdistribution

SHOP and TLplanon the samemachine as before

Blackbox on a fastermachine, with 8GBof RAM

SHOP was about anorder of magnitudefaster than TLplan

TLplan was about two orders ofmagnitude fasterthan Blackbox

0

20

40

60

80

100

BlackboxTLPlanSHOP

Number of actions in plan

0.1

1

10

100

1000

10000

BlackboxTLPlanSHOP

Time

Page 34: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

34

SHOP demo

Page 35: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]

35