Theory and Algorithms for Partial Order Based Reduction in Planning
aa r X i v : . [ c s . A I] J un Theory and Algorithms for Partial Order BasedReduction in Planning
You Xu and Yixin ChenWashington University in St. LouisandQiang LuUniversity of Science and Technology of ChinaandRuoyun HuangWashington University in St. Louis
Search is a major technique for planning. It amounts to exploring a state space of planningdomains typically modeled as a directed graph. However, prohibitively large sizes of the searchspace make search expensive. Developing better heuristic functions has been the main techniquefor improving search efficiency. Nevertheless, recent studies have shown that improving heuristicsalone has certain fundamental limits on improving search efficiency. Recently, a new directionof research called partial order based reduction (POR) has been proposed as an alternative toimproving heuristics. POR has shown promise in speeding up searches.POR has been extensively studied in model checking research and is a key enabling techniquefor scalability of model checking systems. Although the POR theory has been extensively studiedin model checking, it has never been developed systematically for planning before. In addition,the conditions for POR in the model checking theory are abstract and not directly applicablein planning. Previous works on POR algorithms for planning did not establish the connectionbetween these algorithms and existing theory in model checking.In this paper, we develop a theory for POR in planning. The new theory we develop connectsthe stubborn set theory in model checking and POR methods in planning. We show that previousPOR algorithms in planning can be explained by the new theory. Based on the new theory, wepropose a new, stronger POR algorithm. Experimental results on various planning domains showfurther search cost reduction using the new algorithm.Categories and Subject Descriptors: I.2.8 [
Artificial Intelligence ]: Problem Solving, ControlMethods, and Search—
Graph and tree search strategies
General Terms: AI planning, State-space search, Partial order reduction, Stubborn set
1. INTRODUCTION
State space search is a fundamental and pervasive approach to artificial intelligencein general and planning in particular. It is among the most successful approachesto planning. A major concern with state space search is that it has a high time andspace cost since the state space that needs to be explored is usually very large.Much research on classical planning has focused on the design of better heuristicfunctions. For example, new heuristic functions have recently been developed byanalyzing the domain transition graphs (DTGs) and causal graphs on top of theSAS+ formalism [Briel et al. 2007; Helmert and R¨oger 2008]. Despite the suc-
ACM Journal Name, Vol. V, No. N, Month 20YY, Pages 1–0 ?? . · cess of using domain-independent heuristics for classic planning, heuristic plannersstill face scalability challenges for large-scale problems. As shown by recent work,search even with almost perfect heuristic guidance may still lead to very high searchcost [Helmert and R¨oger 2008]. Therefore, it is important to improve other compo-nents of the search algorithm that are orthogonal to the development of heuristics.Recently, partial order based reduction (POR), a new way to reduce the searchcost from an orthogonal perspective, has been studied for classical planning [Chenet al. 2009; Chen and Yao 2009]. POR as a method to reduce search space has beenextensively studied in model checking with solid theoretical investigation. However,the theoretical properties of POR in planning have still not been fully investigated.There are three key questions.1) POR algorithms have been extensively studied in model checking. In fact,POR is an enabling technique for modeling checking, which will not be practi-cal without POR due to its high time complexity. Extensive research has beendeveloped for the theory of POR in model checking. What are the relationshipsbetween the previous POR methods designed for model checking and existing workfor planning? Understanding these relationships can not only help us understandboth problems better, but can also potentially lead to better POR algorithms forplanning.2) In essence, all POR based algorithms reduce the search space by restrictingcertain actions from expanding at each state. Although these POR algorithms alllook similar, what are the differences in the quality of reduction that significantlyaffect search efficiency? We think it is important to investigate the reduction powersof different POR algorithms.3) Given the fact that there is more than one POR reduction algorithm forplanning, are there other, stronger POR algorithms? To answer this question,in essence, we need to find the sufficient and/or necessary conditions for partial-order based pruning. There are sufficient conditions for POR in model checking.Nevertheless, those conditions are abstract and not directly applicable in planning.The main contribution of this work is to establish the relationship between thePOR methods for model checking and those for planning. We leverage on the exist-ing POR theory for model checking and develop a counterpart theory for planning.This new theory allows existing POR algorithms for planning to be explained ina unified framework. Moreover, based on the conditions given by this theory, wedevelop a new POR algorithm for planning that is stronger than previous ones. Ex-perimental results also show that our proposed algorithm leads to more reduction.This paper is organized as follows. We first give basic definitions in Section 2.In Section 3, we present a general theory that gives sufficient conditions for PORin planning. In Section 4, we use the new theory to explain two previous PORalgorithms. Based on the theory, in Section 5, we propose a new POR algorithm forplanning which is different and stronger than previous ones. We report experimentalresults in Section 7, review some related work in Section 8, and give conclusions inSection 9. ACM Journal Name, Vol. V, No. N, Month 20YY.
2. BACKGROUND
Planning is a core area of artificial intelligence. It entails arranging a course ofactions to achieve certain goals under given constraints. Classical planning is themost fundamental form of planning, which deals with only propositional logic. Inthis paper, we work on the SAS+ formalism [Jonsson and B¨ackstr¨om 1998] ofclassical planning. SAS+ formalism has recently attracted a lot of attention dueto a number of advantages it has over the traditional STRIPS formalism. In thefollowing, we review this formalism and introduce our notations.
Definition 1. A SAS+ planning task Π is defined as a tuple of four ele-ments, Π = { X, O , S, s I , s G } .— X = { x , · · · , x N } is a set of multi-valued state variables , each with an asso-ciated finite domain Dom ( x i ) .— O is a set of actions and each action o ∈ O is a tuple ( pre ( o ) , eff ( o )) , where both pre ( o ) and eff ( o ) define some partial assignments of state variables in the form x i = v i , v i ∈ Dom ( x i ) . s G is a partial assignment that defines the goal.— S is the set of states. A state s ∈ S is a full assignment to all the state variables. s I ∈ S is the initial state . A state s is a goal state if s G ⊆ s . Definition 2.
Two partial assignment sets are conflict-free if and only if theydo not assign different values to the same state variable.
For a SAS+ planning task, for a given state s and an action o , when all variableassignments in pre ( o ) are met in state s , action o is applicable in state s . Afterapplying o to s , the state variable assignment will be changed to a new state s ′ according to eff ( o ): the state variables that appear in eff ( o ) will be changed tothe assignments in eff ( o ) while other state variables remain the same. We denotethe resulting state after applying an applicable action o to s as s ′ = apply ( s, o ). apply ( s, o ) is undefined if o is not applicable in s . The planning task is to find a path , or a sequence of actions, that transits the initial state s I to a goal state thatincludes s G .An important structure for a given SAS+ task is the domain transition graphdefined as follows: Definition 3.
For a SAS+ planning task, each state variable x i ( i = 1 , · · · , N ) corresponds to a domain transition graph (DTG) G i , a directed graph with avertex set V ( G i ) = Dom ( x i ) ∪ v , where v is a special vertex, and an edge set E ( G i ) determined by the following.—If there is an action o such that ( x i = v i ) ∈ pre ( o ) and ( x i = v ′ i ) ∈ eff ( o ) ,then ( v i , v ′ i ) belongs to E ( G i ) and we say that o is associated with the edge e i = ( v i , v ′ i ) (denoted as o ⊢ e i ). It is conventional to call the edges in DTGs transitions .—If there is an action o such that ( x i = v ′ i ) ∈ eff ( o ) and no assignment to x i is in pre ( o ) , then ( v , v ′ i ) belongs to E ( G i ) and we say that o is associated with thetransition e i = ( v , v ′ i ) (denoted as o ⊢ e i ). ACM Journal Name, Vol. V, No. N, Month 20YY. · Intuitively, a SAS+ task can be decomposed into multiple objects, each corre-sponding to one DTG, which models the transitions of the possible values of thatobject.
Definition 4.
For a SAS+ planning task, an action o is associated with aDTG G i (denoted as o ⊢ G i ) if eff ( o ) contains an assignment to x i . Definition 5.
For a SAS+ planning task, a DTG G i is goal-related if thepartial assignments in s G that define the goal states include an assignment x i = g i in G i . A goal-related DTG is unachieved in state s if x i = v i in s and v i = g i . A SAS+ planning task can also specify a preference that needs to be optimized.A preference is a mapping from a path p to a numerical value. In this paper weassume an action set invariant preference . A preference is action set invariantif two paths have the same preference whenever they contain the same set of actions(possibly in different orders). Most popular preferences, such as plan length andtotal action cost, are action set invariant.
3. PARTIAL ORDER REDUCTION THEORY FOR PLANNING
Partial order based reduction (POR) algorithms have been extensively studied formodel checking [Varpaaniemi 2005; Clarke et al. 2000], which also requires exam-ining a state space in order to prove certain properties. POR is a technique thatallows a search to explore only part of the entire search space and still maintaincompleteness and/or optimality. Without POR, model checking would be too ex-pensive to be practical [Holzmann 1997]. However, POR has not been studiedsystematically for planning.In this section, we will first introduce the concept of search reduction. Then, wewill present a general POR theory for planning, which gives sufficient conditionsthat guide the design of practical POR algorithms.
We first introduce the concept of search reduction. A standard search, such asbreath-first search (BFS), depth-first search, or A ∗ search, needs to explore a statespace graph. A reduction algorithm is an algorithm that reduces the state spacegraph into a subgraph, so that a search will be performed on the subgraph insteadof the original one. We first define the state space graph. In our presentation,for any graph G , we use V ( G ) to denote the set of vertices and E ( G ) the set ofedges. For a directed graph G , for any vertex s ∈ V ( G ), a vertex s ′ ∈ V ( G ) is its successor if and only if ( s, s ′ ) ∈ E ( G ).For a SAS+ planning task, a state space graph for the task is a directed graph G in which each state s is a vertex and each directed edge ( s, s ′ ) represents an actionthat will be explored during a search process. Most search algorithms work on theoriginal state space graph as defined below. Definition 6.
For a SAS+ planning task, its original state space graph is adirected graph G in which each state s is a vertex and there is a directed edge ( s, s ′ ) if and only if there exists an action o such that apply ( s, o ) = s ′ . We say that action o marks the edge ( s, s ′ ) . ACM Journal Name, Vol. V, No. N, Month 20YY. Definition 7.
For a SAS+ planning task, for a state space graph G , the suc-cessor set of a state s , denoted by succ G ( s ) , is the set of all the successor statesof s . The expansion set of a state s , denoted by expand G ( s ) , is the set of actions expand G ( s ) = { o | o marks ( s, s ′ ) , ( s, s ′ ) ∈ E ( G ) } . Intuitively, the successor set of a state s includes all the successor states thatshall be generated by a search upon expanding s , while the expansion set includesall the actions to be expanded at s .In general, a reduction method is a method that maps each input state spacegraph G to a subgraph of G . The POR algorithms we study remove edges from G . More specifically, each state s is only connected to a subset of all its successorsin the reduced subgraph. We note that, by removing edges, a POR algorithmmay also reduce the number of vertices that are reachable from the initial state,hence reducing the number of nodes examined by a search. The decision whethera successor state s ′ would still be a successor in the reduced subgraph can bemade locally by checking certain conditions related to the current state and someprecomputed information. Hence, a POR algorithm can be combined with varioussearch algorithms.For a SAS+ task, a solution sequence in its state space graph G is a pair( s , p ), where s is a non-goal state, p = ( a , . . . , a k ) is a sequence of actions, and,let s i = apply ( s i − , a i ) , i = 1 , . . . , k , ( s i − , s i ) is an edge in G for i = 1 , . . . , k and s k is a goal state. We now define some generic properties of reduction methods. Definition 8.
For a SAS+ planning task, a reduction method is completeness-preserving if for any solution sequence ( s , p ) in the state space graph, there alsoexists a solution sequence ( s , p ′ ) in the reduced state space graph. Definition 9.
For a SAS+ planning task, a reduction method is optimality-preserving if, for any solution sequence ( s , p ) in the state space graph, there alsoexists a solution sequence ( s , p ′ ) in the reduced state space graph satisfying that p ′ has the same preference that p does. Definition 10.
For a SAS+ planning task, a reduction method is action-pre-serving if, for any solution sequence ( s , p ) in the state space graph, there alsoexists a solution sequence ( s , p ′ ) in the reduced state space graph satisfying that theactions in p ′ is a permutation of the actions in p . Clearly, being action-preserving is a sufficient condition for being completeness-preserving. When the preference is action set invariant, being action-preserving isalso a sufficient condition for being optimality-preserving.
Although there are many variations of POR methods, a popular and representativePOR algorithm is the stubborn set method [Valmari 1988; 1989; 1990; 1998; 1991;1993], used for model checking based on Petri nets. The basic idea is to form astubborn set of applicable actions for each state and expand only the actions in thestubborn set during search. By expanding a small subset of applicable actions ineach state, stubborn set methods can reduce the search space without compromisingcompleteness.
ACM Journal Name, Vol. V, No. N, Month 20YY. · b1bk b1b1b bs goalT(s)b b22 bkbkb This diagram plots the stubborn set condition A1 in Definition 11.Fig. 1. Illustration of stubborn set.
Since planning also examines a large search space, we propose to develop a stub-born set theory for planning. To achieve this, we need to handle various subtleissues arising from the differences between model checking and planning. We firstdefine the concept of stubborn sets for planning, adapted from the concepts inmodel checking.
Definition 11
Stubborn Set for Planning . For a SAS+ planning task, aset of actions T ( s ) is a stubborn set at state s if and only ifA1) For any action b ∈ T ( s ) and actions b , · · · , b k / ∈ T ( s ) , if ( b , · · · , b k , b ) is aprefix of a path from s to a goal state, then ( b, b , · · · , b k ) is a valid path from s and leads to the same state that ( b , · · · , b k , b ) does; andA2) Any valid path from s to a goal state contains at least one action in T ( s ) . The above definition is schematically illustrated in Figure 1. Once we define thestubborn set T ( s ) at each state s , we in effect reduce the state space graph to asubgraph: only the edges corresponding to actions in the stubborn sets are kept inthe subgraph. Definition 12.
For a SAS+ planning task, given a stubborn set T ( s ) defined ateach state s , the stubborn set method reduces its state space graph G to a subgraph G r such that V ( G r ) = V ( G ) and there is an edge ( s, s ′ ) in E ( G r ) if and only if thereexists an action o ∈ T ( s ) such that s ′ = apply ( s, o ) . A stubborn set method for planning is a reduction method that reduces theoriginal state space graph G to a subgraph G r according to Definition 12. In otherwords, a stubborn set method expands actions only in a stubborn set in each state.In the sequel, we show that such a reduction method preserves actions, hence, italso preserves completeness and optimality. Theorem 1.
Any stubborn set method for planning is action-preserving.
Proof.
We prove that for any solution sequence ( s , p ) in the original statespace graph G , there exists a solution sequence ( s , p ′ ) in the reduced state spacegraph G r resulting from the stubborn set method, such that p ′ is a permutation ofactions in p . We prove this fact by induction on k , the length of p .When k = 1, let a be the only action in p , according to the second condition inDefinition 12, a is in T ( s ). Thus, ( s , p ) is also a solution sequence in G r . The ECmethod is action-preserving in the base case. ACM Journal Name, Vol. V, No. N, Month 20YY. When k >
1, the induction assumption is that any path in G with length lessthan or equal to k − G r that leads to the same final state.Now we consider a solution sequence ( s , p ) in G : p = ( a , . . . , a k ). Let s i = apply ( s i − , a i ) , i = 1 , . . . , k . If a ∈ T ( s ), we can invoke the induction assumptionfor the state s and prove our induction assumption for k .We now consider the case where a / ∈ T ( s ). Let a j be the first action in p such that a j ∈ T ( s ). Such an action must exist because of the condition A2 inDefinition 11.Consider the sequence p ∗ = ( a j , a , · · · , a j − , a j +1 , · · · , a k ). According to condi-tion A1 in Definition 12, ( a j , a , · · · , a j − ) is also a valid sequence from s whichleads to the same state that ( a , · · · , a j ) does. Hence, we know that ( s , p ∗ ) is alsoa solution path. Therefore, let s ′ = apply ( s , a j ), we know ( a , · · · , a j − ) is anexecutable action sequence starting from s ′ . Let p ∗∗ = ( a , · · · , a j − , a j +1 , · · · , a k ),( s ′ , p ∗∗ ) is a solution sequence in G . From the induction assumption, we knowthere is a sequence p ′ which is a permutation of p ∗∗ , such that ( s ′ , p ′ ) is a solutionsequence in G r . Since a j ∈ T ( s ), we know that a j followed by p ′ is a solutionsequence from s and is a permutation of actions in p ∗ , which is a permutation ofactions in p . Thus, the stubborn set method is action-preserving. (cid:4) Since being action-preserving is a sufficient condition for being completeness-preserving and optimality-preserving, when the preference is action set invariant,we have the following result.
Corollary 1.
A stubborn set method for planning is completeness-preserving.In addition, it is optimality-preserving when the preference is action set invariant.
Note that although Theorem 1 provides an important result for reduction, it is notdirectly applicable since the conditions in Definition 11 are abstract and not directlyimplementable in algorithms. We need to find sufficient conditions for Definition 11that can facilitate the design of reduction algorithms. In the following, we defineseveral concepts that can lead to sufficient conditions for Definition 11.
Definition 13
State-Dependent Left Commutativity . For a SAS+ plan-ning task, an ordered action pair ( a, b ) , a, b ∈ O is left commutative in state s , if ( a, b ) is a valid path at s , and ( b, a ) is also a valid path at s and results in the samestate. We denote such a relationship by s : b ⇒ a . Definition 14
State-Independent Left Commutativity . For a SAS+ plan-ning task, an ordered action pair ( a, b ) , a, b ∈ O is left commutative if, for any state s , it is true that s : b ⇒ a . We denote such a relationship by b ⇒ a . Note the following. 1) Left commutativity is not a symmetric relationship. b ⇒ a does not imply a ⇒ b . 2) The order in the notation b ⇒ a suggests that we shouldalways try only ( b, a ) during the search instead of trying both ( a, b ) and ( b, a ).Also, not every state-independent left commutative action pair is state-dependentleft commutative. For instance, in a SAS+ planning task with three state variables { x , x , x } , action a with pre ( a ) = { x = 0 } , eff ( a ) = { x = 1 } and action b with pre ( b ) = { x = 1 , x = 2 } , eff ( b ) = { x = 3 } are left commutative in state ACM Journal Name, Vol. V, No. N, Month 20YY. · b1b1b1b bkb b1 goals b bk−1 bkb1 goalgoals b2 bk bs b2 b bk goals bk−1 bkb In this diagram, the left part plots the condition L1 in Definition 15 and the right part plots thestrategy in the proof to Theorem 2.Fig. 2. Illustration of left commutative set. s = { x = 0 , x = 1 , x = 3 } but not in state s = { x = 0 , x = 0 , x = 2 } as b isnot applicable in state s .We introduce state-independent left commutativity as it can be used to derivesufficient conditions for finding stubborn sets. Definition 15
State-Independent Left Commutative Set . For a SAS+planning task, a set of actions T ( s ) is a left commutative set at a state s if andonly ifL1) For any action b ∈ T ( s ) and any action a ∈ O − T ( s ) , if there exists a validpath from s to a goal state that contains both a and b , then it is the case that b ⇒ a ; andA2) Any valid path from s to a goal state contains at least one action in T ( s ) . Theorem 2.
For a SAS+ planning task, for a state s , if a set of actions T ( s ) is a state-independent left commutative set, it is also a stubborn set. Proof.
We only need to prove that L1 in Definition 15 implies A1 in Definition11. The proof strategy is schematically shown in Figure 2.For an action b ∈ T ( s ) and actions b , · · · , b k / ∈ T ( s ), if ( b , · · · , b k , b ) is a prefixof a path from s to a goal state, then according to L1, we see that b ⇒ b i , for i = 1 , · · · , k . According to the definition of left commutativity, we see that b k and b can be swapped and that the resulting path ( b , · · · , b, b k ) is still a valid path thatleads to the same state that ( b , · · · , b k , b ) does. We can subsequently swap b with b k − , · · · , and b to obtain equivalent paths, before finally obtaining ( b, b , · · · , b k ),as shown in the schematic illustration in the right part of Figure 2. Hence, we haveshown that if p = ( b , · · · , b k , b ) is a prefix of a path from s to a goal state, then p ′ = ( b, b , · · · , b k ) is a also valid path from s that leads to the same state that p does, which is exactly the condition A (cid:4) From the above proof, we see that the requirement of state-independent leftcommutativity in Definition 15 is unnecessarily strong. Instead, only certain state-dependent left commutativity is necessary. In fact, when we change ( b , · · · , b k , b )to ( b , · · · , b, b k ), we only require s ′ : b ⇒ b k where s ′ is the state after b k − isexecuted. Similarly, when we change ( b , · · · , b k , b ) to ( b , · · · , b, b k − , b k ), we only ACM Journal Name, Vol. V, No. N, Month 20YY. require s ′′ : b ⇒ b k − where s ′′ is the state after b k − is executed. Based on theabove analysis, we can refine the sufficient conditions. Definition 16
State-Dependent Left Commutative Set . For a SAS+planning task, a set of actions T ( s ) is a left commutative set at a state s if andonly ifL1’) For any action b ∈ T ( s ) and actions b , · · · , b k / ∈ T ( s ) , if ( b , · · · , b k , b ) is aprefix of a path from s to a goal state, then s ′ : b ⇒ b k , where s ′ is the state after ( b , · · · , b k − ) is executed; andA2) Any valid path from s to a goal state contains at least one action in T ( s ) . We only need to slightly modify the proof to Theorem 2 in order to prove thefollowing theorem.
Theorem 3.
For a SAS+ planning task, for a state s , if a set of actions T ( s ) is a state-dependent left commutative set, it is also a stubborn set. The above result gives sufficient conditions for finding stubborn sets in planning.The concept of state-dependent left commutative set requires a less stringent condi-tion than the state-independent left commutative set. Such a nuance actually leadsto different previous POR algorithms with varying performances. Therefore, it willresult in smaller T ( s ) sets and stronger reduction. Next, we present our algorithmfor finding such a set at each state to satisfy these conditions. Theorem 3 provides a key result for POR. However, the conditions in Definition 13are still abstract and not directly implementable. The key issue is to efficiently findleft commutative action pairs. Now we give necessary and sufficient conditions forDefinition 13 that can practically determine left commutativity and facilitate thedesign of reduction algorithms.
Theorem 4.
For a SAS+ planning task, for a valid action path ( a, b ) in state s , we have s : b ⇒ a if and only if pre ( a ) and eff ( b ) , pre ( b ) and eff ( a ) , eff ( a ) andeff ( b ) are all conflict-free and b is applicable at s . Proof.
First, from the definition of s : b ⇒ a , we know that action b is ap-plicable in state apply ( s, a ). This implies that pre ( b ) and eff ( a ) are conflict-free.Symmetrically, since action a is applicable in state apply ( s, b ), pre ( a ) and eff ( b ) arealso conflict-free. Now we prove eff ( a ) and eff ( b ) are conflict-free by contradiction.If eff ( a ) and eff ( b ) are not conflict-free, without loss of generality, we can assumethat eff ( a ) contains x i = v i and eff ( b ) contains x i = v ′ i = v i . Thus, the value of x i is v i for state s ab = apply ( apply ( s, a ) , b ) and v ′ i for state s ba = apply ( apply ( s, b ) , a ),i.e., s ab is different than s ba . This contradicts our assumption that a and b are leftcommutative. Thus, eff ( a ) and eff ( b ) are conflict-free.Second, if pre ( a ) and eff ( b ), eff ( a ) and pre ( b ), eff ( a ) and eff ( b ) are all conflict-free, since a is applicable in s , a is also applicable in state apply ( s, b ) as pre ( a ) and eff ( b ) are conflict-free. Hence, ( b, a ) is a valid path at s . Also, for any state variable x i , its value in states s ab = apply ( apply ( s, a ) , b ) and s ba = apply ( apply ( s, b ) , a ) arethe same, because eff ( a ) and eff ( b ) are conflict-free. Therefore, we have s ab = s ba .Hence, we have s : b ⇒ a . (cid:4) ACM Journal Name, Vol. V, No. N, Month 20YY. · G2G3G1G4s1s2s3s4 s=(s1, s2, s3, s4) G2 Potential Dependency Graph PDG(v) b bac de ef G3 G4G1
Dependency closure
Fig. 3.
A SAS+ task with four DTGs. The dashed arrows show preconditions (prevailingand transitional) of each edge (action). Actions are marked with letters a to f. We seethat b and e are associated with more than one DTG.
Theorem 4 gives necessary and sufficient conditions for deciding whether twoactions are left-commutative or not. Based on this result, we later develop practicalPOR algorithms that find stubborn sets using left commutativity.
4. EXPLANATION OF PREVIOUS POR ALGORITHMS
Previously, we have proposed two POR algorithms for planning: expansion core(EC) [Chen and Yao 2009] and stratified planning (SP) [Chen et al. 2009], both ofwhich showed good performance in reducing the search space. However we did nothave a unified explanation for them. We now explain how these two algorithms canbe explained by our theory. Full details of the two algorithms can be found in ourpapers [Chen and Yao 2009; Chen et al. 2009].
Expansion core (EC) algorithm is a POR-based reduction algorithm for planning.We will see that, in essence, the EC algorithm exploits the SAS+ formalism to finda left commutative set for each state. To describe the EC algorithm, we need thefollowing definitions.
Definition 17.
For a SAS+ task, for each DTG G i , i = 1 , . . . , N , for a vertex v ∈ V ( G i ) , an edge e ∈ E ( G i ) is a potential descendant edge of v (denoted as v ✁ e ) if 1) G i is goal-related and there exists a path from v to the goal state in G i that contains e ; or 2) G i is not goal-related and e is reachable from v . Definition 18.
For a SAS+ task, for each DTG G i , i = 1 , . . . , N , for a vertex v ∈ V ( G i ) , a vertex w ∈ V ( G i ) is a potential descendant vertex of v (denotedas v ✁ w ) if 1) G i is goal-related and there exists a path from v to the goal state in G i that contains w ; or 2) G i is not goal-related and w is reachable from v . Definition 19.
For a SAS+ task, given a state s = ( s , · · · , s N ) , for any ≤ i, j ≤ N, i = j , we call s i a potential precondition of the DTG G j if there exist o ∈ O and e j ∈ E ( G j ) such that s j ✁ e j , o ⊢ e j , and s i ∈ pre ( o ) (1) ACM Journal Name, Vol. V, No. N, Month 20YY. Definition 20.
For a SAS+ task, given a state s = ( s , . . . , s N ) , for any ≤ i, j ≤ N, i = j , we call s i a potential dependent of the DTG G j if there exists o ∈ O , e i = ( s i , s ′ i ) ∈ E ( G i ) and w j ∈ V ( G j ) such that s j ✁ w j , o ⊢ e i , and w j ∈ pre ( o ) (2) Definition 21.
For a SAS+ task, for a state s = ( s , . . . , s N ) , its poten-tial dependency graph PDG( s ) is a directed graph in which each DTG G i , i =1 , · · · , N corresponds to a vertex, and there is an edge from G i to G j , i = j , if andonly if s i is a potential precondition or potential dependent of G j . Figure 3 illustrates the above definitions. In PDG( s ), G points to G as s is apotential precondition of G and G points to G as s is a potential dependent of G . Definition 22.
For a directed graph H , a subset C of V ( H ) is a dependencyclosure if there do not exist v ∈ C and w ∈ V ( H ) − C such that ( v, w ) ∈ E ( H ) . Intuitively, a DTG in a dependency closure may depend on other DTGs in theclosure but not those DTGs outside of the closure. In Figure 3, G and G form adependency closure of PDG( s ).The EC algorithm is defined as follows: Definition 23
Expansion Core Algorithm . For a SAS+ planning task, theEC method reduces its state space graph G to a subgraph G r such that V ( G r ) = V ( G ) and for each vertex (state) s ∈ V ( G ) , it expands actions in the following set T ( s ) ⊆ O : T ( s ) = [ i ∈C ( s ) (cid:26) o (cid:12)(cid:12)(cid:12)(cid:12) o ∈ exec ( s ) ∧ o ⊢ G i (cid:27) , (3) where exec ( s ) is the set of executable actions in s and C ( s ) ⊆ { , · · · , N } is anindex set satisfying:EC1) The DTGs { G i , i ∈ C ( s ) } form a dependency closure in PDG( s ); andEC2) There exists i ∈ C ( s ) such that G i is goal-related and s i is not the goal statein G i . Intuitively, the EC method can be described as follows. To reduce the originalstate-space graph, for each state, instead of expanding actions in all the DTGs,it only expands actions in DTGs that belong to a dependency closure of PDG( s )under the condition that at least one DTG in the dependency closure is goal-relatedand not at a goal state.The set C ( s ) can always be found for any non-goal state s since PDG( s ) itself isalways such a dependency closure. If there is more than one such closure, theoret-ically any dependency closure satisfying the above conditions can be used in EC.In practice, when there are multiple such dependency closures, EC picks the onewith less actions in order to get stronger reduction. EC has adopted the followingscheme to find the dependency closure for any state s .Given a PDG( s ), EC first finds its strongly connected components (SCCs). Ifeach SCC is contracted to a single vertex, the resulting graph is a directed acyclic ACM Journal Name, Vol. V, No. N, Month 20YY. · graph S . Note that each vertex in S with a zero out-degree corresponds to adependency closure. It then topologically sorts all the vertices in S to get a sequenceof SCCs: S , S , · · · , and picks the minimum m such that S m includes a goal-relatedDTG that is not in its goal state. It chooses all the DTGs in S , · · · , S m as thedependency closure.Now we explain the EC algorithm using the POR theory we developed in Sec-tion 3. We show that the EC algorithm can be viewed as an algorithm for findinga state-dependent left-commutative set in each state. Lemma 1.
For a SAS+ planning task, the EC algorithm defines a state-dependentleft commutative set for each state.
Proof.
Consider the set of actions T ( s ) expanded by the EC algorithm in eachstate s , as defined in (3). We prove that T ( s ) satisfies conditions L1’ and A2 inDefinition 16.Consider an action b ∈ T ( s ) and actions b , · · · , b k / ∈ T ( s ) such that ( b , · · · , b k , b )is a prefix of a path from s to a goal state, we show that s ′ : b ⇒ b k , where s ′ is thestate after ( b , · · · , b k − ) is applied to s .Let C ( s ) be the index set of the DTGs that form a dependency closure, as usedin in (3). Since b ∈ T ( s ), there must exist m ∈ C ( s ) such that b ⊢ G m . Let thestate after applying ( b , · · · , b k ) to s be s ∗ . We see that we must have s ∗ m = s m because otherwise there must exist a b j , ≤ j ≤ m that changes the assignment ofstate variable x m . However, that would imply that b k ∈ T ( s ). Since b is applicablein s ∗ , we see that s m = s ∗ m ∈ pre ( b ).If there exists a state variable x i such that an assignment to x i is in both eff ( b k )and pre ( b ), then G m will point to the DTG G i as s m is a potential dependent of G i , forcing G i to be included in the dependency closure, i.e. i ∈ C ( s ). However,as b k ⊢ G i , it will violate our assumption that b k / ∈ T ( s ). Hence, none of theprecondition assignments of b is added by b k . Therefore, since b is applicable in apply ( s ′ , b k ), it is also applicable in s ′ .On the other hand, if b k has a precondition assignment in a DTG that b isassociated with, then G m will point to that DTG since s m is a potential preconditionof b k , forcing that DTG to be in C ( s ), which contradicts the assumption that b k / ∈ T ( s ). Hence, b does not alter any precondition assignment of b k . Therefore,since b k is applicable in s ′ , it is also applicable in the state apply ( s ′ , b ).Finally, if there exists a state variable x i such that an assignment to x i is alteredby both b and b k , then we know b ⊢ G i and b k ⊢ G i . In this case, G m will point to G i since s m is a potential precondition of G i , making b k ∈ T ( s ), which contradictsour assumption. Hence, eff ( b ) and eff ( b k ) correspond to assignments to distinctsets of state variables. Therefore, applying ( b k , b ) and ( b, b k ) to s ′ will lead to thesame state.From the above, we see that b is applicable in s ′ , b k is applicable in apply ( s ′ , b ),and hence ( b, b k ) is applicable in s ′ . Further we see that ( b, b k ) leads to the samestate as ( b k , b ) does when applied to s ′ . We conclude that s ′ : b ⇒ b k and T ( s )satisfies L1’.Moreover, for any goal-related DTG G i , if in a state s , its assignment s i is not thegoal state in G i , then some actions associated with G i have to be executed in anysolution path from s . Since T ( s ) includes all the actions in at least one goal-related ACM Journal Name, Vol. V, No. N, Month 20YY. DTG G i , any solution path must contain at least one action in T ( s ). Therefore, T ( s ) also satisfies A2 and it is indeed a state-dependent left commutative set. (cid:4) From Lemma 1 and Theorem 3, we obtain the following result, which shows thatEC fits our framework as a stubborn set method for planning.
Theorem 5.
For any SAS+ planning task, the EC algorithm defines a stubbornset in each state.
The stratified planning (SP) algorithm exploits commutativity of actions directly [Chenet al. 2009]. To describe the SP algorithm, we need the following definitions first.
Definition 24.
Given a SAS+ planning task Π with state variable set X , the causal graph ( CG ) is a directed graph CG (Π) = ( X, E ) with X as the vertex set.There is an edge ( x, x ′ ) ∈ E if and only if x = x ′ and there exists an action o suchthat x ∈ eff ( o ) and x ′ ∈ pre ( o ) or eff ( o ) . Definition 25.
For a SAS+ task Π , a stratification of the causal graph CG (Π) as ( X, E ) is a partition of the node set X : X = ( X , · · · , X k ) in such a way thatthere exists no edge e = ( x, y ) where x ∈ X i , y ∈ X j and i > j . By stratification, each state variable is assigned a level L ( x ), where L ( x ) = i if x ∈ X i , ≤ i ≤ k . Subsequently, each action o is assigned a level L ( o ), 1 ≤ L ( o ) ≤ k . L ( o ) is the level of the state variable(s) in eff ( o ). Note that all state variablesin the same eff ( o ) must be in the same level, hence, our L ( o ) is well-defined. Definition 26
Follow-up Action . For a SAS+ task Π , an action b is a follow-up action of a (denoted as a ⊲ b ) if eff ( a ) ∩ pre ( b ) = ∅ or eff ( a ) ∩ eff ( b ) = ∅ . The SP algorithm can be combined with standard search algorithms, such asbreadth-first search, depth-first search, and best-first search (including A ∗ ). Duringthe search, for each state s that is going to be expanded, the SP algorithm examinesthe action a that leads to s . Then, for each applicable action b in state S , SP makesthe following decisions. Definition 27
Stratified Planning Algorithm . For a SAS+ planning task,in any non-initial state s , assuming a is the action that leads directly to s , and b isan applicable action in s , then SP does not expand b if L ( b ) < L ( a ) and b is not afollow-up action of a . Otherwise, SP expands b . In the initial state s , SP expandsall applicable actions. The following result shows the relationship between the SP algorithm and ournew POR theory.
Lemma 2.
If an action b is not SP-expandable after a , and state s is the statebefore action a , then s : b ⇒ a . Proof.
Since b is not SP-expandable after a , following the SP algorithm, wehave L ( a ) > L ( b ) and b is not a follow-up action of a . According to Definition 26,we have eff ( a ) ∩ pre ( b ) = eff ( a ) ∩ eff ( b ) = ∅ . These imply that eff ( a ) and pre ( b ) areconflict-free, and that eff ( a ) and eff ( b ) are conflict-free. Also, since b is applicable ACM Journal Name, Vol. V, No. N, Month 20YY. · in apply ( s, a ) and eff ( a ) and pre ( b ) are conflict-free, b must be applicable in s (Otherwise eff ( a ) must change the value of at least one variable in pre ( b ), whichmeans eff ( a ) and pre ( b ) are not conflict-free).Now we prove that pre ( a ) and eff ( b ) are conflict-free by showing pre ( a ) ∩ eff ( b ) = ∅ . If their intersection is non-empty, we assume a state variable x is assigned by both pre ( a ) and eff ( b ). By the definition of stratification, x is in layer L ( b ). However,since x is assigned by pre ( a ), there must be an edge from layer L ( a ) to layer L ( x ) = L ( b ) since L ( a ) = L ( b ). In this case, we know that L ( a ) < L ( b ) from thedefinition of stratification. Nevertheless, this contradicts with the assumption that L ( a ) > L ( b ). Thus, pre ( a ) ∩ eff ( b ) = ∅ , and pre ( a ) and eff ( b ) are conflict-free.With all three conflict-free pairs, we have s : b ⇒ a according to Theorem 2. (cid:4) Although SP reduces the search space by avoiding the expansion of certain ac-tions, it is in fact not a stubborn set based reduction algorithm. We have thefollowing theorem for the SP algorithm.
Definition 28.
For a SAS+ planning task S , a valid path p a = ( a , · · · , a n ) is an SP-path if and only if p a is a path in the search space of the SP algorithmapplied to S. Theorem 6.
For a SAS+ planning task S , for any initial s and any valid path p a = ( a , · · · , a n ) from s , there exists a path p b = ( b , · · · , b n ) from s such that p b is an SP-path, and both p a and p b lead to the same state from s , and p b is apermutation of actions in p a . Proof.
We prove by induction on the number of actions.When n = 1, since there is no action before s , any valid path ( a ) will also bea valid path in the search space of the SP algorithm.Now we assume this proposition is true of for n = k, k ≥ n = k + 1. For a valid path p = ( a , · · · , a k , a k +1 ), by our inductionhypothesis, we can rearrange the first k actions to obtain a path ( a , a , · · · , a k ).Now we consider a new path p = ( a , · · · , a k , a k +1 ). There are two cases. First,if L ( a k +1 ) < L ( a k ), or L ( a k +1 ) > L ( a k ) and a k +1 is a follow-up action of a k , then p is already an SP-path. Otherwise, we have L ( a k +1 ) > L ( a k ) and a k +1 is not afollow-up action of a k . In this case, by Lemma 2, path p ′ = ( a , · · · , a k − , a k +1 , a k is also a valid path that leads s to the same state as p a does.By the induction hypothesis, if p ′ is still not an SP-path, we can rearrange thefirst k actions in p ′ to get a new path p = ( a , · · · , a k , a k ). Otherwise we let p = p ′ . Comparing p and p , we know L ( a k +1 ) > L ( a k ), namely, the level valueof the last action in p is strictly larger than that in p . We can repeat the aboveprocess to generate p , · · · , p m , · · · as long as p j ( j ∈ Z + ) is not an SP-path. Ourtransformation from p j to p j +1 also ensures that every p j is a valid path from s and leads to the same state that p a does.Since we know that the layer value of the last action in each p j is monotonicallydecreasing as j increases, such a process must stop after a finite number of iterations.Suppose it finally stops at p m = ( a ′ , a ′ , · · · , a ′ k , a ′ k +1 , we must have that L ( a ′ k +1 ) ≤ L ( a ′ k ) or L ( a ′ k +1 ) > L ( a ′ k ) and a ′ k +1 is a follow-up action of a k ′ . Hence, p m now isan SP-path. We then assign p m to p b and the induction step is proved. (cid:4) ACM Journal Name, Vol. V, No. N, Month 20YY. Theorem 6 shows that the SP algorithm cannot reduce the number of statesexpanded in the search space. The reason is as follows: for any state in the originalsearch space that is reachable from the initial state s via a path p , there is stillan SP-path that reaches s . Therefore, every reachable state in the search spaceis still reachable by the SP algorithm. In other words, SP reduces the number ofgenerated states, but not the number of expanded states.SP is not a stubborn set based reduction algorithm. This can be illustrated bythe following example.Assuming a SAS+ planning task S that contains two state variables x and x ,where both x and x have domain { , } , with the initial state as { x = 0 , x = 0 } and the goal as { x = 1 , x = 1 } . Actions a and b are two actions in S where pre ( a )is { x = 0 } and eff ( a ) is { x = 1 } and pre ( b ) is { x = 0 } and eff ( b ) is { x = 1 } . Itis easy to see that a and b are not follow-up actions of each other, and that x , x will be in different layers after stratification. Without loss of generality, we canassume L ( a ) = L ( x ) > L ( x ) = L ( b ). Therefore, we know that action b will notbe expanded after action a in state s : { x = 1 , x = 0 } . However, apply ( s, b ) is thegoal. Not expanding b in state s violates condition A s to a goal state has to contain at least one action in the expansionset of s .We can also see in the above example that the search space explored by SPcontains four states, namely, the initial state s , apply ( s , a ), apply ( s , b ) and thegoal state. Meanwhile, under the EC algorithm, in state s , the DTGs for x and x are not in each other’s dependency closures. This implies that in s , EC expandseither action a or b , but not both. Therefore, EC expands three states while SPexpands four. This illustrates our conclusion in Theorem 6 that the SP algorithmcannot reduce the number of expanded states.
5. A NEW POR ALGORITHM FRAMEWORK FOR PLANNING
We have developed a POR theory for planning and explained two previous PORalgorithms using the theory. Now, based on the theory, we propose a new PORalgorithm which is stronger than the previous EC algorithm.Our theory shows in Theorem 3 that the condition for enabling POR reduction isstrongly related to left commutativity of actions. In fact, constructing a stubbornset can be reduced to finding a left commutativity set. As we show in Theorem 5,the EC algorithm follows this idea. However, the basic unit of reduction in EC isDTG (i.e. either all actions in a DTG are expanded or none of them are), whichis not necessary according to our theory. Based on this insight, we propose a newalgorithm that operates with the granularity of actions instead of DTGs.
Definition 29.
For a state s , an action set L is a landmark action set ifand only if any valid path starting from s to a goal state contains at least one actionin L . Definition 30.
For a SAS+ task, an action a ∈ O is supported by an action b if and only if pre ( a ) ∩ eff ( b ) = ∅ . Definition 31.
For a state s , its action support graph (ASG) at s is definedas a directed graph in which each vertex is an action, and there is an edge from a ACM Journal Name, Vol. V, No. N, Month 20YY. · to b if and only if a is not applicable in s and a is supported by b . The above definition of ASG is a direct extension of the definition of a causalgraph. Instead of having domains as basic units, here we directly use actions asbasic units.
Definition 32.
For an action a and a state s , the action core of a at s ,denoted by AC s ( a ) , is the set of actions that are in the transitive closure of a in ASG ( s ) . The action core for a given set of actions A is the union of action coresof every action in A . Lemma 3.
For a state s , if an action a is not applicable in s and there is a validpath p starting from s whose last action is a , then p contains an action b, b = a, b ∈ AC s ( a ) . Proof.
We prove this by induction on the length of p .In the base case where | p | = 2, we assume p = ( b, a ). Since a is not applicable in s , it must be supported by b . Thus, b ∈ AC s ( a ). Suppose this lemma is true for2 ≤ | p | ≤ k −
1, we prove the case for | p | = k . For a valid path p = ( o , . . . , o k ),again there exists an action b before a that supports a . If b is applicable in s , then b ∈ AC s ( a ). Otherwise, we have a path p ′ = ( o , . . . , b ) with 2 ≤ | p ′ | ≤ k −
1. Thus,by the induction assumption, p ′ contains at least one action in AC s ( b ), which is asubset of AC s ( a ), according to Definition 31 and 32. (cid:4) Definition 33.
Given a SAS+ planning task Π with O as set of all actions O ,for a state s and a set of action A , the action closure of action set A at s , denotedby by C s ( A ) , is a subset of O and a super set of A such that for any applicable action a ∈ C s ( A ) at s and any action b ∈ O \ C s ( A ) , eff ( a ) and eff ( b ) are conflict-free. Inaddition, if pre ( b ) ∈ S , eff ( a ) and pre ( b ) are conflict-free. Intuitively, actions in C s ( A ) can be executed without affecting the completenessand optimality of search. Specifically, because any applicable action in C s ( A ) andany action not in C s ( A ) will not assign different values to the same state variable,for action a ∈ C s ( A ) and action b ∈ O \ C s ( A ) at s , path ( a, b ) will lead to the samestate that ( b, a ) does. Additionally, because pre ( b ) and ef f ( a ) are conflict-freewhen pre ( b ) ∈ s , executing action a will not affect the applicability of action b infuture. Therefore, actions in C s ( A ) can be safely expanded first during the search,while actions outside it can be expanded later.A simple procedure, shown in Algorithm 1, can be used to find the action closurefor a given action set A .The proposed POR algorithm, called stubborn action core (SAC), works as fol-lows. At any given state s , the expansion set E ( s ) of state s is determined byAlgorithm 2.There are various ways to find a landmark action set for a given state. Here wegive one example that is used in our current implementation. To find a landmarkaction set L at s , we utilize the DTGs associated with the SAS+ formalism. We firstfind a transition set that includes all possible transitions ( s i , v i ) in an unachievedgoal-related DTG G i where s i is the current state of G i in s . It is easy to see thatall actions that mark transitions in this set make up a landmark action set, because ACM Journal Name, Vol. V, No. N, Month 20YY. input : A SAS+ task with action set O , an action set A ⊆ Q , and a state s output : An action closure C ( A ) of AC ( A ) ← A ; repeatforeach action a in C ( A ) applicable in s doforeach action b in O \ C ( A ) doif pre ( b ) ∩ s = ∅ and pre ( b ) and eff ( a ) are not conflict-free then C ( A ) ← C ( A ) ∪ { b } ; endif eff ( b ) and eff ( a ) are not conflict-free then C ( A ) ← C ( A ) ∪ { b } ; endendenduntil C ( A ) is not changing ; return C ( A ) ; Algorithm 1:
A procedure to find action closure input : A SAS+ planning task and state s output : The expansion set E ( s )Find a landmark action set L at s ;Calculate the action core AC s ( L ) of L using Algorithm 1;Use AC s ( L ) as E ( s ) ; Algorithm 2:
The SAC algorithm G i is unachieved and at least one action starting from s i has to be performed inany solution plan.There are also other ways to find a landmark action set. For instance, the pre-processor in the LAMA planner [Richter et al. 2008] can be used to find landmarkfacts, and all actions that lead to these landmark facts also make up a landmarkaction set. Theorem 7.
For a state s , the expansion set E ( s ) defined by the SAC algorithmis a stubborn set at s . Proof.
We first prove that our expansion set E ( s ) satisfies condition A b ∈ E ( S ), and actions b , · · · , b k / ∈ E ( s ), if( b , · · · , b k , b ) is a valid path from s , then ( b, b , · · · , b k ) is also a valid path, andleads to the same state that ( b , · · · , b k , b ) does.To simplify this proof, we can treat action sequence ( b , · · · , b k ) as a “macro”action B where an assignment x t = v t in pre ( B ) if and only if x t = v t is in theprecondition of some b i ∈ B and x t = v t is not in the effects of a previous action b j ( j < i ), and an assignment x t = v t is in eff ( B ) if and only if x t = v t is in theeffect set of some b i ∈ B , and x t is not assigned to any value other than v t in theeffects of later action b j ( j > i ). In the following proof, we use the macro action B in place of the path ( b , · · · , b k ). ACM Journal Name, Vol. V, No. N, Month 20YY. · To prove A
1, we only need to prove that if (
B, b ) is a valid path, then s : b ⇒ B .According to Theorem 4, s : b ⇒ B if and only if the following four propositionsare true.a) Action b must be applicable in s . We prove this by contradiction. Let s ′ = apply ( s, B ), if b is not applicable in s , but applicable in s ′ , then B supports b .Since all effects of B are from actions in the path ( b , · · · , b k ), there exists an action b i ∈ { b , · · · , b k } such that b i supports b . However, according to Definition 32, b i is in the transitive closure of b in ASG ( s ). According to our algorithm, b i shouldbe in E ( s ). This contradicts with our assumption that b i / ∈ E ( s ). Thus, b must beapplicable at s .b) pre ( B ) and eff ( b ) are conflict-free. We prove this proposition by contradiction.If pre ( B ) and eff ( b ) are not conflict-free, we assume that pre ( B ) has x t = v t thatconflicts with an assignment in eff ( b ). According to the way we define B , thereexists an action b i ∈ ( b , · · · , b k ), such that x t = v t . Also, since B is applicable in s , we know that x t takes the value v t at s also. Therefore, we know that pre ( b i ) and eff ( b ) are not conflict-free. However, according to Definition 33 and Algorithm 1, b i is in E ( s ). This contradicts with our assumption that b i is not in E ( s ). Thus, pre ( B ) and eff ( b ) are conflict-free.c) eff ( B ) and eff ( b ) are conflict-free. The proof of this proposition is very similarto the one above. If they are not conflict-free, we must have action b i ∈ ( b , · · · , b k ),such that eff ( b ) and eff ( b i ) are not conflict-free. However, according to Definition 33and Algorithm 1, b i is in E ( s ). This contradicts with our assumption that b i is notin E ( s ). Thus, eff ( B ) and eff ( b ) are conflict-free.d) pre ( b ) and eff ( B ) are conflict-free. This proposition is true as we assumed incondition A B, b ) is a valid path from s .Thus, from Theorem 4, we see that s : b ⇒ B and that condition A A p from s containsat least one action in E ( s ). From the definition of landmark action sets, we knowthat there exists an action l ∈ L such that p contains l . From Lemma 3 we knowthat AC s ( l ) contains at least one action, applicable in s , in p . Thus, E ( s ) indeedcontains at least one action in p .Since E ( s ) satisfies conditions A A E ( s ) is a stubbornset in state s . (cid:4) SAC gives stronger reduction than the previous EC algorithm, since it is based onactions, which have a finer granularity than DTGs do. Specifically, SAC gives morereduction than EC for two reasons. First, applicable actions that are not associatedwith landmark transitions, even if they are in the same DTG, are expanded by ECbut not by SAC. Second, applicable actions that do not support any actions in thelandmark action set, even if they are in the same DTG, are expanded by EC butnot by SAC.To give an example, in Figure 4a, G1, G2, G3 are three DTGs. The goal assign-ment is marked as an unfilled circle in G1. a, b, c, d, e are actions. Dashed arrowsdenote the preconditions of actions. For instance, the lower dashed arrow means
ACM Journal Name, Vol. V, No. N, Month 20YY. Fig. 4. Search spaces of EC and SAC
Translation SearchKnowledgeCompilation
The Fast Downward System - Normalization- Invariant- Grounding- Translation - DTGs- Causal graph- Successor generator- Axiom evaluator - CG heuristic- FF heuristic- Best-first search
The SAC Extension - Commutativity analysis - Space reduction
Fig. 5. System Architecture of FD and SAC that b requires a precondition x = w .In this example, according to EC, G1 is a goal DTG and G2 and G3 are in thedependency closure of G1. Thus, before executing a , EC expands every applicableaction in G1, G2 and G3 at any state. SAC, on the other hand, starts with asingleton set { a } as the initial landmark action set and ignores action e . Applicableaction c is also not included in the action closure in state s since it does not support a . The search graphs are compared in Figure 4 and we see that SAC gives strongerreduction.
6. SYSTEM IMPLEMENTATION
We adopt the Fast Downward (FD) planning system [Helmert 2006] as our codebase. The overall architecture of FD is described in Figure 5. A complete FDsystem contains three parts corresponding to three phases in execution: translation,knowledge compilation and search. Translation module will convert planning tasks
ACM Journal Name, Vol. V, No. N, Month 20YY. · described into a SAS+ planning task. The knowledge compilation module willgenerate domain transition graphs and causal graph for the SAS+ planning task.The search module implements various state-space-search algorithms as well asheuristic functions. All these three modules communicate by temporary files.We make two additions to the above system to implement our SAC planningsystem, as shown in Figure 5. First, we add a “commutativity analysis” module intothe knowledge compilation step to identify commutativity between actions. Second,we add a “space reduction” module to the search module to conduct state spacereduction. The commutativity analysis module is used to build left commutativityrelations between actions and build the action support graph. It reads actioninformation from the output of knowledge compilation module and determines theleft commutativity relations between actions according to conditions in Theorem 3.In addition, this module also determines if one action is supported by another andbuilds the action support graph defined in Definition 31. The reduction modulefor search is used to generate a stubborn set of a given state. We implement theSAC algorithm in this module. Starting from a landmark action set L as the targetaction set, we find the action closure AC s ( L ) iteratively add actions that supportactions in the target action set to the target action set until it is not changing. Wethen use the applicable actions in the action closure as the set of actions to expandat s . In other words, in our SAC system, during the search, for any given state s ,instead of using successor generator provided by FD to generate a set of applicableoperators, we use the reduction module to generate a stubborn set in state s anduse it as the expansion set.It is easy to see that the overall time complexity of determining left commuta-tivity relationships between actions is O ( | A | ) where | A | is the number of actions.We implement this module in Python. Since the number of actions | A | is usuallynot large, in most of the cases, the commutativity analysis module takes less than1 second to finish. This module only runs once for solving a planning problem.Therefore, the commutativity analysis module amounts to an insignificant amountof overhead to the system. Theoretically, the worst case time complexity for findingthe action closure is O ( | A | ) where | A | is the number of actions. However, in prac-tice, by choosing the landmark action set L that associated with transitions in anunarchived goal-related DTG starting from current state, the procedure of findingaction closure terminates quickly after about 4 to 5 iterations. Therefore, addingthe reduction module does not increase the overall search overhead significantly ei-ther. We implement this module in C++ and incorporate it into the search moduleof FD.
7. EXPERIMENTAL RESULTS
We test our algorithm on problems in the recent International Planning Competi-tions (IPCs): IPC4, and IPC5. We implemented our algorithm on top of the FastDownward (FD) planner [Helmert 2006]. We only modified the state expansionpart.We have implemented our SAC algorithm and tested it along with Fast Downwardand its combination with the EC extension on a Red Hat Linux server with 2Gbmemory and one 2.0GHz CPU. The admissible HSP h max heuristic [Bonet and ACM Journal Name, Vol. V, No. N, Month 20YY. Geffner 2001] and inadmissible Fast Forward (FF) heuristic [Hoffmann and Nebel2001] are used in our experiments.First, we apply our SAC algorithm to A ∗ search with the HSP h max heuris-tic [Bonet and Geffner 2001]. We also turn off the option of preferred opera-tors [Helmert 2006] since it compromises the optimality of A ∗ search. Table Ishows the detailed results on node expansion and generation during the search. Wealso compare the solving times of these three algorithms. As we can clearly see fromTable I, the numbers of expanded nodes of the SAC-enhanced A ∗ algorithm are con-sistently lower than those of the baseline A ∗ algorithm and the EC-enhanced A ∗ algorithm. There are some cases where the generated nodes of the SAC-enhancedalgorithm are slightly larger than those of the baseline A ∗ or EC-enhanced A ∗ algo-rithm. This is possible due to the tie-breaking of states with equal heuristic valuesduring search.We can also see that the computational overhead of SAC is low. For instance,in the Freecell domain, the running time of the SAC-enhanced algorithm is onlyslightly higher than the baseline and lower than the EC-enhanced algorithm, despitetheir equal number of expanded and generated nodes.Aside from the A ∗ algorithm, we also test SAC on best-first search algorithms.Although POR preserves completeness and optimality, it can also be combined withsuboptimal searches such as best-first search to reduce their search space. In thiscomparison, we turned off the option of preferred operators in our experiment forFD. Preferred operator is another space reduction method that does not preservecompleteness, and using it with EC or SAC will lead to worse performance. Wewill investigate how to find synergy between these two approaches in our futurework. We summarize the performance of three algorithms, original Fast Downward(FD), FD with EC, and FD with SAC, in Table II by presenting the number ofproblem instances in a planning domain that can be solved within 1800 seconds byeach solver. We also ignore small problem instances with solving time less than 0 . pipesworld18 , tpp15 , truck13 ), the saving on the number of expanded states can be of orders ofmagnitude.
8. RELATED WORK
We discuss some related work in this section.
Symmetry detection is another way for reducing the search space [Fox and Long1999]. From the view of node expansion on a SAS+ formalism for planning, we cansee that symmetry removal is different from SAC. For example, consider a domainwith three objects A , A , and B , where A and A are symmetric, and actionsassociated with B have no conflict with any actions associated with A or A . Inthis case, symmetry removal will expand actions associated with ( A and B ) or( A and B ), whereas SAC will only expand actions associated with the DTG for B if we pick a landmark action set based on it. This is because both the action ACM Journal Name, Vol. V, No. N, Month 20YY. · core and the action closure will not include any actions associated with A or A as they have no conflict with actions in B .Intuitively, symmetric removal finds that it is not important whether A or A isused since they are symmetric, whereas SAC finds that it is not important whetheractions associated with B is used before or after actions associated with A i , i = 1 , B before those associatedwith A i , since any path that uses actions associated with A i before those associatedwith B corresponds to another valid path with the same cost.Further, there is limited research on domain-independent detection and removalof symmetry. The method by Fox and Long [Fox and Long 1999] detects symmetryfrom the specification of initial and goal states and may miss many symmetries. Factored planning [Amir and Engelhardt 2003; Brafman and Domshlak 2006; Ke-lareva et al. 2007] is a class of search algorithms that exploits the decomposition ofstate space. In essence, factored planning finds all the subplans for each individualsubgraph and tries to merge them. There are some limitations of factored planning.First, for some problems with dense subgraphs, the number of subplans in eachsubgraph may be very large, making the search very expensive. What is worse isthat there are many subgraphs in which the goal is not specified, leading to moresubplans that need to be considered. We have done some empirical study on thismatter. For example, for pipesworld20, there are 96 DTGs, 18 out of which havegoal facts. Even if we only consider one DTG and apply the canonicality assumption that each state can be included at most once in any subplan, the number of subplansfrom the initial state to the goal can be as high as 1.96 × in DTG . Thus, the search space will be extremelylarge if we consider all the 96 DTGs (78 of which do not even have a goal state) andremove the canonicality assumption. Of course, techniques such as tree search andpruning [Kelareva et al. 2007] can speed up the process but the potential speedupis largely unknown.Second, since the canonicality assumption is generally not true for many domains,and there are potentially infinite number of subplans without restriction on thesubplan length, the factored planning algorithm needs to use certain schemes suchas iterative deepening [Brafman and Domshlak 2006] to restrict the subplan length.These schemes further increase the complexity and may compromise the globaloptimality of the resulting plan [Kelareva et al. 2007].In summary, although factored planning has shown potential on some domain-dependent studies, its practicality for general domain-independent planning has notbeen established yet. We note that POR algorithms we studied in this paper arenot exclusive to factored planning and it is possible that POR can be integratedinto factored planning to reduce the cost of search. ACM Journal Name, Vol. V, No. N, Month 20YY. Our POR method is based on the SAS+ representation [Helmert 2006]. Recentlythere has been increasing interest in utilizing the SAS+ representation.The Fast Downward planner [Helmert 2006] develops its heuristic function byanalyzing the causal graphs on top of the SAS+ models. Another SAS+ basedheuristic for optimal planning is recently obtained via a linear programming modelencoding DTGs [van den Briel et al. 2007]. The LAMA planner derives inad-missible heuristic values by analyzing landmarks in SAS+ models [Richter et al.2008]. An admissible version of it is proposed in [Karpas and Domshlak 2009]by using action cost partitioning. Yet another admissible heuristic called ‘merge-and-shrink’ is developed based on abstraction of domain transitions [Helmert et al.2007], which strictly dominates the admissible landmark heuristics [Helmert andDomshlak 2009]. Moreover, long-distance mutual exclusion constraints based ona DTG analysis is proposed and shown to be effective in speeding up SAT-basedoptimal planners [Chen et al. 2009]. The DTG-Plan planner searches directly onthe space of DTGs in a hierarchical decomposition fashion [Chen et al. 2008]. Thealgorithm is shown to be fast but is not complete or optimal.Comparing to the above recent work, POR offers a completely new approach toexploit the state-space decomposition in the SAS+ representation. It is orthogonalto the design of better heuristics and it provides a systematical, theoretically soundway to reduce search costs.POR is most effective for problems where the action support graphs are direc-tional and the inter-action dependencies are not dense. It may not be useful forproblems where the actions are strongly connected and there is a high degree ofinter-action dependencies. For example, it is not useful for the 15-puzzle whereeach action on each piece is supported by surrounding actions, which makes theaction support graph strongly connected. In this case, POR cannot give reductionsduring the search.
9. CONCLUSIONS AND FUTURE WORK
Previous work in both model checking and AI planning has demonstrated thatPOR is a powerful method for reducing search costs. POR is an enabling techniquefor modeling checking, which will not be practical without POR due to its highcomplexity. Although POR has been extensively studied for model checking, itstheory has not been developed for AI planning. In this paper, we developed anew POR theory for planning that is parallel to the stubborn set theory in modelchecking.In addition, by analyzing the structure of actions in planning problems, we de-rived a practical criterion that defines left commutativity between actions. Basedon the notion of left commutativity, we developed sufficient conditions for findingstubborn sets during search for planning.Furthermore, we applied our theory to explain two previous POR algorithms forplanning. The explanation provided useful insights that lead to a stronger andmore efficient POR algorithm called SAC. Compared to previous POR algorithms,SAC finds stubborn sets based on a finer granularity for checking left commutativity,leading to strong reduction. We compared the performance of SAC to the previously
ACM Journal Name, Vol. V, No. N, Month 20YY. · proposed EC algorithm on both optimal and non-optimal state space searches.Experimental results showed that the proposed SAC algorithm led to significantlystronger node reduction and less overhead.In our future work, we plan to develop stronger POR algorithms for planningbased on our theoretical framework and study its interaction with other search re-duction techniques such as preferred operators [Helmert 2006], abstraction heuris-tics [Helmert et al. 2007], landmarks [Richter et al. 2008], and symmetry detec-tion [Fox and Long 1999]. REFERENCES
Amir, E. and Engelhardt, B.
Proc. IJCAI . Bonet, B. and Geffner, H.
Artificial Intelligence, Specialissue on Heuristic Search 129, Brafman, R. and Domshlak, C.
Proc.AAAI . Briel, M. V. D. , Benton, J. , and Kambhampati, S. . 651–665. Chen, Y. , Huang, R. , and Zhang, W. Proc. AAAI . Chen, Y. , Xu, Y. , and Yao, G. Proc. IJCAI . Chen, Y. and Yao, G.
Proc. IJCAI . Chen, Y. , Zhao, X. , and Zhang, W. ArtificialIntelligence 173,
2, 365–391.
Clarke, E. M. , Grumberg, O. , and Peled, D. A. Model Checking . The MIT Press.
Fox, M. and Long, D.
Proc. IJCAI . Helmert, M.
Journal of Artificial IntelligenceResearch 26 , 191–246.
Helmert, M. and Domshlak, C.
Proc. ICAPS . Helmert, M. , Haslum, P. , and Hoffmann, J. Proc. ICAPS . 176–183.
Helmert, M. and R¨oger, G.
Proc. AAAI . Hoffmann, J. and Nebel, B.
Journal of Artificial Intelligence Research 14 , 253–302.
Holzmann, G. J.
IEEE Trans. on Software Engineering 23 ,279–295.
Jonsson, P. and B¨ackstr¨om, C.
Artificial Intelligence 100,
Karpas, E. and Domshlak, C.
Proceedings ofthe 21st international jont conference on Artifical intelligence . Morgan Kaufmann PublishersInc., 1728–1733.
Kelareva, E. , Buffet, O. , Huang, J. , and Thi´ebaux, S. Proc. IJCAI . Richter, S. , Helmert, M. , and Westphal, M. Proceedings ofthe Twenty-Third AAAI Conference on Artificial Intelligence . AAAI Press.
Valmari, A.
Valmari, A.
Proceedings of the 10thInternational Conference on Applications and Theory of Petri Nets . ACM Journal Name, Vol. V, No. N, Month 20YY. Valmari, A.
Proceedings of the 1990 InternationalWorkshop on Computer Aided Verification . Valmari, A.
Proceedings of the 12th InternationalConference on Application and Theory of Petri Nets . 102–121.
Valmari, A.
CAV ’93: Proceedings of the5th International Conference on Computer Aided Verification . Springer-Verlag, London, UK,397–408.
Valmari, A.
Lectures on Petri Nets I: Basic Models,
LectureNotes in Computer Science , 429–528. van den Briel, M. , Benson, J. , Kambhampati, S. , and Vossen, T. Proc. Constraint Programming Conference . Varpaaniemi, K.
Formal Methods in System Design 26,
1, 45–67.
ACM Journal Name, Vol. V, No. N, Month 20YY. · Table I:
Comparison of FD, EC, and SAC using A* with h max heuristic on IPC domains.We show numbers of expanded and generated nodes. “-” means timeout after 300 seconds.For each problem, we also highlight the best values of expanded and generated nodesamong three algorithms, if there is any difference. Domain FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time airport airport airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
43 0.01 airport ✄✂ (cid:0)✁
20 0.01 airport ✄✂ (cid:0)✁
23 0.01 airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
202 0.06 airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport
10 19 20 0.01 19 20 0.01 19 ✄✂ (cid:0)✁
18 0.01 airport
11 22 28 0.01 22 28 0.01 22 ✄✂ (cid:0)✁
23 0.01 airport
12 122 328 0.03 104 119 0.07 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
195 0.06 airport
13 112 295 0.01 94 182 0.07 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
187 0.08 airport
14 2300 11144 0.84 2246 6324 2.14 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport
15 1910 9240 0.69 1904 5396 1.94 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ depot ✄✂ (cid:0)✁
981 0.02 depot ✄✂ (cid:0)✁ depot ✄✂ (cid:0)✁ depot ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ depot A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . continued from previous pageDomain FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time depot ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ depot ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ drivelog ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
183 0 drivelog ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ drivelog ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ drivelog ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ drivelog ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ f reecell f reecell f reecell f reecell f reecell f reecell f reecell f reecell f reecell f reecell
10 1953 14383 11.66 1953 14383 31.57 1953 14383 23.54 rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
558 0 rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
239 0 rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
397 0 rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . · continued from previous pageDomain FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time truck ✄✂ (cid:0)✁ truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . Table II:
Comparison of FD, EC and SAC with no-preferred operators on IPC’s domains.We show numbers of expanded and generated nodes. “-” means timeout after 1800 seconds.For each problem, we also highlight the best values of expanded and generated nodesamong three algorithms if there is any difference.
Domains FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time airport ✄✂ (cid:0)✁
43 106 0.03 46 102 0.08 45 ✄✂ (cid:0)✁
68 0.05 airport
14 78 321 0.07 70 199 0.19 70 ✄✂ (cid:0)✁
161 0.12 airport
15 67 224 0.06 66 163 0.2 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
141 0.12 airport
16 310 1541 0.35 315 1549 1.05 310 ✄✂ (cid:0)✁
740 0.62 airport
17 815 4682 1.15 21819 140496 101.16 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport
19 10564 65299 15.07 10621 65480 48.12 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ airport
21 102 274 0.24 102 256 1.57 102 ✄✂ (cid:0)✁
193 0.56 airport
22 149 524 0.51 150 509 3.34 149 ✄✂ (cid:0)✁
370 1.52 airport
23 169 620 0.81 169 561 6.03 169 ✄✂ (cid:0)✁
500 1.51 airport
24 166 888 1.14 1902 7459 70.58 ✄✂ (cid:0)✁
111 604 1.08 airport
25 33751 197109 256.95 - - - ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ driveslog
11 24 284 0.01 24 284 0.02 87 949 0.05 driveslog
12 78 1059 0.05 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
224 0.04 150 1875 0.13 driveslog
13 583 6396 0.25 75 864 0.06 75 864 0.07 driveslog
14 248 3378 0.13 75 883 0.07 75 ✄✂ (cid:0)✁
416 0.05 driveslog
16 64971 1331293 146.32 50855 1017221 110.91 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ driveslog
17 24860 804116 204.9 149938 5012829 1253.07 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ driveslog
19 834 26406 9.77 727 14443 7.37 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . · continued from previous pageDomains FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time f reecell ✄✂ (cid:0)✁
54 0.08 f reecell ✄✂ (cid:0)✁
100 0.01 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
122 0.14 20 127 0.13 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
238 0.17 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
236 0.35 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
384 0.7 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
814 2.23 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
436 0.83 85 501 1.13 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
500 2.6 112 667 3.93 122 719 3.3 f reecell
10 797 5043 50.79 4057 34183 217.53 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
597 5.49 f reecell
11 120 530 3.72 119 620 4.07 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
527 4.21 f reecell
12 192 1085 5.6 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
420 2.58 96 491 3.51 f reecell ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ f reecell
14 287 2274 31.27 339 2054 29.96 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
560 8.86 f reecell
15 1913 8642 140.72 531 2795 35.44 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ f reecell
16 3818 31173 143.88 409 2381 10.87 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ f reecell
17 246 1402 19.71 244 2849 23.62 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
740 10.99 f reecell
18 3480 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld pipesworld ✄✂ (cid:0)✁
473 0.74 12 531 0.79 pipesworld ✄✂ (cid:0)✁
165 5002 6.31 166 ✄✂ (cid:0)✁ pipesworld ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
970 0.34 451302 2168501 459.77 1615 7311 4.24continued on next page A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . continued from previous pageDomains FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time pipesworld
13 - - - 8083 54502 40.44 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld
14 3412 16652 6.01 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld
15 568191 2792188 1284.82 561869 2776786 1405.04 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld
17 156733 561923 292.99 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld
18 21164 230257 1049.83 491 5057 30.25 491 ✄✂ (cid:0)✁ pipesworld
20 - - - - - - ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pipesworld
21 4486 29504 32.43 - - - ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
10 585 5861 0.13 3679 37791 1.18 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
11 6294 68216 3.21 3815 33688 1.93 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
12 12922 139267 7.42 6888 63805 3.88 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
13 7757 91630 6.8 5554 70013 5.49 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
14 12291 1705578 190.82 15700 211138 22.96 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
15 9203 112319 15.12 13788 181676 29.22 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
16 - - - 48549 783502 176.84 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ tpp
20 - - - - - - ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ storage ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ storage
14 265 2727 0.2 212 2137 0.19 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ storage
15 57 ✄✂ (cid:0)✁
603 0.13 59 622 0.13 ✄✂ (cid:0)✁
56 629 0.18 storage
16 52 697 0.25 31 412 0.21 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
357 0.22 storage ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ storage
18 361 5628 1.68 482 6173 1.86 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . · continued from previous pageDomains FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time storage ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck ✄✂ (cid:0)✁
74 0.01 truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
298 0.03 truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
148 0.05 truck ✄✂ (cid:0)✁
227 0.02 truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
244 0.05 truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
255 0.07 truck ✄✂ (cid:0)✁ truck ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
798 0.17 truck truck
10 139416 8111005 179.09 139416 8111005 186.29 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck
11 4715 344079 13.89 4715 344079 14.25 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck
12 320765 30119993 1357.29 320765 30119993 1352.82 320790 ✄✂ (cid:0)✁ truck
13 525967 27598625 1181.73 525967 27598625 1182.49 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck
14 37380 863543 46.23 37380 863543 47.36 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck
15 59659 1356218 79.9 59659 1356218 84.26 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ truck
17 - - - - - - ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
224 0.01 rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
554 0.01 rover ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover
10 232 7321 0.09 232 7321 0.12 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover
11 1074 24425 0.28 1074 24425 0.35 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover
12 26 531 0.01 26 531 0.01 26 ✄✂ (cid:0)✁
438 0.01continued on next page A C M J o u r n a l N a m e , V o l. V , N o . N , M o n t h YY . continued from previous pageDomains FD EC SACExpanded Generated Time Expanded Generated Time Expanded Generated Time rover
13 175 4523 0.09 175 4523 0.12 191 ✄✂ (cid:0)✁ rover
14 81 2075 0.03 81 2075 0.04 215 2424 0.06 rover
15 570 16587 0.25 570 16587 0.29 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover
16 545 13945 0.24 545 13945 0.27 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover
17 - - - 445 16811 0.54 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ rover
18 37590 1532969 52.87 37590 1532969 63.4 ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ openstack ✄✂ (cid:0)✁
170 0.01 openstack openstack ✄✂ (cid:0)✁
672 0.09 pathway ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
84 0.01 pathway ✄✂ (cid:0)✁ ✄✂ (cid:0)✁
624 0.01 pathway ✄✂ (cid:0)✁ ✄✂ (cid:0)✁ pathway ✄✂ (cid:0)✁ ✄✂ (cid:0)✁