where - pennsylvania state university

138

Upload: others

Post on 12-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Where - Pennsylvania State University

Where Ignoring Delete Lists Works:Local Search Topology in Planning BenchmarksJ�org Ho�mannInstitute for Computer ScienceAlbert-Ludwigs-UniversityGeorges-K�ohler-Allee, Geb. 5279110 Freiburg, Germanyho�[email protected] Report No. 185March 20, 2003AbstractDuring the last �ve years, the planning community has seen vast progressin terms of the sizes of benchmark examples that domain-independent plan-ners can tackle successfully. The key technique behind this progress is theuse of heuristic functions based on relaxing the planning task at hand, wherethe relaxation is to assume that all delete lists are empty. The success of suchmethods in many of the current benchmarks suggests that in those task'sstate spaces relaxed goal distances yield a heuristic function of high quality.Investigating a large range of planning domains, I prove that the latter isindeed the case. I identify several key characteristics of local search topologyunder relaxed goal distances, concerning the non-existence of unrecognizeddead ends, as well as constant upper bounds on the di�culty of escapinglocal minima and benches. These characteristics occur in the majority of thecurrent benchmarks. This explains the recent success of heuristic planners.Speci�cally, it follows that FF's search algorithm, using an idealized heuristicfunction, is a polynomial solving mechanism in (at least) eleven commonlyused benchmark domains. The proofs shed light on what the structuralreasons are behind the topological phenomena, giving hints on how thesephenomena might be automatically recognizable. I discuss the consequencesof my �ndings on ways of benchmarking in planning.1

Page 2: Where - Pennsylvania State University

Contents1 Introduction 52 Planning Framework 82.1 Predicates, Facts, and Groundings . . . . . . . . . . . . . . . . . . 82.2 States, Actions, and Tasks . . . . . . . . . . . . . . . . . . . . . . . 82.3 Operators, Instances, and Domains . . . . . . . . . . . . . . . . . . 92.4 Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5 Extension to ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Investigated Benchmark Domains 113.1 Transportation Domains . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Construction Domains . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Other Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Local Search Topology 144.1 State Spaces, and h+ . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Dead Ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 Plateaus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 A Structural Core 205.1 Dead Ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2 Local Minima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.3 Exit Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 No Local Minima and Bounded Maximal Bench Exit Distance 276.1 Simple-Tsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276.2 Movie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.3 Gripper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296.4 Ferry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306.5 Logistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.6 Miconic-STRIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.7 Miconic-SIMPLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.8 Tireworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 No Local Minima 397.1 Briefcaseworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397.2 Fridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417.3 Blocksworld-no-arm . . . . . . . . . . . . . . . . . . . . . . . . . . 437.4 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.5 Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

Page 3: Where - Pennsylvania State University

8 Bounded Maximal Local Minimum Exit Distance and BoundedMaximal Bench Exit Distance 508.1 Zenotravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518.2 Satellite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538.3 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 No Unrecognized Dead Ends 619.1 Blocksworld-arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619.2 Depots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629.3 Driverlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639.4 Rovers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6610 Unrecognized Dead Ends 7110.1 Mystery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7110.2 Mprime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7210.3 Freecell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7310.4 Miconic-ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7410.5 Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7510.5.1 Solvability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7710.5.2 Some Observations Concerning Dead Ends . . . . . . . . . 7910.5.3 Some Observations Concerning Local Minima . . . . . . . . 8411 A Planning Domain Taxonomy 8812 Discussion 90A Formalized Benchmark Domains 93A.1 Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94A.2 Blocksworld-arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97A.3 Blocksworld-no-arm . . . . . . . . . . . . . . . . . . . . . . . . . . 98A.4 Briefcaseworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99A.5 Depots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99A.6 Driverlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101A.7 Ferry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.8 Freecell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104A.9 Fridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.10 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108A.11 Gripper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110A.12 Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111A.13 Logistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111A.14 Miconic-ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113A.15 Miconic-SIMPLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115A.16 Miconic-STRIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116A.17 Movie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117A.18 Mprime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118A.19 Mystery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203

Page 4: Where - Pennsylvania State University

A.20 Rovers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120A.21 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123A.22 Satellite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128A.23 Simple-Tsp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129A.24 Tireworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130A.25 Zenotravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

4

Page 5: Where - Pennsylvania State University

1 IntroductionDuring the last �ve years, one of the strongest trends in the planning communityhas been that towards heuristic planners, more speci�cally towards the use ofheuristic distance (e.g., goal distance) estimation functions. The best runtimeresults, progressing far beyond the sizes of benchmark examples that previousdomain-independent planners could tackle successfully, have been achieved basedupon a technique phrased \ignoring delete lists". There, the heuristic functionis derived by considering a relaxation of the planning task at hand, where therelaxation is to assume that all delete lists (i.e. the negative e�ects of the availableplanning operators) are empty. During search, may it be forward or backward,state space or plan space, the heuristic value of a search state in this framework is(an estimate of) the di�culty of extending the state to a solution using the relaxedoperators. In this article, I o�er an explanation of the success of such methods:as it turns out most of the current planning benchmarks share a kind of structurethat makes relaxed planning a very informative heuristic.Extending a search state to a solution using the real operators is at least ashard as it is when using the relaxed operators so optimal relaxed solutions can, inprinciple, be used to derive admissible heuristic functions. However, as was �rstproved by Bylander [13], deciding bounded plan existence is NP-hard even whenthere are no delete lists. Thus there is not much hope to �nd optimal relaxed plans(i.e., optimal relaxed solution-extensions of search states) fast. Instead, one canapproximate the length of an optimal relaxed plan to a search state. Techniques ofthis kind were �rst, independently, proposed by McDermott [52] and by Bonet etal [11], who developed the planners Unpop [52, 54], and HSP1 [11, 7]. Both theseplanners perform forward state space search guided by an approximation of relaxedgoal distance; Unpop approximates that distance by backchaining from the goals,HSP1 approximates that distance by a forward value iteration technique. In theAIPS-1998 planning competition [53], HSP1 compared well with four other com-petitors. This inspired the development of HSP-r and HSP2 [8, 10, 9], GRT [61, 62],AltAlt [56, 65], as well as FF [38, 46, 40]. In comparison to HSP1, HSP-r avoidsheuristic re-computations by changing the search direction; HSP2 implements thevarious HSP versions in a con�gurable hybrid system; GRT avoids heuristic re-computations by changing the heuristic direction (the direction in which relaxedplans are computed); AltAlt uses a planning graph to extract heuristic values;and FF uses a modi�ed technique for approximating relaxed plan length, as wellas new pruning and search techniques. The results reported for FF [39] inspiredthe development of Mips [20] and STAN4 [24], which integrate elaborated vari-ations of FF's relaxed plan length estimation technique into hybrid systems. Inthe AIPS-2000 planning competition [2], the heuristic planners dramatically out-performed the other approaches runtime-wise, scaling up to benchmark examplesfar beyond reach of previous, e.g., Graphplan-based [5, 6], systems. Out of the14 competing domain-independent planners, FF was the only one winning a 1stprize, while three of the four 2nd prize winners (HSP2, STAN4, and Mips) wereout of the same planner family. This caused the trend towards heuristic plannersto still increase. Various researchers extended relaxed plan distance estimation5

Page 6: Where - Pennsylvania State University

techniques to temporal and numerical settings [16, 42, 19]. Others adapted themfor use in partial order plan-space search [57, 67], developed variations of themto provide new means of heuristic guidance [58, 64], or modi�ed them to takeexclusion relations in a planning graph into account [29]. In the AIPS-2002 plan-ning competition [25], out of 11 domain-independent competing systems, 7 wereusing relaxed plan distance estimations in one or the other form. All three price-winning domain-independent planners (LPG [29, 30], Mips [19], and VHPOP [67])were from this group. The 1st prize winner LPG uses, amongst other heuristics,a relaxed planning technique to estimate the di�culty of (sub-)goal achievementin a planning graph.The success of relaxed plan based heuristic methods in many of the currentplanning benchmarks suggests that, in those tasks, relaxed plans deliver highlyinformative heuristics. This intuition was �rst suported in 2001 by empirical ob-servations made by the author in small random example benchmarks [41]. In thearticle at hand, I prove that relaxed plans yield a high quality heuristic functionin most of the commonly used benchmark domains. The investigation takes placein the setting of forward state space search as used by, e.g., Unpop, HSP, Mips,and FF. I idealize matters in that I consider the heuristic value given by the op-timal relaxed plan length to each search state. For a search state s, the optimalrelaxed plan length to s is denoted with h+(s). As described above, computingthe h+ function is NP-hard, and the current state-of-the-art heuristic planners usevarious approximations of h+ to guide search. Now, it is common knowledge thatthe behavior of heuristic search methods (may they be global or local, i.e., withor without backtracking mechanisms) depends crucially on the quality of the un-derlying heuristic function. This has, e.g., been studied in the SAT community,e.g. by Frank et al. [26]. In their work, Frank et al. (empirically) investigateproperties of the local search topology, i.e., of topological properties like the sizesof local minima etc., in SAT instances under a standard heuristic function. I adaptFrank et al.'s de�nitions to AI planning. I investigate a range of 25 commonly usedSTRIPS and ADL benchmark domains including all competition examples, and,looking at the individual domains in turn, I identify several key characteristics ofthe topology of the respective search spaces under h+. The characteristics are thefollowing.1. In 20 of the benchmark domains, there are no unrecognized dead ends, i.e., nostates from which the goal is unreachable but for which there is a relaxedplan.2. In 16 of the above 20 benchmark domains, one can always escape localminima (regions where all neighbors have a higher heuristic value) withina number of steps that is constant across all instances of the domain (infact, in 13 of these domains there are no local minima at all).3. In 11 of the above 16 benchmark domains, one can always escape benches(regions where all states have the same heuristic value) within a number ofsteps that is constant across all instances of the domain.6

Page 7: Where - Pennsylvania State University

These results serve to explain the excellent performance of state-of-the-artheuristic planners in the current planning benchmarks. The results are idealizedin that they consider h+, not the approximations used in practice, and in that theyconsider the search space faced by a forward state space search only. Neverthelessit seems likely that all relaxed plan based heuristic approaches bene�t from thequality of h+, or, in the negative cases, su�er from its lack of quality (some moreon this in the discussion, Section 12). Most speci�cally, the results prove thatFF's search algorithm is a polynomial solving mechanism in 11 of the investigated25 domains, under the idealizing assumption that FF's approximative heuristicfunction identi�es the real h+ distances. FF's search algorithm tries to escapelocal minima or benches by means of a breadth-�rst search. If local minima andbenches can always be escaped from within a constant number of steps { as is thecase in 11 of the domains { then the e�ort spent in the search is polynomiallybounded. This holds true, e.g., in the classical Logistics domain.Beside the \positive" results proving characteristic qualities of the h+ function,the investigation also provides counter-examples in the negative cases. The resultsdivide the current benchmark domains into a taxonomy of classes which di�er interms of the topological behavior with respect to h+. The proof methods shedlight on which structural properties { at the level of the planning tasks' de�nitions{ are responsible for the topological phenomena. This knowledge gives hints asto how the topological phenomena might be automatically recognizable. Indeed,many of the structural properties I identify are of a syntactical nature. Seeing as itturns out a lot of the current planning benchmarks are quite similar in structure,particularly in a structure that favors exploration by relaxed plan based heuristicmechanisms, the results raise certain doubts about the adequacy of the currentplanning benchmarks for evaluating planning research. I address this issue, andother matters, in the discussion.The paper is organized as follows. I start by giving a formal framework forSTRIPS and ADL domains (which is needed to enable proofs over planning do-mains rather than single tasks) in Section 2. I then overview the investigateddomains in Section 3. Section 4 contains the de�nitions of h+, and of local searchtopology. In Section 5, I present the key lemmata underlying most of the proofs inthe single domains. These proofs are given in the subsequent sections for each do-main in turn, where domains with similar topological properties { and thus proofs{ form blocks (Sections 6 to 10) to improve readability. Section 11 provides anoverview of the resulting planning domain taxonomy, and Section 12 concludes thearticle by discussing various issues such as contribution and future work. Formalde�nitions of all domains are given in Appendix A.Please note that this, rather lengthy, technical report is mainly intended as asource of details for people who have read the shorter journal article [45], or theconference paper [43]. The latter papers are likely much better suited to get ageneral understanding of the investigation at hand, so if the reader has not yetread these papers, she/he is strongly encouraged to do so.7

Page 8: Where - Pennsylvania State University

2 Planning FrameworkTo enable proofs to properties of planning domains, rather than single tasks, weneed a formal de�nition of what a planning domain is. The only other work theauthor is aware of that uses a formal notion of planning domains is recent workby Malte Helmert [36, 37]. There, the semantics of di�erent transportation andconstruction domains are formalized in order to investigate their computationalcomplexity. In di�erence to that, the de�nitions here are strictly syntax-oriented {after all, the h+ function we want to consider is extracted directly from the syntaxof the planning task.The subsequent de�nitions formalize, in a straightforward manner, the waydomains are usually handled in the community. I start with the STRIPS [21]language, then explain how it is extended to ADL [59]. When talking about sets,I always mean �nite sets unless explicitly said otherwise.2.1 Predicates, Facts, and GroundingsThe base entity in both STRIPS and ADL are facts, i.e., predicates whose argu-ments are constants or variables. We take a strictly syntactical point of view,talking about strings which are sequences of symbols over an alphabet � �fa; : : : ; z;A; : : : ;Z; 0; : : : ; 9; -g. Predicates are pairs (prd; ar), prd 2 �+ beinga string { the name of the predicate { and ar 2 N being the arity of the predicate.Constants are strings, variables are abstract entities di�erent from the constants.Given a predicate (prd; ar), a fact is a tuple (prd; arg1; : : : ; argar), where all ar-guments argi are either constants or variables. We say that the fact is based on(prd; ar). One important concept is that of grounding. A fact is grounded in vari-able v with a constant c by replacing all occurrences of v with c. If all argumentsof a fact are constants, then the fact is a ground fact, or proposition. The (in�nite)set of all ground facts is denoted as F .Where that makes sense, we allow subscripts to indicate the predicates, vari-ables, and/or constants which can be used within a construct. An example is theset of ground facts F . Given a set of predicates P , a set of variables V , and/or aset of constants C, the ground facts that can be built when restricting oneself tothe respective sets are denoted by FP (all ground facts using only predicates inP), FP;C (all ground facts using only predicates in P and only constants in C),or FP;V;C (all ground facts using only predicates in P , only variables in V , andonly constants in C), etc. We say that a construct is based on P , V , and/or C.2.2 States, Actions, and TasksA grounded STRIPS task representation consists of two states (the initial stateand the goal state) as well as a set of actions. A state is a set of ground factss � F { the propositions that are true in the state. An action is a triple a =(pre(a); add(a); del(a)) of sets of ground facts: the precondition pre(a) � F , theadd list add(a) � F , and the delete list del(a) � F of the action. The (in�nite)set of all STRIPS actions is denoted as A. A STRIPS task is a triple (A; I;G) of8

Page 9: Where - Pennsylvania State University

action set A � A, initial state I � F , and goal state G � F . The semantics willbe given below. Let us �rst de�ne in which way tasks are instances of domains.2.3 Operators, Instances, and DomainsA domain is essentially a (possibly in�nite) set of planning tasks. This set isde�ned in terms of the predicates used, a set of operators (functions into theset of actions), and a (possibly in�nite) set of instances. Applying the operatorsto sets of constants given by the instances yields the tasks that belong to thedomain. The de�nitions are as follows. A STRIPS operator with p parameters isa tuple o = (V (o); pre(o); add(o); del(o)), where V (o) = (v1; : : : ; vp) is a p-tuple ofvariables, the operator parameters (we use V (o) also to denote the set fv1; : : : ; vpgof these parameters), pre(o) � F V (o);;, add(o) � F V (o);;, and del(o) � F V (o);; aresets of facts. The only variables are operator parameters, and the operator is notallowed to use constants.1 We identify o with a function o : (�+)p 7! A from theset of all p-tuples of constants to the set of all STRIPS actions. The image of aconstant tuple under o is the result of grounding (the facts in) pre(o), add(o), anddel(o) in the operator parameters with the respective constants. Let us focus onthe instances. A STRIPS instance is a triple (C; I;G) of constants C � �+, initialstate I � FC , and goal state G � FC (the states use only the available constants).Domains, �nally, are these. A STRIPS domain is a triple D = (P ;O; I): a set ofpredicates P , a set O of STRIPS operators based on P , and a possibly in�nite setI of STRIPS instances based on P . For (C; I;G) 2 I, we say that (C; I;G) is aninstance of D.Instances (C; I;G) of a domain (P ;O; I) are directly associated with (ground)tasks (A; I;G), namely by applying all operators in O with p parameters to all p-tuples of constants in C to obtain the action set A. (this is the process of groundingwhich is done as a pre-process in many planning systems such as, e.g., HSP, Mips,and FF).2.4 PlansLet us consider the semantics of action applications. These are de�ned viathe Result function, mapping states and action sequences to states. An ac-tion a is applicable to a state s, if pre(a) � s. In that case, applying the (se-quence consisting solely of the) action yields the resulting state Result(s; hai) :=s [ add(a) n del(a). If the action is not applicable in s, the result of apply-ing it is unde�ned. The result of applying sequences of arbitrarily many ac-tions is de�ned recursively by Result(s; hi) := s, and Result(s; ha1; : : : ; ani) :=Result(Result(s; ha1; : : : ; an�1i); hani).The semantics of tasks are as follows. Given a STRIPS task (A; I;G), a plan,or solution, for (A; I;G) is a sequence P 2 A� such that G � Result(I; P ): asequence of actions that maps the initial state into a state that ful�lls all goals.The task is solvable if there is at least one plan for it. A plan is optimal if there is1The latter restriction is made for notational simplicity only.9

Page 10: Where - Pennsylvania State University

no plan that contains less actions { the shorter the plan, the better it is consideredto be. Note that, as announced in the introduction, the de�nition stays within theforward state space search framework where plans are simple sequences of actions.2.5 Extension to ADLIn addition to what is possible in STRIPS, there can be complex conditions andconditional e�ects in ADL, i.e., conditions that are logic formulae and e�ects thatdepend on the state of execution. More precisely, the logic formulae are �rst-orderformulae without equality, using the set of predicate symbols of the respectivedomain (in particular there are no function symbols). The (in�nite) set of allformulae is denoted as L, the (in�nite) set of all closed formulae { the formulaewithout free variables { is denoted as L0. We allow subscripts to indicate the usedpredicates etc. When a formula is based on a set C of constants, the quanti�ers8x or 9x are associated with C, i.e., of the form 8x 2 C respectively 9x 2 C.Formulae based on constant sets are used in ground tasks, where the range ofthe quanti�ers must be �xed to the respective constants in order to validate thelogical semantics. Many de�nitions for STRIPS, like those of facts and states,remain unmodi�ed in ADL. The other de�nitions are as follows.In ADL actions and tasks, we �x a set of constants. This set of constants willbe given by the respective instance. The de�nitions are as follows. Given a setof constants C. An ADL action is a pair a = (pre(a); E(a)) where pre(a) 2 LC0is a closed formula and E(a) is a set of ground e�ects; ground e�ects are triplese = (con(e); add(e); del(e)) where con(e) 2 LC0 , the e�ect condition, is a closedformula and add(e) � FC as well as del(e) � FC are sets of ground facts (the add-respectively delete-list). The (in�nite) set of all ADL actions is denoted as Aadl.ADL tasks are triples (A; I;G) of action set A � ACadl, initial state I � FC , andgoal condition G 2 LC0 . Roughly, the semantics will be the same as before exceptthat e�ects are only applied if their conditions hold true, and that a solution planmust reach a state where the goal condition is ful�lled.Let us extend the de�nition of domains. An ADL operator with p parame-ters is a triple o = (V (o); pre(o); E(o)), where V (o) = (v1; : : : ; vp) are (as before)the parameters, pre(o) 2 LV (o);; is the precondition, and E(o) is a set of e�ects.E�ects are tuples e = (V (e); con(e); add(e); del(e)), where V (e) is a tuple of vari-ables, the e�ect parameters (also used to denote the set of these parameters), withV (e) \ V (o) = ;; con(e) 2 LV (o)[V (e);; is a formula; and add(e) � F V (o)[V (e);;and del(e) � F V (o)[V (e);; are sets of facts. Like in STRIPS, the only variables arethe parameters, and no constants are used. Given a set of constants C, we identifyo with a function oC : (�+)p 7! ACadl from p-tuples of constants to ADL actions.The image of a constant tuple under oC is the result of grounding the operatorin its parameters with the respective constants; inserting for each e�ect with p0e�ect parameters and each p0-tuple in C one copy of the e�ect grounded in its pa-rameters with the respective constants; associating the quanti�ers in all formulaewith the set C. An ADL instance is a triple (C; I;G) like in STRIPS, except thatG 2 LC0 is a formula. Domains are triples (P ;O; I) like in the STRIPS case; forsyntactical convenience, we allow the set of operators O to comprise both ADL-10

Page 11: Where - Pennsylvania State University

and STRIPS-operators (based on P). Instances of domains are associated withtasks by, as before, applying the operators to the respective tuples of constants.We de�ne the semantics of actions by overloading the Result function. Thej= relation between states and formulae is de�ned in the standard inductivemanner. The result of applying a sequence consisting solely of one actiona = (pre(a); E(a)) to a state s is de�ned as Result(s; hai) := s [A(s; a) nD(s; a),where A(s; a) (D(s; a)) is the union of the add (delete) lists of the e�ectse = (con(e); add(e); del(e)) 2 E(a) whose e�ect condition is ful�lled in s, i.e., forwhich s j= con(e) holds. Prerequisite for applicability is ful�llment of the pre-condition, s j= pre(a). If an action is not applicable to a state, then the resultof applying it is unde�ned. The result of applying an action sequence is de�nedexactly as before. A plan for a task (A; I;G) is a sequence P 2 A� of actions forwhich Result(I; P ) j= G holds.Two remarks befor we proceed. First, ignoring delete lists simpli�es a taskonly if all formulae are negation-free. In STRIPS domains this is the case by def-inition. Not so in ADL domains. Within a domain, any task can be polynomiallytransformed (normalized) to have that property: compute the negation normalform to all formulae (negations only in front of facts), then introduce for eachnegated fact :(prd; c1; : : : ; car) a new fact (not-prd; c1; : : : ; car) and make sure itis true in a state i� (prd; c1; : : : ; car) is false. This process has �rst been proposedby Gazen and Knoblock [27], and is used as a pre-process in FF [46] (which isthe only heuristic planner the author is aware of that can deal with full scaleADL). In the investigation at hand, the domains are de�ned such that formulaeare negation-free from begin with, i.e., we consider the normalized versions of thedomains.Second remark, a frequent phenomenon in benchmark planning tasks is theoccurence of static predicates. These are predicates which are not a�ected by anye�ect of the available operators. Typical examples are type information, or theconnectivity between locations in a transportation task. One can get rid of suchstatic predicates by simple pre-processing techniques [49] such as used in, e.g., FF[46]. In STRIPS, propositions that are statically true can be skipped from actionpreconditions or the goal; if a proposition is statically false then all actions can beremoved whose preconditions contain the proposition. More generally, i.e., in ADL,one can replace a static proposition with its truth value in any condition formula,and propagate the changes through the formula. If the formula simpli�es to falsethen the respective action/action e�ect can be removed. In the investigation athand, i.e., in the proofs considering single domains, I often assume that staticpredicates have been removed. This technique does not a�ect the topology results,and it simpli�es the formulation of su�cient criteria that generalize over individualdomains.3 Investigated Benchmark DomainsAs said before, the investigation focusses on a total of 25 commonly used STRIPSand ADL benchmark domains. These include all (STRIPS and ADL versions of)11

Page 12: Where - Pennsylvania State University

the competition examples, plus 7 more domains used in the literature. The domaincollection is not exhaustive { other domains have appeared in the literature. Tothe best of the author's knowledge, however, the collection does cover the largemajority of the (STRIPS and ADL) example problems that have been used forevaluating AI planning systems during the last 8 years. Brief descriptions of thedomains are given as starters into the respective subsections investigating thedomains' topological properties. Full formal de�nitions of all domains can belooked up in Appendix A. Note that, for formally de�ning a domain, one mustamongst other things decide what exactly the instances are. For almost none ofthe investigated domains is there such a de�nition in the literature. Naturally, theapproach I have taken is to abstract from the known example suits. In most casesthe abstraction is obvious, in the less obvious cases the respective subsection ofAppendix A includes some explanatory remarks.In the section at hand I provide an overview over the investigated domain col-lection. To give the overview some structure, domains with related semantics aregrouped together: the groups are those of transportation domains, of constructiondomains, and of domains that belong into neither of the former two groups.3.1 Transportation DomainsIn many planning benchmark domains, there are a number of locations, a numberof objects that must be transported, and a number of vehicles which are the meansof transportation. Operators mostly either move a vehicle, or load (unload) an ob-ject onto (from) a vehicle. The domain collection we look at contains 12 variationsof this theme. The domains di�er in terms of various constraints. One remarkabledi�erence is that, in many domains, vehicles can move instantaneously betweenany two locations, while in other domains the movable links between locationsform arbitrary graphs. We refer to such graphs as road maps. In transportationdomains without road maps, movements between locations are instantaneous.1. Briefcaseworld. A briefcase moves, by conditional e�ects, all objects alongthat are inside it. Used in the literature, e.g. [60, 50].2. Driverlog. Trucks need drivers on board in order to move. Trucks and driversmove along di�erent arbitrary road maps, the only constraint being that themovement links are bi-directional { if one can move from x to y one can alsomove back. Used in the AIPS-2002 competition.3. Ferry. A single ferry transports cars one at a time. Used in the literature,e.g. [23].4. Grid. A robot transports keys on a grid-like road map where positions canbe locked and must be opened with keys of matching shapes. Used in theAIPS-1998 competition.5. Gripper. A robot with two gripper hands transports a number of balls (oneat a time in each hand) from one room to another. Used in the AIPS-1998competition. 12

Page 13: Where - Pennsylvania State University

6. Logistics. The classical transportation domain, where trucks/airplanes trans-port packages within/between cities. Used in the AIPS-1998 and AIPS-2000competitions.7. Miconic-STRIPS. An elevator transports passengers, using explicit actionsto board/deboard passengers. Used in the AIPS-2000 competition.8. Miconic-SIMPLE. Version ofMiconic-STRIPSwhere passengers board/deboard\themselves" by conditional e�ects of the action that stops the elevator at a oor. Used in the AIPS-2000 competition.9. Miconic-ADL. Version of Miconic-SIMPLE where various constraints mustbe obeyed (e.g., VIPs �rst). Used in the AIPS-2000 competition.10. Mprime. Trucks use non-replenishable fuel items, and fuel can be transferredbetween locations. The movable links between locations form an arbitraryroad map. Used in the AIPS-1998 competition.11. Mystery. Like Mprime but without the possibility to transfer fuel. Used inthe AIPS-1998 competition.12. Zenotravel. Airplanes use fuel items which can be replenished one by oneusing a refuel operator. Used in the AIPS-2002 competition.3.2 Construction DomainsThe construction domains are generally not as closely related as the transportationdomains above. What they (i.e., the construction domains) have in common,roughly, is that a complex object must be built out of its individual parts. Thereare 6 such domains in the collection we look at.1. Assembly. A complex object must be assembled together out of its parts,obeying various ordering constraints. The parts themselves might need tobe assembled beforehand. Used in the AIPS-1998 competition.2. Blocksworld-arm. The classical construction domain, where blocks are pickedup/put down or stacked onto/unstacked from each other by means of a robotarm. The goal is to re-arrange the blocks in a given stacking order. Used inthe AIPS-2000 competition.3. Blocksworld-no-arm. Like above, but blocks are moved around directly froma block to a block / from the table to a block / from a block to the table.4. Depots. Combination of Blocksworld-arm and Logistics. Objects must betransported between locations before they can be stacked onto each other.Used in the AIPS-2002 competition.5. Freecell. STRIPS encoding of the solitaire card game that comes with Mi-crosoft Windows. The \complex object" to be built is formed by the goalstacks of cards (that have successfully been put away). Used in the AIPS-2000 competition. 13

Page 14: Where - Pennsylvania State University

6. Hanoi. STRIPS encoding of the classical Towers of Hanoi problem. Used inthe literature, e.g. [48].3.3 Other DomainsThere are 7 domains in the collection whose semantics do not exactly �t into eitherof the above groups.1. Fridge. For a number of fridges, the broken compressors must be replaced,involving several working steps (like unfastening all screws that hold the oldcompressors). Used in the literature, e.g. [48, 46].2. Movie. In order to watch a movie, one must buy snacks, set the counteron the videorecorder to zero, and rewind the tape. Used in the AIPS-1998competition.3. Rovers. A number of rovers must navigate along a road map, take soil/rocksamples as well as images, and communicate the resulting data to a lander.Used in the AIPS-2002 competition.4. Satellite. A number of satellites must take images (of phenomena in space),using appropriate instruments. Used in the AIPS-2002 competition.5. Schedule. A number of objects must be processed (painted, e.g.) on anumber of machines. Used in the AIPS-2000 competition.6. Simple-Tsp. A trivial STRIPS version of the TSP problem, where the moveoperator can be applied between any two locations. Used in the literature,e.g. [23].7. Tireworld. A number of at tires must be replaced, applying various workingsteps. Used in the literature, e.g. [5, 10].4 Local Search TopologyThis section de�nes the topological concepts which the subsequent investigationwill be about. We start with the basic concepts of the forward state space andoptimal relaxed distances, then proceed to dead end states and general topologicalphenomena. Though most of the de�nitions would make sense for unsolvable tasks,too, we restrict ourselves to solvable tasks from now on. After all, the main focusof the investigation is to explain why heuristic planners can �nd plans fast in manybenchmark examples.4.1 State Spaces, and h+The search space we consider is, as said before, the space of all states that arereachable from the initial state: the so-called state space.14

Page 15: Where - Pennsylvania State University

De�nition 1 Given a solvable task (A; I;G). The set S of reachable states isS := fs j 9 P 2 A� : Result(I; P ) = sgThe state space to (A; I;G) is the directed graph (S;E) where the nodes are thereachable states, and the edge set isE := f(s; s0) j s; s0 2 S; 9 a 2 A : Result(s; hai) = s0gWhen searching the state space, one wants to focus on the \good" states. Astate is the better the closer it is to the goal.De�nition 2 Given a solvable task (A; I;G), with state space (S;E). The goaldistance of s 2 S isgd(s) := minfn j P = ha1; : : : ; ani 2 A�; P is plan for (A; s;G)gwhere the minimum over an empty set is 1.A state s has zero goal distance gd(s) = 0 if and only if s ful�lls the goalcondition. We refer to such states as goal states. If, starting from a state s, the goalcan not be reached anymore then the set in the above de�nition is empty, resultingin gd(s) =1. We will discuss such \dead end" states below in Section 4.2.Computing the goal distance of a state is of course as hard as planning itself.So one needs a function that approximates gd: a heuristic. While the articlefocusses only on one speci�c heuristic, h+ namely, the subsequent de�nitions donot depend on the particular heuristic function used. The formulations below arethus somewhat more general than strictly necessary for the investigation at hand.De�nition 3 Given a solvable task (A; I;G), with state space (S;E). A heuristicis a function h : S 7! N [ f1g, such that h(s) = 0, gd(s) = 0.The restrictions that we do make are that h is a function into the naturalnumbers, and returns 0 only for goal states. These assumptions are necessary toensure the de�nitions below make sense. As an exception, h can return 1 toindicate that the state at hand might be a dead end. This will be discussed below.Algorithmically, the main problem is, how can one come up with a domain-independent heuristic function? The answer that has independently been proposedby McDermott [52] and Bonet et al. [11] is to relax the planning task by ignoringthe delete lists.De�nition 4 Given a STRIPS action a = (pre(a); add(a); del(a)), the relaxationa+ of a is a+ := (pre(a); add(a); ;):Given an ADL action a = (pre(a); E(a)), the relaxation a+ of a is de�ned asa+ := (pre(a); f(con(e); add(e); ;) j e = (con(e); add(e); del(e)) 2 E(a)g):For a set A of actions, the relaxation A+ of A is A+ := fa+ j a 2 Ag. Therelaxation of a planning task (A; I;G) is (A+; I; G). An action sequence P =ha1; : : : ; ani 2 A� is a relaxed plan for (A; I;G) if ha+1 ; : : : ; a+n i is a plan for(A+; I; G). 15

Page 16: Where - Pennsylvania State University

De�nition 4 stands at the very center of the investigation, and its terminologywill be used throughout the article which is why I introduce the rather manyabbreviations.As a measure of goal distance for a search state s, one is interested in howmany relaxed actions one at least needs to execute in s in order to achieve thegoal, i.e., one wants to know the length of an optimal relaxed plan for s.De�nition 5 Given a solvable task (A; I;G), with state space (S;E). The relaxedgoal distance of s 2 S ish+(s) := minfn j P = ha1; : : : ; ani 2 A�; P is relaxed plan for (A; s;G)gwhere the minimum over an empty set is 1.As has been said before, computing h+ is NP-hard, and the current state-of-the-art heuristic planners approximate h+ in various ways in order to obtain searchcontrol knowledge.4.2 Dead EndsOne phenomenon that is clearly relevant for the performance of heuristic statespace search is that of dead ends. These are states from which the goal is unreach-able.De�nition 6 Given a solvable task (A; I;G), with state space (S;E). A states 2 S is a dead end if gd(s) =1.As formalized in De�nition 3, a heuristic function h can return h(s) =1 for astate s. Taking this as an indication that s is a dead end, the obvious idea for anyforward search algorithm is to remove s from the search space. This technique isonly adequate if s is really a dead end, i.e., if h is completeness-preserving in thefollowing sense.De�nition 7 Given a solvable task (A; I;G), with state space (S;E) and heuristich. The heuristic is completeness preserving, if h(s) = 1 ) gd(s) = 1 for alls 2 S. With a completeness-preserving heuristic, a dead end state s is recognizedif h(s) =1 and unrecognized otherwise.Note that h+ is completeness preserving: if a task can not be solved even whenignoring the delete lists, then the task is unsolvable. From now on we assume thatthe heuristic we look at is completeness preserving. With respect to dead ends,any planning state space falls into one of the following four classes.De�nition 8 Given a solvable task (A; I;G), with state space (S;E) andcompleteness-preserving heuristic h. The state space is1. undirected, if 8(s; s0) 2 E : (s0; s) 2 E2. harmless, if 9(s; s0) 2 E : (s0; s) 62 E, and 8s 2 S : gd(s) <116

Page 17: Where - Pennsylvania State University

3. recognized, if 9s 2 S : gd(s) =1, and 8s 2 S : gd(s) =1) h(s) =14. unrecognized, if 9s 2 S : gd(s) =1^ h(s) <1In the �rst class, there can be no dead ends because everything can be undone;in the second class, some things can not be undone, but those single-directed statetransitions do not do any harm; in the third class, there are dead end states butall of them are recognized by the heuristic function. The only critical case forheuristic search is class four, where a search algorithm can run into a dead endwithout noticing it. This is particularly relevant if the unrecognized dead end canbe arbitrarily deep in the sense that arbitrarily many other unrecognized dead endstates can be reached from it.De�nition 9 Given a solvable task (A; I;G), with state space (S;E) andcompleteness-preserving heuristic h. Let s be an unrecognized dead end. Thedepth of s is the number of states s0 such that s0 is an unrecognized dead end, ands0 is reachable from s by a path that moves only through unrecognized dead ends.The subsequent investigation will, for each of the 25 benchmark domains lookedat, determine exactly in which of the above four dead end classes the instancesof the domain belong. For the domains where it turns out that there can beunrecognized dead ends { which as said before are �ve domains in total { I willconstruct examples showing that the unrecognized dead ends can be arbitrarilydeep.4.3 PlateausLet us now get into the de�nitions of general topological phenomena, i.e., of rele-vant properties of the search space surface. I adapt the de�nitions given for SATby Frank et al. [26]. The di�erence between the SAT framework there and theplanning formalism here is the directedness of state transitions. In the SAT searchspaces considered by Frank et al, all state transitions can be traversed in bothdirections. As we have seen above already, single-directed state transitions canhave an important impact on the search space topology, enabling for example theexistence of dead ends.Taking directed edges into consideration, the de�nitions are slightly more in-volved than the original ones by Frank et al., but move along the same lines ofargumentation. The de�nitions are similar to what I used in my earlier empiricalinvestigation [41]. The di�erences lie in a few simpli�cations made to focus thede�nitions on the issues relevant in the theoretical investigation at hand (somemore on this below).The base entity in the state space topology are what Frank et al. name plateaus.These are regions that are equivalent under reachability aspects, and look the samefrom the point of view of the heuristic function.De�nition 10 Given a solvable task (A; I;G), with state space (S;E) andcompleteness-preserving heuristic h. For l 2 N [ f1g, a plateau P of level l17

Page 18: Where - Pennsylvania State University

is a maximal subset of S for which the induced subgraph in (S;E) is strongly con-nected, and h(s) = l for each s 2 P .The di�erence to the undirected case is that I require the states on the plateauto be strongly connected | with undirected state transitions this is trivially ful-�lled by any set of connected states. Similar to Frank et al., I distinguish betweenplateaus in terms of the possibilities of leaving them, respectively their heuristiclevel.De�nition 11 Given a solvable task (A; I;G), with state space (S;E) andcompleteness-preserving heuristic h. Let P � S be a plateau. An exit of P isa state s that is reachable from P , such that there exists a state s0, (s; s0) 2 E,and h(s0) < h(s).Exits are states from which one can leave a plateau, or more precisely theheuristic level on which the plateau lies. Note that we allow exits to not lie on theplateau P itself, namely when the path to the exit leaves P . Allowing exits of Pto not lie on P itself is the main di�erence to the de�nitions given by Frank et al.In what follows, we need the notion of at paths, to capture when an exit statecan be reached without temporarily worsening the heuristic value. Flat paths arepaths in (S;E) where all states on the path have the same h value. Based onthe behavior with respect to exits, Frank et al. distinguish between four di�erentclasses of plateaus: local minima (no exits lie on the plateau), benches (at leastone exit lies on the plateau), contours (all states on the plateau are exits), andglobal minima (plateaus corresponding to a solution). The de�nition for directedstate spaces is the following.De�nition 12 Given a solvable task (A; I;G), with state space (S;E) andcompleteness-preserving heuristic h.(a) A recognized dead end is a plateau P of level h =1.(b) A local minimum is a plateau P of level 0 < h <1 from which no exitis reachable on a at path.(c) A bench is a plateau P of level 0 < h < 1 such that at least one exitis reachable from P on a at path, and at least one state on P is notan exit.(d) A contour is a plateau P of level 0 < h < 1 that consists entirely ofexits.(e) A global minimum is a plateau P of level 0.Each plateau belongs to exactly one of these classes. In solvable tasks, globalminima are exactly the plateaus of level 0. Intuitively, the roles that the di�erentkinds of plateaus play for heuristic search are the following: recognized dead endscan be ignored with a completeness-preserving heuristic function; local minimaare di�cult because all neighbors look worse so it is not clear in which direction18

Page 19: Where - Pennsylvania State University

to move next; benches are potentially easier because one can step o� them in thedirection towards the goal; from contours, one can step o� immediately.The main di�culty for a heuristic search is how to deal with the local minimaand the benches. In both cases, when facing a search state s, a search algorithmmust �nd a path to a state s0 that is an exit, i.e., that has a neighbor with betterheuristic value. How di�cult it is to �nd such an exit can be assessed by a varietyof di�erent parameters. The size or diameter of the local minimum/the bench, andthe number of exit states reachable, to name some important ones. In di�erence tomy earlier empirical investigation [41], I do not formally de�ne these parametershere. In the planning benchmarks, there are no (or very few) provable observationsto be made about these parameters anyway. What one can frequently observe areproperties of the distance to the nearest exit state.The distance dist(s; s0) between any two states s; s0 2 S is the usual graphdistance: the length of a shortest path from s to s0 in (S;E), or 1 if there is nosuch path. The exit distance of a search state s is de�ned as follows.De�nition 13 Given a solvable task (A; I;G), with state space (S;E) andcompleteness-preserving heuristic h. Given a state s 2 S. The exit distance of sis ed(s) := minfdist(s; s0) j h+(s0) = h+(s); 9s00 : (s0; s00) 2 E; h+(s00) < h+(s0)gwhere the minimum over an empty set is 1. The maximal local minimum exitdistance of (S;E) ismlmed(S;E) := maxfed(s) j s 2 S lies on a local minimumgwhere the maximum over an empty set is 0. The maximal bench exit distance of(S;E) is mbed(S;E) := maxfed(s) j s 2 S lies on a benchgwhere the maximum over an empty set is 0.As one would expect, the exit distance of a search state simply is the dis-tance to the nearest exit state. Local minima and benches alike can be escapedfrom by �nding an exit. The maximal di�culty of doing this is captured by themlmed(S;E) and mbed(S;E) values: search needs to look at most that manysteps ahead in order to �nd the desired state. We will �nd that, in the majorityof the current planning benchmark domains, under h+ there are constant upperbounds on mlmed(S;E) and/or mbed(S;E) that are valid across all instancesof the domain. This is clearly a property that is likely to enable good scalingperformance of any search algorithm that uses (an approximation of) h+ as itsheuristic function. In particular, FF's search algorithm is essentially an iterationof breadth-�rst searches for a state with better heuristic value [46]. With constantupper bounds on mlmed(S;E) and mbed(S;E) within a domain, this strategyterminates in polynomial time.The following is an implication that is relevant for the subsequent investigation.19

Page 20: Where - Pennsylvania State University

Proposition 1 Given a solvable task (A; I;G), with state space (S;E) and acompleteness-preserving heuristic h. If there exists an unrecognized dead end s 2 Sthen mlmed(S;E) =1.Proof: Let s be an unrecognized dead end, with minimal evaluation h(s) > 0. Allstates s0 that are reachable from s are dead ends, and have therefore h(s0) � h(s).Thus the plateau on which s lies is a local minimum { no exits are reachable, inparticular not on at paths. This also shows that ed(s) =1.Proposition 1 tells us that, if there are unrecognized dead ends possible in adomain, then there can not be an upper bound on the maximal local minimum exitdistance. The reason is that the unrecognized dead end with minimal heuristiclevel lies on a local minimum from which no exit states are reachable at all. Inconsequence, once an example unrecognized dead end is constructed in a domain,one does not need to verify the properties of the maximal local minimum exitdistance anymore.5 A Structural CoreIn many of the investigated domains, similar patterns of structure | at the level ofthe planning task speci�cations | cause the characteristic qualities of h+. Thesepatterns of structure thus form the core of the theory behind the high quality ofh+. I now capture this structural core in the form of a number of de�nitions andlemmata. The lemmata formulate su�cient criteria implying that (the state spaceof) a planning task has certain topological properties. Proofs for domains will,where possible, proceed by applying the lemmata to arbitrary instances. For thesake of simplicity, I give the theory for STRIPS tasks only. The proofs for ADLtasks are along the same lines of argumentation.5.1 Dead EndsThe �rst half of the structural core consists of criteria su�cient for the non-existence of dead ends. Our starting point is a reformulated version of resultspublished by Koehler and Ho�mann [48]. We need the notion of inconsistency,which is de�ned as follows. Two facts are inconsistent if there is no reachable statethat contains both of them. A set of facts F is inconsistent with another set offacts F 0 if each fact in F is inconsistent with at least one fact in F 0.If to each action there is an inverse action that undoes the action's e�ects, thenthe corresponding state space is undirected.De�nition 14 Given a STRIPS planning task (A; I;G). An action a 2 A isinvertible, if1. add(a) is inconsistent wth pre(a),2. del(a) � pre(a), and 20

Page 21: Where - Pennsylvania State University

3. there is an action a 2 A such that(a) pre(a) � (pre(a) [ add(a)) n del(a),(b) add(a) = del(a), and(c) del(a) = add(a).For any state s and applicable action a, a is applicable in Result(s; a) due topart 3(a) of De�nition 14. Parts 1 and 2 of that de�nition make sure that a'se�ects do in fact appear, and parts 3(b) and (c) make sure that a undoes exactlythose e�ects.Lemma 1 Given a STRIPS planning task (A; I;G). If all actions a 2 A areinvertible, then the state space to the task is undirected.Proof:Say we have a reachable state s 2 S, and an action a that is applicable, pre(a) �s. We need to show that there is an action a such that Result(Result(s; hai); hai) =s. By prerequisite, we can choose an action a that inverts a in the sense ofDe�nition 14. Applying a in Result(s; hai) =: s0 (note here that pre(a) � s0because s0 � (pre(a) [ add(a)) n del(a)) leads us back to s:Result(s0; hai) = (s0 [ add(a)) n del(a)= (((s [ add(a)) n del(a)) [ del(a)) n add(a)= (s [ add(a)) n add(a) as del(a) � pre(a) � s= s as add(a) \ s = ;For the last equation, add(a) \ s = ; holds because add(a) is inconsistent wthpre(a) � s.All prerequisites of Lemma 1 are purely syntactical except inconsistency. De-ciding inconsistency is as hard as planning itself.2 There are however severalpolynomial time (incomplete but su�cient) approximation techniques for incon-sistency in the literature [6, 22, 28, 63].The next is a new criterion that is weaker, and implies only the non-existenceof dead ends in the solvable case; that is, if the criterion holds then the state spaceof the task, if it is solvable, is at most harmless (either undirected or harmless).For the non-existence of dead ends, it is not necessary that for each action athe inverse action a undoes exactly a's e�ects. It is already enough if a achieves(at least) all facts that have been true before. Actions for which such a weak formof inverse action exists are called at least invertible.De�nition 15 Given a STRIPS planning task (A; I;G). An action a 2 A is atleast invertible, if there is an action a 2 A such that2For an arbitrary task, introduce two new propositions, one being permanently true and onewhich can only be made true if the original goal is achieved beforehand; the new propositionsare inconsistent i� the original task is unsolvable.21

Page 22: Where - Pennsylvania State University

1. pre(a) � (pre(a) [ add(a)) n del(a),2. add(a) � del(a), and3. del(a) is inconsistent with pre(a).The �rst two conditions of the de�nition are obvious. As for the last point,note that we do not refer to a's add list at all. Inconsistency of a's deletes witha's preconditions implies that a deletes only facts that have not been true in s(but might have been made true by a's add list). Note also that De�nition 14 isstronger than De�nition 15. If del(a) = add(a), and add(a) is inconsistent withpre(a), then, of course, del(a) is inconsistent with pre(a).Another situation when an action cannot lead into dead ends is the following:the action's delete e�ects are irrelevant | they are not important for anything inthe task but the action itself; and the action's add e�ects are static, that is, notdeleted by any action. By the latter property applying the action once is enough,and by the former property applying the action does not rule out any possibilitiesexcept applying it a second time.De�nition 16 Given a STRIPS planning task (A; I;G). An action a 2 A hasirrelevant delete e�ects, ifdel(a) \ (G [ [a6=a02A pre(a0)) = ;An action has static add e�ects, ifadd(a) \ [a02A del(a0) = ;If all actions in a solvable task are either at least invertible or have irrelevantdelete e�ects and static add e�ects, then the state space is at most harmless.Lemma 2 Given a solvable STRIPS planning task (A; I;G). If it holds for allactions a 2 A that either1. a is at least invertible, or2. a has irrelevant delete e�ects and static add e�ects,then there are no dead ends in the state space to the task, i.e., gd(s) < 1 for alls 2 S.Proof: To any reachable state s = Result(I; ha1; : : : ; ani) 2 S, we need to identifya solution P for (A; s;G). Let hp1; : : : ; pmi 2 A� be a solution for (A; I;G) (whichexists as (A; I;G) is solvable by prerequisite). We construct P as follows.M := ;for i := n : : : 1 doif ai is at least invertible by ai then 22

Page 23: Where - Pennsylvania State University

if ai 62M apply ai endifelse M := M [ faigendifendforfor i := 1 : : : m doif pi 62M then apply pi endifendforM serves as a kind of memory set for the actions that could not be inverted.We need to prove that the preconditions of all applied actions are ful�lled in thestate where they are applied, and that the goals are true upon termination.Let us start with the �rst loop. We denote by si := result(I; ha1; : : : ; aii) thestate after executing the ith action on the path to s, and by s0i the state beforethe �rst loop starts with value i. We prove (for use below) the stronger propertys0i � (si \ (G [ [a2AnMi pre(a))) [ [a2Mi add(a)Mi here denotes the current state of the set. Applicability of actions is part ofthe proof. We proceed by backward induction over i. If i = n, we got s0i = si andMi = ;, so the equation is trivially true. Now say the equation is true for i � 1.We prove that the equation holds for i � 1. If ai is not at least invertible, thenno action is applied, s0i�1 = s0i, and Mi�1 = Mi [ faig. Concerning the left handside of the equation, we observe that ai does by prerequisite not delete any factfrom G[Sa2AnMi�1 pre(a) (Mi�1 contains ai), so all relevant facts from si�1 havealready been true in s0i; concerning the right hand side of the equation, we observethat the facts in add(ai) are never deleted by prerequisite, so Sa2Mi�1 add(a) iscontained in s0i. Now say that ai is at least invertible by ai. We got Mi�1 =Mi.Say ai is applied. It is applicable because its preconditions are contained in si,and it is not an element of Mi. For the resulting state s0i�1, all facts that ai hasdeleted from si�1 are added, and only facts are deleted that have not been truein si�1 anyway; also, none of the add e�ects of actions in Mi is deleted, so theequation is ful�lled. Finally, if ai is not applied, then its add e�ects are alreadycontained in s0i, subsuming the delete e�ects of ai.Inserting i = 0 in the equation we have just proven, we gets0 � (I \ (G [ [a2AnM0 pre(a))) [ [a2M0 add(a)s0 is the state from which the second loop is started. So we start a solution plan,excluding the actions in a set M0, from a state including all initial facts that arecontained in the goal or in the precondition of any action not in M0. As the stateadditionally contains all add e�ects of all actions in M0, and those add e�ects arenot deleted by any action, it is clear that we can simply skip the actions in M0and achieve the goal.Like it is the case for Lemma 1, all prerequisites of Lemma 2 are purely syn-tactical except inconsistency.33Note that Lemma 2 subsumes Lemma 1 in the sense that all tasks that ful�ll the prerequisites23

Page 24: Where - Pennsylvania State University

5.2 Local MinimaThe second half of the structural core behind my proofs consists of a yet weakernotion of invertibility (invertibility in the relaxation), and of an important kind ofrelationship between the role of an action in the real task and its role in the relaxedtask. Combining these de�nitions with the notion of irrelevant delete e�ects yieldsa criterion that is su�cient for the non-existence of local minima under h+ (or,equivalently, for 0 being an upper bound on the maximal local minimum exitdistance). The criterion can be directly applied in 7 of the 25 investigated domains,and can be applied with slight modi�cations in 3 more domains.We start with the following simple technical observation.Lemma 3 Given a STRIPS task (A; I;G), a state s, and an action a that isapplicable in s yielding the state s0. If P+ is a relaxed plan for (A; s;G) thatcontains a, and a 2 A is an action that is applicable in s0 and for which add(a) �del(a) holds, then a relaxed plan for (A; s0; G) can be constructed by removing afrom P+, and adding hai as a pre�x.Proof: Without loss of generality, a starts the relaxed plan P+ (a is applicableso one can execute its relaxed version immediately). After executing the relaxedversion of a in s0, all propositions are true that were true in s, plus the propositionsthat were made true by a. Thus, P+ without a is a relaxed plan from there.The importance of Lemma 3 is that (with the Lemma's terminology) there isa relaxed plan starting in s0 that has the same length as the one for s. So if therelaxed plan for s was optimal, we can conclude that h+(s0) � h+(s) holds.Examples of actions that qualify for the role of a in Lemma 3 are the inverse,and at least inverse, actions a in De�nitions 14 and 15. These actions are alwaysapplicable in the state where a has been executed. Moreover, the add e�ects ofan inverse action are exactly a's delete e�ects, and the add e�ects of an at leastinverse action are a superset of a's delete e�ects. To ful�ll the prerequisites ofLemma 3 the following weaker requirement is already su�cient.De�nition 17 Given a STRIPS task (A; I;G). An action a 2 A is at leastrelaxed invertible, if there is an action a 2 A such that pre(a) � (pre(a)[add(a))ndel(a), and add(a) � del(a).The delete e�ects need not be mentioned in the above de�nition because a, inthe context of Lemma 3, is only used within the relaxation anyway. As indicatedabove, De�nitions 14 and 15 are stronger than De�nition 17, i.e., both invertibleand at least invertible actions are also at least relaxed invertible.Apart from (at least relaxed) invertible actions, the key property behind thelack of local minima under h+ is, in most of the investigated domains, that everyaction that is good for solving the real task is also good for solving the relaxedtask.of the latter theorem also ful�ll the prerequisites of the former.24

Page 25: Where - Pennsylvania State University

De�nition 18 Given a task (A; I;G). An action a 2 A is respected by therelaxation if, for any reachable state s 2 S such that a starts an optimal plan for(A; s;G), there is an optimal relaxed plan for (A; s;G) that also starts with a.Note that this de�nition is not restricted to STRIPS tasks, as the same ter-minology will be used in ADL tasks. As a simple example for an action that isrespected by the relaxation, consider loading (unloading) a car onto (from) theferry in Ferry: the only means of transporting a car is by using the ferry, so allplans, real or relaxed, must use the respective action if the car is not already atits goal position. We will say more on that topic below.We now combine actions that are respected by the relaxation (De�nition 18),the existence of actions that at least invert an action's e�ects in the relaxation(De�nition 17), and irrelevant delete e�ects (De�nition 16), to obtain the maintool for identifying planning tasks where h+ does not yield any local minima.Lemma 4 Given a solvable STRIPS task (A; I;G), such that the state space(S;E) does not contain unrecognized dead ends. If each action a 2 A1. is respected by the relaxation, and2. is at least relaxed invertible or has irrelevant delete e�ects,then there are no local minima in (S;E) under evaluation with h+.Proof: The states with gd(s) =1 are not on local minima by prerequisite, withh+(s) = 1. We will prove that, in each reachable state s with gd(s) 6= 1, ifan action a starts an optimal plan for (A; s;G) then h+(Result(s; hai)) � h+(s).This proves the lemma: iterating the argument, we obtain a path to a goal stateon which the value of h+ decreases monotonically.Let s be a reachable state with gd(s) 6= 1. Let a be an action that starts anoptimal plan for (A; s;G). We denote s0 := Result(s; hai). The action is respectedby the relaxation so there is an optimal relaxed plan P+ for (A; s;G) that startswith a. First case, removing a from P+ yields a relaxed plan for (A; s0; G). Thenh+(s0) < h+(s) follows and we are �nished. This is the case, in particular, if a hasirrelevant delete e�ects: the propositions that a deletes are not needed by any otheraction nor by the goal, so P+ without a achieves the goal starting from s0 (where ahas already been applied). Second case, assume removing a from P+ does not yielda relaxed plan for s0. Then, with what was said before, a does not have irrelevantdelete e�ects and must thus be at least relaxed invertible: there is an action a 2 Awith pre(a) � (pre(a) [ add(a)) n del(a) and add(a) � del(a). Applying Lemma 3�nishes the argument: the action a is guaranteed to be applicable in s0, and re-achieves a's delete e�ects, so we can replace a in P+ with a to obtain a relaxedplan for (A; s0; G), yielding h+(s0) � h+(s).As the argument in the proof only applies to solvable states, we must postulatethat there are no or only recognized dead ends, like when the task at hand isundirected or harmless. Note that the second prerequisite of Lemma 4 is alreadyful�lled by planning tasks qualifying for the undirectedness or harmlessness criteria25

Page 26: Where - Pennsylvania State University

given by Lemmata 1 and 2. The missing bit that implies the non-existence of localminima under h+ is then the �rst prerequisite, all actions being respected by therelaxation. The reason why this half of the lemma's prerequisites holds true inmany of the benchmark domains is that, intuitively, if an action a is needed foran optimal solution, then this action either� achieves some proposition that is needed by all solutions from the currentstate, no matter if relaxed or not, and that can not be achieved in a betterway (there is no action achieving strictly more propositions than a); or� achieves some proposition representing one way to get closer to the goals,where no other way is better, relaxed or not.A typical (with respect to the benchmark collection) example for actions of the�rst kind are the Ferry actions mentioned above, loading (unloading) a car onto(from) the ferry | one has no other choice. A typical example for an action ofthe second kind is, in Gripper, picking up a ball that must still be transported,when both hands are empty: it does not make a di�erence which hand is used.5.3 Exit DistancesLet us focus on maximal local minimum/bench exit distances. I do not have ageneral su�cient criterion implying upper bounds in either case (except the specialcase above where there are no local minima at all and thus 0 is an upper bound onthe maximal local minimum exit distance). I do however have a proof techniquethat works in all the 8 domains where an upper bound on the maximal bench exitdistance will be proved (in the absence of local minima). The proof techniqueworks as follows. In planning tasks that ful�ll the requirements for Lemma 4,optimal solution paths are at in the sense that h+ does not increase when onemoves along them. So one can move along an optimal solution path from anyreachable state s, and identify at which point, at the latest, a strictly shorterrelaxed plan than the optimal one for s can be constructed. Relaxed plans herewill be constructed along the path according to the proof of Lemma 4: one eitherreplaces an applied action a with its inverse counterpart a (if its delete e�ectsare still needed), or removes a completely (if its delete e�ects are irrelevant uponapplication). In the latter case, one is �nished.Proposition 2 Given a planning task (A; I;G), a reachable state s, and an actiona that starts an optimal relaxed plan P+ for (A; s;G). If removing a from P+ yieldsa relaxed plan for (A;Result(s; a); G), then h+(Result(s; a)) < h+(s), i.e., s is anexit state under h+.Proof: Obvious.Note that this proposition corresponds to the �rst case in the proof of Lemma 4.Note also that the proposition's prerequisites are ful�lled if the action a is respectedby the relaxation and has irrelevant delete e�ects.26

Page 27: Where - Pennsylvania State University

As said before, we now focus on each single domain in turn, grouping domainswith similar topological properties together in sections. The order of the sec-tions and domains is such that the topological properties become gradually morecomplex, and the proofs become gradually more di�cult.6 No Local Minima and Bounded Maximal BenchExit DistanceWe �rst consider a number of domains where there are no local minima at allunder h+ (so by Proposition 1 there can neither be unrecognized dead ends), andthe maximal bench exit distance is bounded by a constant. The domains areSimple-Tsp, Movie, Gripper, Ferry, Logistics, Miconic-STRIPS, Miconic-Simple,and Tireworld. We focus on them in that order. For each domain I give a briefdescription of the semantics, then consider the dead end class of the domain'sinstances, prove the non-existence of local minima, and determine an upper boundon the maximal bench exit distance.6.1 Simple-TspIn Simple-Tsp, there is a single operator to move between locations. The precon-dition states that the locations must be di�erent (which condition I have insertedto avoid absurd actions), and as an e�ect the destination location is visited. Theinstances specify a number of locations that must be visited, starting in one ofthem. See the domain details in Appendix A.23.All instances of Simple-Tsp are solvable. We consider the tasks that resultwhen removing static predicates (this is necessary in order to directly apply thesu�cient criteria presented earlier). Removing static predicates in a Simple-Tsptask yields only actions that move between di�erent locations, getting rid of thenon-equality precondition.Corollary 1 Given an instance (C; I;G) of the Simple-Tsp domain, the corre-sponding state space is harmless.Proof: Obviously, the state space is not undirected, as visiting a location cannot be undone. Furthermore, the actions are at least invertible in the sense ofDe�nition 15: move(x; y) is at least inverted by move(y; x). With Lemma 2, weare �nished.Theorem 1 Given an instance (C; I;G) of the Simple-Tsp domain, the corre-sponding state space does not contain local minima under h+.Proof: As all actions are at least invertible, with Lemma 4 it su�ces to show thatall actions are respected by the relaxation. If a move(x; y) starts an optimal plan,then y has not yet been visited, so one optimal relaxed plan starts with the sameaction. 27

Page 28: Where - Pennsylvania State University

Let us introduce an abbreviation. Henceforth, if s is a reachable state in atask (A; I;G), and P+ is a relaxed plan for (A; s;G), then we also denote this bysaying P+ is a relaxed plan for s.Theorem 2 Given an instance (C; I;G) of the Simple-Tsp domain, the maximalbench exit distance in the corresponding state space is 0 under h+.Proof: By the argumentation in the proof of Theorem 1, all actions are respectedby the relaxation. In any non-goal state s, an optimal plan starts by visiting oneyet unvisited location, move(x; y). Let P+ be an optimal relaxed plan for s thatstarts with a. We can assume that a is the only moving action in P+ that starts inx: else, the actions of the form move(x; y0) can be replaced by move(y; y0). Thus,removing a from P+ yields a relaxed plan for Result(s; hai), and s is an exit byProposition 2.I remark that, trivially, in Simple-Tsp every optimal plan is also an optimal re-laxed plan, implying h+ � gd, from which the two above claims follow immediately.I have chosen the formulation above to demonstrate that Simple-Tsp exhibits sim-ilar structural patterns like the other domains where I prove the non-existence oflocal minima and an upper bound on the maximal bench exit distance.6.2 MovieIn Movie, there are seven di�erent operators: one to rewind the tape, whose deletee�ect is that the counter is no longer at zero; one to reset the counter, whose onlye�ect is that the counter is at zero; �ve to get di�erent kinds of snacks, whoseonly e�ect is that one has the respective snack. Instances di�er only in terms ofthe number of items that there are of each sort of snacks. The goal is always tohave one snack of each sort, to have the tape rewound, and to have the counter atzero. See the domain details in Appendix A.17.All instances of Movie are solvable.Corollary 2 Given an instance (C; I;G) of the Movie domain, the correspondingstate space is harmless.Proof: The state space is not undirected because getting some snack, for example,can not be undone. All actions produced by one of the getting snacks operatorshave irrelevant delete e�ects (none at all) and static add e�ects in the sense ofDe�nition 16. The rewind-movie() and reset-counter() actions are both at leastinvertible by reset-counter() in the sense of De�nition 15. By applying Lemma 2,we are �nished.Theorem 3 Given an instance (C; I;G) of the Movie domain, the correspondingstate space does not contain local minima under h+.Proof: All actions produced by one of the getting snacks operators, and thereset-counter() action, have irrelevant delete e�ects (none at all), and the rewind-movie() action is at least relaxed invertible. With Lemma 4 it su�ces to show28

Page 29: Where - Pennsylvania State University

that all actions are respected by the relaxation. This is trivial: if a snack is notyet there, one must get it; if the counter is not at zero, one must reset it; if thetape is not yet rewound, one must rewind it.Theorem 4 Given an instance (C; I;G) of the Movie domain, the maximal benchexit distance in the corresponding state space is 1 under h+.Proof: By the argumentation in the proof of Theorem 3, all actions are respectedby the relaxation, and h+ never increases on optimal solution paths. All actionsexcept rewind-movie() have irrelevant delete e�ects, so states s where they startan optimal plan are exits by Proposition 2. Assume the only action starting anoptimal plan for the state s is rewind-movie(), meaning that one has all snacksalready. Then, applying rewind-movie() to s yields a successor state s0 wherereset-counter() starts an optimal plan (in fact, reset-counter() achieves the goalfrom s0), so an upper bound on the exit distance is 1. In the state s where one hasgot all snacks and the counter is at zero, but the movie is not rewound, no actionexcept rewind-movie() can change s at all, and h+(s) = h+(s0) = 1, so then theexit distance is exactly 1.6.3 GripperIn Gripper, there is the operator move(x; y) to move between locations, the oper-ator pick(x; y; z) to pick up a ball (at a location with a hand), and the operatordrop(x; y; z) to drop a ball (at a location from a hand). There are always exactlytwo locations, room a and room b, and a number of balls shall be transported froma into b by using two gripper hands l and r that can each carry one ball at a time(we use the notation for instances as given in Appendix A.11). Instances di�eronly in terms of the number of balls. The moves are constrained to be betweendi�erent rooms, and all operator parameters are constrained to be of the appro-priate types, i.e., for example, in a move both parameters must ful�ll a (room; x)predicate.All instances of Gripper are solvable. Removing static predicates gets rid ofthe type information and of actions that try to move within the same room.Corollary 3 Given an instance (C; I;G) of the Gripper domain, the correspond-ing state space is undirected.Proof: After transformation with respect to static predicates, all actions areinvertible in the sense of De�nition 14: pick(x; y; z) is inverted by drop(x; y; z)and vice versa, and move(x; y) is inverted by move(y; x). By applying Lemma 1,we are �nished.Theorem 5 Given an instance (C; I;G) of the Gripper domain, the correspondingstate space does not contain local minima under h+.Proof: All actions are invertible, so with Lemma 4 it su�ces to show that allactions are respected by the relaxation. If the optimal starting action in a reachable29

Page 30: Where - Pennsylvania State University

state s is a pick(x; y; z) or a drop(x; y; z), this holds because then the ball x isnot yet in room b, and must be transported. If the optimal starting action is amove(x; y), then there are either balls left to pick in y = a, or balls left to dropin y = b, so a relaxed plan from s has no choice but applying the respective moveaction.Theorem 6 Given an instance (C; I;G) of the Gripper domain, the maximalbench exit distance in the corresponding state space is at most 1 under h+.Proof: By the argumentation in the proof of Theorem 5, all actions are respectedby the relaxation; the instance ful�lls the requirements for Lemma 4, so h+ neverincreases on optimal solution paths. Assume we have a reachable state s and anoptimal starting action act (we use that name to avoid confusion with the room aused in the instance), yielding the successor state s0. Assume also that act startsthe optimal relaxed plan P+ for s. If act = drop(x; y; z) then y = b, and removingact from P+ yields a relaxed plan for s0 as x is in its goal position and (carry; x; z)is not needed anymore; thus in that case s is an exit. If act = pick(x; y; z) theny = a, and P+ also contains the actions move(a; b) and drop(x; b; z). A relaxedplan for s0 can be constructed by removing act from P+ and placing the twoother actions up front: that way, (free; z) is re-achieved before any other action isapplied; the deletion of (at; x; a) does not matter as x is picked up only once dueto the optimality of P+. So in that case, s is also an exit. Finally, consider thecase where act = move(x; y). Then, the successor state s0 falls into one of the twoabove cases, so an upper bound on the exit distance is 1.If, in the situation described at the end of the proof to Theorem 6, picks ordrops are left to do in room x, then the relaxed plan from s0 must contain theinverse action move(y; x), so then the exit distance is exactly 1.6.4 FerryFerry is very closely related to Gripper. There are three operators, one to sail aferry between two locations, one to board a car onto the ferry, and one to debark acar from the ferry. The ferry can transport only one car at a time, which is realizedby an (empty-ferry) predicate. The goal is to have a subset of the cars at their goallocations. The sailing actions are constrained to be between di�erent locations,and all operator parameters are constrained to be of the appropriate types, i.e., forexample, in a debark(x; y) action x must ful�ll a (car; x) predicate while y mustful�ll a (location; y) predicate. See the domain details in Appendix A.7.All instances of Ferry are solvable. Removing static predicates gets rid of thetype information and of actions that try to move within the same location.Corollary 4 Given an instance (C; I;G) of the Ferry domain, the correspondingstate space is undirected.Proof: After transformation with respect to static predicates, all actions areinvertible in the sense of De�nition 14: board(x; y) is inverted by debark(x; y) and30

Page 31: Where - Pennsylvania State University

vice versa, and sail(x; y) is inverted by sail(y; x). By applying Lemma 1, we are�nished.Theorem 7 Given an instance (C; I;G) of the Ferry domain, the correspondingstate space does not contain local minima under h+.Proof: All actions are invertible, so with Lemma 4 it su�ces to show that allactions are respected by the relaxation. If the optimal starting action in a reachablestate s is a board(x; y) or a debark(x; y), this holds because then the car x is notyet at its goal location, and must be transported. If the optimal starting action isa sail(x; y), then at location y there is either a car to board, or a car to debark, soa relaxed plan from s will have to visit that location. When this is done does notmatter in the relaxation, as the (at-ferry; y) proposition remains true throughoutrelaxed plan execution. So one can start an optimal relaxed plan from s by sailingthe ferry to y.Theorem 8 Given an instance (C; I;G) of the Ferry domain, the maximal benchexit distance in the corresponding state space is at most 1 under h+.Proof: By the argumentation in the proof of Theorem 7, all actions are respectedby the relaxation; the instance ful�lls the prerequisites of Lemma 4, so h+ neverincreases on optimal solution paths. Assume we have a reachable state s andan optimal starting action a, yielding the successor state s0. Assume also thata starts the optimal relaxed plan P+ for s. If a = debark(x; y) then either y isthe goal location of x, or x has no goal location, so removing a from P+ yieldsa relaxed plan for s0 as (on; x) is not needed anymore; thus in that case s is anexit. If a = board(x; y) then x must be transported, and P+ also contains theactions sail(y; y0) and debark(x; y0), where y0 is the goal location of x; a relaxedplan for s0 can be constructed by removing a from P+ and placing the two otheractions up front: that way, (empty-ferry) is re-achieved before any other action isapplied; the deletion of (at; x; y) does not matter as x is boarded only once dueto the optimality of P+. So in that case, s is also an exit. Finally, consider thecase where the optimal starting action is a = sail(x; y). Then, the successor states0 falls into one of the two above cases | some car is boarded or debarked | soan upper bound on the exit distance is 1.If, in the situation described at the end of the proof to Theorem 8, a car is leftat x which must be boarded later, or some other car must still be transported tox, then the relaxed plan from s0 must contain the inverse action sail(y; x), so thenthe exit distance is exactly 1.6.5 LogisticsIn Logistics, there are six operators to drive a truck between two locations within acity, to y an airplane between two airports, to load (unload) an object onto (from)a truck at a location, and to load (unload) an object onto (from) an airplane at31

Page 32: Where - Pennsylvania State University

an airport. There is always at least one city, and each city has a non-zero numberof locations one of which is an airport. There is an arbitrary number of airplanes(which are located at airports) and of objects. The goal is to have a subset of theobjects at their goal locations. The moves are constrained to be between di�erentlocations, and all operator parameters are constrained to be of the appropriatetypes. See the domain details in Appendix A.13.An instance of Logistics can be unsolvable when there is an object that mustbe transported, but there is no adequate vehicle for doing so. Removing staticpredicates gets rid of the type information and of actions that try to move withinthe same location.Corollary 5 Given an instance (C; I;G) of the Logistics domain, the correspond-ing state space is undirected.Proof: After transformation with respect to static predicates, all actions areinvertible in the sense of De�nition 14: load-truck(x; y; z) actions are undoneby unload-truck(x; y; z), symmetrically for other loading or unloading actions;drive-truck(x; y; z; v) is undone by drive-truck(x; z; y; v), symmetrically for y-airplane actions. By applying Lemma 1, we are �nished.Theorem 9 Given a solvable instance (C; I;G) of the Logistics domain, the cor-responding state space does not contain local minima under h+.Proof: As all actions are invertible, with solvability (implying the non-existenceof dead ends) and Lemma 4 it su�ces to show that all actions are respected by therelaxation. If the optimal starting action a in a reachable state s is any loadingor unloading action, then a is respected by the relaxation because in that case therespective package is not yet at its goal location, so it must be transported, and it isbest | for relaxed as well as for real plans | to do that when an adequate vehicleis already at the respective location. If the optimal starting action a is a drivingor ying action to some location z, then some package must either be loaded orunloaded at z, so a relaxed plan from s has no choice but applying some actionmoving a transportation vehicle (of a's kind) there. All vehicles are equally good,except when there is a clever choice, i.e., a vehicle that already carries packages tobe unloaded at z; but then, a will move one of those vehicles just like an optimalrelaxed plan will, and all such vehicles are equally good in the relaxation.Theorem 10 Given a solvable instance (C; I;G) of the Logistics domain, themaximal bench exit distance in the corresponding state space is at most 1 underh+.Proof: By the argumentation in the proof of Theorem 9, all actions are respectedby the relaxation; the instance ful�lls the prerequisites of Lemma 4, so h+ mono-tonically decreases on optimal solution paths. Assume we have a reachable state sand an optimal starting action a, yielding the successor state s0. Assume also thata starts the optimal relaxed plan P+ for s. If a is a loading (unloading) action, itsonly delete is the at (in) relation of the transported object; as the object is loaded32

Page 33: Where - Pennsylvania State University

from the respective location (unloaded from the respective vehicle) only once inP+, removing a from P+ yields a relaxed plan for s0, so s is an exit. Otherwise,consider the case where a drives or ies some vehicle x from y to z. Then s0 is anexit: no optimal plan moves the same vehicle twice in a row | all locations areimmediately accessible, if accessible at all | so one optimal plan for s0 starts byloading (unloading) some package to (from) x. Thus an upper bound on the exitdistance is 1.If, for example, in the situation described at the end of the proof to Theorem 10,x is a truck, y is the airport, and the package must be transported to a di�erentcity, then the relaxed plan from s0 must include the action driving x back from zto y, so then the exit distance is exactly 1.6.6 Miconic-STRIPSIn Miconic-STRIPS, there are four operators to move the lift up from one oorto another oor, to move the lift down from one oor to another oor, to boarda passenger at a oor (the precondition being that the oor is the passenger'sorigin, and the only e�ect being that the passenger is boarded), and to let apassenger depart at a oor (the preconditions being that the oor is the passenger'sdestination and that the passenger is boarded, and the e�ects being that thepassenger is served but no longer boarded). There is always at least one oor,and an arbitrary number of passengers each of which is given an origin and adestination oor. The goal is to serve all passengers. Lift moves are constrainedso that the oors stand in the appropriate relation to each other (i.e., one canonly move up from x to y if y is indeed above x, and vice versa), and all operatorparameters are constrained to be of the appropriate types. See the domain detailsin Appendix A.16.All instances of Miconic-STRIPS are solvable. Removing static predicates getsrid of the type information, of actions that try to move between inappropriate (inparticular identical) locations, and of actions that board or depart a passenger ata location other than its origin respectively destination.Corollary 6 Given an instance (C; I;G) of the Miconic-STRIPS domain, the cor-responding state space is at most harmless.Proof: The lift move actions are invertible in the sense of De�nition 14, theboarding actions are at least invertible in the sense of De�nition 15, and thedeparting actions have irrelevant delete e�ects and static add e�ects in the senseof De�nition 16. With Lemma 2, we are �nished.Because boarding and departing can not be undone, the state space is notundirected if there is at least one passenger.Theorem 11 Given an instance (C; I;G) of the Miconic-STRIPS domain, thecorresponding state space does not contain local minima under h+.33

Page 34: Where - Pennsylvania State University

Proof: All actions are either at least invertible or have irrelevant delete e�ects.Therefore, with Lemma 4 it su�ces to show that all actions are respected by therelaxation. For boarding and departing actions, this is obvious. For up(x; y) anddown(x; y) actions, if an optimal plan starts with such an action, then at least onepassenger must board or depart at oor y, so any relaxed plan will have to visitthat oor. When this is done does not matter in the relaxation | the (lift-at; y)proposition remains true throughout relaxed plan execution | so one can startan optimal relaxed plan by moving the lift to y.Theorem 12 Given an instance (C; I;G) of the Miconic-STRIPS domain, themaximal bench exit distance in the corresponding state space is at most 1 underh+.Proof: By the argumentation in the proof of Theorem 11, all actions are respectedby the relaxation; the instance ful�lls the requirements for Lemma 4, so h+ neverincreases on optimal solution paths. Assume we have a reachable state s andan optimal starting action a, yielding the successor state s0. The boarding anddeparting actions have irrelevant delete e�ects (boarding has no delete e�ects atall), so if a is one of those actions, then s is an exit by Proposition 2. In theother case, if a is an up or down action, then s0 falls into the �rst case because nooptimal plan moves the lift twice in a row (all oors are directly accessible fromeach other). So an upper bound on the exit distance is 1.If, for example, in the situation described at the end of the proof of Theorem 12,there are two oors, the lift is in the bottom oor in s, and the single passengerwants to travel from the top to the bottom oor, then the relaxed plan from s0must include the action moving the lift back from the top to the bottom oor, sothen the exit distance is exactly 1.6.7 Miconic-SIMPLETheMiconic-SIMPLE domain is semantically rather similar to theMiconic-STRIPSdomain we have discussed above. The di�erence is that boarding and departingpassengers is not done by separate actions, but by conditional e�ects that canappear when the lift stops. Once the lift is stopped, all boarded passengers thathave their destination at the respective oor depart, and all passengers still wait-ing at the respective oor are boarded. The former conditional e�ects add thatthe respective passengers are served, and delete that they are boarded. The latterconditional e�ects require that the respective passengers are not served (on top ofhaving their origin at the respective oor), and add that they are boarded. Thelift move operators are identical to those in Miconic-STRIPS. The instances arealso the same. All operator and e�ect parameters are constrained to be of theappropriate types. See the domain details in Appendix A.15.All instances ofMiconic-SIMPLE are solvable. Removing static predicates getsrid of the type information, of actions that try to move between identical locations,and of conditional e�ects that board or depart a passenger at a location other than34

Page 35: Where - Pennsylvania State University

its origin respectively destination. My su�cient criteria for the non-existence ofdead ends are not directly applicable to Miconic-SIMPLE instances, so I insert ashort proof.Proposition 3 Given an instance (C; I;G) of the Miconic-SIMPLE domain, thecorresponding state space is at most harmless.Proof: The oors are all directly accessible from each other. The deletes of thestopping e�ects are all irrelevant in the sense that they are not needed anymoreonce those e�ects have occured. One can thus, from any reachable state s, con-struct a plan by moving the lift back to the oor where it was in the initial state,and thereafter executing a plan for the task.If there is at least one passenger, the instance is not undirected, as the e�ectsof the stop actions can not be undone. Let us focus on local minima and themaximal exit distance.Theorem 13 Given an instance (C; I;G) of the Miconic-SIMPLE domain, thecorresponding state space does not contain local minima under h+.Proof: We show that all actions are respected by the relaxation. This su�ces withthe following slight extension of Lemma 4. The up(x; y) and down(x; y) actionsare invertible in the sense of De�nition 14. The delete e�ects of the stop(x)actions are conditional and thus are not irrelevant in the strict syntactical sense ofDe�nition 16. They do, however, have the same semantics | the only delete e�ectsare that a passenger reaching the destination is no longer boarded and no longernot-served. These propositions are irrelevant upon execution of the action. If theactions are respected by the relaxation, one can thus construct, from any state, amonotonically decreasing path to the goal in parallel to the proof of Lemma 4.The up(x; y) and down(x; y) actions are respected by the relaxation due to thesame reasons as given for Miconic-STRIPS in the proof of Theorem 11. Assumea = stop(x) starts an optimal plan for some reachable state s. Then a also startsan optimal relaxed plan for s. We prove that by contradiction. Assume that nooptimal relaxed plan for s starts with stop(x), although the lift is already locatedat x. Then the following must hold. First, there is a di�erent oor x0 whereanother passenger with destination x is waiting; second, there is no passenger forx0 waiting at x. But in this situation, executing the stop at x0 �rst would alsoyield a shorter real solution plan.Theorem 14 Given an instance (C; I;G) of the Miconic-SIMPLE domain, themaximal bench exit distance in the corresponding state space is at most 1 underh+.Proof: By the argumentation in the proof of Theorem 13 all actions are respectedby the relaxation, h+ never increases on optimal solution paths, and the stop(x)actions have delete e�ects that are irrelevant once they have appeared. Assume wehave a reachable state s and an optimal starting action a, yielding the successor35

Page 36: Where - Pennsylvania State University

state s0. If a is a stop(x) action, then s is an exit by Proposition 2. In the othercase, if a is an up or down action, then s0 falls into the �rst case because nooptimal plan moves the lift twice in a row (all oors are directly accessible fromeach other). So an upper bound on the exit distance is 1.In the same situation that is described for the Miconic-STRIPS domain inSection 6.6 below Theorem 12, the exit distance is exactly 1.6.8 TireworldIn Tireworld, one must replace a number of at tires. This involves a collectionof objects that must be used in the appropriate working steps. The details arein Appendix A.24. Brie y summarized for the proofs below, the situation is asfollows. There is a boot that can be either opened or closed; it is initially closedand shall be so in the end. There are a pump, a wrench, and a jack which canbe fetched or put away (from/into the boot); they are initially in the boot andshall be put back in the end. The spare wheels are initially not in ated, and canbe in ated using the pump (the add e�ect is that the wheel is in ated, the deletee�ect is that it is no longer not-in ated). Each hub is fastened with nuts; these canbe loosened or tightened, using the wrench, while the respective hub is on ground.The jack can be used to either jack up or jack down a hub. Once a hub is jackedup, one can undo the (loose) nuts, or do them up; if the nuts are undone, one canremove the respective wheel, or put on one. An optimal solution plan is this: openthe boot; fetch the tools; in ate all spare wheels; loosen all nuts; in turn jack upeach hub, undo the nuts, remove the at wheel, put on the spare wheel, do up thenuts, and jack the hub down again; tighten all nuts; put away the tools; and closethe boot.All instances of Tireworld are solvable.Corollary 7 Given an instance (C; I;G) of the Tireworld domain, the corre-sponding state space is harmless.Proof: The state space is not undirected because in ating a wheel can not beundone. Transforming with respect to static predicates makes sure that actions aretype correct i.e., put-on-wheel(x; y) actions for example are only there for wheelsx and hubs y. After transformation, all actions except in ate(x) are invertible inthe sense of De�nition 14 (for example, open-boot() and close-boot() invert eachother). As in ate(x) actions have irrelevant delete e�ects and static add e�ects inthe sense of De�nition 16, we are �nished with Lemma 2.Before I start with the proofs, one technical remark on the notation: in theformal de�nition of the domain, see Appendix A.24, some operators have a pa-rameter | the tool used | that must always be grounded with the same constant| the one representing the respective tool. These parameters serve to replace thedomain constants that are used in the original formulation. I omit these param-eters here to improve readability (as an example, I write in ate(x : : :) instead ofin ate(x; y) where y must always be the pump for the action to be applicable).36

Page 37: Where - Pennsylvania State University

Theorem 15 Given an instance (C; I;G) of the Tireworld domain, the corre-sponding state space does not contain local minima under h+.Proof: The in ate(x : : :) actions have irrelevant delete e�ects, and all other actionsare invertible, so with Lemma 4 it su�ces to show that all actions are respected bythe relaxation. This is obvious: if any action a starts an optimal plan from a reach-able state, then that action adds a proposition that must be achieved, and thatcan only be achieved by a. As an example, consider the actions that open/closethe boot, or loosen/tighten nuts. If those actions are needed to achieve the goal,they can not be avoided by the relaxation: as for opening (closing) the boot, this isnecessary to fetch tools (achieve the respective goal); as for loosening (tightening)the nuts, this is necessary for removing the respective at wheel (achieving therespective goal).The proof regarding the maximal bench exit distance is simple but a bit di�cultto formulate in detail, due to the large number of di�erent working steps. Fornotation details, consider Appendix A.24 ( at wheels are wi, spare wheels are si,hubs are hi, and nuts are ni). The maximal bench exit distance in Tireworld is, indi�erence to the other domains we have seen so far, where the constant is either 0or 1, bounded by 6. Roughly, this is the \depth" of the working process, i.e., themaximum number of working steps we need to take before we can apply an actionthat does not need to be undone later on.Theorem 16 Given an instance (C; I;G) of the Tireworld domain, the maximalbench exit distance in the corresponding state space is at most 6 under h+.Proof: By the argumentation in the proof of Theorem 15, all actions are respectedby the relaxation; the instance ful�lls the requirements for Lemma 4, so h+ neverincreases on optimal solution paths. It now su�ces to show that a state s0 witha better evaluated neighbor can be reached on an optimal solution path fromany reachable state s in at most 6 steps. We will use the fact that a state s0 isan exit if there is an action a starting an optimal plan for (A; s0; G), such thatremoving a from an optimal relaxed plan P+ for (A; s0; G) yields a relaxed planfor (A;Result(s0; hai); G), c.f. Proposition 2.Consider the actions close-boot(), put-away(x), in ate(x : : :), tighten(x; y : : :),do-up(x; y : : :), remove-wheel(x; y), and put-on-wheel(x; y). For all these actionsit holds that when they start an optimal plan for a state, then the propositionsthat they delete are not needed anymore after applying them, neither by a realnor by a relaxed plan: a do-up(x; y : : :) action, for example, deletes (have; x) and(not-fastened; y) for nuts x and hub y; if do-up(x; y : : :) starts an optimal plan,then this means that the spare wheel has been put on the hub y already andthat the nuts belong to the respective hub, so neither of both propositions will beneeded for achieving the goals. Our proof thus comes down to identifying in atmost how many steps on an optimal path a state s0 can be reached from which oneof the above actions starts an optimal plan. We distinguish the following cases.37

Page 38: Where - Pennsylvania State University

1. There is a spare wheel that is not in ated, (not-in ated; si) 2 s for some si.The wheel must be in ated, for which one must at most open the boot andfetch the pump, yielding the distance 2.2. The above case 1 does not hold, and there is a at wheel that is still on, ora spare wheel that is on the wrong hub, i.e., (on; w; hj) 2 s; (on; w; hj) 62 Gfor some w and hj . We identify an optimal path to a state where remove-wheel(w; hj) can be applied (and thus starts an optimal plan). First, onemust at most open the boot and fetch the wrench (maximal 2 steps). If nutsare tightened to hj and hj is jacked up, then hj must be jacked down; ifsome other hub with a at or wrong wheel on is already jacked up, one mustat most jack down that hub (which is necessary anyway in order to loosenthe nuts on the respective hub); if a hub with a good wheel is jacked up, onecan jack down that hub, yielding a better state; else, the jack must at mostbe fetched from the boot (maximal 1 more step in all four cases). Looseningthe nuts tightened to hj , jacking up hj , and undoing the respective nutstakes at most another 3 steps, so our path is at most 6 steps long. Note thatall steps on the path are unavoidable implying that the path is an optimalsolution path from s.3. The above cases do not hold, and there is a hub that is free, (free; hi) 2 sfor some hi. One must put on the respective spare. If the spare is in theboot, then fetching it yields a state with better h+. Else, one has the sparealready (otherwise case 2 would hold). One must at most perform the samesteps as in case 2 (note that nuts can be done up and tightened to hi evenif there is no wheel on it), yielding again an unavoidable path of maximallength 6.4. The above cases do not hold, and some nuts are still not done up to thecorrect hub, (loose; ni; hi) 62 s for some ni and hi with (tight; ni; hi) 2 G.If the nuts are in the boot, fetching them yields a better state. If somehub is jacked up, we can assume that either the correct nuts are fastened tothat hub, or that the hub is hi. Therefore, if some other nuts are fastenedto hi, maximal 5 unavoidable steps similar as above lead to a state wherethose other nuts can be undone, yielding a better state; otherwise maximal4 unavoidable steps lead to a state where do-up(ni; hi : : :) can be applied.5. The above cases do not hold, and a hub is jacked up, (not-on-ground; hi) 2 sfor some hi. The hub can immediately be jacked down, improving the h+value.6. The above cases do not hold, and some nuts are still loose, (loose; ni; hi) 2 sfor some ni and hi. The nuts must be tightened which involves at mostopening the boot and fetching the wrench.7. If none of the above cases holds, then there is either a tool or a at wheelthat can be put away, or one can close the boot.38

Page 39: Where - Pennsylvania State University

The cases are exhaustive, and in none of them does one need more than 6 steps inorder to reach an exit.The maximal bench exit distance is in fact exactly 6 for all Tireworld instances.Consider the state where all hubs except one have already been processed com-pletely (spare wheel in ated and on, nuts tight, at wheel in boot), the boot isclosed, the wrench and the jack are in the boot, the last spare wheel is alreadyin ated, and nothing has yet been done about the last at wheel. We are in thesecond case of the list given in the above proof of Theorem 16, and we require thewhole sequence of opening the boot, fetching the wrench and the jack, loosing thenuts, jacking up the hub, and undoing the nuts in order to get to a state wherethe at wheel can be removed. All the actions in the sequence must be invertedlater on, and there is no other way of improving the h+ value, so there the exitdistance is exactly 6.7 No Local MinimaThe second group of domains we consider have no local minima under h+ (so byProposition 1 neither have unrecognized dead ends), but an unbounded maximalbench exit distance. The domains are Briefcaseworld, Fridge, Blocksworld-no-arm,Grid, and Hanoi. We focus on them in that order. For each domain I give a briefdescription of the semantics, then consider the dead end class of the domain'sinstances, prove the non-existence of local minima, and give an example showingthat there is no upper bound on the maximal bench exit distance. For Fridge, Ialso show that the maximal bench exit distance grows in the number of screws inan instance, but not in the number of fridges.7.1 BriefcaseworldIn Briefcaseworld, a number of portables must be transported, where the trans-portation is done via conditional e�ects of the move actions. There are threeoperators: putting in a portable at a location can be done if the portable and thebriefcase are at the respective location, and the portable is not yet inside; takinga portable out can be done if it is inside; a move can be applied between twolocations, and achieves, beside the is-at relation for the briefcase, the respectiveat relations for all portables that are inside (i.e., the portables inside are movedalong by conditional e�ects). The goal is to have a subset of the portables, andthe briefcase, at their goal locations. The move actions are constrained to be be-tween di�erent locations, and all operator parameters are constrained to be of theappropriate types. See the domain details in Appendix A.4.All instances of Briefcaseworld are solvable. Removing static predicates gets ridof the type information and of actions that try to move within the same location.Proposition 4 Given an instance (C; I;G) of the Briefcaseworld domain. Thecorresponding state space is undirected. 39

Page 40: Where - Pennsylvania State University

Proof: Though none of the actions is invertible in the strict syntactical sense ofDe�nition 14, to each reachable state and applicable action a yielding the successorstate s0 there is an action a leading back to s from s0. If a is a move(x; y), it canbe undone by move(y; x). If a is a put-in(x; y), it can be undone by take-out(x). Ifa is a take-out(x), it can be undone by put-in(x; y) where y is the current locationof the briefcase and x (with x being inside prior to the application of take-out(x),it is at the same location as the briefcase in s).Theorem 17 Given an instance (C; I;G) of the Briefcaseworld domain, the cor-responding state space does not contain local minima under h+.Proof: I prove that the heuristic value does not increase on optimal solutionpaths. The put-in(x; y) action is respected by the relaxation, because if such anaction starts an optimal plan, then x is not at its goal location, so it must beput in. Also, as seen in the proof to Proposition 4, the action can be inverted.Now assume we got a reachable state s, and an optimal plan for (A; s;G) startingwith a take-out(x) action. Assume P+ is an optimal relaxed plan for (A; s;G).Then P+ is also an optimal relaxed plan for (A; s0; G), where s0 is the state thatresults from applying take-out(x) to s: x is already at its goal location, so P+does not do anything with it (x can be kept inside the briefcase in the relaxation,as moving away does not delete its current location there). Finally, assume we gota reachable state s and an optimal plan for (A; s;G) starting with a move(x; y)action. Assume P+ is an optimal relaxed plan for (A; s;G), and s0 is the statethat results from applying move(x; y) to s. If P+ starts with move(x; y), then wecan replace move(x; y) in P+ with move(y; x) to form a relaxed plan for (A; s0; G),so we are �nished then. In the other case, P+ starts with some other move actionmove(x; z) (because moving away starts an optimal real plan, no portables mustbe put in at the current location). We construct a relaxed plan for (A; s0; G) fromP+ by: replacing move(x; y), if it is contained in P+, with move(z; y) (so the atrelations that were achieved by move(x; y) in P+ are now achieved by move(z; y);note that (is-at; z) is achieved by move(x; z)); and replacing all other move(x; y0),y0 6= y, actions in P+ with move(y; y0) (so the respective at relations are achieved;note that (is-at; y) is ful�lled in s0).The shortest path to an exit can be arbitrarily long in the Briefcaseworld do-main because taking out a portable is not necessary in a relaxed plan. Consider thefollowing instances. There are two locations l1 and l2 and n portables p1; : : : ; pn.The briefcase is initially at l1 and shall be at l1 for the goal. The portable p1 mustbe transported from l2 to l1, and the portables p2; : : : ; pn must be transportedfrom l1 to l2. An optimal plan puts in all of p2; : : : ; pn, moves to l2, and puts inp1; it then takes out all of p2; : : : ; pn, and moves back to l1. Consider the state swhere the briefcase is in l2, and all portables are inside. h+(s) = 1, as moving to l1does the job in the relaxation. However, the nearest state s0 with h+(s0) < h+(s)is the nearest goal state, which is n steps away.40

Page 41: Where - Pennsylvania State University

7.2 FridgeIn Fridge, one must replace the broken compressor in a fridge. To do this, onemust remove the compressor; this involves unfastening the screws that hold thecompressor, which in turn involves �rst switching the fridge o�. The goal is tohave the new compressor attached to the fridge, all screws fastened, and the fridgeswitched back on. The origin of this domain is a STRIPS formulation. My adap-tion allows for an arbitrary number of fridges and screws, where each compressoris fastened by the same (arbitrary, at least one) number of screws. The adaptioninvolves introducing a complex precondition: a compressor can only be removedif all screws are unfastened.The discussion is probably easier to understand after a look at the formal de�-nition of the domain in Appendix A.9. A brief summary is this. There are six oper-ators. One can stop (start) a fridge, which exchanges the respective (fridge-on; x)with the respective (not-fridge-on; x) proposition (vice versa). One can unfasten(fasten) a screw from (to) a compressor attached to a fridge, which exchangesthe respective (screwed; x) with the respective (not-screwed; x) proposition (viceversa). To do that, the fridge needs to be turned o�, the compressor needs to be at-tached, and the screw must �t the compressor (each screw �ts only the compressorit is originally fastened to, and that compressor's replacement). Finally, one canremove (attach) a compressor from (to) a fridge, which exchanges the respective(attached; x; y) proposition with the respective (free; x) and (free; y) propositionsfor the fridge and the compressor. Removing a compressor requires that the fridgeis turned o�, and that none of the screws that �t the compressor are fastened. At-taching a compressor requires that the fridge is turned o�, and that the compressor�ts the fridge (for each fridge, only the initial compressor and its replacement �t).All operator parameters are constrained to be of the appropriate types.All instances of Fridge are solvable (by in turn stopping a fridge, unfasteningthe screws, exchanging the compressors, fastening the screws, and starting thefridge again).Proposition 5 Given an instance (C; I;G) of the Fridge domain, the correspond-ing state space is undirected.Proof: After removing static predicates, the stop-fridge(x) and start-fridge(x) ac-tions as well as the fasten(x; y; z) and unfasten(x; y; z) actions are invertible in thesense of De�nition 14 (by each other, respectively). For remove-compressor(x; y)and attach-compressor(x; y), matters are a bit more complicated. While they ob-viously undo each other's e�ects, applicability is slightly less obvious. Assume acompressor c has just been removed from a fridge f in a reachable state s. Then,c �ts f | otherwise it couldn't have been attached in s | so one can attach cback onto f. Now assume a compressor c has just been attached to a fridge f in areachable state s. The question is, are the screws all unscrewed? If not, then theymust have been fastened (and not unfastened afterwards) to a matching compres-sor that is already attached to a fridge. However, both matching compressors canbe attached only to the same fridge f, and f has been free in s.41

Page 42: Where - Pennsylvania State University

Theorem 18 Given an instance (C; I;G) of the Fridge domain, the correspondingstate space does not contain local minima under h+.Proof: We show that all actions are respected by the relaxation. With the argu-mentation given above in the proof to Proposition 5, this su�ces by a slight exten-sion of Lemma 4, allowing for the inverse relation between remove-compressor(x; y)and attach-compressor(x; y). This does not syntactically follow De�nition 14, buthas the same consequences semantically.It is obvious that start-fridge(x) and attach-compressor(x; y) actions are re-spected by the relaxation: such actions can only start an optimal plan if theyadd the respective goal, which can not be added by any other action. So thoseactions are then contained in any optimal relaxed plan P+, and can be used tostart P+ because they are applicable. If fasten(x; y; z) starts an optimal plan,then this means that y is the new compressor for z, so that action is also part ofan optimal relaxed plan (the relaxed plan could also achieve the goal (screwed; x)by fastening x to the broken compressor for z, but this involves more steps). Ifstop-fridge(x) starts an optimal plan, then this means that either the broken com-pressor is attached to x, or that one of the screws is still unfastened. In bothcases a relaxed plan must also stop x in order to apply the respective actions:the �rst case is obvious, the second case follows because the screws can only befastened to a matching compressor, which in turn can only be attached to x. Ifunfasten(x; y; z) starts an optimal plan, then y is the broken compressor for z, sounfastening x prior to removing y from z can not be avoided in a relaxed plan.Similarly, remove-compressor(x; y) starting an optimal plan means that x is thebroken compressor for y, removing which can not be avoided.The maximal bench exit distance in Fridge is not bounded. Consider theinstances with a single fridge and n screws. From the initial state, an optimalrelaxed plan stops the fridge, unfastens all screws, removes the broken compressor,and attaches the new one, so h+(I) = n + 3. The nearest better state is the onewhere the broken compressor has been removed already: in all states where thathas not been done, one must in the relaxed plan always do the removing andattaching action, either start or stop the fridge, and either fasten or unfasteneach screw, depending on the current state of the fridge or screw (if a screw isunfastened, it needs to be fastened for achieving the respective goal, and if a screwis fastened, it needs to be unfastened in order to remove the broken compressor;similarly for the fridge). So h+ is constantly h+(s) = n+ 3 for all states s wherethe broken compressor is attached to the fridge. Getting from the initial state toa state where the broken compressor can be removed requires n + 1 steps, whichis a lower bound on the maximal bench exit distance. In fact, it is also an upperbound.Theorem 19 Given an instance (C; I;G) of the Fridge domain, with n screwsper fridge. Then the maximal bench exit distance in the corresponding state spaceis at most n+ 1.Proof: We distinguish the following cases.42

Page 43: Where - Pennsylvania State University

� From a state where at least one old compressor c is attached to a fridge f onecan get to a state with lower h+ value by at most stopping f, unfastening allscrews that are fastened to c (� n steps), and removing c: in the resultingstate, the remove-compressor(c;f) action can be left out of the relaxed plan.� From a state where no compressor is attached at all, one can get to a betterstate by attaching a new compressor c to the fridge f it �ts, �rst stopping fif it is turned on: in the resulting state, one can leave attach-compressor(c;f)out of the relaxed plan.� Say none of the above cases holds, but we are not in a goal state. Then thereis a new compressor c that is attached to a fridge f, such that at least onescrew s �tting c is not yet fastened. One gets to a better state by stopping fif it is on, and fastening s: in the resulting state, one can leave fasten(s; c;f)out of the relaxed plan.As per Theorem 19, the maximal bench exit distance in Fridge grows in thenumber of screws, but not in the number of fridges.7.3 Blocksworld-no-armIn Blocksworld-no-arm, there are three operators: move a block x from the tableto a block y (which exchanges (clear; y) and (on-table; x) with (on; x; y)); movea block x from a block y to the table (which does the above exchange the otherway round); �nally, move a block x from a block y to a block z, which exchanges(on; x; z) and (clear; y) with (on; x; y) and (clear; z). The initial state of an instancespeci�es the initial positions of the blocks, the goal state speci�es a (consistent,i.e., cycle-free) set of (on; x; y) propositions. In the operators that move a blockonto another block, it is required that the two blocks are di�erent (which doesnot follow from the other preconditions, so must be postulated to avoid absurdactions). See the domain details in Appendix A.3.All instances of Blocksworld-no-arm are solvable (by moving all blocks to thetable and thereafter building the goal stacks from bottom to top). Removing staticpredicates gets rid of actions that try to move a block onto itself.Corollary 8 Given an instance (C; I;G) of the Blocksworld-no-arm domain, thecorresponding state space is undirected.Proof:After transformation with respect to static predicates, all actions are in-vertible in the sense of De�nition 14: move-table-to-block(x; y) is inverted bymove-block-to-table(x; y) and vice versa, and move-block-to-block(x; y; z) is in-verted by move-block-to-block(x; z; y). By applying Lemma 1, we are �nished.Proving the non-existence of local minima under h+ is more complicated thanin the domains we have seen so far. 43

Page 44: Where - Pennsylvania State University

Theorem 20 Given an instance (C; I;G) of the Blocksworld-no-arm domain, thecorresponding state space does not contain local minima under h+.Proof: We prove that there is always at least one optimal solution path on whichthe heuristic value does not increase. Let s 2 S be a reachable state with gd(s) > 0.We distinguish the following two cases:1. There is an optimal plan for (A; s;G) starting with an action a that putssome block x into its goal position on block y.2. No optimal plan for (A; s;G) starts with such an action.In the �rst case, we will see that there is an optimal relaxed plan for (A; s;G)containing a. In the second case, we will identify an optimal plan Ps for (A; s;G)starting with an action a that moves a block x onto the table, and an optimalrelaxed plan P+s for (A; s;G) containing an action a0 that moves x. In both cases,we prove that h+(Result(s; hai)) � h+(s), which �nishes the argumentation.Assume there is an optimal plan for (A; s;G) starting with a, putting block xinto its goal position on block y, (on; x; y) 2 G, i.e., a = move-table-to-block(x; y)or a = move-block-to-block(x; z; y) for some third block z. Obviously, all relaxedplans for (A; s;G) must also at some point move x onto y. If this is done ina di�erent way than by a, then x must �rst be moved to a di�erent position,involving one more step. Moreover, moving x to a di�erent position can achieve| apart from the (clear; z) proposition that is then also achieved by a | only an(on-table; x) or (on; x; u) proposition. Those propositions are of no other use thanfor moving around x. It follows that all optimal relaxed plans for (A; s;G) use afor achieving (on; x; y). With invertibility, we are �nished.Now assume that there is no optimal plan for (A; s;G) that starts by puttingsome block into its goal position. We have a closer look at the situation. Theblocks are arranged on the table in stacks | a bottom block directly on the table,a sequence of blocks transitively on that block, a clear top block. We say that astack is a good stack, if it is consistent with the goal conditions, i.e., if (on; x; y) 2 Gand x or y are in the stack, then x is located on y (implying that both blocks arein the stack). Obviously, optimal plans leave good stacks untouched | blocks inthese stacks are either not mentioned in the goal, or already in their �nal position.Focusing on the stacks in s that are not good, we observe that there is at leastone non-good stack in s such that an optimal plan starts by putting the respectivetop block x to the table. This is because the optimal plan has no other choice butto move a top block of a bad stack (good stacks remain untouched), and becauseby prerequisite x is not put onto its goal position { moving x to the table can onlybe better than moving it onto some block where it does not need to be �nally.Further, we observe that any relaxed plan for s will also move x { the optimal realplan moves x in order to access a block below it; a relaxed plan must do the same.Say x is located on y, and a := move-block-to-table(x; y). By what we observedabove, an arbitrary optimal relaxed plan P+s for (A; s;G) contains an action mov-ing x away from y; let a0 be the �rst such action. If a0 = move-block-to-table(x; y),44

Page 45: Where - Pennsylvania State University

we are �nished with invertibility. Assume a0 = move-block-to-block(x; y; z). De-note by s0 := Result(s; hai) the result of applying a in s. We distinguish twocases:1. (on; x; y) 2 G: Construct an action sequence P+s0 by replacing a0 in P+swith move-table-to-block(x; y). P+s0 is a relaxed plan for (A; s0; G): no actionbefore a0 needs (on; x; y) as precondition (by prerequisite, a0 is the �rst actionmoving x away from y); executing the relaxed version of move-block-to-block(x; y; z) in P+s achieves one more proposition, (on; x; z), but x is alreadyin its goal position, so the optimal relaxed plan P+s moves x only once, thus(on; x; z) is not needed by any other action.2. (on; x; y) 62 G: Construct an action sequence P+s0 by replacing a0 in P+s withmove-table-to-block(x; z). Now, P+s0 is a relaxed plan for (A; s0; G) unlessthere is some action that needs (on; x; y) as precondition, which must be amove-block-to-block(x; y; u) (moving x to the table is useless after applyingthe relaxed version of a0). Such an action comes after a0 in P+s (rememberthat a0 is the �rst action moving x away from y), so it can be replacedby move-block-to-block(x; z; u) in P+s0 . This replacement does not achieve(clear; y), but that proposition has already been true in s0 anyway.In both cases, we have a relaxed plan P+s0 for (A; s0; G) with jP+s0 j = jP+s j, whichconcludes the argumentation.The maximal bench exit distance in Blocksworld-no-arm is not bounded. Con-sider an instance with n + 1 blocks b1; : : : ; bn+1, initial state I = f(clear; b1),(on; b1; b2), . . . , (on; bn�1; bn), (on-table; bn), (clear; bn+1), (on-table; bn+1)g andgoal state G = f(on; b1; b2), . . . , (on; bn; bn+1)g. Here, the stack b1; : : : ; bn needsto be disassembled, and rebuilt on top of bn+1. An optimal relaxed plan for Ihas length n, by moving b1 . . . bn�1 to the table, and moving bn on top of bn+1.Now, h+(s0) � n for all reachable states s0 where bn is not on top of bn+1: bnmust be moved to bn+1; to make this possible, bn�1 must be moved away from bnif it is currently on top of it, and otherwise it must be moved to bn for achievingthe goal; the same argument can iteratively applied upwards to b1. Now consideragain the initial state. Reaching, from there, the nearest state s0 where bn is ontop of bn+1 involves n steps moving b1 . . . bn�1 away, and moving bn onto bn+1.Thus the maximal exit distance in the instance is at least n.7.4 GridInGrid, a robot must move along places that are arranged in a grid-like reachabilityrelation; the places can be locked and there are keys of di�erent shapes to openthem; the goal is to have some keys at their goal places. More explicitly, thereare �ve operators: one can move from place x to place y, which requires (apartfrom the obvious preconditions) that x and y are connected and that y is open(not locked); one can pick up a key y at a place x, which requires that the armis empty (one can only hold one key at a time), and has as e�ects that one holds45

Page 46: Where - Pennsylvania State University

the key, that the arm is no longer empty, and that the key is no longer at x; onecan put a key y down at a place x, which inverts the e�ects of picking y up at x;one can abbreviate the two previous actions by doing a pickup-and-lose of keys yand z at a place x; to do this, one must hold y, which is directly exchanged forz, i.e., the e�ects are that one holds z and that y is located at x; �nally, one canunlock a place y when one is at a place x that is connected to y, and holds a keyz that has the same shape v as the locked place y; the add e�ect of that is thatthe place x is open, the delete e�ect is that the place is no longer locked. Theinstances specify the initial locations of all keys, locked places, and of the robot,as well as the shapes of the keys and the locked places; the goal speci�es places fora subset of the keys. The robot always starts on an open place. This does makea signi�cant di�erence: if the robot is allowed to start on a locked place, therecan be local minima under h+ while otherwise, as we prove below, there are none.Intuitively, it makes more sense to let the robot be located only in open places;this is also the case in the published benchmark examples. The detailed formalde�nition of the Grid domain is in Appendix A.10.A Grid instance can be unsolvable if, for example, some important place islocked with a shape for which there is no matching key.Proposition 6 Given a solvable instance (C; I;G) of the Grid domain, the cor-responding state space is at most harmless.Proof: As the robot can only open locks, one possible solution plan for anyreachable state s is this: re-establish the initial situation as far as possible, i.e., putall keys that have been moved back to their initial places, and move back to theinitial place of the robot (this is possible because to all these places there must bea path on which all places are open | otherwise the keys, respectively the robot,could not have been moved). Afterwards, execute an arbitrary solution plan forthe initial state, omitting actions that try to unlock a place that is already open.As unlocking a place can not be undone, a Grid instance is not undirected ifthere is at least one locked place that can be opened. Let us focus on local minima.Theorem 21 Given a solvable instance (C; I;G) of the Grid domain, the corre-sponding state space does not contain local minima under h+.Proof: Let s 2 S be a reachable state with gd(s) > 0. We identify a at path toan exit, i.e., a path on which h+ does not increase.Let p be the current position of the robot, (at-robot; p) 2 s. Let P+s be anoptimal relaxed plan for (A; s;G) (with solvability and Proposition 6, there is atleast one such P+s ). We focus in the following on one action a in P+s that makesuse of a key k at place p0. If there is an unlock action in P+s , then we selectthe �rst such action a = unlock(p0; y; k; v). If there is no single unlock, then weselect an arbitrary putdown action a = putdown(p0; k); without loss of generality,there is at least one such action because we can assume that the last action in P+sis a putdown (remember that the only goals are to have some keys at their goalplaces). We distinguish between three cases:46

Page 47: Where - Pennsylvania State University

1. The robot is holding k in s, (holding; k) 2 s.2. The arm is empty in s, (arm-empty) 2 s.3. The robot is holding k0 6= k in s, (holding; k0) 2 s; k0 6= k.In the �rst case, we identify a at path to an exit state s0. In the second and thirdcases, we identify a at path to a state s0 where the robot is holding k, i.e., wherethe �rst case holds.Assume the robot is holding key k. The action a we have selected is either the�rst unlock in P+s , or a putdown, using k. In both cases, a could be executed giventhe robot was at place p0, and in both cases, P+s contains what we will call anopen path from p to p0 in the following: P+s contains, preceding a, a subsequencehmove(p = p1; p2); : : : ;move(pn�1; pn = p0)i of moving actions connecting p to p0,such that (open; pi) 2 s for 1 � i � n; the moving actions are there becauseotherwise a could not be applied at the point in P+s where it appears; p1 is openbecause the robot can only be at open places in all reachable states by de�nition(note that at this point we need the restriction that the robot is not allowed tostart at locked places), and p2; : : : ; pn are open because we selected a to be the�rst unlock in P+s . Let si := Result(s; hmove(p1; p2), . . . , move(pi�1; pi)i). Our at path is the above open path, and our exit state s0 is s0 := sn. It su�ces toshow that h+(si) � h+(s) for 1 � i � n, and that there is a state s00; (s0; s00) 2E; h+(s00) < h+(s). Consider s2, resulting from s by executing move(p; p2). Asthat action is contained in P+s , Lemma 3 allows us to construct a relaxed planP+s2 for (A; s2; G) by removing move(p; p2), and adding hmove(p2; p)i as a pre�x.Therefore, h+(s2) � h+(s). Now, the next action move(p2; p3) on our open pathis still contained in P+s2 , so the same argument applies to s3, and so forth. LetP+s0 be the thus constructed relaxed plan for s0 = sn. Our action a is applicablein s0, and it is contained in P+s0 . Let s00 := Result(s0; a). We construct a relaxedplan for s00 as follows. First, we remove a from P+s0 . If a = unlock(p0; y; k; v),that does the job: the single delete is (locked; y), which is only needed for actionsthat unlock y. Now, the optimal relaxed plan P+s for (A; s;G) does of course notopen y twice, and we did not add new unlock actions when constructing P+s0 . Ifa = putdown(p0; k), the delete is (holding; k). No unlock actions are contained inP+s0 , but (holding; k) might be needed by pickup-and-lose(x; k; z) actions containedin P+s0 . These can, however, be replaced by pickup(x; z) actions when the relaxedplan starts out in s00. In both cases for the selection of a, the resulting relaxedplan for (A; s00; G) is one step shorter than that for (A; s0; G), which concludes theargument.We still need to deal with the cases where the arm is empty in s, or where therobot is holding some di�erent key k0 6= k. In both cases, we can move along openpaths in P+s to end up in a state s0 where the robot holds k. Consider the casewhere (arm-empty) 2 s. At the point in P+s where a is applied, (holding; k) hasbeen achieved. This was done via a pickup(p0; k) or a pickup-and-lose(p0; k00; k)action preceding a in P+s . In the �rst case, we stop, in the second case, we applythe same argument to k00, i.e., before pickup-and-lose(p0; k00; k) is applied in P+sthere must be some action achieving (holding; k00). At some point, a key must be47

Page 48: Where - Pennsylvania State University

picked up, as initially in s no key is held. So we end up with a list k1; : : : ; kn =k of keys such that hpickup(p1; k1), pickup-and-lose(p2; k1; k2), . . . , pickup-and-lose(pn; kn�1; kn = k)i is a subsequence of P+s for certain places p1; : : : ; pn. P+scontains open paths from p to all pi; 1 � i � n (remember that either our selectedaction a using k is the very �rst unlock in P+s , or there are no unlocks needed at all).We move along the path from p to p1, execute pickup(p1; k1), and move back fromp1 to p. At all points on this path we can use, like above, Lemma 3 to constructa relaxed plan for the new state that has the same number of steps like P+s :putdown(p1; k1) inverts pickup(p1; k1), and the actions moving back from p1 to pare all contained in the relaxed plan constructed when moving to p1. Moving backto p constructs a relaxed plan that contains exactly the same move actions as P+s .We can thus in the same fashion move from p to pi, 2 � i � n�1, execute pickup-and-lose(pi; ki�1; ki) (inverted by pickup-and-lose(pi; ki; ki�1)), and move back top. We �nally move from p to pn and execute pickup-and-lose(pn; kn�1; kn = k)which brings us to the desired state s0 where the robot is holding the key k.Finally, consider the case where (holding; k0) 2 s; k0 6= k. Like in the abovecase, at the point in P+s where a is applied, (holding; k) has been achieved. So, likeabove, there is either a pickup(p0; k) or a pickup-and-lose(p0; k00; k) action precedinga in P+s , the same holding for k00 unless k00 = k0. Iterating the argument gives us akey list k1; : : : ; kn = k such that either hpickup(p1; k1), pickup-and-lose(p2; k1; k2),. . . , pickup-and-lose(pn; kn�1; kn = k)i or hpickup-and-lose(p1; k0 = k1; k2), . . . ,pickup-and-lose(pn; kn�1; kn = k)i is a subsequence of P+s . The �rst case can be re-duced to the second case by replacing pickup(p1; k1) with pickup-and-lose(p1; k0; k1)in P+s , and adding k0 as the front member of the key list. Just like we did above,we can then move along the open paths from p to pi, execute the adequate pickup-and-lose(pi; ki�1; ki) action, and move back to p, �nally ending up in the state s0where pickup-and-lose(pn; kn�1; kn = k) has been executed, and the robot is thusholding the correct key, which case we have treated earlier.I remark two things about the above argumentation. First, Theorem 21 alsoholds when there is no pickup-and-lose operator (in fact, the proof is a lot easier inthis case). Second, the identi�ed at paths can be arbitrarily long and the maximalbench exit distance in Grid is thus not proved to be bounded by a constant.Consider the simple example where the robot and one key k have initially n movingsteps distance, and k shall be put to the robot's starting place. The h+ value forthe initial state is n+2: walk over to the key, pick it up, and drop it at the startingplace (remember that the at-robot propositions are not deleted). The nearest statewith better h+ value is the state where k has been picked up, which is n+1 stepsaway.7.5 HanoiThe Hanoi domain is a STRIPS encoding of the classical Towers of Hanoi problem.There are n discs d1; : : : ; dn, and three pegs p1, p2, and p3. There is a singleoperator that moves a constant x from a constant y onto a constant z (notethat the operator parameters can be grounded with discs as well as pegs). The48

Page 49: Where - Pennsylvania State University

preconditions of the move are that x is on y, x is clear, z is clear, and x is smallerthan z; the e�ects are that x is on z and y is clear, while x is no longer on y and zis no longer clear. The semantics of Towers of Hanoi are encoded via the smallerrelation. This relation holds in the obvious way between the discs, and all discsare smaller than the pegs (the pegs are not smaller than anything so they can notbe moved). The instances di�er in terms of the number n of discs that must betransferred from p1 to p3. See the domain details in Appendix A.12.All instances of Hanoi are solvable.Corollary 9 Given an instance (C; I;G) of the Hanoi domain, the correspondingstate space is undirected.Proof: After transformation with respect to static predicates, all actions areinvertible in the sense of De�nition 14: move(x; y; z) is inverted by move(x; z; y).Finished with Lemma 1.I prove the non-existence of local minima by �rst giving an exact measure ofwhat h+(s) is for any reachable state s: as it turns out, h+ is always equal to thenumber of discs that are not yet in their goal position. This su�ces because anoptimal plan does not move discs that are already where they should be.Lemma 5 Given an instance (C; I;G) of the Hanoi domain, and a reachable states 2 S. Denote p3 by dn+1, and let sg(s) be de�ned as follows:sg(s) := minfm j 1 � m � n+ 1; (on; dm; dm+1); : : : ; (on; dn; dn+1) 2 sgThen h+(s) = sg(s)� 1 holds.Proof: sg(s) is the number of the smallest disc that is already in its goal positionin s, with all discs below it also being in their goal position (sg(s) = n+1 if no disc,or only p3, is already in its goal position). If sg(s) = 1, the goal is achieved andthere is nothing to show. Else, we show by induction over i, i � n, that i relaxedsteps can get us to a state s0 where (on; d1; d2), . . . , (on; di; di+1) 2 s0. With that,the lemma follows: after sg(s)�1 steps, (on; d1; d2), . . . , (on; dsg(s)�1; dsg(s)) 2 s0,which gives us G � s0 as (on; dsg(s), dsg(s)+1), . . . , (on; dn; dn+1 = p3) are truein s already (also, at least sg(s) � 1 relaxed steps are necessary as that many(on; di; di+1) propositions from G are missing in s, and each action achieves atmost one such proposition).We prove the stronger result that, after i relaxed steps, we can get to a states0 where (on; d1; d2), . . . , (on; di; di+1) 2 s0, (clear; d1), . . . , (clear; di+1) 2 s0, and(clear; d) 2 s0 for all discs or pegs d such that (on; dj ; d) 2 s for some j � i.Base case i = 1: (clear; d1) 2 s simply because s is reachable and no disc canbe placed onto the smallest disc d1. Either d1 is on d2 in s, or d1 is on some otherdisc or peg d. In the �rst case, we execute the relaxed step move(d1; d2; z)+ forsome z that is clear in s; in the second case, d2 is clear (no disc other than d1 canbe on d2), so we can execute move(d1; d; d2)+. In both cases, (clear; d1), (clear; d2),and (on; d1; d2) are contained in the resulting state s0, and also (clear; d) holds forthe disc or peg d on which d1 is in s. 49

Page 50: Where - Pennsylvania State University

Inductive case i �! i+ 1; i+ 1 � n: let s0 be the state reached after i relaxedsteps, with the required properties. Either di+1 is on di+2 in s (remember that wedenote dn+1 := p3), or di+1 is on some other disc or peg d. In both cases there isan action applicable to s0 which yields, in its relaxed version, a state that satis�esthe requirements. Consider the second case. We can apply move(di+1; d; di+2)+:(clear; di+1) 2 s0 by induction hypothesis; if di+2 was not clear, this would bedue to a smaller disc dj , j < i+ 1, being on di+2 in s, so again (clear; di+2) 2 s0per induction hypothesis. The resulting state has d clear, and di+1 on di+2, so itful�lls the requirements. Consider now the �rst case, where di+1 is on di+2 in s.Applying move(di+1; di+2; z)+ for some z would obviously yield a state satisfyingthe requirements (the only proposition that must be achieved is (clear; di+2)).Concerning the applicability of move(di+1; di+2; z)+ in s0, (clear; di+1) 2 s0 perinduction hypothesis. It remains to �nd a disc or peg z with (smaller; di+1; z) 2 s0and (clear; z) 2 s0. Let p be a peg such that di+1 is not transitively on p in s,and z be the topmost disc transitively on p in s such that (smaller; di+1; z) 2 s0,or z := p if there is no such disc. z is clear: if not, (on; dj ; z) 2 s would hold forsome disc j � i smaller than di+1, so (clear; z) 2 s0 per induction hypothesis.Theorem 22 Given an instance (C; I;G) of the Hanoi domain, the correspondingstate space does not contain local minima under h+.Proof: Follows from Lemma 5 and the fact that an optimal plan does not movearound the discs that are already in their goal position. In a reachable non-goalstate s, with sg(s) > 1 being the number of the smallest disc that is already in itsgoal position in s (all discs below it also being in their goal position), the optimalplan from s moves around smaller discs until the next smaller disc is in its goalposition. Lemma 5 proves that, before this is achieved, h+ remains sg(s) � 1constantly, and that, when this is achieved, h+ goes down to sg(s)� 2. Iteratingthe argument, h+ does not increase on the optimal solution path from s.I remark that the length of the at paths is not bounded by a constant. Quitedi�erently, their length is exponential in the number of discs: from the initial stateof an instance with n discs, the nearest state where the largest disc dn is in itsgoal position is 2n�1 steps away.8 Bounded Maximal Local Minimum Exit Dis-tance and Bounded Maximal Bench Exit Dis-tanceIn the next group of domains, there are local minima under h+, but with upperbounds on the maximal local minimum exit distance (so by Proposition 1 there beno unrecognized dead ends). The maximal bench exit distances are also bounded.The domains are Zenotravel, Satellite, and Schedule. We focus on them in thatorder. For each domain I give a brief description of the semantics, consider the50

Page 51: Where - Pennsylvania State University

dead end class of the domain's instances, and give an example of a local minimum.I then give a proof argument showing that, for each reachable state s, there is anupper bound c on the distance to a state s0 with h+(s0) < h+(s). This entails thatc�1 is an upper bound to both the maximal local minimum exit distance and themaximal bench exit distance.8.1 ZenotravelZenotravel is a transportation domain variant where the vehicles (called aircrafts)use fuel units that can be replenished using a refuelling operator. There is a num-ber of cities, a number of aircrafts, a number of persons, and a number of di�erentpossible fuel levels. The fuel levels encode natural numbers by a (next; x; y) pred-icate { (next;f;f0) is true i� f0 is the next higher fuel level than f. The zero fuellevel is denoted with f0. The task is to transport the persons from their initiallocations to their goal locations. There are the following �ve operators. One canboard/debark a person p onto/from an aircraft a at a city c; this has just the obvi-ous preconditions and e�ects. One can y an aircraft a from a city c to a di�erentcity c0, decreasing a's fuel level from f to f0; as a precondition, a must be at c, fmust be a's current fuel level, and f0 must be the next lower fuel level. One canalso zoom the aircraft; this is exactly the same as ying it, except that zoominguses more fuel { the aircraft's fuel level is decreased by two units.4 Finally onecan refuel an aircraft a at a city c from fuel level f to fuel level f0. The conditionsare that a is at c, that f is a's current fuel level, and that f0 is the next higher fuellevel. Thus aircrafts can be refuelled at any city, and in steps of one unit. See thedomain details in Appendix A.25.A Zenotravel instance is solvable as soon as there is at least one aircraft andone non-zero fuel level: the aircraft can be refueled after each ying action, andcan be used to transport all persons. Removing static predicates gets rid of typeinformation, and of actions that try to move between identical locations. Weassume in the following that static predicates have been removed. The su�cientcriteria for the non-existence of dead ends are not directly applicable, so I inserta short proof.Proposition 7 Given a solvable instance (C; I;G) of the Zenotravel domain, thecorresponding state space is at most harmless.Proof: Boarding and departing actions invert each other in the sense of De�ni-tion 14. A ying action from c to c0 can be undone by refuelling once at c0, yingback from c0 to c, and refuelling another time. Similarly, a zooming action can beundone (requiring two refuelling actions in each city). So the e�ects of all actionscan (indirectly) be undone, and no dead ends can arise.If there are at least two cities, the instance is not undirected as the e�ects ofthe moving actions can not directly be undone.4As the reader will have noticed, this does not make much sense; according to personalcommunication with Derek Long it is a domain bug that has been overlooked when preparingIPC-3. 51

Page 52: Where - Pennsylvania State University

There are local minima in Zenotravel under h+. An example instance is this.There are two cities c1 and c2, one aircraft a1, two persons p1 and p2, as well astwo fuel levels f0 and f1. The goal for p1 is to be at c1, the goal for p2 is to be atc2. The following reachable state s forms a local minimum (note that we ignorestatic predicates): s = f(at; a1; c2); (in; p1; a1); (at; p2; c1); (fuel-level; a1;f1)g. Ashortest relaxed plan for s is to y from c2 to c1, debark p1 at c1, board p2 at c1,and debark p2 at c2. Thus h+(s) = 4. The applicable actions to s are to debark p1at c2, and to y from c2 to c1. When applying the former action, in the resultingstate s0 the relaxed plan is the same as before except that p1 must be boardedat c2. So h+(s0) = 5. When applying the latter action, in the resulting state s00a shortest possible relaxed plan is to debark p1 at c1, board p2 at c1, refuel, yfrom c1 to c2 and debark p2 at c2. So h+(s00) = 5, showing that s forms a localminimum.From the above local minimum state s, one can reach a state with lower h+value within three steps. This holds true for all states { in particular for all localminima states { that can arise in Zenotravel.Theorem 23 Given a solvable instance (C; I;G) of the Zenotravel domain, and areachable state s, h+(s) > 0. The distance from s to a state s0 with h+(s0) < h+(s)is at most 3.Proof: Let P+s be an optimal relaxed plan for (A; s;G) (with solvability andProposition 7, there is at least one such P+s ). We distinguish between three cases:1. P+s contains a boarding or departing action that is applicable in s.2. P+s contains a refuelling action that is applicable in s.3. None of the above cases holds, i.e., the only actions in P+s that are applicablein s are ying or zooming actions.In the �rst case, the desired state s0 can be reached with a single step. Let abe a boarding or departing action that is applicable in s. A relaxed plan fors0 = Result(s; hai) can be constructed by removing a from P+s : if a boards personp at city c then, as P+s is optimal, p must be boarded in order to reach the goal,and needs not be at c any longer; if a debarks person p at city c, then c is p's goalcity and p needs not be inside the respective aircraft any longer.In the second case, too, the desired state s0 can be reached with a single step.Let a be a refuelling action that is applicable in s. Again, a relaxed plan fors0 = Result(s; hai) can be constructed by removing a from P+s : the fuel levelof the respective aircraft ac must be zero in s (otherwise no refuelling would beneeded in the relaxation); one refuelling action su�ces in the relaxation so allactions in P+s ying ac make use of fuel level one, which is given in Result(s; hai)(there can't be any actions in P+s zooming ac).In the third case, the desired state s0 can be reached with three steps. SayP+s starts with an action a ying aircraft ac from city c to city c0 (if P+s startswith a zooming action then one can easily replace that with the corresponding ying action, and, if necessary, increment the fuel levels used by other actions in52

Page 53: Where - Pennsylvania State University

P+s moving ac). We y ac from c to c0, then we refuel ac once. For the resultingstate s00 we can construct a relaxed plan P+s00 by replacing a with y(ac; c0; c) inP+s : after the relaxed execution of y(ac; c0; c) in s00 the same at-relations andfuel-levels are given as after execution of y(ac; c; c0) in s. Now, as P+s is optimalit either boards some person onto ac at city c0, or debarks some person from acthere. Similar to the �rst case above, one can apply the respective action a0 ins00, and skip it from P+s00 to obtain a relaxed plan for s0 = Result(s00; ha0i). Thisconcludes the argument.8.2 SatelliteIn Satellite, satellites need to take images in di�erent directions, in certain modes,using appropriate instruments. There is a number of satellites, a number of direc-tions, a number of instruments, and a number of modes. There are the following�ve operators. One can turn a satellite s from a direction d to a di�erent direc-tion d0; the obvious preconditions and e�ects are that s must be pointing into dto execute the action, and points into d0 upon execution. One can switch on aninstrument i on board a satellite s, if s has power available; in e�ect, i has power,i is no longer calibrated, and s has no more power available. One can switch o� aninstrument i on board a satellite s, if i has power; in e�ect s has power availablebut i not anymore. One can calibrate an instrument i on board a satellite s indirection d, if d is a calibration target for i, s points at d, and i has power; the onlye�ect is that i is calibrated. Finally, one can take an image with an instrumenti on board a satellite s in direction i and mode m; the precondition is that i iscalibrated, that i supports the mode m, that i has power, and that s points to d.The only e�ect is that one has the image data for d in mode m.As indicated above, the goal in Satellite is to have the image data for a numberof direction/mode pairs; also, satellites can have a goal requirement to point in acertain direction. The initial states are such that each satellite points in exactlyone direction, each instrument is on board of exactly one satellite, each satellite(but no instrument) has power available, and no instrument is calibrated. The�rst two are purely physical restrictions, the third restriction is just one way ofsaying that each satellite has the power to run one instrument at a time. Thelast restriction is just one way of saying that each calibrated instrument has atleast one calibration target. The restriction seems natural, and holds in the IPC-3instances. It implies the non-existence of dead ends, as we will see below. Notethat, without the restriction, there can be unrecognized dead ends: just imaginean instrument that is calibrated, that has no calibration target, that is switchedo�, and that is needed for taking an image; there is no plan as switching theinstrument on deletes its calibration, but there is a relaxed plan as this ignoresthe aforementioned delete e�ect. In what follows we use the domain notationsintroduced in Appendix A.22, which should be self-explanatory.A Satellite instance is solvable i� for each goal (have-image; d;m) there is aninstrument i such that i has a calibration target, and supports m. The implicationfrom left to right is obvious. From right to left, for each such goal one can switchi on (possibly switching some other instrument o� �rst), turn the satellite s on53

Page 54: Where - Pennsylvania State University

which i is located towards i's calibration target, calibrate i, turn s towards d,and take the image (note that there is no problem turning a satellite into anarbitrary direction). Removing static predicates gets rid of type information, andof actions that try to turn satellites between identical directions. We assume inthe following that static predicates have been removed. The su�cient criteria forthe non-existence of dead ends are not directly applicable, so I insert a short proof.Proposition 8 Given a solvable instance (C; I;G) of the Satellite domain, thecorresponding state space is at most harmless.Proof: Actions turning a satellite s from d to d0 are inverted, in the sense ofDe�nition 14, by turning the satellite from d0 to d. Switching an instrument oncan be undone by switching it o�, beforehand calibrating the instrument if itwas calibrated before (maybe turning the respective satellite into the calibrationdirection �rst, and back afterwards; note that the instrument must have at leastone calibration target or else it could not have been calibrated in the �rst place).Switching an instrument o� can be undone by switching it on, and calibratingit if it was calibrated before (maybe inserting actions turning the satellite). Theactions calibrating instruments and taking images have no delete e�ects so theire�ects need never be undone in order to avoid dead ends.If there is at least one instrument i that has a calibration target, the instanceis not undirected as, e.g., the e�ects of switching i on can not directly be undonewhen i is calibrated.There are local minima in Satellite under h+. An example instance is this.There are one satellite sa, two directions d1 and d2, two instruments i1 and i2, aswell as two modes m1 and m2. Say i1 supports m1, i2 supports m2, and the goalis to have an image of direction d1 in each mode. The calibration target for bothinstruments is d2 (and of course both instruments are on board sa). Consider thereachable state s where sa points into d1, both instruments are calibrated, andboth instruments are switched o�. A shortest relaxed plan P+s for s is to switch i1and i2 on, then take the two required images of d1 (which works as the deletes onthe calibration of the instruments are ignored). Thus h+(s) = 4. The applicableactions are to switch i1 on, to switch i2 on, or to turn s1 to d2. When applyingthe latter action, in the resulting state s0 a shortest possible relaxed plan is toturn s1 back to d1, switch i1 and i2 on, and take the images, so h+(s0) = 5. Whenapplying one of the former actions, the h+ value increases to 6 which shows thats forms a local minimum. Say we switch i1 on in s. To obtain a relaxed plan forthe resulting state s00, one must replace, in P+s , the action switching i1 on withthe three actions switching i1 o� (to make power available for i2), turning to d2(i.e., to the calibration target), and re-calibrating i1. Thus a shortest relaxed planfor s00 is to switch i1 o�, turn sa to d2, calibrate i1, switch i2 on, and take the twoimages. If we switch i2 on in s we get a symmterical situation, which concludesthe argument.From the above local minimum state s, one must apply �ve steps in order toreach a state with lower h+ value (switch i1 on, turn to d2, calibrate i1, turn to54

Page 55: Where - Pennsylvania State University

d1, take the image in mode m1). So 5 is a lower bound on the maximal distanceto a better state in Satellite. It is also an upper bound.Theorem 24 Given a solvable instance (C; I;G) of the Satellite domain, and areachable state s, h+(s) > 0. The distance from s to a state s0 with h+(s0) < h+(s)is at most 5.Proof: Let P+s be an optimal relaxed plan for (A; s;G) (with solvability andProposition 7, there is at least one such P+s ). We distinguish between four cases:1. P+s contains an action a taking an image, or calibrating an instrument, suchthat a is applicable in s.2. P+s contains an action a switching an instrument on, such that a is applicablein s.3. P+s contains an action a switching an instrument o�, such that a is applicablein s.4. Cases 1, 2, and 3 do not hold (implying that P+s contains an action a appli-cable in s that turns a satellite).In case 1, the desired state s0 can be reached with a single step. A relaxed planfor s0 = Result(s; hai) can be constructed simply by removing a from P+s : neithertaking an image nor calibrating an instrument have any delete e�ects. Finishedalong the lines of Proposition 2.In case 2, the desired state s0 can be reached within at most �ve steps. Tosee this, we distinguish a further two cases. Say action a switches instrument ilocated on satellite sa on.� First case, i is not calibrated in s. Then P+s contains an action a0 calibratingi (otherwise there would be no point in switching i on); a0 uses a calibrationtarget dc, and if dc is di�erent from sa's current orientation d then P+s alsocontains an action a00 turning sa from d to dc. We obtain a state s00 byexecuting a (and a00, if d 6= dc); a relaxed plan P+s00 for s00 can be constructedby removing a from P+s and inserting switch-o�(i; sa) at the start (as well asreplacing turn-to(sa; d; dc) with turn-to(sa; dc; d), if d 6= dc). In s00, one canapply a0, i.e., calibrate i, and thus (similar to case 1 above) get to a states0 for which a relaxed plan is given by removing a0 from P+s00 . The distancefrom s to s0 is at most 2.� Second case, i is calibrated in s. Then P+s contains an action a0 taking animage with i, in direction di. Say the current orientation of sa is d, and dcis a calibration target of i (there is at least one such dc or else i could notbe calibrated in s). We execute the following action sequence to reach thestate s0.{ Apply a, i.e., switch-on(i; sa), yielding the state s1. A relaxed plan P+s1for s1 is given by removing a from P+s , and inserting switch-o�(i; sa),turn-to(sa; d; dc) (if d 6= dc), as well as calibrate(sa; i; dc). We getjP+s1 j � jP+s j+ 2. 55

Page 56: Where - Pennsylvania State University

{ If d = dc do nothing, i.e., set s2 = s1 and P+s2 = P+s1 . If d 6= dc, obtains2 by executing turn-to(sa; d; dc). A relaxed plan P+s2 for s2 is thengiven by replacing turn-to(sa; d; dc) with turn-to(sa; dc; d) in P+s1 . Weget jP+s2 j � jP+s j+ 2.{ Calibrate i, yielding the state s3. A relaxed plan P+s3 for s3 is given byremoving calibrate(sa; i; dc) from P+s2 . We get jP+s3 j � jP+s j+ 1.{ If dc = di do nothing, i.e., set s4 = s3 and P+s4 = P+s3 . If dc 6= di,obtain s4 by executing turn-to(sa; dc; di). A relaxed plan P+s4 for s4 canbe constructed as follows. First, remove turn-to(sa; dc; d) from P+s3 . Ifdi 6= d, then P+s (and thus P+s3) contains the action turn-to(sa; d; di);replace that with turn-to(sa; di; d). We get jP+s4 j � jP+s j.{ In s4 we can apply a0, i.e., take a required image with i in di. This(similar to case 1 above) leads to a state s0 where a relaxed plan P+s0 isgiven by removing a0 from P+s4 , yielding jP+s0 j � jP+s j � 1.The distance from s to s0 is at most 5.Say we are in case 3 above, P+s contains an applicable action a that switchesan instrument i o�. Say i is on board a satellite sa whose current orientation is d.We distinguish two cases: either P+s contains an action a0 calibrating i, or takingan image with i, in some direction d0, or P+s contains no such actions. In the lattercase, a relaxed plan for s0 = Result(s; hai) is given by removing a from P+s , and weare �nished. In the former case, we get to the desired state s0 in at most two steps.If d 6= d0, apply turn-to(sa; d; d0), updating P+s by replacing turn-to(sa; d; d0) withturn-to(sa; d0; d) (if d 6= d0 then P+s must contain turn-to(sa; d; d0)). We can thenapply a0, i.e., calibrate i or take an image, yielding a state s0 where we can removea0 from P+s to form a relaxed plan.Say we are in none of the above 3 cases. Then the starting action a of P+sturns a satellite sa from d to d0. We show that P+s can not contain any actionstaking images with sa in d, or calibrating instruments on sa in d. With that, itfollows that applying a yields a state s0 where a relaxed plan is given by removing afrom P+s , and replacing all turn-to(sa; d; d00) actions in P+s with turn-to(sa; d0; d00)(a's only delete e�ect is (pointing; sa; d) which is only necessary for taking images,or calibrating). Let us focus on actions a0 in P+s that take images, or calibrateinstruments, in d. From our assumption that we are neither in case 2 nor in case 3it follows that all instruments required by such actions a0 are already switched onin s (otherwise P+s would need to include actions switching them on, or makingpower available by switching other instruments o�; some of these actions wouldbe directly applicable). Thus if there was an action a0 in P+s taking an image, orcalibrating an instrument, with sa in direction d, then a0 would be applicable ins, in contradiction to our assumption that we are not in case 1. This concludesour argumentation.56

Page 57: Where - Pennsylvania State University

8.3 ScheduleIn Schedule, a collection of parts must be processed with a number of working stepschanging their shape, surface, or color; one can also drill holes of varying widthsin varying orientations. The full domain description is rather lengthy, with ninelarge operators that make use of a simple form of conditional e�ects (for example,painting an object results in the object being painted in the new color, and notany longer being painted in any other color it was painted in before). Full detailsare in Appendix A.21. The details that are important for the proofs below arethe following. Initially, any part can have an arbitrary shape, one of three surfaceconditions, an arbitrary color, and arbitrarily many holes in arbitrary widths andorientations. For the goal, a part can be required to be of cylindrical shape, andto have arbitrary other properties. A part p is made cylindrical, with a roughsurface, by applying the do-lathe(p : : :) action.5 Polished (smooth) surfaces areachieved via the do-polish(p : : :) (do-grind(p : : :)) action. A hole of width w andorientation o is made by do-drill-press(p; w; o : : :). Finally, painting p in a color cis done by do-immersion-paint(p; c : : :). All operators require that the respectivemachine is not busy, and that the part is not currently processed elsewhere. Thesepropositions are achieved (for all machines and parts) by do-time-step(). Thereare other operators, but as we will see the above operators su�ce for solving thetasks. The do-polish(p : : :) and do-drill-press(p; w; o : : :) actions require that thepart is cold; do-drill-press(p; w; o : : :) also requires that there is not already a holein p of width w and orientation o. Apart from some static propositions like typeinformation or the existence of the appropriate drill, none of those six operators hasother preconditions. All parts p are cold initially and the only action that makesthem hot is do-roll(p : : :) (which is not needed to achieve the goal). All operatorsthat can make a part polished or drill a hole (apart from the two operators above,there is one more for each of these two jobs) require that the part is cold. Thereis no way of making a part cold. This can lead into dead ends.I prove that all instances are solvable, and that, if there is no real plan from astate, then neither is there a relaxed plan.Theorem 25 Given an instance (C; I;G) of the Schedule domain, the correspond-ing planning task is solvable, and the corresponding state space is at most recognizedunder h+.Proof:We must show solvability, and that h+(s) = 1 for all s 2 S withgd(s) = 1. For the initial state I of the task, a solution plan can be con-structed as follows. Look at each part p in turn. If (shape; p; cylindrical) 2G or (surface-condition; p; rough) 2 G, and the respective proposition is nottrue in I , then apply do-lathe(p : : :), and afterwards do-time-step() (apply-ing do-lathe(p : : :) for (surface-condition; p; rough) deletes all other shapes than5In our formal de�nition, see Appendix A.21, most operators have parameters, like the ma-chine, that must always be grounded with the same constant. These parameters serve to replacethe domain constants that are used in the original formulation. We omit these parameters hereto improve readability. 57

Page 58: Where - Pennsylvania State University

(shape; p; cylindrical); this does not matter as being cylindrical is the only shapethat is allowed to be required for the goal). If (surface-condition; p; polished) 2 Gor (surface-condition; p; smooth) 2 G, and the respective proposition is not cur-rently true, then apply do-polish(p : : :) or do-grind(p : : :), respectively, and after-wards do-time-step() (note that p has temperature cold initially, so do-polish(p : : :)can be applied). Next step, all still required holes (has-hole; p; w; o) 2 G can beachieved by iteratively applying do-drill-press(p; w; o : : :) and do-time-step() (p isstill cold). Finally, if (painted; p; c) 2 G for some c, and (painted; p; c) is notcurrently true, we can apply do-immersion-paint(p; c : : :), and are �nished. Afteranother application of do-time-step(), the same process can be iterated for thenext part until all parts are processed.The same algorithm to construct a solution plan can be applied for every reach-able state s 2 S unless there is some part p with (surface-condition; p; polished) 2G or (has-hole; p; w; o) 2 G for some w and o, such that (temperature; p; cold) 62 s:all other preconditions of the required actions are obviously ful�lled at the pointwhere they are needed | except the temperature, required non-static propositionsare only those concerning busy machines, scheduled objects, or p not having a cer-tain hole. The �rst two are achieved by doing time steps, the third one is onlyrequired by do-drill-press(p; w; o : : :). If that precondition is not true, this meansthat there already is an appropriate hole, so the action does not need to be appliedat all. It can be that a part p has (temperature; p; cold) 62 s when, on the pathfrom the initial state to s, do-roll(p : : :) has been applied at some point. As thereis no way of re-achieving (temperature; p; cold), s is then a dead end, gd(s) =1,if p needs to be polished or get holes made to achieve the goal: all actions thatcan achieve (surface-condition; p; polished) or (has-hole; p; w; o) for some w and oneed (temperature; p; cold) as a precondition, which is not contained in s, and isnot added by any action. But then, (A+; s; G) is also unsolvable, h+(s) =1.Note that the above proof also proves that there can be dead ends. Also, theSchedule instances are not undirected: in each instance there is at least one part p;the e�ects of do-roll(p) can not be undone; the precondition requires merely thatthe respective machine is not busy and that the part is not processed elsewhere,so do-roll(p) can be applied, for example, in the initial state.There can be local minima in Schedule under h+, namely when one appliesthe working steps for a part in the wrong order (like painting before changing theshape). An example is the following (the example is a little complicated in orderto demonstrate the worst-case for the local minima exit distance). There are threeparts p0, p1 and p2, and one color c. The goal is to have p1 and p2 cylindrical,polished, and painted in c (there is no goal for p0). We consider the reachablestate s where both p1 and p2 are already polished and painted in c, but not yetcylindrical, and p0 has just been processed with the lathe so that machine is busy.We have h+(s) = 2: a relaxed plan consists of do-roll(p1 : : :) and do-roll(p2 : : :).If we apply one of these actions, however, we end up in a dead end, h+ = 1 {the respective part is then not cold any longer, so the polished surface can notbe re-achieved (see the proof to Theorem 25). We can apply do-time-step() to58

Page 59: Where - Pennsylvania State University

s to free the lathe (! h+ = 2), and then apply one of do-lathe(p1 : : :) or do-lathe(p2 : : :) (applying any actions that do not achieve one of the \cylindrical"goals necessarily leads into states with h+ � 2). Say we apply do-lathe(p1 : : :)(applying do-lathe(p2 : : :) leads into a symmetrical situation). The h+ value for theresult state s00 is h+(s00) = 4: a shortest possible relaxed plan for s00 comprises do-time-step(), do-polish(p1 : : :), do-immersion-paint(p1; c : : :), and do-lathe(p2 : : :).To reach a state s0 with h+(s0) < 2, one must apply an action sequence of length 4to s00, e.g. do-time-step() (! h+ = 3), do-polish(p1) (! h+ = 3), do-time-step()(! h+ = 2), do-immersion-paint(p1; c : : :) (! h+ = 1). The distance from s tothe better state s0 is thus 6. This is an upper bound in general.Theorem 26 Given a solvable instance (C; I;G) of the Schedule domain, anda reachable state s, 0 < h+(s) < 1. The distance from s to a state s0 withh+(s0) < h+(s) is at most 6.Proof: Let P+s be an optimal relaxed plan for (A; s;G) (by prerequisite, there isat least one such P+s ). We distinguish between seven cases:1. P+s contains the action a = do-time-step(), and a is applicable in s.2. P+s contains an action a of the form do-immersion-paint(p; c : : :), do-drill-press(p; w; o : : :), or do-polish(p : : :), such that a is applicable in s.3. P+s contains an action a of the form do-spray-paint(p; c : : :), such that a isapplicable in s.4. P+s contains an action a of the form do-grind(p : : :), such that a is applicablein s.5. P+s contains an action a of the form do-punch(p; w; o : : :), such that a isapplicable in s.6. P+s contains an action a of the form do-lathe(p : : :), such that a is applicablein s.7. P+s contains an action a of the form do-roll(p : : :), such that a is applicablein s.In case 1, the desired state s0 can be reached with a single step. A relaxed planfor s0 = Result(s; hai) is given by removing a from P+s : the only delete e�ects ofa = do-time-step(), (busy;m) for machines m and (scheduled; p) for parts p, areirrelevant in that they are not needed by any action nor the goal. Finished alongthe lines of Proposition 2.In case 2, s0 can be reached with two steps: �rst apply a, then apply do-time-step(). For the resulting state s0, removing a from P+s yields a relaxed plan. Tosee this, consider that the delete e�ects of either of the possible actions are eitherirrelevant ((not-objscheduled) in all cases, (not-has-hole; p; w; o) in the case of do-drill-press(p; w; o : : :)), or non-goal properties of p (another color in the case of do-immersion-paint(p; c : : :), another surface condition in the case of do-polish(p : : :)).59

Page 60: Where - Pennsylvania State University

The (color or surface) property that a achieves is part of the goal as P+s is optimal;all other (color or surface) properties are then irrelevant. Due to the execution ofdo-time-step(), s0 contains at least the (not-busy;m) and (not-scheduled; p) factsthat s contains.In case 3, three steps su�ce: apply do-time-step(), then replace do-spray-paint(p; c : : :) with do-immersion-paint(p; c : : :) in P+s (the add e�ects of both ac-tions are the same, and the precondition of do-immersion-paint(p; c : : :) is, trivially,ful�lled upon applying do-time-step()). In the resulting situation, like in case 2above, two more action applications yield the desried state s0.In case 4, s0 can be reached with four steps: apply a and do-time-step(); if p waspainted in color c in s, then also apply do-immersion-paint(p; c : : :), and anotherdo-time-step(). In the resulting state s0, removing a from P+s yields a relaxed plan.All of a's delete e�ects have been re-achieved except, possibly, (not-objscheduled),which is irrelevant, and a di�erent surface condition of p, which is irrelevant as pneeds be smooth for the goal or else P+s would not be optimal.In case 5, three steps su�ce: if p must be rough for the goal, then apply a anddo-time-step(); else, apply the sequence do-time-step(), do-drill-press(p; w; o : : :),do-time-step(). In the �rst case, a does not delete any relevant facts. As for thesecond case, do-drill-press(p; w; o : : :) has, in general, no relevant delete e�ects, andadds the same facts as do-punch(p; w; o : : :) except (surface-condition; p; rough)which is irrelevant when it is not part of the goal. Altogether, in both cases arelaxed plan for the resulting state s0 is thus given by removing a from P+s (notethat do-punch(p; w; o : : :) requires that p is cold so this precondition of do-drill-press(p; w; o : : :) is given).In case 6, s0 can be reached with �ve steps. We distinguish between a furthertwo cases.� First case, p is hot in s. Then p is already cylindrical (do-roll(p : : :)must have been applied earlier), so a = do-lathe(p : : :) must be partof the optimal relaxed plan P+s in order to achieve the goal condition(surface-condition; p; rough). Apply a and do-time-step(); if p was paintedin color c in s, also apply do-immersion-paint(p; c : : :) and another do-time-step(). In the resulting state s0, all relevant delete e�ects of a have beenre-achieved. The distance from s to s0 is at most four.� Second case, p is cold in s. If executing do-time-step() in s yields one ofthe above cases 1 to 5, then proceed accordingly (using maximally four moresteps). Else, apply a and do-time-step(); if p was polished (smooth) in s thenfurther apply do-polish(p : : :) (do-grind(p : : :)) and do-time-step(); if p waspainted in color c in s then further apply do-immersion-paint(p; c : : :). In theresulting state s0, removing a from P+s yields a relaxed plan. To see this, con-sider that, in s0, all relevant delete e�ects of a have been re-achieved, except(not-busy; immersion-painter) and (not-scheduled; p). Now, if P+s used theimmersion painter in any way then that action would have become applicableafter executing do-time-step() in contradiction to our assumptions here (seeabove). Similarly, if P+s used p in any other way but in do-lathe(p : : :) thenthat would have become applicable after executing do-time-step() (note that60

Page 61: Where - Pennsylvania State University

p is cold in our case here; also note that P+s will not use do-roll(p : : :) ontop of do-lathe(p : : :) as the add e�ects of the latter contain those of the for-mer except for the irrelevant (temperature; p; hot) and (not-has-hole; p; w; o)facts). The distance from s to s0 is at most �ve.One can transform case 7 to case 6 by applying do-time-step(), then replacingdo-roll(p : : :) with do-lathe(p : : :) in P+s { as noted above, do-lathe(p : : :) containsall add e�ects of do-roll(p : : :) except for the irrelevant ones. The distance from sto the desired state s0 is at most six: one plus the worst-case distance in case 6.9 No Unrecognized Dead EndsIn the next group of domains, the maximal local minimum exit distance is un-bounded, but there are no unrecognized dead ends. The domains are Blocksworld-arm, Depots, Driverlog, and Rovers. For each domain I give a brief descriptionof the semantics, consider the dead end class of the domain's instances, and givean example showing that there is no upper bound on the maximal local minimumexit distance. In Driverlog and Rovers I also give an example showing that thereis no upper bound on the maximal bench exit distance (which is not as relevantwhen the maximal local minimum exit distance is unbounded anyway). In RoversI additionally give a proof argument showing that the maximal local minimumand bench exit distances grow only in the diameter of the underlying road map.9.1 Blocksworld-armThe instances of Blocksworld-arm are the same as those of Blocksworld-no-arm.The di�erence is that blocks are moved via an arm, so that there are four operatorsto pickup a block, put a block down, stack a block onto some other block, orunstack a block from some other block. See the domain details in Appendix A.2.Corollary 10 Given an instance (C; I;G) of the Blocksworld-arm domain, thecorresponding state space is undirected.Proof: All actions are invertible in the sense of De�nition 14: pickup(x) andputdown(x) invert each other, the same for stack(x; y) and unstack(x; y). Finishedwith Lemma 1.The maximal local minimum exit distance in Blocksworld-arm is not bounded.This can be seen with the same example setting that I used to show that themaximal bench exit distance in Blocksworld-no-arm is not bounded. Thereare n + 1 blocks b1; : : : ; bn+1, with initial state I = f(clear; b1), (on; b1; b2),. . . , (on; bn�1; bn), (on-table; bn), (clear; bn+1), (on-table; bn+1)g and goal stateG = f(on; b1; b2), . . . , (on; bn; bn+1)g. The stack b1; : : : ; bn needs to be disassem-bled, and rebuilt on top of bn+1. An optimal relaxed plan for I has length n+ 1,by unstacking bi from bi+1 for i < n, picking up bn, and stacking bn onto bn+1.61

Page 62: Where - Pennsylvania State University

The initial state lies on a local minimum: the applicable actions are to pick upbn+1, or to unstack b1 from b2. Applying the former action leads into a state withh+ value n + 2 (in addition to what's been done before, bn+1 must be put backonto the table or onto a di�erent block). Applying the latter action leads into astate I 0 with h+(I 0) = h+(I) = n + 1 (in the relaxed plan, stack b1 back ontob2 instead of unstacking it). From I 0, the one applicable action { stack b1 ontob2 { leads back into I , and the other applicable action { put b1 onto the table {leads into a state with h+ value n+ 2 (one must include the action picking up b1into the relaxed plan). This proves that I forms a local minimum together withI 0. Now, consider that h+(s0) � n + 1 for all reachable states s0 where bn is notheld by the robot arm: bn must be picked up (or unstacked), and be stacked ontobn+1; to make this possible, bn�1 must be unstacked from bn if it is currently ontop of it, and otherwise it must be stacked onto bn for achieving the goal; thesame argument can be iteratively applied upwards to b1. Now consider again theinitial state. Reaching, from there, the nearest state where the robot arm holdsbn involves 2n� 1 steps. One must move bi away for i < n (unstack it from bi+1and put it on the table), and pick up bn. This proves that the maximal localminimum exit distance in the instance is at least 2n� 1. Note that the h+ valueof the nearest state s where the robot arm holds bn is h+(s) = 2n � 1: the bestrelaxed plan for s is to stack bn onto bn+1, and for all bi with i < n to pick bi upand stack bi onto bi+1. This shows that, on the shortest path from I to a states0 with h+(s0) < h+(I), the h+ value increases by at least n � 2 (i.e., arbitrarilyhigh values when generalizing over n).9.2 DepotsThe Depots domain is a kind of mixture between Logistics and Blocksworld-arm.There is a set of locations, a set of trucks, a set of pallets, a set of hoists, and aset of crates. The trucks can transport crates between locations, the hoists canbe used to stack crates onto other crates, or onto pallets. In a little more detail,there are operators to move a truck between (di�erent) locations, to load a cratethat is held by a hoist onto a truck at a location, to unload a crate with a hoistfrom a truck at a location, to lift a crate with a hoist from a surface (a pallet ora crate) at a location, and to drop a crate that is held by a hoist onto a surfaceat a location. A hoist can hold only one crate at a time. The crates are initiallyarranged in arbitrary stacks, where the bottom crate in each stack is standingon a pallet. The goal is to arrange the crates in some other arbitrary stacks on(possibly) other pallets, which can involve transporting crates to other locations(pallets can not be moved). See the domain details in Appendix A.5.An instance of Depots can be unsolvable when there is a crate that must betransported but there is no truck, or when crates need be arranged at a locationwhere there is no hoist. Removing static predicates gets rid of operator typeinformation and of actions that try to drive a truck within the same location. Statespaces in Depots are undirected so there are no dead ends in solvable instances.62

Page 63: Where - Pennsylvania State University

Proposition 9 Given an instance (C; I;G) of the Depots domain, the correspond-ing state space is undirected.Proof: Actions that drive a truck are invertible in the sense of De�nition 14 bydriving it back. Actions that load a crate onto a truck and actions that unloada crate from a truck invert each other in that sense. Actions that drop a crateare inverted in that sense by the respective action lifting the crate. Actions thatlift a crate c with a hoist h from a surface s at a location l are not inverted bythe respective dropping action in the strict sense of De�nition 14: all parts of thede�nition are ful�lled except that the dropping action requires s to be at l; indi�erence to that the lifting action requires c to be at l. So there is no immediateformal reason why the dropping action should be applicable directly after thelifting action. This follows from the domain semantics, however: if c is at l and cis on s, both of which are requirements of the lifting action, then s must be at l,too. This concludes the argument.The maximal local minimum exit distance in Depots is not bounded. This canbe seen with essentially the same example setting that we used above to show thesame thing in Blocksworld-arm. All we need to do is translate the names a bit.There is one location with a single hoist, there are n+ 1 pallets p1; : : : ; pn+1, andthere are n + 1 crates c1; : : : ; cn+1. The crates are arranged such that, initially,cn is on p1, ci is on ci+1 for 1 � i < n, and cn+1 is on p2. The goal is to have bion bi+1 for 1 � i � n (i.e., as before but including the requirement that bn is onbn+1). Obviously, the semantics of this example are exactly the same as what wehave seen in the Blocksworld-arm example above. The crate stack c1; : : : ; cn needsto be disassembled, and rebuilt on top of cn+1. Putting a block onto the tablecorresponds to dropping a crate onto a pallet, picking a block up from the tablecorresponds to lifting a crate from a pallet, stacking/unstacking a block onto/froma block is just dropping/lifting a crate onto/from a crate. The only di�erence liesin that all operators refer to the single location { which does not play a role { andthat there is \limited space on the table", in form of the n+ 1 pallets { which isall the space we will ever need. Thus, like we have seen it in Blocksworld-arm,the initial state lies on a local minimum because disassembling the stack c1; : : : ; cnresults in an increasing h+ value. The maximal local minimum exit distance inthe instance is at least 2n� 1, and on the shortest path from I to a state s0 withh+(s0) < h+(I), the h+ value increases by at least n� 2.9.3 DriverlogDriverlog is a variation of Logistics where drivers are needed for the trucks, andwhere drivers and trucks can move along arbitrary (bi-directional) road maps.The road maps for drivers and trucks can be di�erent. There are operators toload/unload an object o onto/from a truck t at a location l, to board/disembarka driver d onto/from a truck t at a location l, to walk a driver from location lto location l0, and to drive a truck from location l to location l0 using driver d.The preconditions and e�ects of loading/unloading objects are the obvious ones.63

Page 64: Where - Pennsylvania State University

A driver d can board a truck t at location l only if d and t are at l, and thetruck is empty; in e�ect, d is driving t, d is no longer at l, and the truck is nolonger empty. Disembarking a driver has the obvious inverse preconditions ande�ects. In order to walk a driver from l to l0 there must be a path between l andl0. In order to drive a truck t from l to l0 using driver d, d must be driving t, andthere has to be a link from l to l0. Paths and links form arbitrary graphs overthe locations, the only restriction being that they are undirected, i.e., if a truck ordriver can move from l to l0 then it can also move back. This restriction is imposedon the Driverlog instances as can be generated with the IPC-3 generator.6 Therestriction does make a signi�cant structural di�erence: as we see below, in thepresence of directed edges there can be unrecognized dead ends, while with thecompetition restriction the Driverlog state spaces are undirected. The detailedformal de�nition of the Driverlog domain is in Appendix A.6.An instance of Driverlog can be unsolvable when either an object, a truck, or adriver can not reach their goal location due to a lack of movement links. Removingstatic predicates gets rid of operator type information and of the predicates encod-ing movement links (these become implicitly represented by the ground movementactions whose preconditions can become true). Due to the bi-directional move-ment links, the state spaces in Driverlog are undirected so there are no dead endsin solvable instances.Corollary 11 Given an instance (C; I;G) of the Driverlog domain, the corre-sponding state space is undirected.Proof: All actions are invertible in the sense of De�nition 14: loading and un-loading an object invert each other, boarding and disembarking a driver inverteach other, and walking a driver/driving a truck from l to l0 is inverted by walk-ing/driving from l0 to l. Finished with Lemma 1.As said above, when allowing directed road maps there can be unrecognizeddead ends. Consider the following example. There are two locations l1 and l2, andthere is a path and a link from l1 to l2 but not back. There is one truck t, and thereare two drivers d1 and d2. Both drivers and the truck are initially at l1. The goalrequires d1 to be at l1, and t to be at l2. One can solve the instance by boardingd2 onto t, and driving t to l2. However, when, in the initial state, walking d2 tol2, one ends up in a dead end state. Let's call the state s. The problem in s isthat the only possible driver left to take t to l2 is d1; but when doing that, there isno way for d1 to get back to l1. In the relaxation, however, we can solve s simplyby boarding d1 onto t, and driving t to l2: d1 is at the goal position already in s,and this fact is not deleted. Thus s is an unrecognized dead end. Note that onecan easily make s arbitrarily deep, by adding additional locations linked to l1 (butnot to l2), as well as objects to be transported within these additional locations.Once d2 has walked to l2 there will be no way to achieve the goal, but a relaxedplan, no matter what other actions t and d1 can take.6According to personal communication with Derek Long and Maria Fox.64

Page 65: Where - Pennsylvania State University

Even when restricting road maps to be undirected, as the IPC-3 generator does,the maximal local minimum exit distance in Driverlog is unbounded. Consider thefollowing example. There are the locations lt and ld, as well as l1; : : : ; ln wheren � 2. The road maps are the following. There are bi-directional paths and linksbetween li and li+1 for 1 � i < n. There are paths and links between lt and l1,there are paths and links between ln and ld. Between lt and ld there are onlylinks, i.e., between these locations only trucks can move. There is one truck t, andone driver d. The goal is to have t at lt, and d at ld. In the initial state, botht and d are at ld. We have h+(I) = 2: the shortest relaxed plan is to board d,and drive to lt. Let us consider the successor states of I . If d walks to ln, weget the h+ value 3: d must walk back. If d boards t we get the state I 0, withh+(I 0) = h+(I) = 2 (the shortest relaxed plan is to disembark d, and drive tto lt). From I 0, we either get back to I by disembarking d, or we drive t to lnwhich yields h+ value 3 (the shortest relaxed plan drives t back), or we drive tto lt yielding the state I 00. The only interesting case is the last one where weget h+(I 00) = h+(I 0) = h+(I) = 2 (the shortest relaxed plan drives t to ld, anddisembarks d). The new states reachable from I 00 are those given by either drivingt to l1, or disembarking d at lt. In the �rst case, the shortest relaxed plan in theresulting state is to drive t back to lt, then drive to ld and disembark d (drivingover l2; : : : ; ln to ld then disembarking d and driving to lt takes longer as n > 1).So there h+ is 3. In the second case, when one disembarks d in I 00, the h+ valuealso rises to 3: the shortest relaxed plan is to board d, drive t to ld, and disembarkd { one could also walk d over l1; : : : ; ln to ld but this, too, would take at least3 steps as n � 2. This altogether shows that I , I 0, and I 00 together form a localminimum. Now, remember that we have h+(I) = 2. But obviously the neareststate, from I , where h+(s) < 2 is the one where t is at lt, and d is at ln. Let's callthis state s. The distance from I to s is n + 3: one must board d, drive t to lt,disembark d, and walk from lt via l1; : : : ; ln�1 to ln. This shows that the maximallocal minimum exit distance in the example instance is at least n+ 2. Note that,on all paths from I to s, the h+ value rises to at least bn=2c { namely when dhas delivered the truck to lt, and reached the middle of the path l1; : : : ; ln. So ingeneral one must increase the h+ value by arbitrarily high values in order to reacha better state.Note that the above example instance uses a road map where there is a move-ment link that can be taken by trucks, but not by drivers. While this is somethingthat seems natural, and that does occur in the IPC-3 instances, it is an openquestion whether there is a bound on the maximal local minimum exit distance(or, actually, whether there are local minima at all) in the special case where alink for trucks implies a path for drivers. In any case, benches can be arbitrarilylarge, i.e., there is no upper bound on the maximal bench exit distance. Considerthe example where there are n locations l1; : : : ; ln connected by paths and linksfrom li to li+1 and vice versa for 1 � i < n. Say there are a truck t and a driver dwhich are initially at l1, and there is an object o that is initially at ln and shall betransported to l1. Consider the state s where d has boarded t in the initial state.We have h+(s) = n + 1: the relaxed plan is to drive all the way to ln, then loado at ln and unload o at l1. The h+ value does not decrease until t has reached65

Page 66: Where - Pennsylvania State University

ln and loaded o: when, starting from s, one has driven the truck to li then therelaxed plan must include actions driving from li to ln, as well as actions drivingfrom li to l1.9.4 RoversIn Rovers, a number of rovers must navigate through a road map of waypoints, takerock and soil samples as well as images, and communicate the data to a numberof landers. The available operators are the following. One can navigate a rover rfrom one waypoint w to another waypoint w0 { to do this, w0 must be visible fromw, and r must be able to traverse from w to w0 (plus the obvious condition that rmust be at w). One can sample soil/rock with a rover r at a waypoint w using astore s { to do so, r must be equipped for soil/rock analysis, s must be the storeof r, s must be empty, and there must be soil/rock to sample at w; in e�ect onehas the soil/rock analysis to w, the soil/rock sample is no longer at w, and s is nolonger empty. One can empty a full store by dropping the store; the only e�ectis that the store is no longer full. One can calibrate a camera c on a rover r at awaypoint w using an objective o, and one can take an image of an objective o inmode m with a camera c on a rover r at a waypoint w. For both operators, r mustbe equipped for imaging, c must be on board r, and o must be visible from w. Tocalibrate the camera, o must be a calibration target for c. To take an image, cmust support m, and c must be calibrated already. The only e�ect of calibratingis that c is calibrated, the e�ects of taking an image are that r has the imagedata for o in mode m, and that c is no longer calibrated. Finally, there are threeoperators with which a rover r at waypoint w can communicate data to a lander lat waypoint w0; for rock or soil the data is that about the waypoint w00 where thesample was taken, for images the data is that about the respective objective o andmode m. To enable the communication, w0 must be visible from w, and of courser must have the data. The only e�ect is that the data is communicated. The goalis always to have a number of soil/rock/image data pieces communicated.The de�nition of the Rovers instances is along the lines of what the IPC-3 generator can produce. In what follows, we use the formal notations for thedomain as introduced in Appendix A.20. The notations should be self-explanatory,otherwise the reader is referred to the appendix.As said, a Rovers instance features a road map of waypoints, some rovers, somelanders, some stores, some cameras, some objectives, and some modes. Rovers andlanders have initial positions on the waypoint map, each store and each camera ison board a rover. The instances are restricted in that the visibility and navigabilitybetween waypoints are bi-directional | if waypoint x is visible from waypoint ythen the same holds true vice versa; if a rover can move from x to y then it can alsomove back. I remark that the restriction makes a signi�cant structural di�erence:while with undirected movability (i.e., , wp-visible and can-traverse relations) thedomain is free of unrecognized dead ends (see below), in the presence of directedmovability there can be such dead ends. As an example, consider an instancewhere one must take an image at waypoint wi, and can calibrate the camera onboard rover r at waypoints wc1 or wc2. Assume that there is a fourth waypoint w,66

Page 67: Where - Pennsylvania State University

and that r can (only) move from wc1 to w, from wc1 to wi, from w to wi, and fromw to wc2. When r starts at wc1, moving to w yields an unrecognized dead end state:the camera can now only be calibrated at wc2, but from wc2 there is no way to wi;however, in the relaxation the fact (at; w) is not deleted by navigate(r; w; wc2) andthus there is a relaxed plan.The instances are also restricted in that no camera is initially calibrated. Thisis just one way of saying that each calibrated camera has at least one calibrationtarget. Again, without the restriction there can be unrecognized dead ends. Justimagine a camera that is initially calibrated but for which there is no calibrationtarget, and that must be used for taking two images. The relaxed plan ignores thefact that the calibration of the camera will be deleted after taking the �rst image.But for that reason there is no plan.Removing static predicates gets rid of type information, and of static instanceproperties like which camera is on board which rover. Let us be precise about howRovers behaves with respect to dead ends. First, observe that dead ends exist.Say there is a soil sample at waypoint ws that must be analyzed, there are tworovers r1 and r2, and one lander l at waypoint wl. Say further that both roverscan navigate to ws, that r1 can navigate to a point visible from wl, and that r2can not navigate to such a point. If one analyzes the soil sample with r2, one endsup in a dead end: the fact (at-soil-sample; ws) can not be re-achieved, and r2 cannot communicate the analysis result to the lander. Note that there isn't a relaxedplan in this case either. This holds true in general.Lemma 6 Given an instance (C; I;G) of the Rovers domain, and a reachablestate s. Then there is a plan for (A; s;G) if and only if there is a relaxed plan for(A; s;G).Proof: Let us identify exactly when there is a plan for the state s. We need a fewnotations. For a rover r, by W (r) we denote all waypoints that r can navigate to,given the wp-visible and can-traverse relations and r's position in I . By V W (r)we denote all waypoints that can become visible for the rover, i.e., all waypointsw0 such that there is a waypoint w 2 W (r) with (wp-visible; w; w0) 2 I ; similarly,by V O(r) we denote all objectives that can become visible for the rover, i.e., allobjectives o such that there is a waypoint w 2 W (r) with (ob-visible; w; o) 2 I(note that the reachability relations do not change over time). By wl we denotethe waypoint where a lander l is located. There is a plan for s i�:1. For each goal fact (communicated-soil-data; w) there is a rover r and a lan-der l such that wl 2 V W (r), and either (have-soil-analysis; r; w) 2 s, or(at-soil-sample; w) 2 s, r is equipped for soil analysis, and w 2 W (r).2. For each goal fact (communicated-rock-data; w) there is a rover r and alander l such that wl 2 V W (r), and either (have-rock-analysis; r; w) 2 s, or(at-rock-sample; w) 2 s, r is equipped for rock analysis, and w 2W (r).3. For each goal fact (communicated-image-data; o;m) there is a rover r, acamera c, and a lander l such that r is equipped for imaging, c is on board67

Page 68: Where - Pennsylvania State University

r, c supports m, o 2 V O(r), and wl 2 V W (r); if c is not calibrated in s thenwe also need an objective o0 2 V O(r) that is a calibration target for c.It is obvious that there can only be a plan for s when the above three conditionsare ful�lled. The other way round, note that the only state-dependent propertiesrequired are the status of the soil/rock samples (at a waypoint or, in the formof the respective analysis, in a rover), as well as the calibration of c. As for thelatter, we postulate that c is not calibrated initially, so if it is calibrated thenthere must be an appropriate calibration target o0 2 V O(r), and we can alwaysre-calibrate c. As for the former, achieving the goal for one soil/rock analysisdoes not a�ect the status of any other soil/rock analysis. One can thus, if theabove three conditions are given, reach the goals one by one as follows. For eachsingle goal fact an achieving action sequence can easily be constructed: navigate anappropriate rover (here it is important that the movability relations are undirectedso we can always navigate the rover back); if needed, drop a store or calibrate acamera; analyze a sample or take an image; and communicate with an appropriatelander. With the argumentation above the three conditions will still hold true inthe resulting state, so we can iterate the process until we have reached the goal.Note that goal facts are not deleted by any action.The lemma follows from observing that the three conditions above also identifyexactly when there is a relaxed plan for s. If one of the conditions is not ful�lledthen the respective goal fact can not be reached with- or without delete lists. Theother direction is trivial.Note that Lemma 6 also identi�es when, exactly, a Rovers instance is solvable.The non-existence of unrecognized dead ends is a trivial consequence of the lemma.Corollary 12 Given a solvable instance (C; I;G) of the Rovers domain, the cor-responding state space is at most recognized.Proof: From Lemma 6 it follows immediately that all dead ends are recognized.The maximal bench exit distance and the maximal local minimum exit distanceare both unbounded in Rovers. To see that for the maximum bench exit distance,consider the following example. There are one rover r, one lander l, and n +1 waypoints w0; : : : ; wn which are connected via (wp-visible; wi; wi+1) (and viceversa) for i < n, and (can-traverse; r; wi; wi+1) (and vice versa) for i < n. Therover is equipped for soil analysis, there is a soil sample at wn, l is at w0, and r isinitially at w1. The goal is to communicate the soil data. We got h+(I) = n+ 1:n � 1 actions navigating r to wn, sample the soil, communicate the data to thelander. The nearest state s0 with h+(s0) < n+ 1 is the one where r is in wn, andhas sampled the soil already: then, the relaxed plan navigates back to w1 andcommunicates the data. For all states between I and s0 where r is at a point wi,i < n, the relaxed plan must include n� 1 navigation and the two sampling andcommunication actions. Note that no other actions but navigating the rover areapplicable in these states. The distance between I and s0 is n.68

Page 69: Where - Pennsylvania State University

To see that the maximal local minimum exit distance is unbounded, considerthe following example. There are one rover r, one lander l, and n + 1 waypointsw0; : : : ; wn connected in the same way as above. The lander is at w0 (r's initialposition does not matter). The rover is equipped for image analysis. There areone camera c, one mode m which c supports, and three objectives oc, oi1, and oi2.Say oc is visible from wn, and that both oi1 and oi2 are visible from w1. Say oc is acalibration target for c, and the goal is to communicate image data for both oi1 andoi2 (in mode m). We consider the reachable state s where the rover r is at w1, andthe camera c is already calibrated. We got h+(s) = 4: take the two images, andcommunicate the two data pieces. We get larger h+ values when navigating awayfrom w1. However, if we do take one of the images, the h+ value of the resultingstate s00 increases to h+(s00) = n+ 3: c is no longer calibrated so the relaxed planmust navigate all the way to wn (n � 1 steps), calibrate c, take the other image,and communicate the two data pieces. By communicating the image data alreadytaken in s00, we get a state s000 with h+(s000) = n+2. The distance from s to a states0 with h+(s0) < 4, however, is 2n + 1: the nearest such state is the one where,starting from s000, one has navigated the rover to wn (n � 1 steps, h+ constantlyn + 2), re-calibrated c (1 step, resulting h+ value n + 1), and navigated back tow2 (n� 2 steps, resulting h+ value 3 { navigate to w1, take the remaining image,communicate the data).The two above examples, in order to produce arbitrarily large bench or localminimum exit distances, both make use of arbitrarily large distances that must benavigated. This observation holds true in general: as we prove now, both distanceshave an upper bound linear in the diameter of the waypoint graph. Given asolvable instance (C; I;G) of the Rovers domain, we de�ne the diameter d of theinstance as follows. For a graph (V;E) the diameter is the longest distance betweenany two connected points in the graph. For the Rovers instance, the diameteris the maximum, over all rovers r, diameter of the graph given by W (r) (allwaypoints r can navigate to) and the edges according to the (wp-visible; w; w0) and(can-traverse; r; w; w0) relations. From any reachable state s in a Rovers instance,with h+(s) <1, one can reach a state s0 with h+(s0) < h+(s) within 3d+2 steps.Theorem 27 Given a solvable instance (C; I;G) of the Rovers domain, with di-ameter d. Given a reachable state s, 0 < h+(s) < 1. The distance from s to astate s0 with h+(s0) < h+(s) is at most 3d+ 2.Proof: Let P+s be an optimal relaxed plan for (A; s;G) (by prerequisite, there isat least one such P+s ). We distinguish between four cases:1. P+s contains an action a dropping a store, calibrating an instrument, orcommunicating a data piece, such that a is applicable in s.2. P+s contains an action a taking a soil or rock sample, such that a is applicablein s.3. P+s contains an action a taking an image, such that a is applicable in s.69

Page 70: Where - Pennsylvania State University

4. Cases 1, 2, and 3 do not hold (implying that P+s contains an action a appli-cable in s that navigates a rover).In case 1, the desired state s0 can be reached with a single step. A relaxed planfor s0 = Result(s; hai) can be constructed simply by removing a from P+s : neithercalibrating an instrument nor communicating a data piece have any delete e�ects,and the only delete e�ect of dropping a store st, (full; st), is not needed in anyprecondition or the goal. Finished along the lines of Proposition 2.In case 2, the desired state s0 can be reached within two steps. Say a takes a soilor rock sample with rover r and store st at waypoint w. We reach s0 by applyinga, then dropping st. For s0 a relaxed plan can be constructed by removing a fromP+s : s0 is the same as s except that r has the soil / rock sample, and the sampleis no longer at w; the latter fact is not needed more than once, i.e., only by a, inthe optimal relaxed plan P+s (there is no point in taking the sample two times).In case 3, the desired state s0 can be reached within 2d+ 2 steps. Say a takesan image with rover r and camera c at waypoint w. Upon execution of a, r hasthe respective image data, but c is no longer calibrated. We might thus need tore-calibrate c. To do this, the following su�ces. First, navigate r to a calibrationtarget, i.e., to a waypoint w0 2W (r) (as before,W (r) denotes the set of waypointsreachable for r) from which a calibration target for c is visible (there is at least onesuch w0 or else c could not have been calibrated in the �rst place). Then, calibratec, and navigate back to w (note here that by de�nition all waypoint connectionscan be traversed in both ways). In the resulting state s0, a relaxed plan can beconstructed by removing a from P+s : s0 is the same as s except that r alreadyhas the image data taken by a. The distance from s to s0 is at most 2d + 2: twotraversals of the waypoint graph plus taking the image and re-calibrating c.Say we are in none of the above 3 cases. Then P+s starts with an actionnavigating a rover r away from the waypoint w it is currently at. Consider theset W of all waypoints that r is navigated to in P+s , including w. W , togetherwith the waypoint connections used by the respective navigation actions in P+s ,forms a connected sub-component of W (r). Now, consider all actions a in P+sthat use r at a waypoint w0, by taking a soil / rock sample, calibrating a camera,taking an image, or communicating a data piece. At least one such action abecomes applicable when, starting in s, we navigate the rover to the respectivewaypoint w0: this is the case for actions a using r to take soil / rock samples,or to calibrate instruments; if there are no such actions then the case holds forthe actions using r to take images; if there are no such actions either then thecase holds for the actions using r to communicate data. We pick an appropriateaction a, and, starting in s, move r along the shortest possible path to w0. For theresulting state s00, we can construct a relaxed plan P+s00 such that jP+s00 j = jP+s j: w0is a member of the connected component W ; as all waypoint connections can betraversed in both ways, we can remove all actions from P+s that navigate r, andinsert actions spanning the same component W starting from w0 instead (whichcan obviously be done within the same number of actions). By construction, a isapplicable in s00 so, with the argumentation given above for the other cases, froms00 one can reach a state s0 with a strictly shorter relaxed plan within at most70

Page 71: Where - Pennsylvania State University

2d + 2 steps. We have reached s00 from s with at most d steps (traversing theshortest possible path from w to w0), so our overall upper bound on the distancefrom s to s0 is 3d+ 2.To understand why we need the seemingly complex proof argument for theseemingly simple case 4 in the proof to Theorem 27, note that the path which therelaxed plan itself uses to get from w to w0 might not be the shortest possible one:the relaxed plan must reach all points in the whole component W , and for that asub-optimal path to w0 might be better suited.I remark that Theorem 27 entails Lemma 6: with the proof to Theorem 27,one can, in particular, construct a (real) plan from all states s for which thereis a relaxed plan (by iteratively traversing to a state s0 with h+(s0) < h+(s)).More importantly, Theorem 27 shows that both the maximal local minimum exitdistance and the maximal bench exit distance in Rovers grow exclusively in thediameter of the waypoint graph, not in things like the number of rovers, samplesto be taken, etc.10 Unrecognized Dead EndsWe �nally consider the group of domains where there can arise unrecognized deadends. The domains are Mystery, Mprime, Freecell, Miconic-ADL, and Assem-bly. We focus on them in that order. For each domain I give a brief descriptionof the semantics, and an example of an arbitrarily deep unrecognized dead endstate. This already concludes the topological discussion of the domain (with oneexception, see below). By Proposition 1, in the presence of unrecognized deadends there is no constant upper bound on the local minimum exit distance, whichimplies that it is not particularly relevant whether there is an upper bound onthe maximal bench exit distance or not. The exceptional domain is Assembly.There, in order to explain FF's excellent behavior in the AIPS-1998 example suit,I include a rather detailed discussion of implications between problem structureand h+ topology.10.1 MysteryLike a number of benchmark domains we have already had a look at, Mystery is atransportation kind of domain, where objects must be transported between loca-tions by means of vehicles. Unlike in the previously seen transportation domains,however, there can be unrecognized dead ends in Mystery. This is due to thefact that, here, vehicles use non-replenishable fuel. More explicitly, in a Mysteryinstance we got a set L of locations, a set O of objects, and a set V of vehicles. Wealso have sets F and S of fuel numbers and space numbers. Each location initiallyhas a certain fuel number { the number of fuel items available at the location {and each vehicle has a certain space number { the number of objects the vehiclecan carry at a time. There are operators to move vehicles between locations, andto load (unload) objects onto (from) vehicles. A move from location l to location71

Page 72: Where - Pennsylvania State University

l0 can only be made if l and l0 are connected (where the connection relation is anarbitrary graph), and if there is at least one fuel unit available at l (l has a fuelnumber that has a lower neighbor). In e�ect of the move, the respective vehicle islocated at l0, and the amount of fuel at l is decreased by one unit, i.e., l is assignedthe next lower fuel number. In a similar fashion, an object can only be loadedonto a vehicle if there is space for that, and in e�ect the available space decreases.Unloading the object frees the space again. Note that there is no way to re-gainfuel items at a location. See the domain details in Appendix A.19.It is easy to construct an unrecognized dead end state in Mystery. Considerthe solvable instance where there are three locations l1, l2, and l3 connected asa line l1 $ l2 $ l3, there is one vehicle v, and there are two objects o1 and o2.The vehicle has two space units (the available space does not matter much in thisexample as long as there are at least two space units). At l2 there are two fuelunits, l1 and l3 each got one fuel unit. Object o1 is initially at l1, object o2 isinitially at l2, and both objects shall be transported to l3. The vehicle is initiallyat l2. One can solve the instance by moving from l2 to l1, loading o1, moving backto l2, loading o2, moving to l3, and unloading both objects. But if one transportsonly o2 to l3 �rst, one is trapped: say, from the initial state, we load o2 and moveto l3. Let's call the resulting state s. In s, there is only one fuel unit left at l2,which is not enough to move the vehicle over to l1 and then transport o1 from l1to l3. However, all three locations have one fuel unit left in s so a relaxed planhas no trouble achieving the goal as it does not take the fuel consumption intoaccount.In the above example the unrecognized dead end is not deep (c.f.De�nition 9),i.e., from the state s we have identi�ed only one more unrecognized dead endstate is reachable (resulting from unloading o2). One can however easily constructunrecognized dead ends that are arbitrarily deep. Say, in the above example,we got additional locations l01; : : : ; l0n where l0i is connected to l0i+1 (one can alsoconnect l2 or l3 to l01 without changing the meaning of the example). Say thatl01; : : : ; l0n each have one fuel unit, that there is a vehicle v0 with one space unitat l01, and that there is an object o0 at l01 which shall be transported to l0n. Now,consider the state s that we reach just as before, by loading o2 onto v and movingv to l3 in the initial state. Consider the n states that are reachable from s by �rstloading o0 onto v0 and then moving v0 towards l0n. All these states are unrecognizeddead ends: working towards the goal for o0 does not make a di�erence with respectto the situation for o1, which causes unsolvability of these states in spite of thepresence of relaxed plans.10.2 MprimeThe Mprime domain is exactly identical to Mystery except that there is an addi-tional transfer operator to transfer fuel units between locations. The operator cantransfer one fuel unit from location l to location l0 if l and l0 are connected, andl has at least two fuel units left. As the result of applying the operator, l's fuelnumber decreases by one while l0's fuel number increases by one. See the domaindetails in Appendix A.18. 72

Page 73: Where - Pennsylvania State University

One can use exactly the same examples as we used in Mystery to show thatthere can be unrecognized dead end states in Mprime, and that these states canbe arbitrarily deep. Reconsider Section 10.1. In both example descriptions, in thestate s all locations have at most a single fuel unit left so no transfer action canbecome applicable anyway, neither in reality nor in the relaxation.10.3 FreecellThe Freecell domain is a STRIPS formulation of the widely known solitaire cardgame that comes with Microsoft Windows. A number of cards from di�erent suitsare initially arranged in random stacks on a number of columns. The cards mustbe put home. For each suit of cards there is a separate home column on which thecards from that suit must be stacked in increasing order of card value. There is anumber of free cells. The cards can be moved around according to certain rules.A card is clear if it has no other card on top of it. Any clear card can be put intoa free cell (if it's not already there), each free cell holds only one card at a time.Any clear card can be moved onto an empty column. A clear card c can be puthome when the last card put home in the same suit was the one preceeding c. If cand c0 are clear cards from di�erently colored suits, then one can stack c on top ofc0 if c0 is not in a free cell, and c's card value is one less than the card value of c0(so stacks can only be built on columns, in decreasing order of card value, and inalternating colors). The goal is reached when the topmost cards of all suits havebeen put home. See the domain details in Appendix A.8.There are unrecognized dead ends in Freecell, and they can be arbitrarily deep.Consider the following example. We got two suits of cards, one red, one black,both with n cards in them. We denote the red cards with r1; : : : ; rn and the blackcards with b1; : : : ; bn where the index of a card is its card value. There are two freecells, and two columns. On the left column, we initially have the following stack ofcards, from bottom to top: rn�2; rn�1; rn; bn�4; bn�5; : : : ; b1; rn�3; rn�4; : : : ; r1.On the right column there initially are the cards bn�3; bn�2; bn�1; bn, from bottomto top. In words, on the right column we got the four highest black cards inincreasing order, while on the left column at the bottom we got the three highestred cards in increasing order, then on top of that the n � 4 lower black cards indecreasing order, then on top of that the n�3 lower red cards in decreasing order.One can solve the instance as follows. First, put all the lower red cards from theleft column home { they are in the right order as the cards must be put home byincreasing card value. Then, do the same with the lower black cards. Afterwards,use the two free cells as an intermediate store for rn and rn�1, put rn�2 home,then put rn�1 and rn home. Finally, use the left column as an intermediate storefor bn, use the two free cells as an intermediate store for bn�1 and bn�2, put bn�3home, then put bn�2, bn�1, and bn home. An unrecognized dead end state ariseswhen, in the initial state, one moves bn from the top of the right column into afree cell. Let's call this state s. There is no solution to s: bn can never be putout of the free cell again unless a column becomes empty or bn�1 has been puthome (there is no card onto which bn can be stacked). But the single free cell thatis left in s does not su�ce to get rid of the three top red cards at the bottom of73

Page 74: Where - Pennsylvania State University

the left column, nor to get rid of the three top black cards at the bottom of theright column. So s is a dead end. The existence of a relaxed plan, however, isobvious: a relaxed plan can use the same free cell multiple times so the single freecell that is empty in s can be used to create the trivial relaxed plan that uses thiscell as an intermediate store for all cards that can not be put home straight away.Thus s is an unrecognized dead end. Note that, starting from s, one can still putall the n � 3 lower red cards and the n � 4 lower black cards home. All statesthat are thus reachable are unrecognized dead ends, too, for the same reasons asexplained above for s itself. Thus, when generalizing over n, s is an arbitrarilydeep unrecognized dead end.10.4 Miconic-ADLMiconic-ADL is an ADL formulation of a complex elevator control problem occur-ing in a real-world application of planning [51]. It is a more constrained version ofthe Miconic-SIMPLE domain we have discussed before. A number of passengersare waiting at a number of oors to be transported with a lift. The lift can moveup from oor f to oor f' if f' is (transitively) above f, and vice versa for movingdownwards. The lift can also stop at a oor. When it does so at oor f, by con-ditional e�ects of the stopping action all passengers waiting at f are boarded, andall passengers wanting to get out at f depart. The goal is to serve all passengers,i.e., to bring them to their destination oor. The additional constraints are thefollowing.� In some cases, a passenger p has no access to a oor f; the lift can then notstop at f while p is boarded.� Some passengers are VIPs; as long as these are not all served, the lift canonly stop at oors where a VIP is getting on or o�.� Some passengers must be transported non-stop, i.e., when they are boardedthe lift can make no intermediate stops before stopping at their destination oor.� Some passengers can not travel alone, others can attend them; if one of theformer kind is boarded so must be at least one of the latter kind.� There are groups A and B of passengers such that it is not allowed to havepeople from both groups boarded simultaneously.� Some passengers can only be transported in the direction of their own travel,i.e., if they need to go up (down) then, while they are boarded, the lift cannot move downwards (upwards).All of these constraints are formulated by means of complex �rst order precon-ditions of the operators. See the domain details in Appendix A.14. It is fairly easyto see that there can be arbitrarily deep unrecognized dead end states in Miconic-ADL. To construct such states, it su�ces to consider the �rst and the last of the74

Page 75: Where - Pennsylvania State University

constraints listed above. Say we have n oors f1; : : : ; fn, as well as two passengersp1 and p2. The lift is initially at fn, p1 wants to go down from fn to f2, p2 wantsto go down from fn�1 to f1. The constraints are that p1 can only be transportedin the direction of her own travel, and that p2 has no access to f2. We get to anunrecognized dead end state by, in the initial state, stopping, moving the lift downto fn�1, and stopping again. Let's call the resulting state s. In s, both p1 and p2are boarded. There is no solution to s: as long as p1 is boarded the lift can onlymove downwards; but as long as p2 is boarded the lift can not stop at f2. To letp1 depart �rst one needs to stop at f2 which one can not do; to let p2 depart �rstone needs to move down to f1 and can then not move back up to f2, with p1 onboard. In a relaxed plan from s, however, one can simply move the lift down tof2, move it on to f1 (while, without delete lists, remaining at f2), then stop at f1to let p2 out, then stop at f2 to let p1 out. Note that, in s, one can apply one-stepdownwards lift moves in a sequence from fn down to f3. For the same reasons asoutlined above for s, all the state thus reachable remain unrecognized dead ends(in fact, one could add arbitrarily many passengers to be transported downwardssomewhere inside fn; : : : ; f3; all these passengers could be served within a sequenceof unrecognized dead end states starting in s).It is an open question whether and how the topological properties of Miconic-ADL change when one restricts oneself to subsets of the full constraint list.10.5 AssemblyWe �nally consider the Assembly domain, where a complex object must be con-structed by assembling its parts | other objects which stand in a part-of relationto it | together, obeying certain ordering constraints. The parts themselves mightneed to be assembled in the same way beforehand. With respect to h+, the situ-ation in Assembly is way more complex than in the domains we have seen before.I give an example of an unrecognized dead end state which can be arbitrarilydeep. Like in the domains we have seen in the preceeding subsections, this wouldsu�ce to classify the topology of the Assembly domain. It is however an interestingquestion why, if Assembly can have a complex topology in general, FF performsso excellently in the AIPS-1998 instance collection [46] (FF solves even the largestexample from that collection by evaluating 441 states in less than a second, �ndinga plan with 112 steps). So, instead of leaving it at the counter-example, I present adetailed investigation of the topological properties of Assembly instances, depend-ing on their part-of relations and ordering constraints. I prove under exactly whichcircumstances an Assembly instance is solvable. I prove a su�cient criterion forthe non-existence of dead ends. I �nally prove a su�cient criterion for the initialstate (amongst other states) having a monotonically decreasing path to the goalunder h+ (to avoid the clumsiness of language, we henceforth also refer to suchpaths as full exit paths). As it will turn out, the results are very relevant for theAIPS-1998 benchmark collection.The investigation involves a lot of details from the formal de�nition of theAssembly domain, and is probably hard to understand without �rst having a lookat that de�nition in Appendix A.1. Nevertheless, I give a short summary of the75

Page 76: Where - Pennsylvania State University

crucial points and of the notation. In any instance, the goal is to have someassembly g completed. The set of all assemblies is denoted by As. Each assemblyy 2 As has a (possibly empty) set of parts pa(y) � As, so that the relations(x; y) where x 2 pa(y) form a tree with root g (the tree specifying which assembly\consists" of which other ones). Each assembly y 2 As has a set of transient partstr(y) � As, where pa(y) \ tr(y) = ; and y 62 tr(y), and pa(y) = ; ) tr(y) = ;(i.e., the leafs of the tree, the \atomic" assemblies, have no transient parts either).One can assemble x into y if either x is a part of y, x 2 pa(y), or x is a transientpart of y, x 2 tr(y). To execute such an assembling action x must be available,and all assemblies z that have an assemble order before x in y, (z; x) 2 ao(y),must already have been assembled into y. Upon execution of the assemblingaction x is incorporated into y, and y is complete and available if no transientpart is incorporated into it, and x 2 pa(y) is the only part of y that was not yetincorporated. A transient part x 2 tr(y) can be removed from y if it is incorporatedinto y, and all z that have a remove order before x in y, (z; x) 2 ro(y), are alreadyincorporated into y. In e�ect, x is available and no longer incorporated into y. Ifall parts z 2 pa(y) are incorporated into y, and x is the last transient part thatis removed, then the removing action makes y complete and available. One canalso remove a part x 2 pa(y) from y, under the condition that it is incorporated,and that all z which have an assemble order before x in y, (z; x) 2 ao(y), arenot incorporated into y (in di�erence to transient parts, where the assemblieswith remove orders must be incorporated for removal). Removing x does notdelete the completeness or availability of y, in fact there is no operator at allthat can delete completeness (which appears to be a domain bug, but after allwhat we want to look at are the properties of the domain as it is used in theplanning community). In the initial state, all assemblies y are available (butnot complete) that have no parts, pa(y) = ; (i.e., the leafs of the tree given bythe x 2 pa(y) relations, the \atomic" assemblies, are initially available). Theassemble and remove orders are consistent, i.e., ao(y) respectively ro(y) is cycle-free for all assemblies y. Furthermore, if (x; z) 2 ao(y) and z 2 pa(y) [ tr(y) thenx 2 pa(y) [ tr(y). Similarly, if (x; z) 2 ro(y) and z 2 tr(y) then x 2 pa(y) [ tr(y)(we say some words below on the restrictions we make). Assembling x into y orremoving x from y can require an arbitrary amount of resources (i.e., machines)to be committed to y. All resources are available in the initial state. A resourcer can be committed to (released from) an assembly y simply by applying thecommit(r; y) (release(r; y)) action, which exchanges availability of r for its beingcommitted to y (vice versa). There are no additional constraints on the applicationof these actions.The set of instances makes (on top of the pa relation being a tree and theobvious constraints on transient parts) the following restrictions. The assemble andremove orders are consistent. If (x; z) 2 ao(y) and z 2 pa(y)[ tr(y) (z might haveto be incorporated into y) then x 2 pa(y)[tr(y) (one has the chance to incorporatex into y). Similarly, if (x; z) 2 ro(y) and z 2 tr(y) then x 2 pa(y) [ tr(y). Theserestrictions are ful�lled in the AIPS-1998 example collection, with the followingexceptions. There are three examples with syntax errors (the initial states useundeclared constants). Furthermore, in two examples there are x, z, and y with76

Page 77: Where - Pennsylvania State University

(x; z) 2 ro(y), z 2 tr(y), and x 62 pa(y) [ tr(y). As, additionally, in both tasks zmust at some point be assembled into y, these two tasks are trivially unsolvable |xmust be assembled into y in order to remove z, but cannot be because it is neithera part nor a transient part of y. We assume that these tasks' speci�cations are awed. The remaining 25 tasks adhere to the restrictions of the formal de�nitiondescribed above. One could de�ne the set of instances more generously, and includeall of the AIPS-1998 examples (except the ones with syntax errors, of course). Thiswould not o�er new insights as the restrictions only exclude cases that triviallyimply unsolvability if at least one of the a�ected assembling or removing actionsis required for solving the task. Including all the special cases in the subsequentdiscussion would make some of the claims rather unreadable. I thus settle for the(intuitively reasonable) set of instances speci�ed above.Two more restrictions that hold in the AIPS-1998 instances are these.1. Each assembly is only transient part of assemblies at a higher tree level (inthe tree given by the x 2 pa(y) relations).2. No transient parts are needed for removing other transients, i.e., if (x; z) 2ro(y) and z 2 tr(y) then x 2 pa(y).These restrictions do not imply the non-existence of unrecognized dead endsor local minima. We will see below, however, that the �rst restriction impliessolvability of the instance. The second restriction is among the prerequisites ofboth the su�cient criterion for the non-existence of dead ends and the su�cientcriterion for the existence of a full exit path to the initial state.Assembly is an ADL domain and makes extensive use of complex precondi-tions and conditional e�ects. I start the investigation by looking at conditions forsolvability, then I focus on dead ends, �nally I focus on local minima.10.5.1 SolvabilityThe following de�nition will be important throughout the subsequent investiga-tion. It speci�es, for a reachable state in an Assembly task, exactly which assem-blies must still be assembled into which other ones.De�nition 19 Given an instance (C; I;G) of the Assembly domain, and a reach-able state s 2 S. We de�neNA0(s) := f(x; y) j y 2 As; (complete; y) 62 s; x 2 pa(y); (incorporated; x; y) 62 sg[f(x; y) j y 2 As; (complete; y) 62 s; x 2 tr(y); (incorporated; x; y) 62 s;9z : z 2 tr(y); (x; z) 2 ro(y); (incorporated; z; y) 2 sgNAi+1(s) := f(x; y) j y 2 As; (complete; y) 62 s; x 2 tr(y); (incorporated; x; y) 62 s;9z : (z; y) 2 NAi(s); (x; z) 2 ao(y)g[f(x; y) j y 2 As; (complete; y) 62 s; x 2 tr(y); (incorporated; x; y) 62 s;9z : (z; y) 2 NAi(s); z 2 tr(y); (x; z) 2 ro(y)gNA(s) := S1i=0NAi(s) 77

Page 78: Where - Pennsylvania State University

We call NAG(s) := (As;NA(s)) the needed assembles graph to s, and NAG(I)the needed assembles graph to the instance.NA0(s) captures all pairs (x; y) where x must still be assembled into y becauseit is either a part of y, or a transient part that must be incorporated in orderto remove some other transient part. NAi+1(s) captures all pairs (x; y) where xmust still be assembled into y because either it is needed due to an assemble orderbefore some other needed part or transient part, or due to a remove order beforesome needed transient part.In the rest of the investigation, a leaf in a graph will denote a node that has noingoing edges, and a relevant leaf will denote a leaf that has at least one outgoingedge. The following is a su�cient condition for a state s to be no dead end.Lemma 7 Given an instance (C; I;G) of the Assembly domain, with action setA. Let s 2 S be a reachable state such that NAG(s) is cycle-free. If, for allrelevant leafs x in NAG(s), (available; x) 2 s, then (A; s;G) is solvable.Proof: If (complete; g) 2 s, we have nothing to prove. Else, as NAG(s) is cycle-free, there are either no relevant leafs at all, or there is at least one non-leaf nodey such that all sons of y are leafs. Assume there are no relevant leafs at all. Itfollows that all parts, and transient parts needed for removing other transientparts, are incorporated into g already (because there are no ingoing edges to g),so one can remove the transient parts in an order obeying ro(g) (note that ro(g) iscycle-free by de�nition), after committing (and beforehand releasing, if necessary)the resources required by g.In the other case, select a node y that is not a leaf, but for which all sonsare leafs. Let us focus on y's ingoing edges (x; y) 2 NA(s). All x are availableby prerequisite. Also, from the de�nition of NA(s), the set of those x is all weneed for assembling y: all parts of y, all transient parts needed for assemblingthat parts, all transient parts needed to remove other transient parts again, andall transient parts needed for assembling those, have an edge to y if they arenot yet assembled. Assume we commit (and beforehand release) all resourcesrequired by y, and carry out the respective sequence of assemble(x; y) actions(which can be applied in some order because ao(y) is cycle-free by de�nition).We can then remove all transient parts from y by a remove(x; y) sequence (whichcan be applied because all parts with a remove order have been assembled). Thisgets us to a state s0 where (complete; y) 2 s0. Afterwards, we can also removeall parts of y again in a bottom-to-top order regarding ao(y); remember thatthis does not delete (complete; y). We then have a state s00 where all assembliesthat have been available in s are again available, and where there is one morecomplete assembly, namely y. The new assembles graph NAG(s00) di�ers fromNAG(s) only in the sense that all edges (x; y) have been removed. The new graphis therefore again cycle-free; the only node that might be a new leaf is y, and(available; y) 2 s00. We can thus iterate the argument and are �nished with themonotonicity of completeness.The opposite implication holds in the following sense.78

Page 79: Where - Pennsylvania State University

Lemma 8 Given an instance (C; I;G) of the Assembly domain, with action setA. Let s 2 S be a reachable state. If NAG(s) contains a cycle, then (A; s;G) isunsolvable.Proof: With (x; y) 2 NA(s), we know that y is not complete in s; this eithermeans that y is not available (both properties are achieved together, and complete-ness is never deleted), or that y was already available initially; the latter can not beas otherwise there would be no edge (x; y) 2 NA(s) (as then pa(y) = tr(y) = ;).Further, all such assemblies y must be made complete (and with that available)at some point because the pa relation is a tree with root g that includes all non-atomic assemblies. Finally, (x; y) 2 NA(s) implies that, in any solution plan froms, x must be available at some point before y can be made available. Putting allof this together, a cycle in NAG(s) gives us a sequence y0; : : : ; yn�1; yn = y0 ofassemblies such that yi must in any solution from s be made available before yi+1is made available, which is a contradiction.With Lemmata 7 and 8, we get an exact classi�cation of solvability of theinitial state.Theorem 28 Given an instance (C; I;G) of the Assembly domain. The instanceis solvable if and only if the needed assembles graph NAG(I) to the instance iscycle-free.Proof: Consequence of Lemmata 7 and 8 and the fact that initially the leafs of theneeded assemble graph are exactly the atomic assemblies x for which pa(x) = ;.Those are available.Note that, if each assembly is transient part only of assemblies at a higher levelin the tree given by the x 2 pa(y) relations, then the needed assembles graph tothe instance is cycle free (because (x; y) 2 NAG(I) implies that either x 2 pa(y) orx 2 tr(y)). Thus by Theorem 28 all AIPS-1998 benchmark examples are solvable,except the awed ones.10.5.2 Some Observations Concerning Dead EndsWe now focus on the role of dead ends in the Assembly domain. Have a look atFigure 1, where the part-of relations are depicted by dotted arrows, the transientpart relations are depicted by dashed arrows, and the ordering relations are fullarrows; for ordering relations, the kind of ordering and the respective higher levelassembly are written at the left hand side of the relation, i.e., the beginning of thearrow.The situation s where G is incorporated into D and I is incorporated intoC is an unrecognized dead end: either G or I must be removed �rst; say onetries G. This requires assembling E into D, in order to assemble H . But onceE is assembled into D, one must assemble I to get it out again; this is, however,impossible, as I is at that point still assembled into C, and needs E to be assembledin the �rst place for being removed. A symmetrical situation arises when one tries79

Page 80: Where - Pennsylvania State University

A

CB D

F G H IE ro(C) ro(D)ao(C)ao(D) ro(C) ro(D)

Figure 1: An Assembly instance where an unrecognized dead end arises in thesituation where G is incorporated into D, and I is incorporated into C.to remove I from C �rst, starting from s. On the other hand, a relaxed plan for(A; s;G) can be constructed by assembling E into both C and D (the availabilityof E remains undeleted), then assembling F and H , then removing G and I , andso on. Note that one can easily make s arbitrarily deep by adding additional partsand sub-parts of A that must be assembled completely independently of B; : : : ; I .The instance depicted in Figure 1 adheres to all restrictions that apply in theAIPS-1998 benchmark suit, so one wonders why the AIPS-1998 examples are sounproblematic for FF. I will prove below that unless an instance contains a quitecomplex structure of remove order constraints there are no dead ends at all. Allbut one of the un awed AIPS-1998 examples do not feature this complex structure.The following de�nition formalizes the situation where some incorporated as-sembly needs other assemblies to be incorporated in order to be removed | thisplays a key role in states where some parts that are needed elsewhere are \stuck"somewhere.De�nition 20 Given an instance (C; I;G) of the Assembly domain, and a reach-able state s 2 S. For assemblies x such that (incorporated; x; y) 2 s for some y,we de�ne the needed removers NR(x; s) for x in s as:1. if x 2 tr(y): those z 2 As, (incorporated; z; y) 62 s with (z; x) 2 ro(y), and2. if x 2 pa(y): those z 2 As, (incorporated; z; y) 62 s such that there is somez0 2 tr(y); (z; z0) 2 ro(y) so that ex. z0 = z0; : : : ; zn = x with (zi; zi+1) 2ao(y); (incorporated; zi; y) 2 s for i � 0 and zi 2 pa(y) for i � 1.The �rst case, that of a transient part of y to be removed, is obvious. In thesecond case, a part x of y to be removed, all zi must be removed before one can80

Page 81: Where - Pennsylvania State University

remove x, and z must be incorporated in order to remove z0 (remember that allparts with an assemble order before x must not be incorporated when removingx). As we show now, if the needed removers for a number of assemblies thatare incorporated into an assembly y are all empty, then one can remove all theseassemblies.Lemma 9 Given an instance (C; I;G) of the Assembly domain, and a reach-able state s 2 S. If x1; : : : xn are assemblies such that, for some y,(incorporated; xi; y) 2 s for 1 � i � n, and NR(xi; s) = ; for all i, then there is anaction sequence that, when applied to s, yields a state s0 where (available; xi) 2 s0for all i.Proof: First of all, one can commit (and beforehand, if necessary, release) theresources required by y. Then collect together as the relevant transients all xi 2tr(y), and all z 2 tr(y) that are transitively ordered before some xi 2 pa(y)regarding ao(y). As NR(xi; s) = ;, all parts that have a remove order beforea relevant transient are incorporated into y. Thus, one can apply a sequence ofactions removing all relevant transients, in some order respecting ro(y) (this ispossible because ro(y) is cycle-free by de�nition). Afterwards, all relevant parts| the xi 2 pa(y) together with all z 2 pa(y) that are transitively ordered beforesome xi 2 pa(y) regarding ao(y) | can be removed in some order respectinginverse ao(y) (which is, again, cycle-free by de�nition).If a part x is incorporated in y0, but needed in y, and can not be removed(and thus made available) easily, then there is a constraint between y0 and y in thesense that y0 must be disassembled before one assemble y. The following de�nitionformalizes that situation.De�nition 21 Given an instance (C; I;G) of the Assembly domain, and a reach-able state s 2 S. The remove con icts RC(s) of s are de�ned asRC(s) := f(y0; y) j y 2 As; (complete; y) 62 s;9 x : (x; y) 2 NA(s); (incorporated; x; y0) 2 s;NR(x; s) 6= ;gThe next is the core lemma of this subsection. We will later identify a situation| occurring, e.g., in all but the awed AIPS-1998 examples | where the seeminglyvery strong prerequisite of the lemma is ful�lled. The proof is an extension of theproof to Lemma 7.Lemma 10 Given an instance (C; I;G) of the Assembly domain, with action setA. If, for all reachable states s 2 S, the graph (As;NA(s) [ RC(s)) is cycle-free,then (A; s;G) is solvable for all such s, i.e., the instance is dead-end free.Proof: If all a 2 As have (complete; a) 2 s, then we are �nished. If all nodesin (As;NA(s) [ RC(s)) are leafs, then in particular the goal assembly g has noingoing edges in NA(s), so we can make it complete by committing the requiredresources, and removing all transient parts.81

Page 82: Where - Pennsylvania State University

In the non-trivial case, let y be a node in (As;NA(s)[RC(s)) that is not a leaf,but for which all sons are leafs. In particular, (complete; y) 62 s. We construct anaction sequence leading to a state s0 where (complete; y) 2 s0. Iterating the argu-ment proves the lemma with the monotonicity of completeness. The constructionproceeds as follows.1. Process all sons y0, (y0; y) 2 RC(s): let, for such a y0, x 2 pa(y)[tr(y); (x; y) 2NA(s) be incorporated into y0. If y0 was not complete, then NR(x; s) 6= ;would imply an ingoing edge to y0 in NA(s) (obvious if x 2 tr(y0); if x 2pa(y0), there is an incorporated transient part z0 for which a remover z mustbe incorporated). Thus, y0 is complete in s, and thus, all z 2 pa(y0) [ tr(y0)are complete in s or initially available. As y0 has no ingoing edges in RC(s),all such z that are incorporated into some y00 have NR(z; s) = ;. We canthus apply the following action sequence:(a) remove, using Lemma 9, all z 2 pa(y0)[ tr(y0) from those y00 were theyare incorporated (if they are);(b) commit the resources required by y0, and assemble all z 2 pa(y0)[tr(y0)into y0 in some order respecting ao(y0);(c) completely disassemble y0, by �rst removing all transients in an orderrespecting ro(y0), then removing all parts in an order respecting ao(y0)(note that this does not delete the completeness of y0).2. Process all sons x, (x; y) 2 NA(s); (complete; x) 62 s; pa(x) 6= ;: as suchx have no ingoing edges in NA(s) | remember that they are leafs in(As;NA(s) [ RC(s)) | all parts z 2 pa(x) are incorporated, and all partsneeded for removing transients are incorporated, too. So x can be madecomplete by committing the resources, and removing all transients in anorder respecting ro(x).3. Process all sons x, (x; y) 2 NA(s); (incorporated; x; y0) 2 s, and there is noremove con ict between y0 and y, i.e., NR(x; s) = ;: with Lemma 9, allthose x can be removed from the assemblies y0.After the above steps have been carried out, it holds that all x with (x; y) 2 NA(s)are available. If, in s, they have been incorporated into some y0 with NR(x; s) 6= ;,then they have been removed from y0 in the �rst process. If they have not beencomplete, they have been made so, and available, in process two. If they have beenincorporated into some y0 with NR(x; s) = ;, then they have been removed fromy0 in the third process. We can therefore get to our desired state s0 by committingthe resources required by y, assembling all x with (x; y) 2 NA(s) into y in anorder respecting ao(y), and afterwards removing the transient parts in an orderrespecting ro(y), making y complete.We now identify cases where Lemma 10 can be applied. Our �rst observationis this. If the remove orders behave in the manner present in the un awed AIPS-1998 benchmarks, then the needed assembles graph is monotonic in the followingsense. 82

Page 83: Where - Pennsylvania State University

Lemma 11 Given an instance (C; I;G) of the Assembly domain, such that 8y 2As : (x; z) 2 ro(y) ^ z 2 tr(y) ) x 2 pa(y). Then, for all reachable states s 2 S,NA(s) � NA(I) holds.Proof: With 8y 2 As : (x; z) 2 ro(y) ^ z 2 tr(y) ) x 2 pa(y), the role ofincorporated transients in a state is diminished to the e�ect that all removers areparts and must therefore be incorporated anyway. The lemma then follows becausein the initial state, both the set of parts that are not complete is maximal (allparts), and the set of pairs (x; y) where x is not incorporated into y is maximal (nopart is incorporated into any other part). The other constituents of De�nition 19are static (the pa, tr, ao and ro functions). The proof proceeds by induction.NA0(s) � NA0(I) follows from the above, with the observation that the sec-ond set in the de�nition of NA0(s) always yields the empty set because of ourprerequisite 8y 2 As : (x; z) 2 ro(y) ^ z 2 tr(y) ) x 2 pa(y): for a pair (x; y) inthe second set, x 2 tr(y), z 2 tr(y) and (x; z) 2 ro(y) hold for some z, in contra-diction. The induction step from NAi �! NAi+1 is straightforward: in additionto I 's maximality properties, we know from the induction hypothesis that each(z; y) 2 NAi(s) is also contained in NAi(I). This gives us NAi+1(s) � NAi+1(I),and consequently NA(s) � NA(I).Our second observation is that a remove con ict between y0 and y implies thepresence of the respective ordering constraints between y0 and y in the instance,i.e., there must be a potential remove con ict between those two in the followingsense.De�nition 22 Given an instance (C; I;G) of the Assembly domain. The poten-tial remove con icts pRC of the instance are de�ned aspRC := f(y0; y) j y 6= y0; 9x 2 (pa(y) [ tr(y)) \ tr(y0) : 9z : (z; x) 2 ro(y0)g[f(y0; y) j 9 x 2 tr(y) \ pa(y0) :9 z0 2 tr(y0); z1; : : : ; zn 2 pa(y0) :(z0; z1) 2 ao(y0); (zi; zi+1) 2 ao(y0) for all i; (zn; x) 2 ao(y0);9z : (z; z0) 2 ro(y0)gReconsider De�nitions 20 and 21. Imagine a remove con ict that is due toa transient part x 2 tr(y0) that is incorporated into y0 and needs some z to beincorporated for its removal. Such a con ict demands the existence of a potentialremove con ict according to the �rst set in De�nition 22 (remember that (x; y) 2NA(s) for a state s implies x 2 pa(y)[ tr(y)). Slightly more complicated, say thecon ict is due to a part x 2 pa(y0) that is incorporated into y0 such that removingx �rst involves removing all of z1; : : : ; zn 2 pa(y0) (due to assemble orders), butremoving z1 requires incorporating z0 (due to a remove order). That situationdemands the existence of a potential remove con ict according to the second setin De�nition 22. So in any state the remove con icts are a subset of the potentialremove con icts of the instance, i.e., RC(s) � pRC holds for all s 2 S.The set in the �rst line of the above de�nition has not many members if removeorders are seldom. Even more so for the second set, where there must be a complex83

Page 84: Where - Pennsylvania State University

construct of assemble orders in addition to the remove order. We will now see that,if the potential remove con icts are cycle-free together with the needed assemblesof an instance adhering to the restriction that 8y 2 As : (x; z) 2 ro(y) ^ z 2tr(y)) x 2 pa(y), then the instance is dead-end free.Theorem 29 Given an instance (C; I;G) of the Assembly domain, with actionset A. If 8y 2 As : (x; z) 2 ro(y)^z 2 tr(y)) x 2 pa(y), and (As;NA(I)[pRC)is cycle-free, then (A; I;G) is dead-end free.Proof: With Lemma 10, it su�ces to show that (As;NA(s)[RC(s)) is cycle-freefor all s 2 S. With Lemma 11 and 8y 2 As : (x; z) 2 ro(y)^z 2 tr(y) ) x 2 pa(y),we have NA(s) � NA(I) for all states s 2 S. Furthermore, we got RC(s) � pRC.Finished with the prerequisite that (As;NA(I) [ pRC) is cycle-free.As an example, reconsider Figure 1. There is a cycle in (As; pRC): we havea potential remove con ict between C and D because I 2 pa(D), I 2 tr(C), and(F; I) 2 ro(C). The other way round, we have a potential remove con ict betweenD and C because G 2 pa(C), G 2 tr(D), and (H;G) 2 ro(D).Theorem 29 proves that there are no dead ends in 24 of the 25 un awed AIPS-1998 benchmark examples. All the un awed examples ful�ll 8y 2 As : (x; z) 2ro(y) ^ z 2 tr(y) ) x 2 pa(y), and in all but one of them (As;NA(I) [ pRC) iscycle-free.10.5.3 Some Observations Concerning Local MinimaThere is more to be said, except their existence (which follows from the existence ofunrecognized dead ends), about local minima in the Assembly domain. First, let usstate that there can be local minima under h+ even if there are no unrecognizeddead ends. An example, adhering to the restrictions in the AIPS-1998 suit, isdepicted in Figure 2. The meaning of the arrows is the same as in Figure 1.A

B C

D GE Fao(B) ao(C)ao(C)

ao(B)Figure 2: An Assembly instance where a local minimum arises when D is incor-porated into B, and G is incorporated into C.84

Page 85: Where - Pennsylvania State University

The phenomenon here is the following. With D and G incorporated, h+(s) = 6:an optimal relaxed plan is to assemble E into C, assemble F into C, assemble Finto B, assemble E into B, and assemble B and C into A. Note here that we mustassemble the transient part E into C (F into B) before we can assemble F into C(E into B), but | in the relaxed plan | do not need to remove E from C (F fromB) again. One must either �rst assemble E into C or F into B (the two otherapplicable actions are removing D from B or G from C but that does open up nonew options except assembling them back). Say we decide to assemble E into C.In the resulting state s0, we get, again, h+(s0) = 6 (like above, but remove E fromC instead of assembling it). Assembling F into C afterwards, however, worsensthe situation to h+(s00) = 7 (where s00 is the respective resulting state): in additionto the above steps, one must remove G from C due to its assemble order before F .In more detail, an optimal relaxed plan from s00 is to remove E from C, remove Gfrom C, remove F from C (which can not be done if G is incorporated into C, as(G;F ) 2 ao(C)), assemble F into B, assemble E into B (which can not be doneunless F is incorporated into B), and assemble B and C into A. A symmetricalsituation arises if we decide to go the other way round, i.e., to assemble F into B�rst.Once again, one wonders why the AIPS-1998 examples are so unproblematicfor FF. We now make an interesting observation concerning the behavior of localminima under h+ in Assembly instances, and the ease of solving such instancesusing that heuristic. Unless there are complex structures concerning assembleorders, the initial state of an Assembly instance has a full exit path.In the instance from Figure 2, the initial state does not have a full exit path.This is because there is a circle between B and C in the sense that they arecon icted (B;C) and (C;B) as follows.De�nition 23 Given an instance (C; I;G) of the Assembly domain, and a reach-able state s 2 S. The assemble con icts AC(s) of s are de�ned asAC(s) := f(y0; y) j y 6= y0; 9x; z 2 pa(y) : (x; y) 2 NA(s);(z; x) 2 ao(y);(x; y0) 2 NA(s)gAC(I) are the assemble con icts of the instance.The di�culty with an assemble con ict between y0 and y with regards to anassembly x is that x is needed for both y0 and y, but once x is incorporated into ywe will have trouble removing it because there is another part z with an assembleorder before it. So one should care about y0 �rst. This is not always possible in theexample Figure 2 because that kind of con ict appears between B and C in bothdirections. If one can always care about y0 �rst then states where all relevant leafs(in the needed assembles graph) are available have a monotonically decreasing pathto the goal, under the additional condition that no needed assemble constraint isdue only to a remove order. 85

Page 86: Where - Pennsylvania State University

Lemma 12 Given an instance (C; I;G) of the Assembly domain with action setA, and a reachable state s 2 S, such that for all relevant leafs x in NAG(s),(available; x) 2 s. If it holds that1. (As;NA(s) [AC(s)) is cycle-free, and2. for all (x; y) 2 NA(s), there is a sequence x = x0; x1; : : : ; xn such thatxn 2 pa(y), (xi�1; xi) 2 ao(y) and (xi; y) 2 NA(s) for 1 � i � n,then s has a monotonically decreasing path to the goal under h+.Proof: We prove that h+ decreases monotonically on a solution path that canbe obtained by Lemma 7 (NAG(s) is cycle-free by the �rst prerequisite). Thisiteratively processes an arbitrary non-leaf assembly y where all sons x are leafs inNAG(s); if all assemblies are leafs in NAG(s), achieving the goal can be done bycommitting (and beforehand releasing) the resources required by the goal assemblyg, and then removing the transient parts from g, all of which actions are containedin an optimal relaxed solution, and delete only propositions that are not neededanymore. We change the algorithm from Lemma 7 to iteratively process nodes ywhere all sons are leafs in (As;NA(s) [AC(s)) (i.e., we additionally consider theedges in AC(s)). If a node has no ingoing edges in NA(s), then it has no outgoingedges in AC(s) ((y0; y) 2 AC(s) implies, by de�nition, (x; y0) 2 NA(s) for somex), so the only ingoing edges (x; y) of y are such that (x; y) 2 NA(s). The solutionalgorithm �rst releases and commits all resources required by y, then assemblesall x with (x; y) 2 NA(s) into y in an appropriate order, and afterwards removesall transient parts and parts of y in an appropriate order. The process ends upin a state where prerequisites 1 and 2 are again ful�lled; for prerequisite 2, this isobvious (all edges (x; y) are removed from NA(s), and the edges (x; y0) for otherassemblies y0 remain unchanged), and for prerequisite 1 it holds because no newedges are introduced into NA(s), which implies that no new edges are introducedinto AC(s). So let us consider the optimal relaxed solution lengths on the con-structed path. Removing an assembly x from y only deletes (incorporated; x; y),which is not needed anymore once (complete; y) has been achieved; it is also notneeded anymore when all parts of y have been incorporated and x is a transientwhich is not needed for removing any other transient, both of which conditions areful�lled when the algorithm removes a transient part x from y. As y is not com-plete, the required resources must be released and committed to y at some pointin an optimal relaxed solution from s; as releasing and committing actions areinvertible, those actions do therefore not increase optimal relaxed solution length.Thus, the only actions left to take care of are the assemble(x; y) parts of the pro-cess, transforming a state s0 into another state s00. It su�ces to show that there isa relaxed solution to s00 that is at most as long as an optimal relaxed solution tos0. Assume P+s0 is an optimal relaxed solution to (A; s0; G). x may be a part, or atransient part of y.In the �rst case, assemble(x; y) is contained in P+s0 simply because x must beincorporated into y at some point. If there is no z 2 pa(y), (z; x) 2 ao(y), thena relaxed plan P+s00 for (A; s00; G) can be constructed by removing assemble(x; y)86

Page 87: Where - Pennsylvania State University

from P+s0 , and placing remove(x; y) up front. If there is such a z, then, because yhas no ingoing edges from AC(s), it follows that there is no edge (x; y0) in NA(s)(otherwise, (y0; y) 2 AC(s) would hold), so (available; x) is not needed anymore;neither do we need (not-incorporated; x; y) when x is a part (not a transient part)of y, so we can construct P+s00 by removing assemble(x; y) from P+s0 and are �nished.In the second case, x being a transient part of y, assemble(x; y) is containedin P+s0 because by prerequisite 2 x must be assembled into y at some point forthe integration of all parts, due to assemble orders (none of x1; : : : ; xn can alreadybe integrated into y in s0, due to the assemble orders and (xi; y) 2 NA(s) forall i). So our �rst step in the construction of a relaxed plan P+s00 for (A; s00; G)is to remove assemble(x; y) from P+s0 . It then su�ces to show that remove(x; y)can be applied at some point in the resulting relaxed plan before (available; x)or (not-incorporated; x; y) are needed. This follows again from prerequisite 2:remove(x; y) can be applied in P+s00 as soon as all z with (z; x) 2 ro(y) have been in-corporated into y. With prerequisite 2, all z that have this property must either al-ready be incorporated, or assembled into y at some point. All these actions | andthe actions assembling their necessary (transient) parts (z0; z) 2 ao(y) | can bemoved to the front of P+s00 in the appropriate order. We insert remove(x; y) directlyafter those actions. This is early enough: obviously, none of the assemble(z; y) ac-tions needs (available; x) as prerequisite; for (not-incorporated; x; y), matters area bit more complicated, as the last of the assemble(z; y) actions might have beenresponsible for adding (complete; y); but in that case, all parts of y are incorpo-rated at that point, and all transient parts except x have not been incorporatedin s0, so remove(x; y) achieves (complete; y) at that point of P+s00 starting from s00.Our construction P+s00 is therefore a relaxed plan for (A; s00; G), which concludesthe argument.Let us identify situations where the prerequisites of Lemma 12 are ful�lled.First observe that with 8y 2 As : (x; z) 2 ro(y) ^ z 2 tr(y) ) x 2 pa(y) theassemble con icts are monotonic, simply because the needed assembles are.Lemma 13 Given an instance (C; I;G) of the Assembly domain, such that 8y 2As : (x; z) 2 ro(y) ^ z 2 tr(y) ) x 2 pa(y). Then, for all reachable states s 2 S,AC(s) � AC(I) holds.Proof: Follows directly from Lemma 11 and the de�nition of assemble con icts.It is easy to see that the same restriction on remove orders implies the secondprerequisite of Lemma 12 (no needed assembles due only to remove orders). So weknow that, under the restriction, the initial state has a full exit path unless thereis a cycle in the assemble con icts with the needed assembles.Theorem 30 Given an instance (C; I;G) of the Assembly domain, such that1. (As;NA(I) [ AC(I)) is cycle-free, and2. 8y 2 As : (x; z) 2 ro(y) ^ z 2 tr(y)) x 2 pa(y).87

Page 88: Where - Pennsylvania State University

Then, any reachable state s 2 S where all relevant leafs in NAG(s) are available,in particular the initial state, has a monotonically decreasing path to the goal underh+.Proof: The prerequisites 1 and 2 are su�cient for prerequisites 1 and 2 ofLemma 12, respectively. As for prerequisite 2, with 8y 2 As : (x; z) 2 ro(y) ^ z 2tr(y) ) x 2 pa(y), the only edges (x; y) in NA(s) inserted due to a removeorder are such that x 2 pa(y), implying that x must be incorporated anyway(in the terminology of the second prerequisite of Lemma 12, the trivial sequencex = x0 = xn 2 pa(y) su�ces). The other implication follows directly from Lem-mata 11 and 13: as there is no cycle in (As;NA(I) [ AC(I)), and for all statess we got NA(s) � NA(I) and AC(s) � AC(I)), there can not be a cycle in(As;NA(s) [ AC(s)) for any s.Theorem 30 proves that the initial states of all un awed AIPS-1998 instanceshave full exit paths under h+: all these instances ful�ll the theorem's prerequisites.Assuming that FF's search mechanism does stick to the full exit paths, this resultexplains, at least partly, the excellent runtime performance of the system in theAIPS-1998 collection.11 A Planning Domain TaxonomyMy results divide the current planning benchmark domains into a taxonomy ofclasses which di�er in terms of the topological behavior with respect to h+. Theoverall picture is given in Figure 3.The taxonomy, as it is drawn in Figure 3, has two dimensions: the x-axis,corresponding to the four dead end classes, and the y-axis, corresponding to theexistence or non-existence of constant upper bounds on the maximal local mini-mum exit distance and on the maximal bench exit distance (where the domainswith bounded bench exit distance are assumed to be a subset of the ones withbounded local minimum exit distance). The bottom right corner is crossed outbecause no domain can belong to the respective classes: by Proposition 1, theexistence of unrecognized dead ends implies the non-existence of constant upperbounds on the maximal local minimum exit distance. Arranging both maximalexit distance properties together on the y-axis in the way Figure 3 does it is notgenerally justi�ed. The domains with bounds on the maximal bench exit distanceare in general not a subset of those with bounds on the maximal local minimumexit distance. However, as was said before, the question whether there is a boundon the di�culty of escaping benches does not seem as relevant when, anyway, itcan be arbitrarily di�cult to escape local minima.7 The speci�c bounds provedfor the individual domains are given in parentheses, local minimum exit distancebound preceeding bench exit distance bound in the cases where there are both. In7Similarly, when benches can be arbitrarily large it is not as relevant if or if not the localminima are small or non-existent. In that sense the respective results for Briefcaseworld, Fridge,Grid, Blocksworld-no-arm, and Hanoi are only moderately important. I have included them asI �nd them intriguing anyway. 88

Page 89: Where - Pennsylvania State University

mbe

d <

= c

Gripper [0,1]

harmless

Simple-Tsp [0,0]Movie [0,1]Miconic-STRIPS [0,1]Miconic-SIMPLE [0,1]Zenotravel [2,2]Satellite [4,4]Tireworld [0,6]

Grid [0]

recognized

Schedule [5,5]

Rovers

unrecognized

AssemblyFreecell

MprimeMystery

Miconic-ADLDepotsDriverlog

Blocksworld-arm

undirected

Hanoi [0]Blocksworld-no-arm [0]Fridge [0]Briefcaseworld [0]

Logistics [0,1]Ferry [0,1]

mlm

ed <

= c

Figure 3: A planning domain taxonomy, overviewing the results.most domains where there is an upper bound on the local minimum exit distance,the bound is 0, i.e., there are no local minima at all. In the domains where thelatter is not the case, namely in Zenotravel, Satellite, and Schedule, it might bethat the bench exit distance bound is lower than the local minimum exit distancebound. Again, whether this is the case or not does not seem particularly relevant.From the point of view of relaxed plan based heuristic planning, Figure 3provides a very appealing picture: put in colloquial terms, the \simple" domainsare in the left bottom corner, while the \demanding" domains are in the top rightcorner. Obviously, the current planning benchmark domains tend to lie on theleft bottom side, where there are no unrecognized dead ends, and local minimaand/or benches can always be escaped from within a constant number of steps.Some more on the relevance of the taxonomy for the performance of state-of-the-art heuristic planners will be said below, in Section 12. Here, let me summarizewhat the most common patterns of problem structure are that cause the qualityof h+ in the benchmarks. At the level of the planning tasks' speci�cations, themost common pattern of structure causing the non-existence of dead ends is thatall actions are (at least) invertible or need not be inverted (like when their addsare static and their deletes are irrelevant). Together with that, the most commonreason for the non-existence of local minima is that the actions are respected bythe relaxation, i.e., often, when an action starts an optimal plan, then there issimply no other way to achieve the goal than by applying it. As for bounds on thebench exit distance, these are present in domains without local minima, when onekind of actions have delete e�ects that are not needed anymore once the actionshave been applied in an optimal plan, while the other kind of actions need not89

Page 90: Where - Pennsylvania State University

be applied more than a constant number of times in a row. Finally, we have seenthat in 3 of the domains where there are local minima (Zenotravel, Satellite, andSchedule), both exit distances are bounded because important facts can alwaysbe achieved, without losing other important facts, within a constant number ofsteps (this being a property that also holds true for all the 8 other domains in thelowermost classes of the taxonomy).12 DiscussionI have proven that most of the current planning benchmarks are of a structure thatcauses h+ to be a very informative heuristic function. The question is, how rele-vant is this result in practice, where state-of-the-art heuristic planners use variousapproximations of relaxed planning in various search schemes (not necessarily for-ward state space search)? How much does the performance of the state-of-the-artheuristic planners really depend on the quality of h+? The most speci�c connec-tion is that between the domains in the lowermost classes of the taxonomy, andFF's search algorithm. As said before, FF performs an iteration of breadth-�rstsearches for an exit state, and if the distance to such an exit is always bounded bya constant then search terminates in polynomial time. In addition, in an empiricalinvestigation that is part of the author's PhD thesis [44], it turned out that thequality of h+ gets largely preserved by FF's approximation of it. When takingrandom samples of example state spaces, there were rarely any samples on localminima in domains where there are none under h+, and the maximal bench exitdistance of the samples was identical to that under h+. Indeed, when one comparesthe positions of the domains in the taxonomy with FF's runtime behavior in therespective example suits, then one �nds that these match quite well. FF excells inall the 11 domains that belong to the lowermost classes of the taxonomy. In the5 \middle" domains (no local minima but potentially large benches) FF performswell, but does not scale up as comfortably as in the 11 easier domains. As forthe more complex domains: Driverlog, Depots, and Blocksworld-arm are amongstthe most challenging domains for FF. In Mystery and Mprime FF performs justas bad as most other planners. In Miconic-ADL and Freecell FF is among thetop performing planners, but often runs into unrecognized dead ends in the largerinstances (e.g., the larger Freecell instances used at AIPS-2000). In Rovers andAssembly, FF excells in the respective competition example suits; however, justbecause a domain potentially contains complex search space topology that does notmean a speci�c example suit does. Indeed, we have seen that in the AIPS-1998 As-sembly instances there are no dead ends, and the initial states have full exit pathsunder h+. Also, we have seen that the road map diameter of a rovers instanceyields an upper bound on the exit distance under h+; the road map diameter inthe AIPS-2002 instances varies around 1 to 6.Let us focus on the other heuristic planners. Those that are state-of-the-artin runtime all use relaxed plan heuristics in one way or the other. There are alsoplanners based on other heuristics [34, 35], but these { optimal { planners can notcompete with the runtime performance of their sub-optimal relaxed plan based90

Page 91: Where - Pennsylvania State University

counterparts. Except FF, the most successful heuristic planners in the last 3 years(speci�cally in the AIPS-2000 and AIPS-2002 competitions) have been HSP2 [10],STAN4 [24], Mips [20], RePOP [57], SAPA [16], VHPOP [67], and LPG [29]. Ofthese, HSP2 (in the con�guration used at AIPS-2000), STAN4, Mips, and SAPAsearch forward in the state space, while the others do variations of partial ordersearch (in LPG, based on a dynamic planning graph structure). HSP2, STAN4,and Mips approximate h+ to obtain heuristic information (in the case of STAN4,the heuristic also takes automatically inferred domain knowledge into account). AtAIPS-2000 [2] the domains where these three planners performed well coincidedpretty much with those were FF did, with the exception of Schedule (where FF'sheuristic pruning technique makes a huge di�erence). In particular, the easiest do-mains for these planners were Logistics, Miconic-STRIPS, and Miconic-SIMPLE{ those where h+ has the highest quality. For RePOP (which adapts relaxed planheuristics to the partial-order framework) and SAPA (which extends relaxed planbased heuristic planning to a temporal numerical context), the best results re-ported [57, 16] are in Logistics-type transportation domains. VHPOP and LPGhave been awarded at AIPS-2002 (as best newcomer respectively for excellent per-formance across a wide range of example domains). VHPOP is a heuristic partialorder planner closely related to RePOP. LPG performs a kind of partial ordersearch by dynamically modifying a planning graph, using various heuristics in-cluding a relaxed planning technique (taking into account exclusion relations inthe planning graph) to estimate the di�culty of achieving an action's precondi-tions. When looking at the STRIPS domains used at AIPS-2002, one �nds that,for both VHPOP and LPG, the domains where they scale most comfortably areZenotravel and Satellite { once again, those domains where h+ has the highestquality. The other domains (Depots, Driverlog, Rovers, and Freecell) are morechallenging. Similar observations can be made for Mips, SimPlanner [58], andStella [64] (the latter two planners use variations of relaxed planning techniques tocontrol forward search; SimPlanner, in particular, did very well in the AIPS-2002STRIPS domains). Experiments performed by the authors of LPG [31] indicatethat the relaxed plan heuristic has a large impact on LPG's runtime behavior.Let me say some words on future work. Of course it would be desirable toextend the analysis techniques described herein to numerical and durational set-tings as used in IPC-3 [25]. A very ambitious research direction contributed toby the work at hand is to further planner runtime performance by elaboratingrelaxed planning techniques in those cases where h+ is not a good heuristic, or,more generally, by devising heuristics that have qualities complementary to h+.In the long run, the vision is to have an arsenal of complementary heuristics, andcombine these into a hybrid system that can automatically be con�gured to bestsuit a given arbitrary planning task. The contribution made towards this visionby the results at hand is a very clear picture of where the strengths of h+ lie.There already are attempts in the literature to elaborate on the quality of h+: asindicated before, STAN4 [24] uses automatically extracted domain knowledge toimprove its heuristic goal distance estimates, and LPG's relaxed planning process[32] takes exclusion relations in a planning graph into account.A more short term project than the above vision, but still an ambitious task,91

Page 92: Where - Pennsylvania State University

is to �nd more concrete connections between problem structure and h+ topology.Some of the de�nitions that form the structural core of the theory at hand, c.f.Section 5, are of a syntactical nature (namely, the de�nitions concerned with deadends). Others, however, are not directly testable by a machine (at least not withoutcombinatorial search). The relevant implications are Lemma 4 (for applying whichwe need to test whether the actions are respected by the relaxation), as well as theproof techniques used for proving exit distance bounds. These implications are, fora given planning task or domain, generally not overly di�cult to test for a humanobserver (depending, of course, on the complexity of the domain). It is largelyunclear, however, how a task or domain could be analyzed automatically to seewhether the implications apply or not. A promising line of research seems to bethe identi�cation of more syntactical criteria su�cient for the prerequisites of theimplications. The bene�ts of such domain analysis techniques would be twofold.First, information about the quality to be expected from individual heuristics iscrucial for con�guring hybrid systems, c.f. above. Second, an automatic analysistechnique might spare the e�ort of investigating h+ quality for each single domainover again { ideally, one would want to prove topological properties that hold truefor domain classes.I close the article by discussing one of the most pressing questions opened up bythis work. Brie y put, the result we got here is that most of the current planningbenchmarks share a structure that makes h+ a very high quality heuristic. Now:Is this a good or a bad result for AI planning? Does it mean that we haveidenti�ed widely spread structural properties that can make planning feasible, ordoes it only mean that the benchmarks are super�cial?Put in less polemical terms, the question is whether the current benchmarksare an adequate means of evaluation in the sense that they capture the structuresthat are important in the envisioned applications. This is not a question onecan answer just like that. There is not even a clear picture in the community ofwhat the \envisioned applications" are. While domains like Simple-Tsp, Movie, orGripper are so trivial they seem highly unlikely to contain any structures relevantin reality,8 it is much harder to assess the relevance of domains like Satellite, Grid,or Blocksworld-arm. The author personally believes that, at this point in time,there are the following two things to do about the benchmarks/about evaluationin planning:1. Design new benchmark domains and example suits that are as close as pos-sible to existing real-world applications of planning. To name a few, exam-ples for such applications are Jana Koehler's Miconic domain [51], SylvieThiebaux's PSR domain [3, 12], and Stefan Edelkamp's software veri�ca-tion domain [18]. The use of more such domains will hopefully yield a moreconclusive picture of how e�cient the current planning technology can be8Indeed, these domains have been designed with the intention to highlight certain character-istic shortcomings of certain planning systems, rather than with the intention to model realisticproblems. 92

Page 93: Where - Pennsylvania State University

expected to be in reality, and provide a testbed suitable for steering the �eldinto a fruitful direction.2. Avoid the repeated use of structurally similar benchmark domains. It hasbeen no exception in the past to see papers evaluate planners in testbedsincluding, e.g., all of the Gripper, Logistics, and Miconic-STRIPS domains.This obviously does not make much sense, at least if the performance of (oneof) the tested planner(s) depends a lot on the quality of h+ { polemicallyput, the only thing that changes are the names of the predicates. What agood testbed should do is, test the planners on a variety of di�erent problemstructures. A criterion for a good testbed could be to cover the relevant com-plexity classes (at least P, NP, and PSPACE) for the complexity of deciding(bounded) plan existence within the domains; or, at least for planners thatuse relaxed plan based heuristics, to cover all the relevant distinctions in theplanning domain taxonomy provided by the investigation at hand.While the above two directives are basically common sense, a better thoughtthrough choice of benchmark examples, and interpretation of results obtainedthat way, would certainly do good to the AI planning community.9 Together withStefan Edelkamp, the author intends to promote just this, by applying the abovedirectives in the next international planning competition alongside ICAPS-2004.AcknowledgementsI would like to thank Drew McDermott, Fahiem Bacchus, Maria Fox, andDerek Long for their responses to various questions concerning the de�nitionsof/intentions behind the competition domains. Thanks also go to Malte Helmertfor some useful comments on the published benchmark instances, and the de�ni-tion of planning domains.A Formalized Benchmark DomainsThis appendix contains the formal de�nitions of all investigated benchmark do-mains. As said in Section 2, to ease readability the formalizations presented hereare made such that the domains are negation-free, which is in some ADL domainsslightly di�erent (syntactically, but not semantically) from the original formula-tion used in the planning community. I state the di�erences explicitly. As hasbeen mentioned in Section 3, the decisions about what exactly the instances of thedomains are have been made by abstracting from the published benchmarks. Inmost cases, this is obvious. In the less obvious cases, a few comments are added.9While there have traditionally been a lot of complaints about the Blocksworld domain, therehas rarely been an argument against Blocksworld except that it intuitively is a \toy" domain.But that's a property that most STRIPS domains are likely to share, and it does not excludetheir potential ability to capture structures that are relevant in the real world. With respect tothe topology under h+, the investigation at hand indeed proves that Blocksworld-arm is one ofthe domains with a more interesting structure.93

Page 94: Where - Pennsylvania State University

Generally, this appendix contains only the formal de�nitions and some explana-tion of the formal means involved. More intuitive descriptions of the domains aregiven in the respective individual subsections.The 25 domains are listed in alphabetical order. For getting used to the nota-tion, it is probably better to start with simple examples like Simple-Tsp, Movie,Gripper, and Logistics.A.1 AssemblyDe�nition 24 Assembly is the ADL domain (P ;O; I) where the set of predicatesisP = f (equal; 2); (assembly; 1); (not-assembly; 1); (resource; 1); (not-resource; 1);(requires; 2); (not-requires; 2); (part-of; 2); (not-part-of; 2); (transient-part; 2);(not-transient-part; 2); (assemble-order; 3); (not-assemble-order; 3);(remove-order; 3); (not-remove-order; 3); (commited; 2);(available; 1); (incorporated; 2); (not-incorporated; 2); (complete; 1)gO consists of the operators� commit:( (x; y),f(resource; x); (assembly; y); (available; x)g,f(committed; x; y)g,f(available; x)g)� release:( (x; y),f(resource; x); (assembly; y); (commited; x; y)g,f(available; x)g,f(committed; x; y)g)� assemble:( (x; y),(assembly; x) ^ (assembly; y) ^ (available; x)^(8z : (not-resource; z) _ (not-requires; y; z) _ (committed; z; y))^((part-of; x; y) _ (transient-part; x; y))^(8z : (not-assembly; z) _ (not-assemble-order; z; x; y)_(incorporated; z; y));f (();>; f(incorporated; x; y)g; f(available; x); (not-incorporated; x; y)g);( (); 94

Page 95: Where - Pennsylvania State University

(part-of; x; y)^(8z : (not-assembly; z) _ (not-part-of; z; y) _ (equal; z; x)_(incorporated; z; y))^(8z : (not-assembly; z) _ (not-transient-part; z; y)_(not-incorporated; z; y));f(complete; y); (available; y)g;;)g)� remove:( (x; y),(assembly; x) ^ (assembly; y) ^ (incorporated; x; y)^(8z : (not-resource; z) _ (not-requires; y; z) _ (committed; z; y))^( (transient-part; x; y)^(8z : (not-assembly; z) _ (not-remove-order; z; x; y)_(incorporated; z; y)) _ (part-of; x; y)^(8z : (not-assembly; z) _ (not-assemble-order; z; x; y)_(not-incorporated; z; y)));f (();>; f(available; x); (not-incorporated; x; y)g; f(incorporated; x; y)g);( ();(transient-part; x; y)^(8z 2 C : (not-assembly; z) _ (not-part-of; z; y) _ (incorporated; z; y))^(8z 2 C : (not-assembly; z) _ (not-transient-part; z; y) _ (equal; z; x)_(not-incorporated; z; y));f(complete; y); (available; y)g;;)g)and the set of instances isI = f ( As [ R,f(equal; x; x) j x 2 As [ Rg[f(assembly; x) j x 2 Asg [ f(not-assembly; x) j x 2 Rg[f(resource; x) j x 2 Rg [ f(not-resource; x) j x 2 Asg[f(requires; x; y) j x 2 As; y 2 re(x)g[f(not-requires; x; y) j x 2 As; y 2 R n re(x)g[f(part-of; x; y) j y 2 As; x 2 pa(y)g[f(not-part-of; x; y) j y 2 As; x 2 As n pa(y)g[f(transient-part; x; y) j y 2 As; x 2 tr(y)g[f(not-transient-part; x; y) j y 2 As; x 2 As n tr(y)g[f(assemble-order; x; z; y) j y 2 As; (x; z) 2 ao(y)g[f(not-assemble-order; x; z; y) j y 2 As; (x; z) 2 (As�As) n ao(y)g[f(remove-order; x; z; y) j y 2 As; (x; z) 2 ro(y)g[f(not-remove-order; x; z; y) j y 2 As; (x; z) 2 (As�As) n ro(y)g[f(available; x) j x 2 As; pa(x) = ;g [f(not-incorporated; x; y) j y 2 As; x 2 pa(y) [ tr(y)g;f(complete; g)g) 95

Page 96: Where - Pennsylvania State University

j As [ R � �+; As \ R = ;; jAsj � 2pa : As 7! 2As; (As; f(x; y) j y 2 As; x 2 pa(y)g) is tree with root g;tr : As 7! 2As;8y 2 As : pa(y) = ; ) tr(y) = ; ^ tr(y) \ pa(y) = ; ^ y 62 tr(y);re : As 7! 2R;ao : As 7! 2(As�As); (As; ao(y)) is cycle-free for y 2 As;8y 2 As : (x; z) 2 ao(y) ^ z 2 pa(y) [ tr(y)) x 2 pa(y) [ tr(y)ro : As 7! 2(As�As); (As; ro(y)) is cycle-free for y 2 As;8y 2 As : (x; z) 2 ro(y) ^ z 2 tr(y)) x 2 pa(y) [ tr(y)gRemember that we allow ADL domains also to comprise STRIPS operators,c.f. Section 2. The commit and release operators are STRIPS formulations; as-semble and remove are ADL operators, with complex preconditions and complexe�ect conditions but with empty e�ect parameters. In the instances, the pa func-tion de�nes the part-of relation, which forms a tree where the root node is thegoal assembly. Each non-leaf node of the tree (pa(y) 6= ;) can have arbitrarytransient parts except its own parts, given by the tr function, and each non-leafnode can require an arbitrary amount of resources speci�ed via the re function.The assemble order ao(y) is a consistent partial ordering between parts and tran-sient parts of an assembly y, and the remove order ro(y) is a consistent partialordering between (transient) parts and transient parts of an assembly y. In theoriginal domain there are a lot of negations, which are formulated by the ex-tra predicates not-assembly, not-resource, not-requires, not-part-of, not-transient-part, not-assemble-order, not-remove-order, and not-incorporated.The set of instances makes a number of restrictions excluding cases that areobvious nonsense. The restrictions are the following. The pa relation forms atree | otherwise one part would need to be incorporated into several others si-multaneously, or similar nonsense. There are no transient parts in the atomicassemblies (the leafs of the pa-tree), no assembly is transient part and part (of thesame higher-level assembly) simultaneously, and no assembly is transient part ofitself. The assemble and remove orders are consistent. Given an assemble order(x; z) 2 ao(y) where it might be that z must be incorporated into y at some point(as z 2 pa(y)[ tr(y)) we postulate that x can in principle be incorporated into y,x 2 pa(y) [ tr(y). Similarly, given a remove order (x; z) 2 ro(y) where it mightbe that x must be incorporated into y at some point in order to get z out (whichcan only happen if z 2 tr(y)) we postulate that this can in principle be done,x 2 pa(y) [ tr(y).With respect to the above restrictions, in the AIPS-1998 benchmark collec-tion the situation is as follows. There are three tasks where the initial state usesundeclared constants, which is a violation of the ADL language. There are further-more two tasks that do not adhere to the last of the restrictions described above,i.e., where there are x, z, and y with (x; z) 2 ro(y), z 2 tr(y), and x 62 pa(y)[tr(y).These two tasks are trivially unsolvable, and we assume that their speci�cation is awed. The remaining 25 tasks adhere to the restrictions of our de�nition.96

Page 97: Where - Pennsylvania State University

A.2 Blocksworld-armDe�nition 25 Blocksworld-arm is the STRIPS domain (P ;O; I) where the setof predicates isP = f(clear; 1); (holding; 1); (arm-empty; 0); (on-table; 1); (on; 2)gO consists of the operators� pickup:( (x),f(clear; x); (on-table; x); (arm-empty)g;f(holding; x)g;f(clear; x); (on-table; x); (arm-empty)g)� putdown:( (x),f(holding; x)g;f(clear; x); (on-table; x); (arm-empty)g;f(holding; x)g)� unstack:( (x; y),f(clear; x); (on; x; y); (arm-empty)g;f(holding; x); (clear; y)g;f(clear; x); (on; x; y); (arm-empty)g)� stack:( (x; y),f(holding; x); (clear; y)g;f(clear; x); (on; x; y); (arm-empty)g;f(holding; x); (clear; y)g)and the set of instances isI = f ( B;f(arm-empty)g [ f(on-table; x) j x 2 B;8y : (x; y) 62 Ig[f(on; x; y) j (x; y) 2 Ig [ f(clear; x) j x 2 B;8y : (y; x) 62 Ig;f(on; x; y) j (x; y) 2 Gg)j B � �+; jBj � 1;I � B �B; (B; I) is cycle-free graph with in- and out-degree 1;G � B �B; (B;G) is cycle-free graph with in- and out-degree 1g97

Page 98: Where - Pennsylvania State University

In the instances, the edge sets I and G represent the initial and goal states,respectively, by the semantics that (x; y) 2 I (2 G) if and only if x is initially(shall be �nally) located on y. Note that an edge set represents a legal state i�there are no cycles in the corresponding on relation, each block has at most oneblock located on top of it, and each block is located on top of at most one otherblock.A.3 Blocksworld-no-armDe�nition 26 Blocksworld-no-arm is the STRIPS domain (P ;O; I) where theset of predicates isP = f(not-eq; 2); (clear; 1); (on-table; 1); (on; 2)gO consists of the operators� move-table-to-block:( (x; y),f(not-eq; x; y); (clear; x); (clear; y); (on-table; x)g;f(on; x; y)g;f(clear; y); (on-table; x)g)� move-block-to-table:((x; y); f(clear; x); (on; x; y)g; f(on-table; x); (clear; y)g; f(on; x; y)g� move-block-to-block:( (x; y; z),f(not-eq; x; z); (clear; x); (on; x; y); (clear; z)g;f(on; x; z); (clear; y)g;f(on; x; y); (clear; z)g)and the set of instances isI = f ( B;f(not-eq; x; y) j x; y 2 B; x 6= yg [ f(on-table; x) j x 2 B;8y : (x; y) 62 Ig [f(on; x; y) j (x; y) 2 Ig [ f(clear; x) j x 2 B;8y : (y; x) 62 Ig;f(on; x; y) j (x; y) 2 Gg)j B � �+; jBj � 1;I � B �B; (B; I) is cycle-free graph with in- and out-degree 1;G � B �B; (B;G) is cycle-free graph with in- and out-degree 1gThe instances are exactly the same as for Blocksworld-arm, see above. Wehave introduced non-equality to get rid of actions that try to move a block on topof itself. 98

Page 99: Where - Pennsylvania State University

A.4 BriefcaseworldDe�nition 27 Briefcaseworld is the ADL domain (P ;O; I) where the set of pred-icates isP = f(not-eq; 2); (location; 1); (portable; 1); (at; 2); (in; 1); (not-in; 1); (is-at; 1)gO consists of the operators� move:( (x; y),(not-eq; x; y) ^ (location; x) ^ (location; y) ^ (is-at; x);f (();>; f(is-at; y)g; f(is-at; x)g);((z); (portable; z) ^ (in; z); f(at; z; y)g; f(at; z; x)g)g)� take-out: ((x); f(portable; x)g; f(not-in; x)g; f(in; x)g)� put-in:( (x; y; z),f(portable; x); (location; y); (not-in; x); (at; x; y); (is-at; y)g;f(in; x)g;f(not-in; x)g)and the set of instances isI = f ( L [ P;f(not-eq; x; y) j x; y 2 L; x 6= yg [ f(location; x) j x 2 Lg[f(portable; x) j x 2 Pg [ f(is-at; il)g [ f(at; x; pil(x)) j x 2 Pg;(is-at; gl) ^Vf(at; x; pgl(x)) j x 2 P 0g)j (L [ P ) � �+; L \ P = ;; jLj � 1;il 2 L; pil : P 7! L; gl 2 L; P 0 � P; pgl : P 0 7! LgNote that we have a mixture between STRIPS and ADL operators, the onlyADL element being the conditional e�ect of the move operator (which has onee�ect parameter). In the de�nition of the instances, il and gl are the initial andgoal locations of the briefcase, while pil and pgl are the initial and goal locationfunctions for portables. P 0 � P is the subset of portables that must be transported,i.e., that are mentioned in the goal speci�cation. We have introduced non-equalityto get rid of actions that try to move within a location. The not-in predicate ispart of the original domain formulation.A.5 DepotsDe�nition 28 Depots is the STRIPS domain (P ;O; I) where the set of predicatesis 99

Page 100: Where - Pennsylvania State University

P = f (not-equal; 2); (location; 1); (truck; 1);(crate; 1); (hoist; 1); (pallet; 1); (surface; 1);(at; 2); (in; 2); (on; 2); (lifting; 2); (available; 1); (clear; 1)gO consists of the operators� drive:( (x; y; z),f(truck; x); (location; y); (location; z); (not-equal; y; z); (at; x; y)g;f(at; x; z)g;f(at; x; y)g)� lift:( (x; y; z; u),f (crate; x); (hoist; y); (surface; z); (location; u);(at; y; u); (available; y); (at; x; u); (on; x; z); (clear; x)g;f(lifting; y; x); (clear; z)g;f(at; x; u); (clear; x); (available; y); (on; x; z)g)� drop:( (x; y; z; u),f (crate; x); (hoist; y); (surface; z); (location; u);(at; y; u); (lifting; y; x); (at; z; u); (clear; z)g;f(at; x; u); (clear; x); (available; y); (on; x; z)g;f(lifting; y; x); (clear; z)g)� load:( (x; y; z; u),f (crate; x); (hoist; y); (truck; z); (location; u);(at; y; u); (lifting; y; x); (at; z; u)g;f(in; x; z); (available; y)g;f(lifting; y; x)g)� unload:( (x; y; z; u),f (crate; x); (hoist; y); (truck; z); (location; u);(at; y; u); (available; y); (at; z; u); (in; x; z)g;f(lifting; y; x)g;f(in; x; z); (available; y)g)and the set of instances is 100

Page 101: Where - Pennsylvania State University

I = f ( L [ T [ C [H [ P;f(location; x) j x 2 Lg [ f(truck; x) j x 2 Tg [ f(crate; x) j x 2 Cg[f(hoist; x) j x 2 Hg [ f(pallet; x) j x 2 Pg[f(surface; x) j x 2 C [ Pg [ f(available; x) j x 2 Hg[f(at; x; il(x)) j x 2 T [ C [H [ Pg[f(on; x; y) j (x; y) 2 Oig [ f(clear; x) j x 2 C [ P;8y : (y; x) 62 Oig;f(on; x; y) j (x; y) 2 Oggj (L [ T [ C [H [ P ) � �+; L; T; C;H; and P are pairwise disjoint;jLj � 1; il : T [ C [H 7! L;Oi � (C � (C [ P )); s.t. (C [ P;Oi) is cycle-free graphwith in-degree 1 and out-degree 1,8x 2 C : 9y : (x; y) 2 Oi, and8x; y : (x; y) 2 Oi ! il(x) = il(y);Cg � C;Og � (Cg � (Cg [ P )); s.t. (Cg [ P;Og) is cycle-free graphwith in-degree 1 and out-degree 1, and8x 2 Cg : 9y : (x; y) 2 OggIn the instances, the edge sets Oi and Og together with the function il representthe initial and goal states. The semantics of the edge sets are that (x; y) 2 Oi(2 Og) if and only if x is initially (shall be �nally) on y. Note that: crates can be(required to be) on pallets but not vice versa; that by de�nition at the bottom ofeach initial/goal stack of crates there is a pallet; and that an edge set representsa legal state only if there are no cycles in the corresponding on relation, eachcrate/pallet has at most one crate located on top of it, and each crate is locatedon top of at most one other crate/pallet. The il function simply speci�es the initiallocations of all trucks, crates, hoists, and pallets. The additional constraint thereis that the given on and at relations are consistent with each other: if x is on yinitially then x and y must be at the same location. Operator parameter orderingshave been changed slightly from the original domain encoding in order to improvereadability.A.6 DriverlogDe�nition 29 Driverlog is the STRIPS domain (P ;O; I) where the set of predi-cates isP = f (location; 1); (truck; 1); (obj; 1); (driver; 1);(link; 2); (path; 2);(at; 2); (in; 2); (driving; 2); (empty; 1)gO consists of the operators� load-truck:( (x; y; z), 101

Page 102: Where - Pennsylvania State University

f(obj; x); (truck; y); (location; z); (at; x; z); (at; y; z)g;f(in; x; y)g;f(at; x; z)g)� unload-truck:( (x; y; z),f(obj; x); (truck; y); (location; z); (in; x; y); (at; y; z)g;f(at; x; z)g;f(in; x; y)g)� board-truck:( (x; y; z),f(driver; x); (truck; y); (location; z); (at; x; z); (at; y; z); (empty; y)g;f(driving; x; y)g;f(at; x; z); (empty; y)g)� disembark-truck:( (x; y; z),f(driver; x); (truck; y); (location; z); (driving; x; y); (at; y; z)g;f(at; x; z); (empty; y)g;f(driving; x; y)g)� drive-truck:( (x; y; z; u),f (truck; x); (location; y); (location; z); (driver; u);(link; y; z); (driving; u; x); (at; x; y)g;f(at; x; z)g;f(at; x; y)g)� walk:( (x; y; z),f (driver; x); (location; y); (location; z);(path; y; z); (at; x; y)g;f(at; x; z)g;f(at; x; y)g)and the set of instances isI = f ( L [ T [O [D;f(location; x) j x 2 Lg [ f(truck; x) j x 2 Tg[f(object; x) j x 2 Og [ f(driver; x) j x 2 Dg[102

Page 103: Where - Pennsylvania State University

f(link; x; y) j (x; y) 2 LIg[f(path; x; y) j (x; y) 2 PAg[f(at; x; il(x)) j x 2 T [ O [Dg;f(at; x; gl(x)) j x 2 T 0 [O0 [D0g)j (L [ T [ O [D) � �+; L; T;O; and D are pairwise disjoint;jLj � 1;LI � L� L;8x; y : (x; y) 2 LI ! (y; x) 2 LI;PA � L� L;8x; y : (x; y) 2 PA! (y; x) 2 PA;il : T [ O [D 7! L;T 0 � T;O0 � O;D0 � D; gl : T 0 [ O0 [D0 7! LgIn the de�nition of the instances, il and gl are the initial location and goallocation functions, respectively. There is at least one location. Subsets of thetrucks, objects, and drivers are required to be at certain locations to achieve thegoal. The locations are linked for truck movements by the edges in LI (links), andfor driver movements by the edges in PA (paths). Note that the movement linksare bi-directional in the sense that, if one can move from x to y, one can also moveback. This restriction holds true in the instances as can be generated with theIPC-3 generator. The restriction does make a signi�cant di�erence { with directededges, there can be unrecognized dead ends, see Section 9.3.(ARE THESE THE RESTRICTIONS ON LI AND PA IN THE IPC-3 GEN-ERATOR??)A.7 FerryDe�nition 30 Ferry is the STRIPS domain (P ;O; I) where the set of predicatesisP = f(not-eq; 2); (car; 1); (location; 1); (at-ferry; 1); (at; 2); (empty-ferry; 0); (on; 1)gO consists of the operators� sail:( (x; y),f(not-eq; x; y); (location; x); (location; y); (at-ferry; x)g;f(at-ferry; y)g;f(at-ferry; x)g)� board:( (x; y),f(car; x); (location; y); (at; x; y); (at-ferry; y); (empty-ferry)g;f(on; x)g;f(at; x; y); (empty-ferry)g)� debark: 103

Page 104: Where - Pennsylvania State University

( (x; y),f(car; x); (location; y); (on; x); (at-ferry; y)g;f(at; x; y); (empty-ferry)g;f(on; x)g)and the set of instances isI = f ( C [ L;f(not-eq; x; y) j x; y 2 L; x 6= yg [ f(car; x) j x 2 Cg[f(location; x) j x 2 Lg [ f(at-ferry; il)g [ f(at; x; cil(x)) j x 2 Cg;f(at; x; cgl(x)) j x 2 C 0g)j (C [ L) � �+; C \ L = ;; jLj � 1;il 2 L; cil : C 7! L;C 0 � C; cgl : C 0 7! LgIn the instances, il is the initial location of the ferry, and cil is the car initiallocation function mapping the cars to their respective initial locations. Likewise,cgl maps cars to their goal locations, where only the subset C 0 of all cars is requiredto be at a speci�c location to ful�ll the goal. We have introduced non-equality toget rid of actions that try to sail within a location.A.8 FreecellDe�nition 31 Freecell is the STRIPS domain (P ;O; I) where the set of predi-cates isP = f (card; 1); (suit-type; 1); (num; 1); (successor; 2); (suit; 2);(value; 2); (canstack; 2); (home; 1); (bottomcol; 1); (on; 2);(clear; 1); (incell; 1); (cellspace; 1); (colspace; 1)gO consists of the operators� move:( (x; y; z),f(card; x); (card; y); (card; z); (clear; x); (clear; z); (on; x; y); (canstack; x; z)g;f(on; x; z); (clear; y)g;f(on; x; y); (clear; z)g)� move-b:( (x; y; z; u),f (card; x); (card; y); (num; z); (num; u); (clear; x); (bottomcol; x);(clear; y); (canstack; x; y); (colspace; z); (successor; u; z)g;f(on; x; y); (colspace; u)g;f(bottomcol; x); (clear; y); (colspace; z)g)104

Page 105: Where - Pennsylvania State University

� sendtofree:( (x; y; z; u),f (card; x); (card; y); (num; z); (num; u);(clear; x); (on; x; y); (cellspace; z); (successor; z; u)g;f(incell; x); (clear; y); (cellspace; u)g;f(on; x; y); (clear; x); (cellspace; z)g)� sendtofree-b:( (x; y; z; u; v),f (card; x); (num; y); (num; z); (num; u); (num; v); (clear; x); (bottomcol; x);(cellspace; y); (successor; y; z); (colspace; u); (successor; v; u)g;f(incell; x); (cellspace; z); (colspace; v)g;f(bottomcol; x); (clear; x); (cellspace; y); (colspace; u)g)� sendtonewcol:( (x; y; z; u),f (card; x); (card; y); (num; z); (num; u);(clear; x); (on; x; y); (colspace; z); (successor; z; u)g;f(bottomcol; x); (clear; y); (colspace; u)g;f(on; x; y); (colspace; z)g)� sendtohome:( (x; y; z; u; v; w),f (card; x); (card; y); (suit-type; z); (num; u); (card; v);(num; w); (on; x; y); (clear; x); (home; v); (suit; x; z);(suit; v; z); (value; x; u); (value; v; w); (successor; u; w)g;f(home; x); (clear; y)g;f(on; x; y); (clear; x); (home; v)g)� sendtohome-b:( (x; y; z; u; v; w; q),f (card; x); (suit-type; y); (num; z); (card; u); (num; v); (num; w); (num; q);(bottomcol; x); (clear; x); (home; u); (suit; x; y); (suit; u; y); (value; x; z);(value; u; v); (successor; z; v); (colspace; w); (successor; q; w)g;f(home; x); (colspace; q)g;f(bottomcol; x); (clear; x); (home; u); (colspace; w)g)� homefromfreecell:( (x; y; z; u; v; w; q),f (card; x); (suit-type; y); (num; z); (card; u); (num; v); (num; w); (num; q);105

Page 106: Where - Pennsylvania State University

(incell; x); (home; u); (suit; x; y); (suit; u; y); (value; x; z); (value; u; v);(successor; z; v); (cellspace; w); (successor; q; w)g;f(home; x); (cellspace; q)g;f(incell; x); (home; u); (cellspace; w)g)� colfromfreecell:( (x; y; z; u),f (card; x); (card; y); (num; z); (num; u); (incell; x); (clear; y);(canstack; x; y); (cellspace; z); (successor; u; z)g;f(on; x; y); (clear; x); (cellspace; u)g;f(incell; x); (clear; y); (cellspace; z)g)� newcolfromfreecell:( (x; y; z; u; v),f (card; x); (num; y); (num; z); (num; u); (num; v); (incell; x);(cellspace; y); (successor; z; y); (colspace; u); (successor; u; v)g;f(bottomcol; x); (clear; x); (cellspace; z); (colspace; v)g;f(incell; x); (cellspace; y); (colspace; u)g)and the set of instances isI = f ( C [ S [N;where C = fc10; : : : ; c1m1 ; : : : ; cn0; : : : ; cnmng;S = fs1; : : : ; sng; N = fn0; : : : ; nmg;f(card; x) j x 2 Cg [ f(suit-type; x) j x 2 Sg [ f(num; x) j x 2 Ng[f(successor; ni+1; ni) j 0 � i < mg[f(suit; cij ; si) j 1 � i � n; 0 � j � mig[f(value; cij ; nj) j 1 � i � n; 0 � j � mig[f(canstack; cij ; ci0j0) j co(si) 6= co(si0); j = j0 � 1g[f(home; ci0) j 1 � i � ng [ f(bottomcol; x) j x 2 C;8y : (x; y) 62 Ig[f(on; x; y) j (x; y) 2 Ig [ f(clear; x) j x 2 C;8y : (y; x) 62 Ig[f(cellspace; nnce)g[f(colspace; nnrco) j nrco = nco� jfx 2 C j 8y : (x; y) 62 Igjg;f(home; cimi) j 1 � i � ng)j (S [ C [N) � �+; S; C; and N are pairwise disjoint;jSj � 1;mi 2 N for 1 � i � n; nce 2 N; nco 2 N;m � maxfm1; : : : ;mn; nce; ncog; co : S 7! f0; 1g;I � C � C; (C; I) is cycle-free graph with in- and out-degree 1;jfx 2 C j 8y : (x; y) 62 Igj � ncogThe di�erent operators express di�erent ways of changing the position of acard. Options are to move a card on top of another card if the respective cardscan be stacked, to move a card to a free column or a free cell, or to move a cardhome. The operators keep track of the respective numbers of free columns or freecells left, and of the appropriate informations about the current con�guration of106

Page 107: Where - Pennsylvania State University

the cards. In the instances, there are n suits of cards each of which has at leastone element: the one that is initially home already. The cards within a suit havedi�erent values, encoded by numbers. There are at least as many numbers as areneeded to account for all given items. Each suit has one of two colors given bythe co function, and a card can be stacked on top of another one if and only ifits color (the one of its suit) is di�erent, and its value is one less than the one ofthe destination card. The total number of free cells is nce, the total number ofcolumns is nco. The initial con�guration of the cards is given by the edge set I ,specifying which cards are on top of other ones. The edge set represents a legalstate as there are no cycles, each card has at most one card located on top of it,and each card is located on top of at most one other card; also, the number ofbottom cards | those that are placed directly on a column | is at most as highas the number of columns nco, such that the di�erence between both numbers,the number of (initially) remaining free columns, is nrco � 0.A.9 FridgeDe�nition 32 Fridge is the ADL domain (P ;O; I) where the set of predicates isP = f (fridge; 1); (compressor; 1); (�ts; 2); (not-�ts; 2);(screwed; 1); (not-screwed; 1); (fridge-on; 1); (not-fridge-on; 1);(screw; 1); (not-screw; 1); (attached; 1); (free; 1)gO consists of the operators� stop-fridge:((x); f(fridge; x); (fridge-on; x)g; f(not-fridge-on; x)g; f(fridge-on; x)g)� start-fridge:((x); f(fridge; x); (not-fridge-on; x)g; f(fridge-on; x)g; f(not-fridge-on; x)g)� unfasten:( (x; y; z),f (screw; x); (compressor; y); (fridge; z);(screwed; x); (�ts; x; y); (attached; y; z); (not-fridge-on; z)g;f(not-screwed; x)g;f(screwed; x)g)� fasten:( (x; y; z),f (screw; x); (compressor; y); (fridge; z);(not-screwed; x); (�ts; x; y); (attached; y; z); (not-fridge-on; z)g;f(screwed; x)g;f(not-screwed; x)g) 107

Page 108: Where - Pennsylvania State University

� remove-compressor:( (x; y),(compressor; x) ^ (fridge; y) ^ (attached; x; y) ^ (not-fridge-on; y)^8z : (not-screw; z) _ (not-�ts; z; x) _ (not-screwed; z);f(();>; f(free; x); (free; y)g; f(attached; x; y)g)g)� attach-compressor:( (x; y),f(compressor; x); (fridge; y); (free; x); (free; y); (�ts; x; y); (not-fridge-on; y)g;f(attached; x; y)g;f(free; x); (free; y)g)and the set of instances isI = f ( F [ C [ S;where F = ff1; : : : ; fng; C = fb1; n1; : : : ; bn; nng;S = fs11; : : : s1m; : : : ; sn1; : : : ; snmg,f(fridge; x) j x 2 Fg [ f(compressor; x) j x 2 Cg [ f(screw; x) j x 2 Sg[f(not-screw; x) j x 2 F [ Cg [ f(�ts; bi; fi); (�ts; ni; fi) j 1 � i � ng[f(�ts; sij ; bi); (�ts; sij ; ni) j 1 � i � n; 1 � j � mg[f(not-�ts; sij ; bi0) j 1 � i 6= i0 � n; 1 � j � mg[f(not-�ts; sij ; ni0) j 1 � i 6= i0 � n; 1 � j � mg[f(fridge-on; x) j x 2 Fg [ f(screwed; sij) j 1 � i � n; 1 � j � mg[f(attached; bi; fi) j 1 � i � ng [ f(free; ni) j 1 � i � ng;Vf(fridge-on; x) j x 2 Fg ^Vf(screwed; sij) j 1 � i � n; 1 � j � mg^Vf(attached; ni; fi) j 1 � i � ng)j (F [ C [ S) � �+; F; C; and S are pairwise disjoint; n � 1;m � 1gNote that we have a mixture between STRIPS and ADL operators, the onlyADL element being the complex precondition of the remove operator. In theinstances, F is the set of fridges, C the set of compressors, and S the set of screws.For each fridge fi, there is the broken compressor bi that is initially attached, andthe new compressor ni that shall be mounted. For each compressor bi or ni, thereare them screws si1; : : : ; sim that �t for the compressor. In the original formulationthere are various negations, which are formulated by the extra predicates not-screw, not-�ts, not-fridge-on, and not-screwed.A.10 GridDe�nition 33 Grid is the STRIPS domain (P ;O; I) where the set of predicatesisP = f (place; 1); (key; 1); (shape; 1); (conn; 2); (holding; 1); (arm-empty; 1);(key-shape; 2); (lock-shape; 2); (open; 1); (locked; 1); (at; 2); (at-robot; 1)g108

Page 109: Where - Pennsylvania State University

O consists of the operators� move:( (x; y),f(place; x); (place; y); (conn; x; y); (at-robot; x); (open; y)g;f(at-robby; y)g;f(at-robby; x)g)� pickup:( (x; y),f(place; x); (key; y); (at-robot; x); (at; y; x); (arm-empty)g;f(holding; y)g;f(at; y; x); (arm-empty)g)� pickup-and-lose:( (x; y; z),f(place; x); (key; y); (key; z); (at-robot; x); (holding; y); (at; z; x)g;f(holding; z); (at; y; x)g;f(holding; y); (at; z; x)g)� putdown:( (x; y),f(place; x); (key; y); (at-robot; x); (holding; y)g;f(at; y; x); (arm-empty)g;f(holding; y)g)� unlock:( (x; y; z; v),f (place; x); (place; y); (key; z); (shape; v); (conn; x; y); (at-robot; x);(holding; z); (key-shape; z; v); (lock-shape; y; v); (locked; y)g;f(open; y)g;f(locked; y)g)and the set of instances isI = f ( P [ S [K;where P = fp11; : : : ; pnmg;f(place; x) j x 2 Pg [ f(shape; x) j x 2 Sg [ f(key; x) j x 2 Kg[f(conn; pij ; pi0j0) j pij ; pi0j0 2 P; i = i0; jj � j0j = 1 or j = j0; ji� i0j = 1g[f(open; x) j x 2 P 0g [ f(locked; x) j x 2 P n P 0g[f(lock-shape; x; ls(x)) j x 2 P n P 0g [ f(key-shape; x; ks(x)) j x 2 Kg[f(at-robot; ip) [ f(at; x; kip(x)) j x 2 Kg [ f(arm-empty)g;f(at; x; kgp(x)) j x 2 K 0g)j (P [ S [K) � �+; P; S; and K are pairwise disjoint; jP j � 1;P 0 � P; ls : P n P 0 7! S; ks : K 7! S;ip 2 P 0; kip : K 7! P;K 0 � K; kgp : K 0 7! Pg109

Page 110: Where - Pennsylvania State University

In the instances, P 0 is the set of places that are initially already open. Thels function assigns to the other, locked, places, their lock shape, and ks assignsto all keys their shape. The initial place of the robot is ip 2 P 0, which must beopen. This is an intuitively justi�ed restriction (after all the robot is supposed toonly be standing at unlocked places), and holds in the published benchmarks. Therestriction is necessary to prove the non-existence of local minima under h+, c.f.Section 7.4. The kip function assigns the initial key places, and kgp assigns thegoal key places for those keys that must be transported, i.e., that are in K 0 � K.A.11 GripperDe�nition 34 Gripper is the STRIPS domain (P ;O; I) where the set of predi-cates isP = f (not-eq; 2); (room; 1); (ball; 1); (gripper; 1);(at-robby; 1); (at; 2); (free; 1); (carry; 2)gO consists of the operators� move:( (x; y),f(not-eq; x; y); (room; x); (room; y); (at-robby; x)g;f(at-robby; y)g;f(at-robby; x)g)� pick:( (x; y; z),f(ball; x); (room; y); (gripper; z); (at; x; y); (at-robby; y); (free; z)g;f(carry; x; z)g;f(at; x; y); (free; z)g)� drop:( (x; y; z),f(ball; x); (room; y); (gripper; z); (carry; x; z); (at-robby; y)g;f(at; x; y); (free; z)g;f(carry; x; z)g)and the set of instances isI = f ( fa; b; l; rg [ B;f(not-eq; a; b); (not-eq; b; a); (room; a); (room; b); (gripper; l); (gripper; r)g[f(ball; x); (at; x; a) j x 2 Bg [ f(free; l); (free; r); (at-robby; a)g;f(at; x; b) j x 2 Bg)j (fa; b; l; rg [ B) � �+; fa; b; l; rg \ B = ;;a; b; l; and r are pairwise di�erent; jBj � 1g110

Page 111: Where - Pennsylvania State University

We have introduced non-equality to get rid of actions that try to move withina room.A.12 HanoiDe�nition 35 Hanoi is the STRIPS domain (P ;O; I) where the set of predicatesis P = f(smaller; 2); (clear; 1); (on; 2)gO consists of the single operator� move:( (x; y; z),f(on; x; y); (clear; x); (clear; z); (smaller; x; z)g;f(on; x; z); (clear; y)g;f(on; x; y); (clear; z)g)and the set of instances isI = f ( fp1; p2; p3; d1; : : : ; dng;f(smaller; di; p1); (smaller; di; p2); (smaller; di; p3) j 1 � i � ng[f(smaller; di; dj) j 1 � i < j � ng[f(on; dn; p1)g [ f(on; di; di+1) j 1 � i � n� 1g[f(clear; d1); (clear; p2); (clear; p3)g;f(on; dn; p3)g [ f(on; di; di+1) j 1 � i � n� 1g)j fp1; p2; p3; d1; : : : ; dng � �+;p1; p2; p3; d1; : : : ; dnare pairwise di�erent; n � 1gIn the instance encodings, p1, p2, and p3 are the three pegs, while d1; : : : ; dnare the discs in increasing order of size. A move(x; y; z) action moves disc x fromdisc (or peg) y to disc (or peg) z.A.13 LogisticsDe�nition 36 Logistics is the STRIPS domain (P ;O; I) where the set of predi-cates isP = f (not-eq; 2); (obj; 1); (truck; 1); (location; 1); (airplane; 1); (city; 1);(airport; 1); (at; 2); (in; 2); (in-city; 2)gO consists of the operators� drive-truck:111

Page 112: Where - Pennsylvania State University

( (x; y; z; u),f (truck; x); (not-eq; y; z); (location; y); (location; z); (city; u);(in-city; y; u); (in-city; z; u); (at; x; y)g;f(at; x; z)g;f(at; x; y)g)� y-airplane:( (x; y; z),f(airplane; x); (not-eq; y; z); (airport; y); (airport; z); (at; x; y)g;f(at; x; z)g;f(at; x; y)g)� load-truck:( (x; y; z),f(obj; x); (truck; y); (location; z); (at; x; z); (at; y; z)g;f(in; x; y)g;f(at; x; z)g)� load-airplane:( (x; y; z),f(obj; x); (airplane; y); (location; z); (at; x; z); (at; y; z)g;f(in; x; y)g;f(at; x; z)g)� unload-truck:( (x; y; z),f(obj; x); (truck; y); (location; z); (in; x; y); (at; y; z)g;f(at; x; z)g;f(in; x; y)g)� unload-airplane:( (x; y; z),f(obj; x); (airplane; y); (location; z); (in; x; y); (at; y; z)g;f(at; x; z)g;f(in; x; y)g)and the set of instances isI = f ( O [ T [ A [ C [ L1 [ : : : [ Ln;where C = fc1; : : : ; cng;f(not-eq; x; y) j x; y 2 L1 [ : : : [ Ln; x 6= yg[f(obj; x) j x 2 Og [ f(truck; x) j x 2 Tg [ f(airplane; x) j x 2 Ag[112

Page 113: Where - Pennsylvania State University

f(city; x) j x 2 Cg [ f(location; x) j x 2 L1 [ : : : [ Lng[f(in-city; x; ci) j x 2 Lig [ f(airport; l1); : : : ; (airport; ln)g[f(at; x; il(x)) j x 2 O [ T [ Ag;f(at; x; gl(x)) j x 2 O0g)j (O [ T [ A [ C [ L1 [ : : : [ Ln) � �+;O; T;A;C; L1; : : : ; Ln pairwise disjoint;n � 1; jLij � 1; li 2 Li for 1 � i � n;il : O [ T [ A 7! L1 [ : : : [ Ln;8x 2 A : il(x) 2 fl1; : : : ; lng;O0 � O; gl : O0 7! L1 [ : : : [ LngIn the de�nition of the instances, il and gl are the initial location and goallocation functions, respectively. There is at least one city, each city has at leastone location, airplanes are only allowed at airports (of which each city has exactlyone), and only a subset of the transportable objects need to have goal locationsspeci�ed. We have introduced non-equality to get rid of actions that try to drivea truck, or y an airplane, within a single location.A.14 Miconic-ADLDe�nition 37 Miconic-ADL is the ADL domain (P ;O; I) where the set of pred-icates isP = f (passenger; 1); (not-passenger; 1); ( oor; 1); (origin; 2); (not-origin; 2);(above; 2); (destin; 2); (not-destin; 2); (not-no-access; 2); (attendant; 1);(not-going-up; 1); (not-going-down; 1); (not-going-nonstop; 1);(not-never-alone; 1); (vip; 1); (not-vip; 1); (not-con ict-A; 1);(not-con ict-B; 1); (boarded; 1); (not-boarded; 1);(served; 1); (not-served; 1); (lift-at; 1)gO consists of the operators� stop:( (x),( oor; x) ^ (lift-at; x)^(8y : (not-passenger; y) _ (not-no-access; y; x) _ (not-boarded; y))^( 8y : ((not-vip; y) _ (served; y))_9y : (vip; y) ^ ((origin; y; x) _ (destin; y; x)))^(8y : (not-going-nonstop; y) _ (not-boarded; y) _ (destin; y; x))^( 8y : (not-never-alone; y)_( ((not-boarded; y) _ (destin; y; x))^((served, y) _ (not-origin; y; x)))_9z : (attendant; z)^( ((boarded; z) ^ (not-destin; z; x))_((not-served; z) ^ (origin; z; x))))^( 8y : (not-con ict-A; y)_ 113

Page 114: Where - Pennsylvania State University

( ((not-boarded; y) _ (destin; y; x))^((served, y) _ (not-origin; y; x)))_8y : (not-con ict-B; y)_( ((not-boarded; y) _ (destin; y; x))^((served, y) _ (not-origin; y; x))));f ( (y);(passenger; y) ^ (boarded; y) ^ (destin; y; x);f(served; y); (not-boarded; y)g;f(boarded; y); (not-served; y)g);( (y);(passenger; y) ^ (not-served; y) ^ (origin; y; x);f(boarded; y)g;f(not-boarded; y)g)g)� up:( (x; y),( oor; x) ^ ( oor; y) ^ (lift-at; x) ^ (above; y; x)^8z : (not-going-down; z) _ (not-boarded; z);f(();>; f(lift-at; y)g; f(lift-at; x)g)g)� down:( (x; y),( oor; x) ^ ( oor; y) ^ (lift-at; x) ^ (above; x; y)^8z : (not-going-up; z) _ (not-boarded; z);f(();>; f(lift-at; y)g; f(lift-at; x)g)g)and the set of instances isI = f ( P [ F;where F = ff1; : : : ; fng;f(passenger; x) j x 2 Pg[f(not-passenger; x) j x 2 Fg [ f( oor; x) j x 2 Fg[f(origin; x; of(x)) j x 2 Pg [ f(not-origin; x; y) j x 2 P; y 6= of(x)g[f(destin; x; df(x)) j x 2 Pg [ f(not-destin; x; y) j x 2 P; y 6= df(x)g[f(above; fi; fj) j i < jg [ f(not-no-access; x; y) j x 2 P; y 2 F; y 62 na(x)g[f(not-going-up; x) j x 2 (F [ P ) nGUg[f(not-going-down; x) j x 2 (F [ P ) nGDg[f(not-going-nonstop; x) j x 2 (F [ P ) nGNg[f(attendant; x) j x 2 ATg [ f(not-never-alone; x) j x 2 (F [ P ) nNAg[f(vip; x) j x 2 V Ig [ f(not-vip; x) j x 2 (F [ P ) n V Ig[f(not-con ict-A; x) j x 2 (F [ P ) n CAg[f(not-con ict-B; x) j x 2 (F [ P ) nCBg[f(not-boarded; x); (not-served; x) j x 2 Pg [ f(lift-at; if)g;Vf(served; x) j x 2 Pg)j (P [ F ) � �+; P \ F = ;; jF j � 1;114

Page 115: Where - Pennsylvania State University

of : P 7! F; df : P 7! F; if 2 F; na : P 7! 2F ;GU � P;GD � P;GN � P;AT � P;NA � P; V I � P;CA � P;CB � PgAll operators are ADL operators, making use of complex preconditions to for-mulate the constraints concerning di�erent types of passengers. Themove operatorhas two conditional e�ects with one e�ect parameter each. The up and down op-erators each have a single unconditional e�ect. One help in understanding therather complicated precondition of stop: there often appears a sub-expression ofthe form ((boarded; y)^ (not-destin; y; x))_ ((not-served; y)^ (origin; y; x)), or therespective negated version, for a oor x and a passenger y; the expression is trueif and only if y will be boarded during the next lift move, after stopping at x.In the de�nition of the instances, of and df are the origin and destination oorsof the passengers, and if is the oor where the elevator (the lift) is initially posi-tioned. The na function speci�es, for each passenger, the set of oors he does nothave access to. The sets GU , GD, GN , AT , NA, V I , CA, and CB specify thedi�erent types of passengers. In the original domain there are a lot of negations,which are formulated by the extra predicates not-passenger, not-origin, not-destin,not-going-up, not-going-down, not-going-nonstop, not-never-alone, not-vip, non-con ict-A, non-con ict-B, not-boarded, and not-served.A.15 Miconic-SIMPLEDe�nition 38 Miconic-SIMPLE is the ADL domain (P ;O; I) where the set ofpredicates isP = f (passenger; 1); ( oor; 1); (origin; 2); (destin; 2); (above; 2); (boarded; 1);(served; 1); (not-served; 1); (lift-at; 1)gO consists of the operators� stop:( (x),( oor; x) ^ (lift-at; x);f ( (y);(passenger; y) ^ (boarded; y) ^ (destin; y; x);f(served; y)g;f(boarded; y); (not-served; y)g);((y); (passenger; y) ^ (not-served; y) ^ (origin; y; x); f(boarded; y)g; ;)g)� up:( (x; y),f( oor; x); ( oor; y); (lift-at; x); (above; y; x)g;f(lift-at; y)g;f(lift-at; x)g) 115

Page 116: Where - Pennsylvania State University

� down:( (x; y),f( oor; x); ( oor; y); (lift-at; x); (above; x; y)g;f(lift-at; y)g;f(lift-at; x)g)and the set of instances isI = f ( P [ F;where F = ff1; : : : ; fng;f(passenger; x) j x 2 Pg [ f( oor; x) j x 2 Fg[f(above; fi; fj) j i < jg [ f(not-served; x) j x 2 Pg[f(origin; x; of(x)); (destin; x; df(x)) j x 2 Pg [ f(lift-at; if)g;Vf(served; x) j x 2 Pg)j (P [ F ) � �+; P \ F = ;; jF j � 1; of : P 7! F; df : P 7! F; if 2 FgThe only ADL element are the two conditional e�ects of the move operator,both of which have one e�ect parameter. In the de�nition of the instances, of anddf are the origin and destination oors of the passengers, and if is the oor wherethe elevator (the \lift") is initially positioned. The second conditional e�ect of thestop operator requires the respective passengers not to be served already. Thisnegative condition is formulated by the not-served predicate.A.16 Miconic-STRIPSDe�nition 39 Miconic-STRIPS is the STRIPS domain (P ;O; I) where the setof predicates isP = f (passenger; 1); ( oor; 1); (origin; 2); (destin; 2); (above; 2); (boarded; 1);(served; 1); (lift-at; 1)gO consists of the operators� board:((x; y); f( oor; x); (passenger; y); (lift-at; x); (origin; y; x)g; f(boarded; y)g; ;)� depart:( (x; y),f( oor; x); (passenger; y); (lift-at; x); (destin; y; x); (boarded; y)g;f(served; y)g;f(boarded; y)g)� up: 116

Page 117: Where - Pennsylvania State University

( (x; y),f( oor; x); ( oor; y); (lift-at; x); (above; y; x)g;f(lift-at; y)g;f(lift-at; x)g)� down:( (x; y),f( oor; x); ( oor; y); (lift-at; x); (above; x; y)g;f(lift-at; y)g;f(lift-at; x)g)and the set of instances isI = f ( P [ F;where F = ff1; : : : ; fng;f(passenger; x) j x 2 Pg [ f( oor; x) j x 2 Fg [ f(above; fi; fj) j i < jg[f(origin; x; of(x)); (destin; x; df(x)) j x 2 Pg [ f(lift-at; if)g;f(served; x) j x 2 Pg)j (P [ F ) � �+; P \ F = ;; jF j � 1; of : P 7! F; df : P 7! F; if 2 FgIn the de�nition of the instances, of and df are the origin and destination oorsof the passengers, and if is the oor where the elevator (the \lift") is initiallypositioned.A.17 MovieDe�nition 40 Movie is the STRIPS domain (P ;O; I) where the set of predicatesisP = f (movie-rewound; 0); (counter-at-other-than-two-hours; 0);(counter-at-zero; 0); (have-chips; 0); (have-dip; 0); (have-pop; 0);(have-cheese; 0); (have-crackers; 0); (chips; 1);(dip; 1); (pop; 1); (cheese; 1); (crackers; 1)gO consists of the operators� rewind-movie:( (),f(counter-at-other-than-two-hours)g;f(movie-rewound)g;f(counter-at-zero)g)� reset-counter: ((); ;; f(counter-at-zero)g; ;)� get-chips: ((x); f(chips; x)g; f(have-chips)g; ;)117

Page 118: Where - Pennsylvania State University

� get-dip: ((x); f(dip; x)g; f(have-dip)g; ;)� get-pop: ((x); f(pop; x)g; f(have-pop)g; ;)� get-cheese: ((x); f(cheese; x)g; f(have-cheese)g; ;)� get-crackers: ((x); f(crackers; x)g; f(have-crackers)g; ;)and the set of instances isI = f ( C [D [ P [ Z [K;f(chips; x) j x 2 Cg [ f(dip; x) j x 2 Dg [ f(pop; x) j x 2 Pg[f(cheese; x) j x 2 Zg [ f(crackers; x) j x 2 Kg[f(counter-at-other-than-two-hours)g;f (movie-rewound); (counter-at-zero); (have-chips);(have-dip); (have-pop); (have-cheese); (have-crackers)g)j (C [D [ P [ Z [K) � �+; C;D; P; Z; and K are pairwise disjoint;jCj � 1; jDj � 1; jP j � 1; jZj � 1; jKj � 1gNote that none of the e�ects contains an operator parameter, implying thatthe set of reachable states is, as said in Section 6.2, essentially the same acrossinstances.A.18 MprimeDe�nition 41 Mprime is the STRIPS domain (P ;O; I) where the set of predi-cates isP = f (location; 1); (vehicle; 1); (object; 1); (fuel; 1); (space; 1); (conn; 2); (has-fuel; 2);(at; 2); (fuel-nextlower; 2); (in; 2); (has-space; 2); (space-nextlower; 2)gO consists of the operators� move:( (x; y; z; u; v),f (vehicle; x); (location; y); (location; z); (fuel; u); (fuel; v);(at; x; y); (conn; y; z); (has-fuel; y; u); (fuel-nextlower; v; u)g;f(at; x; z); (has-fuel; y; v)g;f(at; x; y); (has-fuel; y; u)g)� load:( (x; y; z; u; v),f (object; x); (vehicle; y); (location; z); (space; u); (space; v);(at; x; z); (at; y; z); (has-space; x; u); (space-nextlower; v; u)g;f(in; x; y); (has-space; y; v)g;f(at; x; z); (has-space; y; u)g) 118

Page 119: Where - Pennsylvania State University

� unload:( (x; y; z; u; v),f (object; x); (vehicle; y); (location; z); (space; u); (space; v);(in; x; y); (at; y; z); (has-space; x; u); (space-nextlower; u; v)g;f(at; x; z); (has-space; y; u)g;f(in; x; y); (has-space; y; v)g)� transfer:( (x; y; z; u; v; w; q),f (location; x); (location; y); (fuel; z); (fuel; u); (fuel; v); (fuel; w); (fuel; q);(conn; x; y); (has-fuel; x; z); (fuel-nextlower; u; z); (fuel-nextlower; v; u);(has-fuel; y; w); (fuel-nextlower; w; q)g;f(has-fuel; x; u); (has-fuel; y; q)g;f(has-fuel; x; z); (has-fuel; y; w)g)and the set of instances isI = f ( L [ V [ O [ F [ S;where F = ff0; : : : ; fng; S = fs0; : : : ; smgf(location; x) j x 2 Lg [ f(vehicle; x) j x 2 V g [ f(object; x) j x 2 Og[f(fuel; x) j x 2 Fg [ f(space; x) j x 2 Sg[f(fuel-nextlower; fi; fi+1) j 0 � i < ng[f(space-nextlower; si; si+1) j 0 � i < mg[f(conn; x; y) j (x; y) 2Mg [ f(has-fuel; x; f(x)) j x 2 Lg[f(has-space; x; s(x)) j x 2 V g[f(at; x; il(x)) j x 2 V g [ f(at; x; il(x)) j x 2 Og;f(at; x; gl(x)) j x 2 O0g)j (L [ V [O [ F [ S) � �+; L; V;O; F; and S are pairwise disjoint;jLj � 2; jF j � 1; jSj � 1;M � L� L; f : L 7! F; s : V 7! S; il : V [O 7! L;O0 � O; gl : O0 7! LgVarying fuel and space is realized by the objects in F and S, which are orderedvia the (fuel-nextlower; 2) and (space-nextlower; 2) predicates: the left hand side isthe next lower fuel or space amount; f0 respectively s0 are the zero-amounts, havingno lower neighbor. The transfer operator transfers one fuel unit from location xto a connected location y, as long as x has still at least one fuel unit left after thetransaction. The locations are connected according to the edge set M , f and gdetermine the initial fuel and space amounts for locations and vehicles, il speci�esthe initial positions of vehicles and objects, �nally gl are the goal locations forthe subset O0 of objects. We remark that in the version of the domain used atAIPS-1998 all predicates were given counter-intuitive names to conceal the natureof the domain. We have translated all names back to ease readability.119

Page 120: Where - Pennsylvania State University

A.19 MysteryTheMystery domain is exactly identical withMprime, see above, except that thereis no transfer operator.A.20 RoversDe�nition 42 Rovers is the STRIPS domain (P ;O; I) where the set of predicatesisP = f (waypoint; 1); (rover; 1); (lander; 1); (store; 1);(camera; 1); (objective; 1); (mode; 1);(wp-visible; 2); (ob-visible; 2); (can-traverse; 3);(at-soil-sample; 1); (at-rock-sample; 1); (at-lander; 2); (at; 2);(equipped-for-soil-analysis; 1); (equipped-for-rock-analysis; 1);(equipped-for-imaging; 1); (store-of; 2); (empty; 1); (full; 1);(on-board; 2); (supports; 2); (calibration-target; 2); (calibrated; 1);(have-rock-analysis; 2); (have-soil-analysis; 2); (have-image; 3);(communicated-soil-data; 1); (communicated-rock-data; 1);(communicated-image-data; 2)gO consists of the operators� navigate:( (x; y; z),f (rover; x); (waypoint; y); (waypoint; z);(can-traverse; x; y; z); (wp-visible; y; z); (at; x; y)g;f(at; x; z)g;f(at; x; y)g)� sample-soil:( (x; y; z),f (rover; x); (waypoint; y); (store; z);(equipped-for-soil-analysis; x); (store-of; z; x);(at-soil-sample; y); (at; x; y); (empty; z)g;f(have-soil-analysis; x; y); (full; z)g;f(empty; z); (at-soil-sample; y)g)� sample-rock:( (x; y; z),f (rover; x); (waypoint; y); (store; z);(equipped-for-rock-analysis; x); (store-of; z; x);(at-rock-sample; y); (at; x; y); (empty; z)g;f(have-rock-analysis; x; y); (full; z)g;f(empty; z); (at-rock-sample; y)g)120

Page 121: Where - Pennsylvania State University

� drop:( (x; y),f(rover; x); (store; y); (store-of; y; x); (full; y)g;f(empty; y)g;f(full; y)g)� calibrate:( (x; y; z; u),f (rover; x); (waypoint; y); (camera; z); (objective; u);(equipped-for-imaging; x); (calibration-target; z; u); (on-board; z; x);(ob-visible; y; u); (at; x; y)g;f(calibrated; z)g;;)� take-image:( (x; y; z; u; v),f (rover; x); (waypoint; y); (camera; z); (objective; u); (mode; v);(equipped-for-imaging; x); (on-board; z; x); (supports; z; v);(ob-visible; y; u); (at; x; y); (calibrated; z)g;f(have-image; x; u; v)g;f(calibrated; z)g)� communicate-soil-data:( (x; y; z; u; v),f (rover; x); (lander; y); (waypoint; z); (waypoint; u); (waypoint; v);(wp-visible; z; u); (at-lander; y; u); (at; x; z); (have-soil-analysis; x; v)g;f(communicated-soil-data; v)g;;)� communicate-rock-data:( (x; y; z; u; v),f (rover; x); (lander; y); (waypoint; z); (waypoint; u); (waypoint; v);(wp-visible; z; u); (at-lander; y; u); (at; x; z); (have-rock-analysis; x; v)g;f(communicated-rock-data; v)g;;)� communicate-image-data:( (x; y; z; u; v; w),f (rover; x); (lander; y); (waypoint; z); (waypoint; u);(objective; v); (mode; w);(wp-visible; z; u); (at-lander; y; u); (at; x; z); (have-image; x; v; w)g;f(communicated-image-data; v; w)g;;) 121

Page 122: Where - Pennsylvania State University

and the set of instances isI = f ( W [ R [ L [ S [ C [ O [M;f(waypoint; x) j x 2Wg [ f(rover; x) j x 2 Rg[f(lander; x) j x 2 Lg [ f(store; x) j x 2 Sg[f(camera; x) j x 2 Cg [ f(objective; x) j x 2 Og [ f(mode; x) j x 2Mg[f(wp-visible; x; y) j (x; y) 2 WV g[f(ob-visible; x; y) j (x; y) 2 OV g[f(can-traverse; x; y; z) j x 2 R; (y; z) 2 T (x)g[f(at-soil-sample; x) j x 2W sg [ f(at-rock-sample; x) j x 2W rg[f(at-lander; x; iw(x)) j x 2 Lg [ f(at; x; iw(x)) j x 2 Rg[f(equipped-for-soil-analysis; x) j x 2 Rsg[f(equipped-for-rock-analysis; x) j x 2 Rrg[f(equipped-for-imaging; x) j x 2 Rig[f(store-of; x; so(x)) j x 2 Sg [ f(empty; x) j x 2 Sg[f(on-board; x; ob(x)) j x 2 Cg [ f(supports; x; y) j x 2 C; y 2 sp(x)g[f(calibration-target; x; y) j x 2 C; y 2 ct(x)g;f(communicated-soil-data; x) j x 2W sgg[f(communicated-rock-data; x) j x 2 W rgg[f(communicated-image-data; x; y) j x 2 O; y 2 cid(x)g)j (W [ R [ L [ S [ C [ O [M) � �+;W;R;L; S; C;O; and M are pairwise disjoint;jW j � 1; jRj � 1;WV �W �W;8x; y : (x; y) 2 WV ! (y; x) 2 WV;OV �W �O;T : R 7! 2(W�W );8x; y; z : (y; z) 2 T (x)! (z; y) 2 T (x);W s �W;W r �W; iw : R [ L 7!W;Rs � R;Rr � R;Ri � R;so : S 7! R; sp : C 7! 2M ; ct : C 7! 2O;W sg �W;W rg �W; cid : O 7! 2MgIn the de�nition of the instances, WV provides the edges de�ning waypointvisibility, OV de�nes the object visibility, and T (x) for a rover x de�nes thetraversable waypoint edges. Note that WV and T (x) are postulated to be bi-directional. This is a restriction that holds true in the IPC-3 generator, accordingto personal communication with Derek Long. The restriction does make a signif-icant di�erence { in di�erence to undirected movability, with directed movabilitythere can be unrecognized dead ends, see Section 9.4. The iw function speci�esthe initial waypoint locations of the rovers and landers, Rs, Rr, and Ri specifythe abilities of the rovers, so maps the stores to the rovers they are on, sp sayswhat modes the cameras support, and ct de�nes the calibration targets. W sg andW rg specify the soil and rock sample goals, cid says which image data must becommunicated.In the original version of the domain used at IPC-3, there was an additionalpredicate (available; 1). This was required for the rover in the precondition ofnavigating, and was added as well as deleted by all the communication actions.122

Page 123: Where - Pennsylvania State University

All rovers were available initially. By de�nition, the delete e�ects are appliedbefore the add e�ects so the predicate never changed its truth value. The intentionbehind the construct { according to personal communication with Derek Long {was to avoid parallel applications of navigation and communication actions usingthe same rover. In the sequential setting we consider here the predicate does notmake any di�erence so it is ignored in De�nition 9.4. Similarly, at IPC-3 therewas a predicate (channel-free; 1) which was true of all landers initially, and wasadded as well as deleted by the communication actions. The predicate served toavoid parallel applications of communication actions using the same lander, and isleft out of De�nition 9.4 as it does not make a di�erence in our sequential setting.Finally, we have slightly modi�ed the predicate names and parameter orderings toimprove readability.A.21 ScheduleDe�nition 43 Schedule is the ADL domain (P ;O; I) where the set of predicatesisP = f (not-equal; 2); (p-cylindrical; 1); (p-cold; 1); (p-hot; 1); (p-polished; 1);(p-rough; 1); (p-smooth; 1); (p-roller; 1); (p-lathe; 1); (p-polisher; 1);(p-grinder; 1); (p-punch; 1); (p-drill-press; 1); (p-spray-painter; 1);(p-immersion-painter; 1); (part; 1); (ashape; 1); (atemperature; 1);(surface; 1); (color; 1); (width; 1); (anorient; 1); (machine; 1);(shape; 2); (temperature; 2); (surface-condition; 2); (painted; 2);(has-hole; 3); (not-has-hole; 3); (busy; 1); (not-busy; 1);(scheduled; 1); (not-scheduled; 1); (objscheduled; 1);(not-objscheduled; 1); (has-paint; 2); (has-bit; 2); (can-orient; 2)gO consists of the operators� do-roll:( (x; y; z; u),(part; x) ^ (p-roller; y) ^ (p-hot; z)^(p-cylindrical; u) ^ (not-busy; roller) ^ (not-scheduled; x);f ( (),>;f(busy; y); (scheduled; x); (temperature; x; z); (shape; x; u)g;f(not-busy; roller); (not-scheduled; x)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);((v); (surface; v) ^ (surface-condition; x; v); ;; f(surface-condition; x; v)g);((v); (color; v) ^ (painted; x; v); ;; f(painted; x; v)g);((v); (ashape; v) ^ (shape; x; v) ^ (not-equal; v; u); ;; f(shape; x; v)g);( (v);(atemperature; v) ^ (temperature; x; v) ^ (not-equal; y; z);;; 123

Page 124: Where - Pennsylvania State University

f(temperature; x; v)g);( (v; w);(width; v) ^ (anorient; w) ^ (has-hole; x; v; w);f(not-has-hole; x; v; w)g;f(has-hole; x; v; w)g)g)� do-lathe:( (x; y; z; u),(part; x) ^ (p-lathe; y) ^ (p-rough; z) ^ (p-cylindrical; u)^(not-busy; lathe) ^ (not-scheduled; x);f ( ();>;f(busy; y); (scheduled; x); (surface-condition; x; z); (shape; x; u)g;f(not-busy; y); (not-scheduled; x)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);((v); (color; v) ^ (painted; x; v); ;; f(painted; x; v)g);((v); (ashape; v) ^ (shape; x; v) ^ (not-equal; v; u); ;; f(shape; x; v)g);( (v);(surface; v) ^ (surface-condition; x; v) ^ (not-equal; v; z);;;f(surface-condition; x; v)g)g)� do-polish:( (x; y; z; u),(part; x) ^ (p-polisher; y) ^ (p-polished; z) ^ (p-cold; u)^(not-busy; y) ^ (not-scheduled; x) ^ (temperature; x; u);f ( ();>;f(busy; y); (scheduled; x); (surface-condition; x; z)g;f(not-busy; y); (not-scheduled; x)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);( (v);(surface; v) ^ (surface-condition; x; v) ^ (not-equal; v; polished);;;f(surface-condition; x; v)g)g)� do-grind:( (x; y; z),(part; x) ^ (p-grinder; y) ^ (p-smooth; z)^(not-busy; y) ^ (not-scheduled; x);f ( (); 124

Page 125: Where - Pennsylvania State University

>;f(busy; y); (scheduled; x); (surface-condition; x; z)g;f(not-busy; y); (not-scheduled; x)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);((u); (color; u) ^ (painted; x; u); ;; f(painted; x; u)g);( (u);(surface; u) ^ (surface-condition; x; u) ^ (not-equal; y; z);;;f(surface-condition; x; u)g)g)� do-punch:( (x; y; z; u; v; w),(part; x) ^ (width; y) ^ (anorient; z) ^ (p-punch; u) ^ (p-cold; v)^(p-rough; w) ^ (not-busy; u) ^ (not-scheduled; x) ^ (not-has-hole; x; y; z)^(has-bit; u; y) ^ (can-orient; u; z) ^ (temperature; x; v);f ( (),>;f(busy; u); (scheduled; x); (has-hole; x; y; z); (surface-condition; x; w)g;f(not-busy; u); (not-scheduled; x); (not-has-hole; x; y; z)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);( (t);(surface; t) ^ (surface-condition; x; t) ^ (not-equal; t; w);;;f(surface-condition; x; t)g)g)� do-drill-press:( (x; y; z; u; v),(part; x) ^ (width; y) ^ (anorient; z) ^ (p-drill-press; u) ^ (p-cold; v)^(not-busy; u) ^ (not-scheduled; x) ^ (not-has-hole; x; y; z)^(has-bit; u; y) ^ (can-orient; u; z) ^ (temperature; x; v);f ( ();>;f(busy; u); (scheduled; x); (has-hole; x; y; z)g;f(not-busy; u); (not-scheduled; x); (not-has-hole; x; y; z)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g)g)� do-spray-paint:( (x; y; z; u),(part; x) ^ (color; y) ^ (p-spray-painter; z) ^ (p-cold; u)^(not-busy; z) ^ (not-scheduled; x) ^ (has-paint; z; y) ^ (temperature; x; u);125

Page 126: Where - Pennsylvania State University

f ( ();>;f(busy; z); (scheduled; x); (painted; x; y)g;f(not-busy; z); (not-scheduled; x)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);((v); (color; v) ^ (painted; x; v) ^ (not-equal; v; y); ;; f(painted; x; v)g);( (v);(surface; v) ^ (surface-condition; x; v);;;f(surface-condition; x; v)g)g)� do-immersion-paint:( (x; y; z),(part; x) ^ (color; y) ^ (p-immersion-painter; z)^(not-busy; z) ^ (not-scheduled; x) ^ (has-paint; z; y);f ( ();>;f(busy; z); (scheduled; x); (painted; x; y)g;f(not-busy; z); (not-scheduled; x)g);((); (not-objscheduled); f(objscheduled)g; f(not-objscheduled)g);((u); (color; u) ^ (painted; x; u) ^ (not-equal; u; y); ;; f(painted; x; u)g)g)� do-time-step:( (),(objscheduled),f ((x); (part; x) ^ (scheduled; x); ;; f(scheduled; x)g);((x); (machine; x) ^ (busy; x); ;; f(busy; x)g)g)and the set of instances isI = f ( f cylindrical; cold; hot; polished; rough; smooth; roller; lathe; polisher;grinder; punch; drill-press; spray-painter; immersion-painterg = C 0 [P [ S [ L [W [ O;f(not-equal; x; y) j x; y 2 C; x 6= yg[f (p-cylindrical; cylindrical); (p-cold; cold); (p-hot; hot);f(p-polished; polished); (p-rough; rough); (p-smooth; smooth);f(p-roller; roller); (p-lathe; lathe); (p-polisher; polisher);f(p-grinder; grinder); (p-punch; punch); (p-drill-press; drill � press);f(p-spray-painter; spray � painter);f(p-immersion-painter; immersion� painter)g[f(part; x) j x 2 Pg [ f(ashape; cylindrical)g [ f(ashape; x) j x 2 Sg[126

Page 127: Where - Pennsylvania State University

f(atemperature; cold); (atemperature; hot)g[f(surface; polished); (surface; rough); (surface; smooth)g[f(color; x) j x 2 Lg [ f(width; x) j x 2Wg [ f(anorient; x) j x 2 Og[f (machine; polisher); (machine; roller); (machine; lathe);(machine; grinder); (machine; punch); (machine; drill-press);((machine; spray-painter); (machine; immersion-painter)g[f(has-paint; spray-painter; x) j x 2 Lg[f(has-paint; immersion-painter; x) j x 2 Lg[f(has-bit; punch; x); (has-bit; drill-press; x) j x 2Wg[f(can-orient; punch; x); (can-orient; drill-press; x) j x 2 Og[f(temperature; x; cold) j x 2 Pg [ f(shape; x; is(x)) j x 2 Pg[f(surface-condition; x; ic(x)) j x 2 Pg [ f(painted; x; ip(x)) j x 2 P ipg[f(has-hole; x; y; z) j (y; z) 2 ih(x)g;Vf(shape; x; cylindrical) j x 2 P gsg^Vf(has-hole; x; y; z) j (y; z) 2 gh(x)g^Vf(painted; x; gp(x)) j x 2 P gpg^Vf(surface-condition; x; gc(x)) j x 2 P gcg)j (C 0 [ P [ S [ L [W [ O) � �;C 0; P; S; L;W; and O are pairwise disjoint;jP j � 1; jLj � 1; jW j � 1; jOj � 1; is : P 7! fcylindricalg [ S;ic : P 7! fpolished; rough; smoothg;P ip � P; ip : P ip 7! L; ih : P 7! 2(W�O);P gs � P; P gc � P; gc : P gc 7! fpolished; rough; smoothg;P gp � P; gp : P gp 7! L; gh : P 7! 2(W�O)gAll Schedule operators are ADL operators, and make use of conditional e�ects,sometimes with e�ect parameters, sometimes without e�ect parameters; complexconditions are not used. All instances share the constants cylindrical, cold, hot,polished, rough, smooth, roller, lathe, polisher, grinder, punch, drill-press, spray-painter, and immersion-painter: the relevant shape, temperatures, surface condi-tions, and machines. In the operators, these are all encoded via speci�c predicates,which deviates slightly from the original operators that explicitly refer to theseconstants. We have avoided such \domain constants" in order to keep our formalframework (i.e., the framework for ADL) as simple as possible. After removingstatic predicates, there is no di�erence at all.Initially, all parts are cold, and have a shape and a surface condition speci�ed.Some of the parts are also painted initially, and a part can have none or severalholes. In the goal condition, some of the parts can be required to have cylindricalshape (the only shape that can be produced by the machines), some need anarbitrary surface condition (note that only the three given surface conditions can beproduced by the machines), some must be painted, and each part can be requiredto have an arbitrary number of holes (note here that the parts can not be requiredto have no holes). In the original domain there are various negations, which areformulated by the extra predicates not-equal (the original formulation makes useof an equality predicate which is negated in all its appearances), not-has-hole,not-busy, not-scheduled, and not-objscheduled. It might seem restrictive that127

Page 128: Where - Pennsylvania State University

all appropriate machines can achieve all the respective goal conditions (like bothpainting machines having access to all colors), but that's what's the case in thepublished benchmarks.A.22 SatelliteDe�nition 44 Satellite is the STRIPS domain (P ;O; I) where the set of predi-cates isP = f (not-eq; 2); (satellite; 1); (direction; 1); (instrument; 1); (mode; 1);(on-board; 2); (supports; 2); (pointing; 2); (power-avail; 1);(power-on; 1); (calibrated; 1); (have-image; 2); (calibration-target; 2)gO consists of the operators� turn-to:( (x; y; z),f(not-eq; y; z); (satellite; x); (direction; y); (direction; z); (pointing; x; y)g;f(pointing; x; z)g;f(pointing; x; y)g)� switch-on:( (x; y),f(instrument; x); (satellite; y); (on-board; x; y); (power-avail; y)g;f(power-on; x)g;f(calibrated; x); (power-avail; y)g)� switch-o�:( (x; y),f(instrument; x); (satellite; y); (on-board; x; y); (power-on; x)g;f(power-avail; y)g;f(power-on; x)g)� calibrate:( (x; y; z),f (satellite; x); (instrument; y); (direction; z);(on-board; y; x); (calibration-target; y; z); (pointing; x; z); (power-on; y)g;f(calibrated; y)g;;)� take-image: 128

Page 129: Where - Pennsylvania State University

( (x; y; z; u),f (satellite; x); (direction; y); (instrument; z); (mode; u); (calibrated; z);(on-board; z; x); (supports; z; u); (power-on; z); (pointing; x; y)g;f(have-image; y; u)g;;)and the set of instances isI = f ( S [D [ I [M;f(satellite; x) j x 2 Sg [ f(direction; x) j x 2 Dg[f(instrument; x) j x 2 Pg [ f(mode; x) j x 2 Pg[f(power-avail; x) j x 2 Sg [ f(pointing; x; ip(x)) j x 2 Sg[f(on-board; x; ob(x)) j x 2 Ig [ f(supports; x; y) j x 2 I; y 2 sp(x)g[f(calibration-target; x; y) j x 2 I; y 2 ct(x)g;f(pointing; x; gp(x)) j x 2 Sgg[f(have-image; x; y) j x 2 D; y 2 hi(x)g)j (S [D [ I [M) � �+; S;D; I; and M are pairwise disjoint;jSj � 1; jDj � 1;ip : S 7! D; ob : I 7! S; sp : I 7! 2M ; ct : I 7! 2D;Sg � S; gp : Sg 7! D;hi : D 7! 2MgIn the de�nition of the instances, the ip function de�nes the initial orientationsof the satellites, ob maps the instruments to the satellites they are on, sp de�neswhich modes the instruments support, and ct says which directions are calibrationtargets for which instruments. The satellites Sg are, for the goal, required to pointinto the direction given by gp. Finally, hi de�nes which images need to be taken.The initial states are such that each satellite points in exactly one direction,each instrument is on board of exactly one satellite, each satellite (but no instru-ment) has power available, and no instrument is calibrated. The �rst two arepurely physical restrictions, the third restriction is just one way of saying thateach satellite has the power to run one instrument at a time; the last restrictionseems natural. For a more detailed discussion see Section 8.2.A.23 Simple-TspDe�nition 45 Simple-Tsp is the STRIPS domain (P ;O; I) where the set of pred-icates is P = f(not-eq; 2); (at; 1); (visited; 1)gO consists of the single operator� move: ((x; y); f(not-eq; x; y); (at; x)g; f(at; y); (visited; y)g; f(at; x)g)and the set of instances isI = f (L;f(not-eq; x; y) j x; y 2 L; x 6= yg [ f(at; l0)g;f(visited; x) j x 2 Lg)j L � �+; jLj � 2; l0 2 Lg 129

Page 130: Where - Pennsylvania State University

We have introduced non-equality to get rid of actions that try to move withina location.A.24 TireworldDe�nition 46 Tireworld is the STRIPS domain (P ;O; I) where the set of pred-icates isP = f (wheel; 1); (nut; 1); (obj; 1); (hub; 1); (ppump; 1); (pwrench; 1); (pjack; 1);(open-boot; 0); (closed-boot; 0); (in-boot; 1); (have; 1); (intact; 1);(in ated; 1); (not-in ated; 1); (loose; 2); (tight; 2); (on-ground; 1);(not-on-ground; 1); (fastened; 1); (not-fastened; 1); (free; 1); (on; 2)gO consists of the operators� open-boot: ((); f(closed-boot)g; f(open-boot)g; f(closed-boot)g)� close-boot: ((); f(open-boot)g; f(closed-boot)g; f(open-boot)g)� fetch: ((x); f(obj; x); (in-boot; x); (open-boot)g; f(have; x)g; f(in-boot; x)g)� put-away: ((x); f(obj; x); (have; x); (open-boot)g; f(in-boot; x)g; f(have; x)g)� in ate:( (x; y),f(wheel; x); (ppump; y); (have; y); (not-in ated; x); (intact; x)g;f(in ated; x)g;f(not-in ated; x)g)� loosen:( (x; y; z),f(nut; x); (hub; y); (pwrench; z); (have; z); (tight; x; y); (on-ground; y)g;f(loose; x; y)g;f(tight; x; y)g)� tighten:( (x; y; z),f(nut; x); (hub; y); (pwrench; z); (have; z); (loose; x; y); (on-ground; y)g;f(tight; x; y)g;f(loose; x; y)g)� jack-up: 130

Page 131: Where - Pennsylvania State University

( (x; y),f(hub; x); (pjack; y); (have; y); (on-ground; x)g;f(not-on-ground; x)g;f(have; y); (on-ground; x)g)� jack-down:( (x; y),f(hub; x); (pjack; y); (not-on-ground; x)g;f(have; y); (on-ground; x)g;f(not-on-ground; x)g)� undo:( (x; y; z),f (nut; x); (hub; y); (pwrench; z);(have; z); (fastened; y); (loose; x; y); (not-on-ground; y)g;f(have; x); (not-fastened; y)g;f(fastened; y); (loose; x; y)g)� do-up:( (x; y; z),f (nut; x); (hub; y); (pwrench; z);(have; z); (have; x); (not-fastened; y); (not-on-ground; y)g;f(fastened; y); (loose; x; y)g;f(have; x); (not-fastened; y)g)� remove-wheel:( (x; y),f(wheel; x); (hub; y); (on; x; y); (not-on-ground; y); (not-fastened; y)g;f(have; x); (free; y)g;f(on; x; y)g)� put-on-wheel:( (x; y),f (wheel; x); (hub; y); (have; x); (free; y);(not-on-ground; y); (not-fastened; y)g;f(on; x; y)g;f(have; x); (free; y)g)and the set of instances is 131

Page 132: Where - Pennsylvania State University

I = f ( fpump;wrench; jackg [N [H [W;where N = fn1; : : : ; nng; H = fh1; : : : ; hng;W = fw1; s1; : : : ; wn; sng;f(obj; pump); (obj;wrench); (obj; jack)g [ f(nut; x) j x 2 Ng[f(hub; x) j x 2 Hg [ f(wheel; x) j x 2Wg [ f(obj; x) j x 2 N [Wg[f(ppump; pump); (pwrench;wrench); (pjack; jack)g[f(on; wi; hi); (on-ground; hi); (tight; ni; hi) j 1 � i � ng[f(fastened; hi); (intact; si); (in-boot; si); (not-in ated; si) j 1 � i � ng[f(in-boot; pump); (in-boot;wrench); g[f(in-boot; jack); (closed-boot)g;f(on; si; hi); (in ated; si); (tight; ni; hi); (in-boot; wi) j 1 � i � ng[f(in-boot; pump); (in-boot;wrench); (in-boot; jack); (closed-boot)g)j fpump;wrench; jackg [N [H [W � �+;fpump;wrench; jackg; N;H; and W are pairwise disjoint; n � 1gAll instances share the constants pump, wrench, and jack, i.e., the tools re-quired for performing the di�erent working steps. These are encoded in the op-erators by using a speci�c predicate for each tool. We remark that the originaloperators directly refer to the tools as constants. We have avoided such \domainconstants" in order to keep our formal framework (i.e., the framework for ADL)as simple as possible. After removing static predicates, there is no di�erence atall.A.25 ZenotravelDe�nition 47 Zenotravel is the STRIPS domain (P ;O; I) where the set of pred-icates isP = f (not-eq; 2); (city; 1); (aircraft; 1); (person; 1); ( evel; 1);(at; 2); (in; 2); (fuel-level; 2); (next; 2)gO consists of the operators� board:( (x; y; z),f(person; x); (aircraft; y); (city; z); (at; x; z); (at; y; z)g;f(in; x; y)g;f(at; x; z)g)� debark:( (x; y; z),f(person; x); (aircraft; y); (city; z); (in; x; y); (at; y; z)g;f(at; x; z)g;f(in; x; y)g) 132

Page 133: Where - Pennsylvania State University

� y:( (x; y; z; u; v),f (not-eq; y; z); (aircraft; x); (city; y); (city; z); ( evel; u); ( evel; v);(at; x; y); (fuel-level; x; u); (next; v; u)g;f(at; x; z); (fuel-level; x; v)g;f(at; x; y); (fuel-level; x; u)g)� zoom:( (x; y; z; u; v; w),f (not-eq; y; z); (aircraft; x); (city; y); (city; z);( evel; u); ( evel; v); ( evel; w);(at; x; y); (fuel-level; x; u); (next; v; u); (next; w; v)g;f(at; x; z); (fuel-level; x; w)g;f(at; x; y); (fuel-level; x; u)g)� refuel:( (x; y; z; u),f (aircraft; x); (city; y); ( evel; z); ( evel; u);(at; x; y); (fuel-level; x; z); (next; z; u)g;f(fuel-level; x; u)g;f(fuel-level; x; z)g)and the set of instances isI = f ( C [ A [ P [ F;where F = ff0; : : : ; fng;f(city; x) j x 2 Cg [ f(aircraft; x) j x 2 Ag [ f(person; x) j x 2 Pg[f( evel; x) j x 2 Fg [ f(next; fi; fi+1) j 0 � i < ng[f(fuel-level; x; f(x)) j x 2 Ag[f(at; x; il(x)) j x 2 Ag [ f(at; x; il(x)) j x 2 Pg;f(at; x; gl(x)) j x 2 P gg)j (C [ A [ P [ F ) � �+; C;A; P; and F are pairwise disjoint;jCj � 1; jF j � 1;f : A 7! F; il : A [ P 7! C;P g � P; gl : P g 7! CgIn the de�nition of the instances, varying fuel is realized by the objects inF , which are ordered via the (next; 2) predicate: the left hand side is the nextlower fuel level; f0 is the zero-amount, having no lower neighbor. The function fdetermines the initial fuel levels of the aircrafts, il speci�es the initial positions ofaircrafts and persons, �nally gl are the goal positions for the subset P g of personsthat must be transported.133

Page 134: Where - Pennsylvania State University

References[1] Proceedings of the 17th National Conference of the American Association forArti�cial Intelligence (AAAI-00), Austin, TX, July 2000. MIT Press.[2] Fahiem Bacchus. The AIPS'00 planning competition. The AI Magazine,22(3):47{56, 2001.[3] Piergioirgio Bertoli, Alessandro Cimatti, John Slaney, and Sylvie Thiebaux.Solving power supply restoration problems with planning via symbolic modelchecking. In ECAI-02 [17], pages 576{80.[4] S. Biundo and M. Fox, editors. Recent Advances in AI Planning. 5th EuropeanConference on Planning (ECP'99), Durham, UK, September 1999. Springer-Verlag.[5] Avrim L. Blum and Merrick L. Furst. Fast planning through planning graphanalysis. In Proceedings of the 14th International Joint Conference on Ar-ti�cial Intelligence (IJCAI-95), pages 1636{1642, Montreal, Canada, August1995. Morgan Kaufmann.[6] Avrim L. Blum and Merrick L. Furst. Fast planning through planning graphanalysis. Arti�cial Intelligence, 90(1-2):279{298, 1997.[7] Blai Bonet and H�ector Ge�ner. HSP: Heuristic search planner. In AIPS-98Planning Competition, Pittsburgh, PA, 1998.[8] Blai Bonet and H�ector Ge�ner. Planning as heuristic search: New results. InBiundo and Fox [4], pages 60{72.[9] Blai Bonet and H�ector Ge�ner. Heuristic search planner 2.0. The AI Maga-zine, 22(3):77{80, 2001.[10] Blai Bonet and H�ector Ge�ner. Planning as heuristic search. Arti�cial Intel-ligence, 129(1{2):5{33, 2001.[11] Blai Bonet, G�abor Loerincs, and H�ector Ge�ner. A robust and fast actionselection mechanism for planning. In Proceedings of the 14th National Confer-ence of the American Association for Arti�cial Intelligence (AAAI-97), pages714{719. MIT Press, July 1997.[12] Blai Bonet and Sylvie Thiebaux. GPT meets PSR. In ICAPS-03 [47]. Ac-cepted for publication.[13] Tom Bylander. The computational complexity of propositional STRIPS plan-ning. Arti�cial Intelligence, 69(1{2):165{204, 1994.[14] A. Cesta and D. Borrajo, editors. Recent Advances in AI Planning. 6th Eu-ropean Conference on Planning (ECP'01), Toledo, Spain, September 2001.Springer-Verlag. 134

Page 135: Where - Pennsylvania State University

[15] S. Chien, R. Kambhampati, and C. Knoblock, editors. Proceedings of the 5thInternational Conference on Arti�cial Intelligence Planning Systems (AIPS-00). AAAI Press, Menlo Park, 2000.[16] Minh. B. Do and Subbarao Kambhampati. Sapa: A domain-independentheuristic metric temporal planner. In Cesta and Borrajo [14], pages 109{120.[17] Proceedings of the 15th European Conference on Arti�cial Intelligence (ECAI-02), Lyon, France, July 2002. Wiley.[18] Stefan Edelkamp. Promela planning. In Proceedings SPIN-03, 2003. Acceptedfor publication.[19] Stefan Edelkamp. Taming numbers and durations in the model checkingintegrated planning system. Journal of Arti�cial Intelligence Research, 2003.Special issue on the 3rd International Planning Competition, to appear.[20] Stefan Edelkamp and Malte Helmert. MIPS: The model checking integratedplanning system. AI Magazine, 22(3):67{71, 2001.[21] Richard E. Fikes and Nils Nilsson. STRIPS: A new approach to the applica-tion of theorem proving to problem solving. Arti�cial Intelligence, 2:189{208,1971.[22] Maria Fox and Derek Long. The automatic inference of state invariants inTIM. Journal of Arti�cial Intelligence Research, 9:367{421, 1998.[23] Maria Fox and Derek Long. The detection and exploitation of symmetry inplanning problems. In Proceedings of the 16th International Joint Conferenceon Arti�cial Intelligence (IJCAI-99), pages 956{961, Stockholm, Sweden, Au-gust 1999. Morgan Kaufmann.[24] Maria Fox and Derek Long. STAN4: A hybrid planning strategy based onsubproblem abstraction. The AI Magazine, 22(3):81{84, 2001.[25] Maria Fox and Derek Long. The third international planning competition:Temporal and metric planning. In Ghallab et al. [33], pages 333{335.[26] Jeremy Frank, Peter Cheeseman, and John Stutz. When gravity fails: Localsearch topology. Journal of Arti�cial Intelligence Research, 7:249{281, 1997.[27] B. Cenk Gazen and Craig Knoblock. Combining the expressiveness of UCPOPwith the e�ciency of Graphplan. In Steel and Alami [66], pages 221{233.[28] A. Gerevini and L. Schubert. Inferring state constraints in DISCOPLAN:Some new results. In AAAI-00 [1], pages 761{767.[29] Alfonso Gerevini and Ivan Serina. LPG: A planner based on local search forplanning graphs with action costs. In Ghallab et al. [33], pages 13{22.135

Page 136: Where - Pennsylvania State University

[30] Alfonso Gerevini and Ivan Serina. Fast planning through local search andaction graphs. Journal of Arti�cial Intelligence Research, 2003. Special issueon the 3rd International Planning Competition, to appear.[31] Alfonso Gerevini and Ivan Serina. LPG tests, 2003. Personal communication.[32] Alfonso Gerevini, Ivan Serina, Alessandro Saetti, and Sergio Spinoni. Localsearch techniques for temporal planning in LPG. In ICAPS-03 [47]. Acceptedfor publication.[33] M. Ghallab, J. Hertzberg, and P. Traverso, editors. Proceedings of the 6thInternational Conference on Arti�cial Intelligence Planning and Scheduling(AIPS-02), Toulouse, France, April 2002. Morgan Kaufmann.[34] Patrick Haslum and Hector Ge�ner. Admissible heuristics for optimal plan-ning. In Chien et al. [15], pages 140{149.[35] Patrick Haslum and Hector Ge�ner. Heuristic planning with time and re-sources. In Cesta and Borrajo [14], pages 121{132.[36] Malte Helmert. On the complexity of planning in transportation domains. InCesta and Borrajo [14], pages 349{360.[37] Malte Helmert. Complexity results for standard benchmark domains in plan-ning. Arti�cial Intelligence, 2003. Accepted for publication.[38] J�org Ho�mann. A heuristic for domain independent planning and its use inan enforced hill-climbing algorithm. In Proceedings of the 12th InternationalSymposium on Methodologies for Intelligent Systems (ISMIS-00), pages 216{227. Springer-Verlag, October 2000.[39] J�org Ho�mann. A heuristic for domain independent planning and its use inan enforced hill-climbing algorithm. Technical Report 133, Albert-Ludwigs-Universit�at, Institut f�ur Informatik, Freiburg, Germany, January 2000. avail-able at ftp://ftp.informatik.uni-freiburg.de/papers/ki/ho�mann-tr99.ps.gz.[40] J�org Ho�mann. FF: The fast-forward planning system. The AI Magazine,22(3):57{62, 2001.[41] J�org Ho�mann. Local search topology in planning benchmarks: An empiricalanalysis. In Nebel [55], pages 453{458.[42] J�org Ho�mann. Extending FF to numerical state variables. In ECAI-02 [17],pages 571{575.[43] J�org Ho�mann. Local search topology in planning benchmarks: A theoreticalanalysis. In Ghallab et al. [33], pages 92{100.[44] J�org Ho�mann. Utilizing Problem Structure in Planning: A Lo-cal Search Approach. PhD thesis, University of Freiburg, Freiburg,Germany, 2002. postscript available at http://www.informatik.uni-freiburg.de/�ho�mann/diss.ps.gz".136

Page 137: Where - Pennsylvania State University

[45] J�org Ho�mann. Where ignoring delete lists works: Local search topology inplanning benchmarks. Arti�cial Intelligence, 2003. Submitted.[46] J�org Ho�mann and Bernhard Nebel. The FF planning system: Fast plan gen-eration through heuristic search. Journal of Arti�cial Intelligence Research,14:253{302, 2001.[47] Proceedings of the 13th International Conference on Automated Planning andScheduling (ICAPS-03), Trento, Italy, 2003. Morgan Kaufmann.[48] Jana Koehler and J�org Ho�mann. On reasonable and forced goal orderingsand their use in an agenda-driven planning algorithm. Journal of Arti�cialIntelligence Research, 12:338{386, 2000.[49] Jana Koehler and J�org Ho�mann. On the instantiation of ADL operatorsinvolving arbitrary �rst-order formulas. In Proceedings ECAI-00 Workshopon New Results in Planning, Scheduling and Design, 2000.[50] Jana Koehler, Bernhard Nebel, J�org Ho�mann, and Yannis Dimopoulos. Ex-tending planning graphs to an ADL subset. In Steel and Alami [66], pages273{285.[51] Jana Koehler and Kilian Schuster. Elevator control as a planning problem.In Chien et al. [15], pages 331{338.[52] Drew McDermott. A heuristic estimator for means-ends analysis in planning.In Proceedings of the 3rd International Conference on Arti�cial IntelligencePlanning Systems (AIPS-96), pages 142{149. AAAI Press, Menlo Park, 1996.[53] Drew McDermott. The 1998 AI planning systems competition. The AI Mag-azine, 21(2):35{55, 2000.[54] Drew V. McDermott. Using regression-match graphs to control search inplanning. Arti�cial Intelligence, 109(1-2):111{159, 1999.[55] B. Nebel, editor. Proceedings of the 17th International Joint Conference onArti�cial Intelligence (IJCAI-01), Seattle, Washington, USA, August 2001.Morgan Kaufmann.[56] Xuanlong Nguyen and Subbarao Kambhampati. Extracting e�ective and ad-missible heuristics from the planning graph. In AAAI-00 [1], pages 798{805.[57] XuanLong Nguyen and Subbarao Kambhampati. Reviving partial order plan-ning. In Nebel [55], pages 459{464.[58] E. Onaindia, O. Sapena, L. Sebastia, and E. Marzal. Simplanner: anexecution-monitoring system for replanning in dynamic worlds. In ProceedingsEPIA-01, pages 393{400, 2001. 137

Page 138: Where - Pennsylvania State University

[59] Edwin P.D. Pednault. ADL: Exploring the middle ground between STRIPSand the situation calculus. In R. Brachman, H. J. Levesque, and R. Reiter,editors, Principles of Knowledge Representation and Reasoning: Proceedingsof the 1st International Conference (KR-89), pages 324{331, Toronto, ON,May 1989. Morgan Kaufmann.[60] J. Scott Penberthy and Daniel S. Weld. UCPOP: A sound, complete, par-tial order planner for ADL. In B. Nebel, W. Swartout, and C. Rich, editors,Principles of Knowledge Representation and Reasoning: Proceedings of the3rd International Conference (KR-92), pages 103{114, Cambridge, MA, Oc-tober 1992. Morgan Kaufmann.[61] Ioannis Refanidis and Ioannis Vlahavas. GRT: a domain independent heuristicfor STRIPS worlds based on greedy regression tables. In Biundo and Fox [4],pages 47{59.[62] Ioannis Refanidis and Ioannis Vlahavas. The GRT planning system: Back-ward heuristic construction in forward state-space planning. Journal of Arti-�cial Intelligence Research, 15:115{161, 2001.[63] Jussi Rintanen. An iterative algorithm for synthesizing invariants. In AAAI-00 [1], pages 806{811.[64] L. Sebastia, E. Onaindia, and E. Marzal. Stella: An optimal sequential andparallel planner. In Proceedings EPIA-01, pages 409{416, 2001.[65] Biplav Srivastava, Xuanlong Nguyen, Subbarao Kambhampati, Minh B. Do,Ullas Nambiar, Zaiqing Nie, Romeo Nigenda, and Terry Zimmermann. Altalt:Combining graphplan and heuristic state search. The AI Magazine, 22(3):88{90, 2001.[66] S. Steel and R. Alami, editors. Recent Advances in AI Planning. 4th EuropeanConference on Planning (ECP'97), volume 1348 of Lecture Notes in Arti�cialIntelligence, Toulouse, France, September 1997. Springer-Verlag.[67] Hakan Younes and Reid Simmons. On the role of ground actions in re�nementplanning. In Ghallab et al. [33], pages 54{61.

138