230 likes | 318 Views
Object Transition Sequences: A New Form of Abstraction for HTN Planners. Lee McCluskey Computing Science Dept, The University of Huddersfield, UK. Contents. Research Aims Background: the domain modelling language OCLh The HTN Planning Algorithm EMS. Problems.
E N D
Object Transition Sequences: A New Form of Abstraction for HTN Planners Lee McCluskey Computing Science Dept, The University of Huddersfield, UK
Contents • Research Aims • Background: the domain modelling language OCLh • The HTN Planning Algorithm EMS
Problems • In applications involving non-toy domain models, traditional htn/Strips domain modelling languages seem to lead to • trouble in building and reasoning with models and planners • models which are hard to validate • There have been various recent advances in planning (e.g. advance in expression by UCPOP, in efficiency by Graphplan) but not much effort in harnessing domain STRUCTURE.
General Aims Our general work on “object-centred planning” is aimed at: • Making domain model building easier • making domain models clearer • making the algorithms simpler to understand At the heart is a simple, tool-supported hierarchical language called OCLh which can be used in conjunction with a design method.
Specific Aims • Introduce a new HTN algorithm called EMS (Expand - Make - Sound) • EMS based on the use of “transition sequences” • Transition sequences based on OCLh
OCLh: States and Objects SORT; OB-ID; SUBSTATE Truck; t-1; at(city-1), moveable, busy(pk-2) object descriptions S-2 ; j-2 ; ss-2 S-3 ; j-3 ; ss-3 ...................... STATE = list of object descriptions
OCLh: Sort Hierarchy vehicle; V; at(V,location) Truck; T; moveable(T) & busy(T,package) or moveable(T) or out-of-service(T) truck ; t-1; at(t-1,city1-cl1) & moveable(t-1) & busy(t-1,pk-2)
OBJECT and CLASS Expressions Object expression: satisfied by at least one substate truck ; T; at(T,C) & moveable(T) & busy(T,P) vehicle ; V; at(V,C) & busy(V,P) & in-city(C,city1) Class expression: must include full hierarchical components truck ; t-1; at(t-1,city1-cl1) & moveable(t-1) & busy(t-1,pk-2) Object description
OCLh: ACTIONS and TRANSITIONS Train ; t-1; at(city2-ts1), in-service, attached(c-2) Train ; t-1; at(city1-ts1), in-service, attached(c-2) Car ; c-2; at(city1-ts1), attached(t-1), busy, .. Car ; c-2; at(city2-ts1), attached(t-1), busy, .. ...................... ...................... State-1 State-2
GUARDED TRANSITION SEQUENCES • TRANSITION: OBJECT EXPRESSION => CLASS EXPRESSION • GUARDED TRANSITION SEQUENCE: (SORT,OBJ-PARAM,PRE,[oe-1 => ce-1, ... ,oe-N => ce-N], POST) • SOUND GUARDED TRANSITION SEQUENCE: For any object description that satisfies the precondition, the transition sequence will result in an object that satisfies the post-condition.
Example (truck,T, [at(T,C),movable(T),available(T)] [ [movable(T),available(T)] => [movable(T),busy(T,pk-2)], [at(T,C),movable(T)] => [at(T,city3-cl1)], [at(T,city3-cl1),movable(T)] => [at(T,city3-cl1), movable(T),busy(T,pk-2)], [at(T,city3-cl1),movable(T)] => [at(T,city1-cl1)], [at(T,city1-cl1), movable(T),busy(T,pk-2)] => [at(T,city1-cl1), movable(T),available(T)] ], [at(T,city1-cl1), movable(T),available(T)] )
Hierarchical Operators GENERAL FORM (ID, PRE, TRANSITIONS, STATICS, TEMPS, DECOMPOSITION) EXAMPLE: (carry-direct(P,O,D), [ ], [ (package, P, [at(P,O), waiting(P), certified(P)] => [at(P,D), waiting(P), certified(P)] )] [is-of-sort(P,package), is-of-sort(V,truck), in-city(O,CY), in-city(D,CY) ], [before(1,3), before(2,3), before(3,4), before(4,5)], [commission(V,P), achieve((truck,V,[at(V,O)])), load-package(P,V,O), move(V,O,D,R1), unload-package(P,V,D) ] )
Summary: an OCLh Domain Model DOMAIN MODEL = OBJECTS; SORT HIERARCHY; CLASS EXPRESSIONS; ATOMIC INVARIANTS; GENERAL INVARIANTS; PRIMITIVE OPERATORS; HIERARCHICAL OPERATORS
The EMS Algorithm: Input and Output - INPUT TASK: ( BODY, TEMPS, STATICS) - EXAMPLE TASK: ( [ achieve(ss(traincar,traincar1,[at(traincar1,city1-ts1)])), transport(pk-5-z,city3-cl1-z,city2-cl1), achieve(ss(package,pk-5,[at(pk-5,X),delivered(pk-5)] )) ], [before(1,3)], [serves(X,city3-x)] ) OUTPUT: a solution - a partially ordered/instantiated set of primitive ops
EMS: Search Space PARTIAL PLAN = (NETWORKS, STATICS) NETWORKS is TREE STRUCTURED: ROOT NETWORK NODE NETWORK NODE NETWORK LEAF NETWORK LEAF NETWORK LEAF NETWORK
EMS: Operation • Network = (Id, Pre, Post, Steps, Temps) • Each non-root Network comes from a Step in its parent Network • A Network is SOUND if all its guarded transition sequences are sound, where • Pre and Post contain the guards • all sequences are those that satisfy Temps
EMS: Operation • Outline Algorithm: • 1. Construct and store an initial partial plan using initial state and task as usual • 2. Choose a partial plan P; If all networks in P are sound and contain primitive operators, go to 6. • 3. If all networks in P are sound, expand leaf networks by replacing hierarchical ops with their expansions • 4. If some networks in P are not sound, make them sound by manipulating their pre- and post-conditions; if this introduces new objects into the guards, these must be ‘passed-up’ • 5. Go to 2 • 6. Extract a solution from P’s network leaves
EMS: Example Network B5 P1 SOUND NETWORK: N2 P2 A5 P3 A0 P0 B0 A1 B1 A4 A3 N4 N3 A2 EXPANSION OF STEP N3: A1 B1 A6 V1 B2 A2 A7 V2 B3 V4 V3 N5 N6
EMS: Network Made Sound B5 P1 N2 P2 A5 P3 B6 V6 A0 P0 B0 V7 A1 B1 V0 A4 A3 N4 N3 A2 B4 V5 NETWORK MADE SOUND: A1 B1 V0 A6 V1 B2 A2 B4 V5 A7 V2 B3 V4 V3 N5 N6
EMS uses another form of abstraction.. • The EMS Algorithm draws on the LINK between: Operator Structure, Substate Class Structure, and Transition Sequences
EMS: EVALUATION • Theoretical • current algorithm proved sound • current algorithm not complete • Empirical • tried out on Translog-derived domains of varying complexity (results in paper)
Conclusions • The main innovation in the EMS algorithm - • sound algorithm with the potential of application to complex applications • object transitions correspond, in general, to the sequential parts of a plan. This allows the pre and post-conditions of transitions in a network to be efficiently computed, and these conditions can be used as guards in reasoning within higher-level networks. • the sort-abstraction technique means that we only consider transitions of a related sort when reasoning about soundness. • reasoning about the soundness of transition sequences is essential done locally - at no time does EMS have to consider the soundness of the whole plan at a global level.
Future Work • EMS is new and requires a great deal of development. One development would be to make it very generic so that it could be (automatically) configured to various domains. • Through the PLANFORM project we will be applying EMS to some complex ‘real’ applications