40
1 ture slides for Automated Planning r the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/ Chapter 11 Hierarchical Task Network Planning Lecture slides for Automated Planning: Theory and Practice Dana S. Nau CMSC 722, AI Planning University of Maryland, Fall 2004

Chapter 11 Hierarchical Task Network Planning

  • Upload
    teigra

  • View
    96

  • Download
    3

Embed Size (px)

DESCRIPTION

Lecture slides for Automated Planning: Theory and Practice. Chapter 11 Hierarchical Task Network Planning. Dana S. Nau CMSC 722, AI Planning University of Maryland, Fall 2004. Motivation. We may already have an idea how to go about solving problems in a planning domain - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 11  Hierarchical Task Network Planning

1Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Chapter 11 Hierarchical Task Network Planning

Lecture slides for

Automated Planning: Theory and Practice

Dana S. Nau

CMSC 722, AI Planning

University of Maryland, Fall 2004

Page 2: Chapter 11  Hierarchical Task Network Planning

2Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Motivation We may already have an idea how to go about solving

problems in a planning domain Example: travel to a destination that’s far away:

Domain-independent planner:

» many combinations vehicles and routes Experienced human: small number of “recipes”

e.g., flying:1. buy ticket from local airport to remote airport

2. travel to local airport

3. fly to remote airport

4. travel to final destination

How to enable planning systems to make use of such recipes?

Page 3: Chapter 11  Hierarchical Task Network Planning

3Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Two Approaches Control rules (previous chapter):

Write rules to prune every action that doesn’t fit the recipe

Hierarchical Task Network (HTN) planning: Describe the actions and subtasks that do fit the recipe

Page 4: Chapter 11  Hierarchical Task Network Planning

4Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

HTN Planning

method

travel(x,y)

get-ticket (a(x), a(y))

travel (x, a(x)) fly (a(x), a(y))

travel (a(y),y)

air-travel(x,y)

get-taxi ride-taxi (x,y) pay-driver

taxi-travel(x,y)

travel(UMD, LAAS)get-ticket(BWI, Toulouse)

go to Orbitzfind-

flights(BWI,Toulouse)buy-

ticket(BWI,Toulouse)travel(UMD, BWI)

get-taxiride-taxi(UMD, BWI)pay-driver

fly(BWI, Toulouse)travel(Toulouse, LAAS)

get-taxiride-taxi(Toulouse, LAAS)pay-driver

task

A type of problem reduction Decompose tasks into subtasks Handle constraints (e.g., taxi not

good for long distances) Resolve interactions (e.g., take

taxi early enough to catch plane) If necessary, backtrack and try

other decompositions

Page 5: Chapter 11  Hierarchical Task Network Planning

5Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

HTN Planning HTN planners may be domain-specific

e.g., see Chapters 20 (robotics) and 23 (bridge) Or they may be

domain-configurable Domain-independent

planning engine Domain description

» methods,operators

Problem description

» domain description,initial state,initial task network

Page 6: Chapter 11  Hierarchical Task Network Planning

6Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Simple Task Network (STN) Planning A special case of HTN planning States and operators

The same as in classical planning Task: an expression of the form t(u1,…,un)

t is a task symbol, and each ui is a term

Two kinds of task symbols (and tasks):

» primitive: tasks that we know how to execute directly

• task symbol is an operator name

» nonprimitive: tasks that must be decomposed into subtasks

• use methods (next slide)

Page 7: Chapter 11  Hierarchical Task Network Planning

7Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Methods Totally-ordered method: a 4-tuple

m = (name(m), task(m), precond(m), subtasks(m)) name(m): an expression of the form n(x1,…,xn)

» x1,…,xn are parameters - variable symbols

task(m): a nonprimitive task precond(m): preconditions (literals) subtasks(m): a sequence

of tasks t1, …, tk

air-travel(x,y)

task: travel(x,y)

precond: long-distance(x,y)

subtasks: buy-ticket(a(x),b(x)), travel(x,a(x)), fly(a(x),b(x)),

travel(b(x),y)

travel(x,y)

buy-ticket (a(x), a(y)) travel (x, a(x)) fly (a(x), a(y)) travel (a(y), y)

long-distance(x,y)

air-travel(x,y)

Page 8: Chapter 11  Hierarchical Task Network Planning

8Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Partially ordered method: a 4-tuplem = (name(m), task(m), precond(m), subtasks(m))

name(m): an expression of the form n(x1,…,xn)

» x1,…,xn are parameters - variable symbols

task(m): a nonprimitive task precond(m): preconditions (literals) subtasks(m): a partially ordered

set of tasks {t1, …, tk}

air-travel(x,y)

task: travel(x,y)

precond: long-distance(x,y)

network: u1=buy-ticket(a(x),b(x)), u2= travel(x,a(x)), u3= fly(a(x),b(x))

u4= travel(b(x),y), {(u1,u3), (u2,u3), (u3 ,u3)}

travel(x,y)

buy-ticket (a(x), a(y)) travel (x, a(x)) fly (a(x), a(y)) travel (a(y), y)

long-distance(x,y)

air-travel(x,y)

Methods

Page 9: Chapter 11  Hierarchical Task Network Planning

9Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Domains, Problems, Solutions STN planning domain: methods, operators STN planning problem: methods, operators, initial state, task list Total-order STN planning domain and planning problem:

Same as above except thatall methods are totally ordered

Solution: any executable planthat can be generated byrecursively applying methods to

nonprimitive tasks operators to

primitive tasks

nonprimitive task

precond

method instance

s0 precond effects precond effectss1 s2

primitive taskprimitive task

operator instance operator instance

Page 10: Chapter 11  Hierarchical Task Network Planning

10Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example Suppose we want to move three stacks of containers in a way that

preserves the order of the containers

Page 11: Chapter 11  Hierarchical Task Network Planning

11Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example (continued)

A way to move each stack:

first move thecontainersfrom p to anintermediate pile r

then movethem from r to q

Page 12: Chapter 11  Hierarchical Task Network Planning

12Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Partial-Order Formulation

Page 13: Chapter 11  Hierarchical Task Network Planning

13Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Total-Order Formulation

Page 14: Chapter 11  Hierarchical Task Network Planning

14Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Solving Total-Order STN Planning Problems

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

action a

state (s,a) ; task list T=(t2, …)

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

task list T=( t1 ,t2,…)

method instance m

Page 15: Chapter 11  Hierarchical Task Network Planning

15Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Expressivity Relative toClassical Planning

Any classical planning planning problem can be translated into an ordered-task-planning problem in polynomial time

Several ways to do this. One is roughly as follows: For each goal or precondition e, create a task te

For each operator o and effect e, create a method mo,e

» Task: te

» Subtasks: tc1, tc2, …, tcn, o, where c1, c2, …, cn are the preconditions of o

» Partial-ordering constraints: each tci precedes o

There are HTN planning problems that cannot be translated into classical planning problems at all

Example on the next page

Page 16: Chapter 11  Hierarchical Task Network Planning

16Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Two methods: No arguments No preconditions

Two operators, a and b Again, no arguments and no preconditions

Initial state is empty, initial task is t Set of solutions is {anbn | n > 0}

No classical planning problem has this set of solutions The state-transition system is a finite-state automaton No finite-state automaton can recognize {anbn | n > 0}

method1

bta

t

method2

ba

t

Example

Page 17: Chapter 11  Hierarchical Task Network Planning

17Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Comparison toForward and Backward Search

In state-space planning, must choose whether to searchforward or backward

In HTN planning, there are two choices to make about direction: forward or backward up or down

TFD goesdown andforward

s0 s1 s2 … …op1 op2 opiSi–1

s0 s1 s2 …

task tm …

task tn

op1 op2 opiSi–1

task t0

Page 18: Chapter 11  Hierarchical Task Network Planning

18Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Comparison toForward and Backward Search

Like a backward search,TFD is goal-directed Goals

correspondto tasks

Like a forward search, it generates actionsin the same order in which they’ll be executed

Whenever we want to plan the next task we’ve already planned everything that comes before it Thus, we know the current state of the world

s0 s1 s2 …

task tm …

task tn

op1 op2 opiSi–1

task t0

Page 19: Chapter 11  Hierarchical Task Network Planning

19Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Us: East declarer, West dummyOpponents: defenders, South & NorthContract: East – 3NTOn lead: West at trick 3 East: KJ74

West: A2Out: QT98653

Increasing Expressivity Further Knowing the current state makes it easy to do things that would be

difficult otherwise States can be arbitrary data structures

Preconditions and effects can include

» logical inferences (e.g., Horn clauses)

» complex numeric computations

» interactions with other software packages e.g., SHOP:

http://www.cs.umd.edu/projects/shop

Page 20: Chapter 11  Hierarchical Task Network Planning

20Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example

Simple travel-planning domain Go from one location to another State-variable formulation

Page 21: Chapter 11  Hierarchical Task Network Planning

21Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Precond: distance(home,park) ≤ 2 Precond: cash(me) ≥ 1.50 + 0.50*distance(home,park)

Initial task: travel(me,home,park)

Precondition succeeds

travel-by-foot travel-by-taxi

Precondition failsDecomposition into subtasks

home park

Planning Problem: I am at home, I have $20,I want to go to a park 8 miles away

s1 = {location(me)=home, location(taxi)=home, cash(me)=20, distance(home,park)=8}

Initial state

s0 = {location(me)=home, cash(me)=20, distance(home,park)=8}

call-taxi(me,home) ride(me,home,park) pay-driver(me,home,park)

Precond: …Effects: …

Precond: …Effects: …

Precond: …Effects: …

s2 = {location(me)=park, location(taxi)=park, cash(me)=20, distance(home,park)=8

s3 = {location(me)=park, location(taxi)=park, cash(me)=14.50, distance(home,park)=8}

Final state

s1 s2 s3 s0

Page 22: Chapter 11  Hierarchical Task Network Planning

22Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Cannot interleave subtasks of different tasks

Sometimes this can make things awkward

Need methods that reason globally instead of locally

walk(a,b)pickup(p)walk(b,a)

get(p) get(q)

get-both(p,q)

goto(b)

pickup(p) pickup(q)

get-both(p,q)

Limitation of Ordered-Task Planning

pickup-both(p,q)

walk(a,b)pickup(q)walk(b,a)

walk(a,b)

goto(a)

walk(b,a)

Page 23: Chapter 11  Hierarchical Task Network Planning

23Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Generalize the Methods

Generalize methods to allow the subtasks to be partially ordered Consequence: plans may interleave subtasks of different tasks

This makes the planning algorithm more complicated

walk(a,b) pickup(p)

get(p)

stay-at(b) pickup(q)

get(q)

get-both(p,q)

walk(b,a) stay-at(a)

Page 24: Chapter 11  Hierarchical Task Network Planning

24Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

π={a1 …, ak, a }; w’={t2,t3 …}

w={ t1 ,t2,…}

method instance m

w’={ u1,…,uk ,t2,…}

π={a1,…, ak}; w={ t1 ,t2, t3…}

operator instance a

Generalize TFD to interleave subtasks

Page 25: Chapter 11  Hierarchical Task Network Planning

25Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

w={ t1 ,t2,…}

method instance m

w’={ u1,…,uk ,t2,…}

(w, u, m, ) has a complicated definition in the book. Here’s what it means: We selected t1 because it’s possible for t1 to come first

We’re planning for t1 under the assumption that it will come first

Insert ordering constraints to ensure it will come first The same constraints also must apply to all subtasks of t1

Generalize TFD to interleave subtasks

Page 26: Chapter 11  Hierarchical Task Network Planning

26Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Discussion PFD is sound and complete Can generalize in the same ways as TFD

SHOP2: implementation of PFD-like algorithm + generalizations Won one of the top four awards in the AIPS-2002 Planning

Competition Freeware, open source Implementation available at

http://www.cs.umd.edu/projects/shop

Page 27: Chapter 11  Hierarchical Task Network Planning

27Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

HTN Planning HTN planning is even more general

Can have constraints associated with tasks and methods

» Things that must be true before, during, or afterwards Some algorithms use causal links and threats like those in PSP

There’s a little about this in the book I won’t discuss it

Page 28: Chapter 11  Hierarchical Task Network Planning

28Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

TLPlan’s Expressivity Compared withSHOP and SHOP2

Equivalent expressive power Both are Turing-complete, because both allow function symbols Both allow attached procedures, numeric computations

Both know the current state at each step of the planning process,and use this to prune operators

Both can call external subroutines SHOP uses “eval” to call LISP functions In TLPlan, a function symbol can correspond to a computed function

Main difference in SHOP and SHOP2, the methods talk about what can be done

» SHOP and SHOP2 don’t do anything unless a method says to do it TLPlan’s control rules talk about what cannot be done

» TLPlan will try everything that the control rules don’t prohibit Which approach is more convenient depends on the problem domain

Page 29: Chapter 11  Hierarchical Task Network Planning

29Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Experimental Comparison Several years ago, we did a comparison of SHOP, TLPlan, and Blackbox

Blackbox is a domain-independent planner that uses a combination of Graphplan and satisfiability

One of the two fastest planners in the 1998 planning competition Test domain: the logistics domain

A classical planning problem

» Much simpler than real logistics planning Scenario: use trucks and airplanes to deliver packages Like a simplified version of the DWR domain in which containers don’t get

stacked on each other Test conditions

SHOP and TLPlan on a 167-MHz Sun Ultra with 64 MB of RAM We couldn’t run Blackbox on our machine Published results: Blackbox on a faster machine with 8 GB of RAM

Page 30: Chapter 11  Hierarchical Task Network Planning

30Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

0

200

400

600

800

1000

1200

1400

1600

1800

1 5 9 13 17 21 25 29

CPU time (sec.)

Blackbox TLplan SHOP

Logistics Domain Results

Page 31: Chapter 11  Hierarchical Task Network Planning

31Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Logistics Domain Results (continued)

0.1

1

10

100

1000

10000

1 5 9 13 17 21 25 29

Blackbox TLplan SHOP

10

30

5070

90

110

130

1 5 9 13 17 21 25 29

Blackbox TLplan SHOP

Average Blackbox TLPlan SHOPCPU time 327.1 2.9 1.1

Average no. Blackbox TLPlan SHOPof actions 82.5 54.5 51.9

Same graph as before, but on a logarithmic scale

Number of actions in the plans

Page 32: Chapter 11  Hierarchical Task Network Planning

32Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Summary TLPlan and SHOP took similar amounts of time

In this experiment, SHOP was slightly faster, but in others TLPlan may be faster

Blackbox took about 1000 times as much timeand needed about 100 times as much memory

Reasons why: SHOP’s input included domain-specific methods & axioms TLPlan’s input included domain-specific control rules

» This enabled them to find near-optimal solutions in low-order polynomial time and space

Blackbox is a fully automated planner» No domain-specific knowledge» trial-and-error search, exponential time and space

Page 33: Chapter 11  Hierarchical Task Network Planning

33Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Domain-Configurable PlannersCompared to Classical Planners

Disadvantage: writing a knowledge base can be more complicated than just writing classical operators

Advantage: can encode “recipes” as collections of methods and operators Express things that can’t be expressed in classical planning Specify standard ways of solving problems

» Otherwise, the planning system would have to derive these again and again from “first principles,” every time it solves a problem

» Can speed up planning by many orders of magnitude (e.g., polynomial time versus exponential time)

Page 34: Chapter 11  Hierarchical Task Network Planning

34Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Example from the AIPS-2002 Competition

The satellite domain Planning and scheduling observation tasks among multiple satellites Each satellite equipped in slightly different ways

Several different versions. I’ll show results for the following: Simple-time:

» concurrent use of different satellites» data can be acquired more quickly if they are used efficiently

Numeric: » fuel costs for satellites to slew between targets; finite amount of fuel

available.» data takes up space in a finite capacity data store» Plans are expected to acquire all the necessary data at minimum fuel cost.

Hard Numeric: » no logical goals at all – thus even the null plan is a solution» Plans that acquire more data are better – thus the null plan has no value» None of the classical planners could handle this

Page 35: Chapter 11  Hierarchical Task Network Planning

35Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Page 36: Chapter 11  Hierarchical Task Network Planning

36Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Page 37: Chapter 11  Hierarchical Task Network Planning

37Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Page 38: Chapter 11  Hierarchical Task Network Planning

38Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Page 39: Chapter 11  Hierarchical Task Network Planning

39Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/

Page 40: Chapter 11  Hierarchical Task Network Planning

40Dana Nau: Lecture slides for Automated PlanningLicensed under the Creative Commons Attribution-NonCommercial-ShareAlike License: http://creativecommons.org/licenses/by-nc-sa/2.0/