on a \high level action language", called AR, and \model checking". AR is an ... can be used as a basis for planning with these expressive formalisms. The goal ...
Planning via Model Checking: A Decision Procedure for AR Alessandro Cimatti1, Enrico Giunchiglia2, Fausto Giunchiglia1;3, Paolo Traverso1 IRST, Povo, 38100 Trento, Italy DIST - University of Genoa, Viale Causa 13, 16145 Genova, Italy 3 DISA - University of Trento, Via Inama 5, 38100 Trento, Italy 1
2
Abstract. In this paper we propose a new approach to planning based on a \high level action language", called AR, and \model checking". AR is an expressive formalism which is able to handle, among other things, rami cations and non-deterministic eects. We de ne a decision procedure for planning in AR which is based on \symbolic model checking", a technique which has been successfully applied in hardware and software veri cation. The decision procedure always terminates with an optimal solution or with failure if no solution exists. We have constructed a planner, called mbp, which implements the decision procedure.
1 Introduction A lot of research has focused on the problem of the expressiveness of formalisms for reasoning about action and change. This has lead to the development of various formalisms, e.g. action languages able to deal with the \frame problem" and the \rami cation problem" (see for instance [7] and [11]). So far, however, little success has been obtained in the development of decision procedures which can be used as a basis for planning with these expressive formalisms. The goal of this paper is to propose a new decision procedure for planning within an expressive formalism, able to handle, among other things, rami cations and non-deterministic eects. Our recipe is based on the following three ingredients: 1. Use a high level action language. This language must separate the language used to specify actions' eects, called the action description language, from the language used to ask questions about actions' eects, called the query language; 2. Give semantics to the action description language in terms of nite state automata. We need therefore to restrict to problems with a nite number of states. This hypothesis, though quite strong, allows us to treat several planning examples proposed in the literature so far; 3. Perform planning as \model based reasoning", that is, by verifying whether the automaton, as de ned by a set of sentences of the action description language, satis es the properties expressed by a query expressed in the query language.
Our proposal relies heavily on previous work. Proposal 1 is due to Lifschitz [11]. Furthermore, we use AR [7] as action description language. AR allows for rami cation constraints, conditional eects, non deterministic actions, actions' preconditions, and non boolean uents. Moreover, it allows for the de nition of uents as abbreviations of complex formulas. These features make AR one of the most powerful formalisms solving the \frame problem" and the \rami cation problem". Proposal 2 is now standard practice in the development of action languages. Proposal 3 has been made within the Computer Science community and has led to the development of a very successful set of techniques and tools, nowadays grouped under the label of \model checking" (see, e.g., [5]). Our work relies on a speci c technique known as \symbolic model checking" (see, e.g., [4]), used for industrial hardware and software veri cation. The possibility to apply model checking techniques to AR is due to the fact that in both cases semantics is given in terms of nite state automata. Other (minor) commonalities are the use of non boolean variables and non-determinism. We have constructed a planner, called mbp (Model Based Planner), which implements the decision procedure described in this paper. As a consequence, mbp has some signi cant novel features. As far as we know, mbp is the rst planner for AR and it is the rst planner with a decision procedure able to handle rami cations, conditional eects, actions preconditions, nonboolean uents and de nitions at the same time. Moreover, given a planning problem, mbp always terminates with an optimal solution or with failure if no solution exists: this feature is not provided by several state of the art planners, e.g. ucpop [14], and satplan [10]. Finally, mbp opens up the possibility to investigate some challenging problems for future research. We have tested mbp with a few examples and the results are positive. The (still very limited number of) experiments we have performed show that mbp can be compared with state of the art planners like ucpop and graphplan. Future research should investigate how to implement dierent planning strategies and heuristics in mbp and then an extensive comparative analysis should be performed. Moreover, since mbp is able to plan with nondeterministic eects, this feature should be investigated in order to understand whether \planning via model checking" can be used to address the problem of the integration of plan generation within reactive planners which have to deal with non-deterministic domains. This paper is structured as follows. In Section 2 we review AR and its semantics, which is given in terms of nite state automata. In Section 3, we introduce the query language and give semantics to the queries for temporal projection and planning in terms of properties on nite state automata. In Section 4, we show how to specify the nite state automaton of an action description in terms of a boolean formula. This step allows us to inherit the symbolic model checking techniques, as described for instance in [5]. Some of the results reported in this section adapt and extend analogous results presented in [6]. In Section 5 we describe the decision procedures for temporal projection and planning. In Section 6 we describe an implementation of the procedures and discuss some tests
on some examples.
2 Action description language An AR language is characterized by a nite nonempty set of actions, and a nite nonempty set of uents, a subset of which is declared inertial. Each uent F is associated to a nite nonempty set RngF of values (the range of F ). An atomic formula has the form (F = V ),4 where F is a uent, and V 2 RngF . In case RngF is fT; Fg, the uent is said to be propositional and the atomic formula F = T is abbreviated with F . A formula is a propositional combination of atomic formulas. Let A be an action, let F be an inertial uent, and let C and P be formulas. In AR we can express that: { C is true after we execute A in a state in which P is true. We do this with the determinate eect proposition A causes C if P; (1) { F may non-deterministically change its value if we execute A in a state in which P is true. We do this with the indeterminate eect proposition A possibly changes F if P; (2) { C is true in any state. We do this with the constraint always C: (3) A scenario is formalized as a set of the above expressions, i.e. as an action description. In the following action description, Load and DriveFast are actions; InTruck and InPlane are propositional, inertial uents: Load causes InTruck if (:InTruck ^ :InPlane ); Load causes InPlane if InTruck ; (4) DriveFast possibly changes InTruck if InTruck ; always :(InTruck ^ InPlane ): Let us consider now the semantics for AR. A valuation is a function that associates to each uent F an element of RngF . A valuation s is extended to atomic formulas as follows s(F ) = V , s(F = V ) = TF;; ifotherwise. and to arbitrary formulas in the straightforward way. Consider an action description A. A valuation s is said to be a state if, for every constraint (3) in A, s(C ) = T. For example, in the action description (4), there are three 4
In [7], the authors use F
is V instead of F = V .
states, corresponding to the three possible valuations satisfying the formula :(InTruck ^ InPlane ). The semantics of an action description is an automaton, i.e. a pair consisting of a set of states, and of a transition function Res mapping an action A and a state s into a set of states (which intuitively are the possible states resulting from the execution of A in s). The de nition of Res incorporates the solution to the frame problem. Let Res 0(A; s) be the set of states s0 such that, for each determinate eect proposition (1) in A, s0 (C ) = T whenever s(P ) = T. Then, Res (A; s) is the set of states s0 such that for any state s00 in Res 0 (A; s), New A (s; s00 ) is not a proper subset of New A (s; s0 ). For any two states s and s0 , New A (s; s0 ) is the set of formulas F = s0 (F ) such that
{ F is inertial and s0 (F ) 6= s(F ), or { for some indeterminate eect proposition (2) in A, s(P ) = T. The semantics of the action description (4) is the automaton shown in Figure 1. not InTruck
InTruck
not InTruck
not InPlane
not InPlane
InPlane
Load
Load
DriveFast DriveFast
DriveFast
DriveFast Load
Fig. 1. The transition system for (4)
3 Query language Both temporal projection and planning problems require the ability to compute the set of states resulting from the execution of a sequence of actions starting from a (partially speci ed) initial state. For example, in (4), we are interested in knowing the result of performing the action Load starting from an initial state in which the pack is neither in the truck nor in the plane.
As in [7], the initial state is speci ed with initial conditions, expressions of the form initially C (5) where C is a formula. In the following, we speak about domain descriptions meaning the union of an action description and a set of initial conditions. Consider a domain description D. Our next step is to de ne Res (A1 ; : : : ; AN ) (N 0) as the set of states possibly resulting from the execution of the sequence of actions A1; : : : ; AN starting from an initial state. We de ne Res (A1 ; : : : ; AN ) in two steps. First, we de ne Init as the set of states s such that for each initial condition (5) in D, s(C ) = T. Then we de ne Res (A1 ; : : : ; AN ) as follows: { if N = 0, then we have the empty sequence of actions and Res () = Init ; { if N > 0, then Res (A1 ; : : : ; AN ) is fs0 : s0 2 Res (AN ; s00); s00 2 Res (A1 ; : : : ; AN ?1 )g: A temporal projection problem is speci ed by an expression of the form G after A1 ; : : : ; AN (6) where G is a formula and A1; : : :; AN (N 0) are actions. We say that (6) is entailed by D if s(G) = T for each state s in Res (A1; : : : ; AN ). A planning problem is speci ed by an expression of the form goal G (7) where G is a formula. We say that a sequence of actions A1 ; : : : ; AN is a solution in D to a planning problem (7) if s(G) = T, for some state s in Res (A1 ; : : : ; AN ). Notice that for a solution A1 ; : : : ; AN of a planning problem, it might be the case that for some state s in Res (A1 ; : : : ; AN ), we have s(G) = F. Of course, this is not possible in case of deterministic domains with fully speci ed initial state. The above de nition is a generalization of the standard notion of solution to a planning problem usually given for such domains. On the other hand, executing a solution does not always guarantee the achievement of the goal.
4 Automaton speci cation The idea underlying symbolic model checking is to manipulate sets of states represented as propositional formulas. We therefore perform a translation from an action description A into a propositional formula which directly codi es the transition relation of the nite state automaton described by A. The crucial point is that this translation must codify in the automaton also the law of inertia in presence of rami cation constraints. We perform the translation as follows. We introduce two variables F and F 0 for each uent F in A. The range of the variables F and F 0 is declared to be RngF . Intuitively, they represent the value of the uent F in the current and next state. We have also a variable Act whose range is the set of actions of A. Act is the action to be executed. In the following
we assume that F1; : : :; Fm [Fm+1 ; : : :; Fn, resp.] are the inertial [not inertial, resp.] uents of A, listed according to a xed enumeration. We will consider the assignments of values to variables satisfying { the formula State F , de ned by ^ C;
always C 2A
(
)
{ and the formula Res F , de ned by Res F ^ 0 ; : : :; Fn0 =vn ] :9v : : :vn( Res ^ V F [F (=v 0i ) v = F _ v = F ^ i i i W im(v = 0i ) 6 F ^ i V im 0 (( Act = A ^ P ) v = F )) i i A possibly changes F if P 2A 0
0
1
1
1
1
1 (
i
)
(8) where Res 0F is an abbreviation for State F [F1=F10 ; : : :; Fn=Fn0 ]^ V ((Act = A ^ P ) C [F1=F10 ; : : :; Fn=Fn0 ]); (A causes C if P )2A and [a=b] is the expression obtained substituting a with b in . An assignment is a set of pairs hvariable, valuei (notice that a valuation in the sense of AR is also an assignment). An assignment s satis es a formula if the formula resulting from the substitution of each variable w with s(w) in , is entailed by the unique name axioms for values. We can now formally state the fact that the conjunction of State F and Res F captures the transition relation of the nite state automaton corresponding to A. Theorem 1. Let A be an action, and let s; s0 be two valuations of A. Let be the the assignment s [ fhF 0; V i j s0 (F ) = V g [ fhAct ; Aig. s0 2 Res (A; s) i satis es Res F and State F .
In the hypotheses of the above theorem, it is easy to check that satis es
State F i s is a state of A. Now assume that s be a state (if it is not, the theorem trivially holds). The fact that satis es Res F i s0 2 Res (A; s) needs some explanation. First, it is easy to check that s0 2 Res 0 (A; s) i the assignment satis es Res 0F . Then, we can reformulate the de nition of Res (A; s) given in Section 2 as the set of valuations s0 such that { s0 2 Res 0 (A; s) ( rst line of (8)), and0 { there does not exist a state s00 2 Res (A; s) (second line of (8)) such that for each inertial uent F , either s00(F ) = s0 (F ) or s00 (F ) = s(F ) (third
line of (8)); and
for some inertial uent F , s00 (F ) 6= s0 (F ) (fourth line of (8)); and s00(F ) = s0 (F ) for each uent F such that for some indeterminate eect proposition (2) in A, s(P ) = T (last line of (8)).
We can map State F and Res F into quanti er free formulas. In the case of Example (4), State F ^ Res F is equivalent to the conjunction of (we abbreviate F = T and F 0 = T with F and F 0 respectively) Act = Load ^ :InTruck ^ :InPlane InTruck 0 ; Act = Load ^ InTruck InPlane 0 ; :(InTruck ^ InPlane ); :(InTruck 0 ^ InPlane 0); and :(InTruck InTruck 0 ^ InPlane InPlane 0 ) ( Act = Load ^ :InPlane _ Act = DriveFast ^ InTruck ^ :InTruck 0 ^ :InPlane 0 ): The passage to a propositional formula is then performed using the standard techniques of (i) mapping each variable with 2n values into n independent variables with range fT; Fg, and (after suitable substitutions in the formulas) (ii) for each variable w atomize w = T with w and w = F with :w.
5 Decision procedures Our decision procedures work on the sets of states of the automaton. In the following, the procedures are de ned for a given domain description, identi ed by the set of initial states Init and the automaton speci cation, i.e. the transition relation Res F . Figures 2 and 3 describe the procedures for temporal projection and planning problems, respectively. In both gures, we use standard set operators (e.g. ; n), A[1,...,N] is an array of actions, and G denotes the set of states satisfying the formula G of AR. Given two valuations s, s' and an action A, the expression Res(s, A, s') is satis ed when s [fhF 0; V i j s'(F ) = V g[fhAct ; Aig satis es Res F . Consider Figure 2. Intuitively, the loop computes the sequence of sets of all possible states resulting from the execution of the sequence A[1],: : : ,A[N] and stores them into the array Exec[0,...,N]. Initially, the set of initial states Init is assigned to Exec[0]. At each step i in the loop, Exec[i] stores the set of all possible states resulting from the execution of the i-th action A[i] from a state in Exec[i-1]. The nal test, after the loop execution, checks whether all the states resulting from the execution of the action sequence, stored in Exec[N], satisfy G.
Theorem2. temporal-projection(A[1,...,N],G) returns True if the temporal projection problem G after A[1]; : : : ; A[N] is entailed by the domain description, False otherwise. The planning algorithm is presented in Figure 3. At each step of the loop, the set of states accessible after the execution of a number i of actions is generated and stored in Acc[i]. This is done by starting from previously unexplored (i.e.
function temporal-projection(A[1,...,N],G) Exec[0] := Init; for (i := 1,...,N) Exec[i] := s' : Res(s, A[i], s'), s
f
2
Exec[i-1]
g
if (Exec[N] G) then return True else return False
Fig. 2. Temporal Projection Algorithm new) states generated at previous step, contained in New[i-1]. This is similar to the computation performed in temporal projection, with the dierence that all possible actions are considered. Indeed, the set Acc[i] is computed through Res(s, A, s') where A ranges over the set of all possible actions Actions. New[i] is computed as the set-dierence of the accessible states Acc[i] with the accessible states at the previous step, i.e. Acc[i-1]. If New[i] is empty, then the entire space of accessible states has been covered without nding a goal, and planner returns failure. Otherwise, planner checks whether a state in New[i] is also a goal state (New[i] \ G) and stores the result in Reached_goals. If this is the case, planner calls choose-plan with argument i, i.e. the length of the plan. Intuitively, choose-plan builds a plan by traversing backwards the list of sets of states built by planner, and choosing one (of possibly many) action sequence leading to a goal state. The rst step is to (arbitrarily) select one accessible goal state, namely V[N]. Then, at each j-th step, the set of pairs state-action (s,A) which can take to V[j+1] is generated and stored in Back[j]. One pair is arbitrarily chosen, and the action is stored in A[j+1]. The action reconstruction is necessary as the \forward" analysis performed by planner does not keep track of the actions which have been executed. The planning procedure terminates, it is correct and complete, and nds optimal plans.
Theorem 3.
planner
terminates.
The proof is based on the fact that the sequence of sets Acc[i] is monotonic and has a least xpoint (see [5] for a similar proof). There exists therefore an i such that Acc[i] = Acc[i-1].
Theorem 4. If planner(G) returns A[1,...,N] then A[1]; : : : ; A[N] is a solution to goal G. If planner(G) returns failure then there exists no solution to goal G. Theorem 5. If there exists a solution to goal G, then solution of minimal length.
planner(G)
returns a
function planner(G) Acc[0] := New[0] := Init; i := 0; while (New[i] != ) Reached_goals := (New[i] G); if (Reached_Goals != ) then return choose-plan(i); i := i + 1; Acc[i] := Acc[i-1] s' : Res(s, A, s'), s New[i-1], A New[i] := Acc[i] Acc[i-1]; return failure;
;
\
;
[ 2 n
f
2
Actions
g;
function choose-plan(N) V[N] := choose-element(Reached_Goals); for (j := N - 1,...,0) do Back[j] := (s,A) : Res(s, A, V[j+1]), s New[j+1] ; (V[j],A[j+1]) := choose-element(Back[j]);
f
2
g
return A[1,...,N];
Fig. 3. Planning Algorithm The procedures for temporal projection and planning include the classical case of deterministic domains with fully speci ed initial state. In the deterministic case, temporal projection works on single states, since each Exec[i] is a singleton, while the planning procedure generates at most one state in Acc[i] and in New[i] for each action. In the case of non deterministic domains, the execution of an action can generate dierent states, and therefore Exec[i] can have more than one element, and Acc[i] and New[i] can have multiple states for each action.
6 Implementation and testing We have implemented temporal-projection and planner in c language on top of smv [5], a state-of-the-art symbolic model checker which has been successfully applied in hardware and software veri cation. We call the resulting system mbp (Model Based Planner). The data structures and algorithms of smv constitute the basic building blocks of the temporal-projection and planner routines. smv represents sets of states as obdds (Ordered Binary Decision Diagrams) [3; 5]. The main advantages of obdds are twofold. First, obdds give a very concise representation of sets of states. The dimension, i.e. the number of nodes,
of an obdd does not necessarily depends on the actual number of states. This fact provides the ability to represent extremely large sets of states and complex transition relations. Second, set theoretical operations, such as union and intersection, are implemented as very ecient operations on obdd. This allows for an ecient implementation of our decision procedures. An extensive comparative analysis of mbp is not one of the goals of this paper. Nevertheless, in order to have a preliminary test, we have looked for available implemented systems. Unfortunately, as far as we know, there are no such systems with an action language as expressive as AR. Neither are there \standard" examples of signi cative complexity in the literature of theories of actions. All the examples we have found are toy examples, involving a very low number of states. As a rst step, we have run mbp on some of these toy examples. On these examples, our procedures are extremely fast. We have run a few examples and compared the results with two state-of-theart planners, ucpop [14] and graphplan [2]. To do this, we had to shift to deterministic domains described by a subset of AR. The results of the comparison are reported in Figure 4. (The time is in CPU seconds. A dash -- indicates that the system did not found a solution within the time limit of 3000 seconds). ucpop graphplan mbp tsp.a tsp.b tsp.c
52 ---
0.67 2023 --
0.76 62 49
fixit
--
0.26
3.6
logistic.a logistic.b
---
2.5 12.4
80 1200
Fig. 4. Preliminary experimental evaluation mbp is a total order planner, while both ucpop and graphplan are partial order planners. As a rst test we have chosen a completely sequential problem: the \traveling salesman problem" (tsp). For this problem, we have considered various classes of tests, each characterized by the number of cities, and the probability of connection between two cities. Then we have run 30 random tests for each class. For low probability of connection and/or low number of cities, graphplan is able to easily discover the existence/nonexistence of a plan and immediately halt. This is not true for ucpop, where there is no mechanism for detecting the nonexistence of a plan. As such, we had to test the existence of a solution before submitting the problem to ucpop. Interestingly, both graphplan and ucpop have shown a somehow counter-intuitive behavior: their performances decrease as the probability of connection increases, reaching {at a certain xed number of cities{ their worst at 100% connection probability. This is not the case for mbp, where we have what looks like an \easy-hard-easy" pattern and where the
worst performance is obtained at 50% connection probability. With graphplan we have been able to nd solutions for up to 14 cities, while for ucpop we had to stop at 10 cities (with a time limit of 3000 seconds). For tsp.c, graphplan has not found a solution within 14800 seconds. In tsp.a, we considered 7 cities, with a 50% of connectivity between two cities. In tsp.b and tsp.c the number of cities is 14, the dierence between the two examples is in the connectivity: 50% for tsp.b, and 80% for tsp.c. For mbp, an interesting parameter is the number of states, which, in the case of tsp.b and tsp.c is of the order of 107 . Indeed, as the complexity increases, both ucpop and graphplan perform very badly compared to mbp. graphplan has been designed to solve eciently problems with parallel actions, while tsp is a completely \sequential planning" problem. A higher level of parallelism can be exploited in the Fix Tire Problem [15] (fixit in Figure 4), where, indeed, graphplan is faster than mbp. However, the fact that mbp is able to solve a notoriously dicult planning problem like fixit (mbp has generated and handled eciently around 106 states) in less than 10 seconds is a very encouraging result. Even if comparable with graphplan on the fixit problem, mbp seems in general to decrease performance in domains which can be solved by plans with parallel actions. We have performed a test on logistic [18], a domain where most of the actions can be performed in parallel. logistic.a and logistic.b are two examples with dierent numbers of cities and packages (5 and 4, and 3 and 6, respectively). These examples are rather hard. ucpop was unable to nd a solution even for problems with 3 cities and 4 packages. Notice that graphplan outperforms mbp. The number of reachable states (computed by mbp) is around 1013. In this domain, mbp seems to suer from the explosion of the number of states.
7 Conclusion and related work In this paper we have described a model based decision procedure for AR. This decision procedure enhances and integrates work and results developed in two dierent communities. We think that three are the main contributions of our work. First, as far as we know, mbp is the rst planner for AR and, as such, it is the rst planner to handle rami cations, conditional eects, actions preconditions, nonboolean uents and de nitions at the same time. Second, given a planning problem, mbp always terminates with an optimal solution or with failure if no solution exists: this is not true for several planners (e.g. ucpop and satplan [10]) which are not guaranteed to terminate if given a planning problem with no solutions (unless we somehow limit the dimension of the search space in advance). Third, we believe that our experimental results, though preliminary, are already very positive. mbp always performs better than ucpop. Even though graphplan performs better than mbp on the examples suited for non linear planners, mbp performs better on the one with a low degree of non-linearity.
Moreover we still have a lot of room for improvement. For instance, an extension of model based procedures to deal with parallel actions should improve performance on these domains signi cantly. Furthermore, the use of obdds in mbp is still naive. We expect that many techniques developed in the context of model checking and devoted to the reduction of the search space (e.g. conjunctive partitioning [5]) can be successfully applicable in this context. More in general, our decision procedures are independent of the implementation with obdds. The procedures could in principle be reduced to a sequence of satis ability problems. At each stage of the planning procedure, the satis ability of the formula expressing the existence of a plan of length i should be tested. This is basically what is done, e.g., in satplan, but with the bound on the plan length chosen a priori. The termination of the algorithm would be guaranteed by testing the unsatis ability of the formula expressing that unexplored states exist. However, a problem with this approach is that at each step the formulas would become more and more complex. This would have to be handled appropriately. All of this is a topic of current research. As far as the related work is concerned, to the best of our knowledge, the idea of planning via model checking is new and has never been proposed before. The translation from an action description language into a propositional formula is based on Winslett's possible models approach [19] (see also [13] for a similar usage of this approach). For other works stressing the importance of building planners with a powerful and neat formalismsee [9; 14] and the work in deductive planning, where planning is seen as theorem proving (see for instance [17; 12; 8]). Deductive planning can be seen as an alternative approach to planning via model checking: in the latter approach, rather than de ning a proof theory and generating plans by logical deduction, the decision procedures work on the models of an action description, i.e. on the space of the sets of states de ning an automaton.
References 1. Andrew Baker. Nonmonotonic reasoning in the framework of situation calculus. Arti cial Intelligence, 49:5{23, 1991. 2. Avrim Blum and Merrick Furst. Fast planning through planning graph analysis. In Proc. of IJCAI-95, pages 1636{1642, 1995. 3. R. E. Bryant. Symbolic Boolean manipolation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293{318, September 1992. 4. J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and Hwang L.J. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142{ 170, 1992. 5. E. Clarke, O. Grunberg, and D. Long. Model checking. In Proc. of the International Summer School on Deductive Program Design, Marktoberdorf, 1994. 6. Enrico Giunchiglia. Determining rami cations in the situation calculus. In Proc. of KR-96., 1996. 7. Enrico Giunchiglia, G. Neelakantan Kartha, and Vladimir Lifschitz. Representing action: Indeterminacy and rami cations. Arti cial Intelligence, 1997. To appear.
8. Cordell Green. Application of theorem proving to problem solving. In Proc. of IJCAI, pages 219{240, 1969. 9. J. Hertzberg and S. Thiebaux. Turning an Action Formalism into a Planner { A Case Study. Journal of Logic and Computation, 4(5):617{654, 1994. 10. Henry Kautz and Bart Selman. Pushing the Envelope: Planning, Propositional Logic, and Stochastic Search. In Proc. AAAI-96, 1996. 11. Vladimir Lifschitz. Two components of an action language. In Working Papers of the Third Symposium on Logical Formalizations of Commonsense Reasoning, 1996. 12. Fangzhen Lin and Raymond Reiter. State constraints revisited. In Working Papers of the Second Symposium on Logical Formalizations of Commonsense Reasoning, 1993. 13. C. Pain-Barre and C. Schwind. Constructing Action Graphs for Planning. In European Workshop on Planning (EWPS95), pages 373{388. Malik Ghallab, 1995. 14. J. Penberthy and D. Weld. UCPOP: A sound, complete, partial order planner for adl. In Proc. of KR-92, 1992. 15. Stuart Russel. Ecient memory bounded search algorithms. In Proc. of ECAI-92, pages 1{5, 1992. 16. Erik Sandewall. Features and uents: A systematic approach to the representation of knowledge about dynamical systems. Technical Report LiTH-IDA-R-92-30, Linkoping University, 1992. 17. W. Stephan and S. Biundo. A New Logical Framework for Deductive Planning. In Proceedings of the 13th International Joint Conference on Arti cial Intelligence (IJCAI-93), pages 32{38. Morgan Kaufmann, 1993. 18. Manuela Veloso. Learning by analogical reasoning in general problem solving. PhD thesis, 1992. CMU, CS Techn. Report CMU-CS-92-174. 19. M. Winslett. Reasoning about actions with a possible models approach. In Proceedings of the 8th National Conference on Arti cial Intelligence (IJCAI-93), pages 89{93, 1988.
This article was processed using the LaTEX macro package with LLNCS style