Planning as satisfiability: parallel plans and algorithms for plan search
We address two aspects of constructing plans efficiently by means of satisfiability testing: efficient encoding of the problem of existence of plans of a given number t of time points in the propositional logic and strategies for finding plans, given these formulae for different values of t. For the first problem we consider three semantics for plans with parallel operator application in order to make the search for plans more efficient. The standard semantics requires that parallel operators
... e independent and can therefore be executed in any order. We consider a more relaxed definition of parallel plans which was first proposed by Dimopoulos et al., as well as a normal form for parallel plans that requires every operator to be executed as early as possible. We formalize the semantics of parallel plans emerging in this setting and present translations of these semantics into the propositional logic. The sizes of the translations are asymptotically optimal. Each of the semantics is constructed in such a way that there is a plan following the semantics exactly when there is a sequential plan, and moreover, the existence of a parallel plan implies the existence of a sequential plan with as many operators as in the parallel one. For the second problem we consider strategies based on testing the satisfiability of several formulae representing plans of n time steps for several values of n concurrently by several processes. We show that big efficiency gains can be obtained in comparison to the standard strategy of sequentially testing the satisfiability of formulae for an increasing number of time steps. · 3 time point may have more than one operator. The length parameter n restricts the number of time points but not directly the number of operators. A parallel plan is a representation of one or more sequential plans, and the parallelism is not meant to represent genuine temporal parallelism. Different notions of parallel plans can be defined, and for maintaining the connection to sequential plans it is required that there is a parallel plan exactly when there is a sequential plan, and moreover, mapping a given parallel plan to a sequential plan should be possible in polynomial time. In this paper we develop semantics for parallel plans that have these properties. Results in Section 2 identify important tractable and intractable notions of parallel plans. Parallel plans increase the efficiency of planning for two reasons. First, since several independent operators can be parallel at one time point, it is unnecessary to consider all their total orderings during plan search, unlike with sequential plans. Second, increased parallelism leads to a decreased number of time points. This reduces the number of propositional variables and the size of formulae and makes satisfiability testing more efficient. The standard state-based encoding of parallel plans [Kautz and Selman 1996] allows several operators at the same time point as long as the operators are mutually non-interfering. This condition guarantees that any total ordering on the simultaneous operators is a valid execution and that it leads to the same state in all cases. We formalize a generalization of this idea and call it the ∀-step semantics of parallel plans, and give asymptotically optimal linear-size encodings of this semantics in the classical propositional logic. Our objective is to develop more efficient techniques for different forms of planning, and for this purpose we formalize further two semantics of parallel plans and present efficient encodings of them in the propositional logic. Both of these semantics are known from earlier research but the first, the process semantics, has not been considered in connection with planning, and the second, the ∃-step semantics, has not been given efficient encodings in the propositional logic before. The two new semantics considered in this paper are orthogonal refinements of the ∀-step semantics. The process semantics is stricter than the ∀-step semantics in that it requires all actions to be taken as early as possible. Since there are less valid plans of a given length according to the process semantics than the ∀-step semantics, the corresponding satisfiability problems are more strongly constrained and plan search could be more efficient. Process semantics was first introduced for Petri nets; for an overview see [Best and Devillers 1987] . Heljanko  has applied this semantics to the deadlock detection of 1-safe Petri nets and has demonstrated that it leads to big efficiency gains for many types of problems. The idea of the ∃-step semantics was proposed by Dimopoulos et al. . They pointed out that it is not necessary that all parallel operators are non-interfering as long as they can be executed in at least one order, which makes it possible to increase the number of parallel operators still further. They also showed how certain planning problems can be modified to satisfy this condition and that the reduction in the number of time points improves runtimes. Until now the application of ∃-step semantics in planning as satisfiability was hampered by the cubic size of the obvious encodings. We give more compact encodings for this semantics and show that this often leads to dramatic improvements in efficiency. Before the developments reported in this paper, this semantics was never used in an automated planner that is based on a declarative language like the propositional logic. Our most efficient encodings of this and the other semantics are more restrictive than the general definitions of these semantics. We justify the restrictions by showing that the general definitions are intractable.