0% found this document useful (0 votes)
411 views21 pages

Hierarchical Planning

The document discusses hierarchical planning and hierarchical task networks (HTN). It explains that hierarchical planning reduces complexity by decomposing problems into hierarchies of subtasks. This allows planners to postpone details until higher-level plans are in place. The document uses the example of planning a trip to demonstrate hierarchical levels from major steps to minor steps. It also describes ABSTRIPS, an early planner that used abstraction hierarchies, and how HTN planners like NOAH decompose tasks into networks of ordered subtasks linked by constraints.

Uploaded by

mk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
411 views21 pages

Hierarchical Planning

The document discusses hierarchical planning and hierarchical task networks (HTN). It explains that hierarchical planning reduces complexity by decomposing problems into hierarchies of subtasks. This allows planners to postpone details until higher-level plans are in place. The document uses the example of planning a trip to demonstrate hierarchical levels from major steps to minor steps. It also describes ABSTRIPS, an early planner that used abstraction hierarchies, and how HTN planners like NOAH decompose tasks into networks of ordered subtasks linked by constraints.

Uploaded by

mk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

Hierarchical Planning

Overview


Introduction

Motivation

Properties

ABSTRIPS

Observations

Hierarchical Task Network (HTN)

Application : Multi-agent Plan synergy

Way Forward : Using ontology

Conclusion

References
Planning

 Sequence of actions worked out


beforehand
 In order to accomplish a task
Example : One level planner

 Planning for ”Going to Goa this Cristmas”



Switch on computer

Start web browser

Open Indian Railways website

Select date

Select class

Select train

... so on

 Practical problems are too complex to be solved at


one level
How Complex ?

 A captain of a cricket team plans the order of 5


bowlers in 2 days of a test match(180 overs).
 Number of possibilities : 5180 = 2590
 Much greater than 1087 (approx. number of particles
in the universe)
Hierarchy in Planning

 Hierarchy of actions
 In terms of major action or minor action

 Lower level activities would detail more precise


steps for accomplishing the higher level tasks.

Ref : [1,2]
Example

 Planning for ”Going to Goa this Cristmas”


 Major Steps :
 Hotel Booking
 Ticket Booking
 Reaching Goa
 Staying and enjoying there
 Coming Back
 Minor Steps :
 Take a taxi to reach station / airport
 Have candle light dinner on beach
 Take photos
Motivation

 Reduces the size of search space


Instead of having to try out a large number
of possible plan ordering, plan hierarchies
limit the ways in which an agent can select
and order its primitive operators

Ref : [4]
General Property

 Postpone attempts to solve mere details, until


major steps are in place.

 Higher level plan may run into difficulties at a


lower level, causing the need to return to higher
level again to produce appropriately ordered
sequence.

Ref : [1,2]
Planner

 Identify a hierarchy of conditions


 Construct a plan in levels, postponing details
to the next level
 Patch higher levels as details become visible
 Demonstrated using ABSTRIPS

Ref : [1,2]
ABSTRIPS

 Abstraction-Based STRIPS

Modified version of STRIPS that incorporates
hierarchical planning

Ref : [1,2]
Hierarchy in ABSTRIPS

 Hierarchy of conditions reflect the intrinsic


difficulty of achieving various conditions.
 Indicated by criticality value.

Ref : [2]
Criticality

 A operation having minimum criticality can be


trivially achievable, i.e., the operations having
very less or no precondition.
 Example : Opening makemytrip.com

 Similarly operation having many preconditions


to satisfy will have higher criticality.
Patching in ABSTRIPS

 Each level starts with the goal stack that


includes the plan obtained in the higher levels.

 The last item in the goal stack being the main


goal.

Ref : [2]
Ref : [1]
Example

 Actions required for “Travelling to Goa”:


 Opening makemytrip.com (1)
 Finding flight (2)
 Buy Ticket (3)
 Get taxi(2)
 Reach airport(3)
 Pay-driver(1)
 Check in(1)
 Boarding plane(2)
 Reach Goa(3)
Example

 1st level Plan :



Buy Ticket (3), Reach airport(3), Reach Goa(3)
 2nd level Plan :
 Finding flight (2), Buy Ticket (3), Get taxi(2), Reach
airport(3), Boarding plane(2), Reach Goa(3)
 3rd level Plan (final) :
 Opening makemytrip.com (1), Finding flight (2), Buy
Ticket (3), Get taxi(2), Reach airport(3), Pay-
driver(1), Check in(1), Boarding plane(2), Reach
Goa(3)
Hierarchical Task Network (HTN)

 STRIPS style planning drawbacks:


 Compound Goal
 Ex. Round trip : Mumbai-Goa-Mumbai
 Intermediate Constraints
 Ex. Before(reach station, boarding train)

 Most practical AI planners use HTN


 NOAH(1990), NONLIN(1990), SIPE(1988),
DEVISER(1983), SOAP(2001), SOAP-2(2003)

Ref : [3,4]
Task Network

 Collection of task and constraints on those tasks


 ((n1, α1) ,…, ((nm, αm) ,ϕ), where α1 is task labeled
with n1 ,and boolean formula expressing
constraints.
 Truth constraint : (n, p, n’) means p will be true
immediately after n and immediately before n’.
 Temporal ordering constraint : n ≺ n’ means task n
precedes n’.
 Variable binding constraint : ᴧ,ᴠ, =, ∼ etc.

Ref : [3]
Hierarchical Task Network

 Hierarchy abstraction achieved through


methods.
 A method is a pair (α, d) , where
 α is the non-primitive task, and
 d is the task network to achieve the task α

Ref : [3]
HTN examples

Task: travel(powai, calangute)

Method: taxi-travel(powai, calangute)


Method: air-travel(powai, calangute)
get-taxi ride(p,c) pay-driver get-ticket(S.C, Dabolim)
fly(S.C, Dabolim)) travel(D, c)
travel(p, S.C)

 ((n1:get-taxi), (n2:ride(x, y)), .., (n4:get-ticket),


(n5:travel(x, a(x)), (n6:fly(a(x),a(y)) … ,
((n1≺n2)..)ᴠ((n4 ≺ n6)ᴧ(n5 ≺ n6)…)

You might also like