practical htn planning putting htn planning into use

29
Practical HTN Planning Putting HTN Planning into Use

Upload: elwin-davis

Post on 14-Jan-2016

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning

Putting HTN Planning

into Use

Page 2: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 2

Literature Human Planning Klein, G. (1998) Sources of Power: How People Make Decisions, MIT Press.

Refinement Search Kambhampati, S., Knoblock, C.A. and Yang, Q. (1995) Planning as Refinement Search: A Unified

Framework for Evaluating Design Tradeoffs in Partial-Order Planning, Artificial Intelligence, Vol. 76, No. 1-2, pp. 167-238, Elsevier.

Nonlin http://www.aiai.ed.ac.uk/project/nonlin/ Tate, A. (1977) Generating Project Networks, Proceedings of the Fifth International Joint Conference on

Artificial Intelligence (IJCAI-77) pp. 888-893, Boston, Mass. USA, August 1977. O-Plan http://www.aiai.ed.ac.uk/project/oplan/ Currie, K and Tate, A. (1991) O-Plan: the Open Planning Architecture, Artificial Intelligence Vol. 52, No. 1,

pp 49-86, Elsevier.

Other Practical Planners Ghallab, M., Nau, D. and Traverso, P., Automated Planning – Theory and Practice, chapters 19, 22 and

23. Elsevier/Morgan Kaufmann, 2004.

Page 3: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 3

Overview

Human Approaches to Planning Practical HTN Planning Refinement Planning as a Unifying View Nonlin and O-Plan Features QA (Modal Truth Criterion) Time, Resource and Other Constraint Handling I-X/I-Plan Overview

Page 4: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 4

Expansion of a high level abstract plan into greater detail where necessary.

High level ‘chunks’ of procedural knowledge (Standard Operating Procedures, Best Practice Processes, Tactics Techniques and Procedures, etc.) at a human scale - typically 5-8 actions - can be manipulated within the system.

Ability to establish that a feasible plan exists, perhaps for a range of assumptions about the situation, while retaining a high level overview.

Analysis of potential interactions as plans are expanded or developed.

Identification of problems, flaws and issues with the plan. Deliberative establishment of a space of alternative options, perhaps

based on different assumptions about the situation involved, of especial use ahead of time, in training and rehearsal, and to those unfamiliar with the situation or utilising novel equipment.

Some Planning Features

Page 5: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 5

Monitoring of the execution of events as they are expected to happen within the plan, watching for deviations that indicate a necessity to re-plan (often ahead of this becoming a serious problem).

Represent the dynamic state of the world at points in the plan and use this for ‘mental simulation’ of the execution of the plan.

Pruning of choices according to given requirements or constraints.

Situation dependent option filtering (sometime reducing the choices normally open to one ‘obvious’ one.

Satisficing search to find the first suitable plan that meets the essential criteria.

Heuristic evaluation and prioritisation of multiple possible choices within the constrained search space.

Uniform use of a common plan representation with embedded rationale to improve plan quality, shared understanding, etc.

More Planning Features

Page 6: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 6

Previous slides describe aspects of problem solving behaviour observed in expert humans working in unusual or crisis situations.

Gary Klein, “Sources of Power”, MIT Press, 1998.

But they also describe the hierarchical and mixed initiative approach to planning in AI developed over the last 30 years.

Human Approach

Page 7: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 7

HTN Planning is a useful paradigm…

Compose workflows/processes from requirements and component/template libraries

Covers simple through to very complex (pre-planned) components

Allows for execution support, reactive repair, recovery, etc. Suited to mixed initiative (people and systems) planning

and execution Gives an understandable framework within which

specialised constraint solvers, domain-specific planners (e.g. route finders), optimisers, plan analysers and simulators can work

HTN - Planning Approach

Page 8: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 8

A1

A2

A3

A5A4

“Initial” Plan

Refine

Introduce activities to achieve preconditionsResolve interactions between conditions and effects

Handle constraints (e.g. world state, resource, spatial, etc.)

“Final” Plan

A2.2A2.1

A1

A3

A5A4

Plan Library

A2 Refinement

S2S1

HTN - Activity Composition

Page 9: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 9

Refine

Plan Library

Ax Refinement

S2S1

P

Initial Plan can be any combination of Activities and Constraints

“Refined” Plan

A1.2A1.1

Q

P“Initial” Plan

P

Q

HTN – Initial Plan as “Goals”

Page 10: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 10

Hierarchical Task Network Planning Partial Order Planner Plan Space Planner Goal structure-based plan development - considers

alternative “approaches” only based on plan rationale QA/Modal Truth Criterion Condition Achievement Condition “Types” to limit search “Compute Conditions” for links to external data and

systems (attached procedures) Time and Resource Constraint checks

Nonlin core is basis for text book descriptions of HTN Planning

Nonlin (1974-1977)

Page 11: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 11

Nonlin Domain Language – TFopschema makeon pattern {on $*x $*y} expansion 1 goal {cleartop $*x} 2 goal {cleartop $*y} 3 action {put $*x on top of $*y} orderings 1 ---> 3 2 ---> 3 vars x undef y undef;end;

opschema makeclear pattern {cleartop $*x} expansion 1 goal {cleartop $*y} 2 action {put $*y on top of $*z} orderings 1 ---> 2 conditions usewhen {on $*y $*x} at 2 usewhen {cleartop $*z} at 2 vars x <:non table:> y undef z <:et <:non $*x:> <:non $*y:> :>;end;

actschema puton pattern {put $*x on top of $*y} conditions usewhen {cleartop $*x} at self usewhen {cleartop $*y} at self usewhen {on $*x $*z} at self effects + {on $*x $*y} - {cleartop $*y} - {on $*x $*z} + {cleartop $*z} vars x undef y undef z undef;end;

always {cleartop table};

initially {on c a} {on a table} {on b table} {cleartop c} {cleartop b} ;

plan goal {on a b} goal {on b c};$*x is a variable

“typed” condition restricts search spaceexample of search control knowledge

Page 12: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 12

QA in a partially ordered network of nodes Way to establish value of a condition P=V at some point in the plan Yes/no/maybe responses Alternative Terminology:

• Contributors, deletors (Austin Tate, Nonlin, QA, Edinburgh, 1975-7)• White nights and clobberers (David Chapman, MIT, MTC, 1987, 1st Formalisation)• Producers, consumers (Some textbooks)

Initially just allowed imposition of orderings on nodes for a condition, a b (ordering)

Later also allowed variables within condition to be constrained – = (codesignation), ≠ (non-codesignation)

Intuitively, a white knight is an activity which re-establishes a clobbered precondition p

A clobberer in a plan can be "defeated" by imposing ordering or codesignation/non-codesignation constraints on the plan, or by inserting a white knight between the clobberer and the point where a condition is needed

QA/Modal Truth Criterion

Page 13: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 13

QA/Modal Truth Criterion

Before After

P=V

Contributor

No Effect

Deletor

Need to ensure no deletorappears between a chosencontributor and point of need

Page 14: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 14

O-Plan (1983-1999) Features

Hierarchical Task Network Planning Nonlin-like goal-structure, QA and Typed/Compute

conditions Partial-Plan “Refinement “ Approach Plan State has “flaws”/issues attached Agenda Architecture with Plan Modification Operations “Opportunistic Search” (agenda type, branch1/branch N) Multiple constraint managers with yes/no [and maybe] results Least Commitment Approach (on activity ordering,

object/variable bindings and other constraints) Constraint “Posting” rather than explicit commitments

(and/or trees with sets of “before” temporal constraints and variable binding (= and ≠) constraints) [as in MOLGEN]

Goal structure recording and monitoring to preserve plan rationale

Page 15: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 15

O-Plan (1983-1999) Features

Page 16: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 16

O-Plan Domain Language – TF

types objects = (a b c table), movable_objects = (a b c);always {cleartop table};

schema puton; vars ?x = ?{type movable_objects}, ?y = ?{type objects}, ?z = ?{type objects}; vars_relations ?x /= ?y, ?y /= ?z, ?x /= ?z; expands {puton ?x ?y}; only_use_for_effects {on ?x ?y} = true, {cleartop ?y} = false, {on ?x ?z} = false, {cleartop ?z} = true; conditions only_use_for_query {on ?x ?z} achieve {cleartop ?x} achieve {cleartop ?y}; end_schema;

“typed” condition restricts search spaceexample of search control knowledge

?x is a variable

Page 17: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 17

O-Plan Agent Architecture

Page 18: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 18

O-Plan Agent Architecture

Later became• Issues• Nodes• Constraints• Annotations

Later becamePlan

Modification Operators

Page 19: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 19

O-Plan Planning Workflow

Page 20: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 20

Human relatable and presentable objectives, issues, sense-making, advice, multiple options, argumentation, discussions and outline plans for higher levels

Detailed planners, search engines, constraint solvers, analyzers and simulators act in this framework in an understandable way to provide feasibility checks, detailed constraints and guidance

Sharing of processes and information about process products between humans and systems

Current status, context and environment sensitivity Links between informal/unstructured planning, more structured

planning and methods for optimisation

A More CollaborativePlanning Framework

Page 21: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 21

Shared, intelligible, easily communicated and extendible conceptual model for objectives, processes, standard operating procedures and plans:• I Issues• N Nodes/Activities• C Constraints• A Annotations

Communication of dynamic status and presence for agents, and reports about their collaborative processes and process products

Context sensitive presentation of options for action Intelligent activity planning, execution, monitoring, re-

planning and plan repair via I-Plan and I-P2 (I-X Process Panels)

I-X/I-Plan (2000- )

Page 22: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 22

Constraints

Issues

Nodes

Plan State

Space of Legitimate Behaviours

Issues or ImpliedConstraints

NodeConstraints

DetailedConstraints

I

N

C

A Annotations

<I-N-C-A> Framework

Page 23: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 23

Constraints

Issues

Nodes

Plan State

Space of Legitimate Behaviours

Issues or ImpliedConstraints

NodeConstraints

DetailedConstraints

I

N

C

A Annotations

<I-N-C-A> & I-X

Do (IH)

Choose (IH)

IH=Issue Handler (Agent Functional Capability)

PropagateConstraints

Page 24: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 24

Anatomy of an I-X Process Panel

Page 25: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 25

I-P2 aim is a Planning, Workflow and Task Messaging “Catch All”

Can take ANY requirement to:• Handle an issue• Perform an activity• Respect a constraint• Note an annotation

Deals with these via:• Manual activity• Internal capabilities• External capabilities• Reroute or delegate to other panels or agents• Plan and execute a composite of these capabilities (I-Plan)

Receives reports and interprets them to:• Understand current status of issues, activities and constraints• Understand current world state, especially status of process products• Help user control the situation

Copes with partial knowledge of processes and organisations

Page 26: Practical HTN Planning Putting HTN Planning into Use

Process Panel

I-X Process Panel and Tools

Domain Editor

Messenger I-Plan

Map Tool

Page 27: Practical HTN Planning Putting HTN Planning into Use

I-X for Emergency Response

Collaboration and Communication

CommandCentre

CentralAuthorities

IsolatedPersonnel

EmergencyResponders

Page 28: Practical HTN Planning Putting HTN Planning into Use

Planning Research Areas & TechniquesPlanning Research Areas & Techniques

Problem is to

make sense

of all t

hese techniques

Problem is to

make sense

of all t

hese techniques

Deals with whole

life cycle of plans

• Search Methods Heuristics, A*• Graph Planning Algthms GraphPlan• Partial-Order Planning Nonlin, UCPOP• Hierarchical Planning NOAH, Nonlin, O-Plan• Refinement Planning Kambhampati• Opportunistic Search OPM• Constraint Satisfaction CSP, OR, TMMS• Optimisation Methods NN, GA, Ant Colony Opt.• Issue/Flaw Handling O-Plan

• Plan Analysis NOAH, Critics• Plan Simulation QinetiQ• Plan Qualitative MdlingExcalibur

• Plan Repair O-Plan• Re-planning O-Plan• Plan Monitoring O-Plan, IPEM

• Plan Generalisation Macrops, EBL• Case-Based Planning CHEF, PRODIGY• Plan Learning SOAR, PRODIGY

• Plan Generalisation Macrops, EBL• Case-Based Planning CHEF, PRODIGY• Plan Learning SOAR, PRODIGY

• User Interfaces SIPE, O-Plan• Plan Advice SRI/Myers• Mixed-Initiative PlanS TRIPS/TRAINS

• Planning Web Services O-Plan, SHOP2

• Plan Sharing & Comms I-X, <I-N-C-A>• NL Generation …• Dialogue Management …

• Domain Modelling HTN, SIPE

• Domain Description PDDL, NIST PSL

• Domain Analysis TIMS

Page 29: Practical HTN Planning Putting HTN Planning into Use

Practical HTN Planning 29

Summary

Human Approaches to Planning Practical HTN Planning Refinement Planning as a Unifying View Nonlin and O-Plan Features QA (Modal Truth Criterion) Time, Resource and Other Constraint Handling I-X/I-Plan Overview