![Page 1: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/1.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/2.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/3.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/4.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/5.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/6.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/7.jpg)
7
![Page 8: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/8.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/9.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/10.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/11.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/12.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/13.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/14.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/15.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/16.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/17.jpg)
17
![Page 18: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/18.jpg)
18
![Page 19: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/19.jpg)
19
![Page 20: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/20.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/21.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/22.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/23.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/24.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/25.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/26.jpg)
26
![Page 27: 1 Hierarchical Task Network (HTN) Planning José Luis Ambite* [* Based in part on presentations by Dana Nau and Rao Kambhampati]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/27.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/28.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/29.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/30.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/31.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/32.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/33.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/34.jpg)
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]](https://reader036.vdocuments.net/reader036/viewer/2022062404/5517ff16550346c6568b510c/html5/thumbnails/35.jpg)
35