Abstract

Planning with forced goal-ordering (FGO) constraints has been proposed many times over the years, but there are still major difficulties in realizing these FGOs in plan generation. In certain planning domains, all the FGOs exist in the initial state. No matter which approach is adopted to achieve a subgoal, all the subgoals should be achieved in a given sequence from the initial state. Otherwise, the planning may arrive at a deadlock. For some other planning domains, there is no FGO in the initial state. However, FGO may occur during the planning process if certain subgoal is achieved by an inappropriate approach. This paper contributes to illustrate that it is the excludable constraints among the goal achievement operations (GAO) of different subgoals that introduce the FGOs into the planning problem, and planning with FGO is still a challenge for the heuristic search based planners. Then, a novel multistep forward search algorithm is proposed which can solve the planning problem with different FGOs efficiently.

1. Introduction

A large majority of real-world problems have interfering subgoals. How to effectively plan for the interfering subgoals, especially when there are forced goal-ordering (FGO) constraints, has been a long term focus. As the Goal Agenda Manager (GAM) [1] used in the FF planner [2] and the ordered landmarks [3, 4] introduced in the LAMA planner [5], quite a number of approaches have been proposed but the performance results have scarcely improved. This is because, if any of the FGO constraints is violated, forward search may arrive at a deadlock, from which there is no way to reach the goal state. However, the proposed approaches such as GAM and landmark cannot detect all the deadlocks exactly and the undiscovered deadlocks make a planning difficult. In this case, this paper proposes an approach that can automatically put right the planning process when it leads the search to a deadlock and significantly improve the planning efficiency.

Many real-world problems as in military, industrial, aviation, and space domains involve FGO constraints. An example is a naval platform which has to counter many incoming missiles with different weapons [6]. Firing weapons at one missile may interfere with the interception of others. Thus it can cause the naval platform to suffer from high probability of leaking if the missiles are countered in an incorrect order. Another example is a scenario of a robot rescue [7]. Each robot has a special ability, such as survivor search/transport, cleaning barriers, or medical distribution. The rescue tasks should be finished coordinately in constrained orderings with respect to a given environment. Certain robots only care about their own subgoals and achieving them too early may result in the failure of an entire military operation. Additionally, FGO constraint can be observed in a NASA scenario as a digger robot is allowed to dig the ground on mars only after a photograph robot has taken a picture of the site [8]. Along with the complex domain dependent constraints, the FGO constraint is one of the main challenges that a planner needs to overcome for the above problems.

Next, we first give the problem statement. Some definitions and properties are proposed to explain why FGOs occur for a planning problem. Then, a novel forward search algorithm is proposed to solve the planning with FGOs. Based on the evaluation, it can be concluded that planning with FGOs is still a challenge for current automatical planners but our method can solve it efficiency.

2. Problem Statement

Before introducing forced goal ordering (FGO), we first give the description of a planning problem as given in [1].

In a planning problem definition, is a finite set of ground actions with the STRIPS style (in this paper). For any , there is , where , , and are finite sets of ground atoms. is the precondition set under which the action is applicable. and are the atoms added or deleted after the execution of the action. and are the finite sets of ground atoms and represent the initial and goal state of the problem. For any given state and action , the result of applying to is For the action sequence (, ), there is The planning problem is finding a sequence of actions , such that . The set of action sequence is defined as . A state is reachable from the initial state if and only if , s.t., . Similarly, an atom is achievable from a certain state if and only if or , s.t., . An action is applicable in a reachable state if and only if .

Definition 1 (forced goal ordering (FGO) [1]). For the planning problem , let be the atomic goals. We say that there is a forced ordering between and , written as , if and only if, for any state , there is no plan satisfying . represents a reachable state, in which has just been achieved, but is false.
In any given state, an atomic goal remaining false means that the goal is not achieved. Definition 1 illustrates that forward search arrives at deadlock when there is and the atomic goal is achieved before . In some of the literatures [2, 9], is called a dead-end state too. During the planning process, forward search which violates any of the FGOs may lead the planning to a deadlock, from which there is no way to the goal state.
With respecting to the FGO, there is goal ordering defined as reasonable goal ordering (RGO) written as . There is a reasonable ordering between and , if and only if, for any reachable state , there is no longer a plan that can achieve from without deleting , at least temporarily [1]. So, if there is and is achieved before , in order to get a plan solution, the planning must first delete the achieved goal , then to achieve , and last to achieve again. In this paper, as to focus the problem on FGO, it is supposed that there is no goal deletion during the planning process. Each goal cannot be deleted once it has been added.
The first planning domain for planning competition with FGOs is the Floortile proposed in the International Planning Competition (IPC) 2011 [10]. During the competition, no participating planner in the sequential satisficing track can solve it well. Figure 1 shows an example of the Floortile domain in the IPC 2011. In the initial state, the status of all floor tiles is clear. Floor tiles need to be painted black and white, while adjacent tiles should have different colors. Robots can only paint tiles that are in front (up) or behind (down). Moreover, once a tile is painted, a robot cannot stand on it. This particular configuration makes the domain very hard to solve because of the existence of FGOs. For example, suppose a robot first selects the tile(2,1) to paint in white. In further planning steps, the robot can only stand on a tile(2,1) to paint the front tile(3,1) in black. This process can be achieved if and only if the atom (robot-at tile(2,1)) is true. However, this atom is not true and cannot be added once the tile(2,1) has been painted. The reason is that the atom (robot-at tile(2,1)) is mutually exclusive with the atomic goal (painted tile(2,1) white), and (painted tile(2,1) white) cannot be deleted once it has been added. Therefore, painting tile (2,1) before (3,1) violates the FGO constraint, in consequence, causing the search to arrive at a deadlock.

In this example, there are many FGOs in the Floortile problem, and the robots should paint tiles obeying a correct sequence. In the case of Figure 1, the FGOs are(painted tile(3,1) black) (painted tile(2,1) white) (painted tile(1,1) black);(painted tile(3,2) white) (painted tile(2,2) black) (painted tile(1,2) white);(painted tile(3,3) black) (painted tile(2,3) white) (painted tile(1,3) black).

In the above domain, all the FGOs exist in the initial state. No matter which approach is adopted to achieve an atomic goal, all the atomic goals should be achieved in a given sequence starting from the initial state. Otherwise, the planning may arrive at a deadlock. However, in some real-world planning problem, there is no FGO in the initial state. For any , planning starting from the initial state to firstly achieve or would not lead to a deadlock. However, the planning may arrive at a given state () without FGO among , , and . Now, if certain plan as is selected to achieve while translating the search to state , then there is or .

Figure 2 shows an example for the air defense of a naval group (ADoNG). A naval group has some Surface to Air Missile (SAMs) and chaffs to intercept the incoming antiship missiles. The arrived antiship missiles at the same time is supposed to locate at a spherical surface above the naval group, which can be transferred into a rectangular plane as shown in Figure 2. In each rectangle, there is an antiship missile, while one ship of the naval group can fire a SAM or chaff to intercept it. However, once a chaff is employed to intercept an antiship missile in a given rectangle, the rectangles in the up, down, left, and right of the given rectangle should be interfered by the chaff cloud. If certain rectangle is interfered by the chaff cloud from one direction, the antiship missile in this interfered rectangle can only be intercepted by chaff, because chaff cloud can prevent the radar from guiding the SAM interception. Moreover, if certain rectangle is interfered by the chaff cloud from more than one direction, the antiship missile in this rectangle cannot be intercepted, because the radar of the naval group may lose the accurate position of the antiship missile. The goal state is to intercept all the incoming missiles by the given SAMs and chaffs.

For the planning of the air defense of a naval group, there is no FGO in the initial state. Taking the problem shown in Figure 3 as an example, there are 4 antiship missiles in a rectangular plane with 3 chaffs and 1 SAM. Obviously, in the initial state, every antiship missile can be intercepted with the highest priority. However, if the antiship missile in rectangle (2, 1) is firstly intercepted by a chaff, there are FGOs and in the successor state, and the antiship missile in (1, 2) must be intercepted by a SAM. However, if the antiship missile in rectangle (2, 1) is firstly intercepted by a SAM, there is no FGO for the remaining antiship missiles in (1,1), (1,2), and (2,2).

Heuristic search planning (HSP) has become a dominant domain independent paradigm over the last decade [5]. The HSP method, first proposed by Bonet and Geffner [11], performs a forward search from an initial state to a goal state in a search graph. This method employs some powerful heuristic estimators to guide the search in a fast forward manner towards the goal state, with the help of heuristics for choosing helpful actions to extend the search closer to the goal state. In the past, great success has been achieved in heuristic search planning systems, such as FF [2], FD [12], SGPlan [13], and LAMA [5]. Researchers have also considered various goal interactions in multiple-goal achievement and detection [1, 14]. All of the above planners have their own approaches to deal with the goal orderings.

Among the previous works, the most relevant methods to our approach are Goal Agenda Manager (GAM) and ordering landmarks. The concept of a Goal Agenda Manager (GAM) was proposed in [1] to detect the reasonable goal orderings. The GAM is widely used in many planning systems such as IPP and FF, which can improve the performances of IPP and FF dramatically. A GAM defines the order in which the subgoals are achieved. In the beginning of a search process, a GAM is employed to check all the ordering relationships of each atomic goal pair. Then, the search divides the goal set into many subsets so that the planner can achieve each of them in sequence.

For each atomic goal pair as , GAM uses and , where , to calculate whether there is an action sequence satisfying . If there is not, there exists an ordering defined as . Otherwise, the GAM checks whether exists. Therefore, there are atomic goal pairs that need to be checked.

A concept known as “landmark” is defined to extend the GAM on goal ordering at top-level atomic goals as well as certain states known as landmarks during a planning process [3, 4]. For a planning problem (), an atom is called a landmark if, for any and , there is (). A planning system that uses landmarks obtains all the landmarks of the problem at the beginning of the planning process. The planner then orders them heuristically. It uses a backtracking method via a relaxed plan graph (RPG) [2] to find the candidate landmarks and their orders. For example, all the atomic goals are landmarks. For each atomic goal , the atoms in are treated as new landmarks, where there is relationship for each . Then, is treated as a new atomic goal. The landmark-generation algorithm repeats the above process from the top level of the RPG to the lowest level.

The third method to handle the goal ordering is the incremental planning process adopted by the planner SGPlan6 [13, 15]. As shown in Figure 4, the incremental planning process try to check part of the goal orderings in the initial state. Some of the checked atomic goals which can be achieved with high priority are firstly handled. Then, the incremental planning process try to find out more other goal orderings in current state and achieve part of atomic goals with high priority. The planning continues the above process until all the atomic goals are achieved.

4. Why FGOs Occur?

Definition 2 (goal achievement operation (GAO)). For planning problem , is a GAO, if , satisfying . is written as .

Definition 3 (available GAO). is available in a given state , if and only if , or , .

For an unachieved atomic goal in , an available GAO as represents a plan, written as , while . So, if , there is . Otherwise, if , there is .

Definition 4 (available GAO sequence). Suppose that while is reachable, and there is at least one available GAO as () for each in ( is the number of atomic goals contained in ). These GAOs can be ranked as an available GAO sequence if and only if(1)these GAOs are ranked in a correct sequence , (, if , , );(2)there are number of corresponding plans such that

Property 1. For the planning problem with FGO constraints, the reachable state is not a deadlock if and only if there is at least an available GAO sequence for the maximum unachieved atomic goal set in .

Proof. Based on Definition 4, suppose that the maximum unachieved atomic goal set in is . Since goal deletion is not considered in this paper, there is a plan s.t., . Therefore, is not a deadlock. Additionally, if is not a deadlock, there must be at least one available GAO sequence in .

Definition 5 (excludable constraint of GAO). For a reachable state , there are available GAO for and for . There is an excludable constraint in , written as , if and only if is unavailable in state .

Definition 6 (excludable GAO set). In a reachable state , the excludable GAO set for the available GAO () is written as , if and only if, (1) for any (,  ), there is ; (2) for any , there is ; (3) for any , there is not .

Definition 7 (equivalent GAO). In a reachable state   , and are two different available GAOs for . and are equivalent in , written as , if and only if .

Definition 8 (equivalent State). Reachable states and are equivalent, written as , if and only if, for any , there is , there must be and vice versa.
In a reachable state , for an available GAO with , there may be two different action sequences and satisfying and . However, might not be equivalent with . In this case, the atomic goal achieved by the same GAO may lead the search to two different nonequivalent states. Planning with this feature may increase the search space dramatically when handling the planning with FGOs. Therefore, with respect to the above case, we can define two different GAOs as and to replace to ensure that, in a given state, achieving an atomic goal by the same GAO should lead the search to the equivalent state. Namely, for a given reachable state and an available GAO , for any , if there are and , there must be .

Property 2. For a reachable sate (, ) and two available GAOs and , there are and . If both and are not deadlock and there is , there must be .

Proof. Suppose that is the set of all possible available GAO sequences contained in , is the set of all possible available GAO sequences contained in , and is the set of all possible available GAO sequences contained in . As and have the same excludable GAO set, there must be . It can be inferred that . As and have the same set of possible available GAO sequences, it can be declared that, for any available GAO sequence contained in (), this available GAO sequence must be available in (). So there is .

Property 3. For the planning problem , is a reachable state. and are two different available GAOs of in while . Starting from , if selecting to achieve leads the planning to state and selecting leads the planning to state , then, for any (), if there is in , there must be in .

Proof. Based on the Property 2, it can be inferred that and have the same set of possible available GAO sequences. So if there is in , there is no available GAO sequence contained in which can achieve before . As and have the same set of possible available GAO sequences, so starting from , cannot be achieved before too. So there is in . Obviously, by the same way, it can be inferred that, if there is in , there must be in .

Property 3 illustrates that, during the planning process, selecting the equivalent GAO to achieve an atomic goal introduces the same possible FGOs into the planning.

Definition 9 (independent goal set). For the planning problem , the goal set can be divided into independent goal sets, written as (), while and (for all , ). and are called independent with each other, if and only if, for any and , there is no excludable constraint between the GAO of and in each reachable state.
Based on the above discussion, it can be concluded that FGOs occur just because there are excludable constraints among the GAOs of different atomic goals. Take the instance shown in Figure 1 as a example. In the initial state, the available GAO for atomic goal (painted tile(3,1) black) is (paint-up robot1 tile(3,1) tile(2,1)). The available GAOs for atomic goal (painted tile(2,1) white) are (paint-up robot1 tile(2,1) tile(1,1)) and (paint-down robot1 tile(2,1) tile(3,1)), as there are(paint-up robot1 tile(2,1) tile(1,1))    (paint-up robot1 tile(3,1) tile(2,1));(paint-down robot1 tile(2,1) tile(3,1))    (paint-up robot1 tile(3,1) tile(2,1));So there is (painted tile(3,1) black)    (painted tile(2,1) white) in the initial state.
Furthermore, for the planning which has no FGO in the initial state, the excludable constraints among the GAOs may introduce FGOs into the planning process. As the example shown in Figure 3, in the initial state, each antiship missile can be intercepted by a SAM or chaff. However, as there are(Chaff-Intercept (2,1))    (SAM-Intercept (1,1)) (Chaff-Intercept (2,1))    (SAM-Intercept (2,2)) the FGOs (intercept (1,2))    (intercept (1,1)) and (intercept (1,2))    (intercept (2,2)) occur.
Obviously, for the planning problem , if for all () while is independent with as Definition 9 described, no FGO may occur during the planning process.
Next, a forward search algorithm is proposed based on the above discussion to solve the planning problem with different FGOs.

5. A Novel Forward Planning Algorithm

During the planning process, selecting a GAO with the bigger excludable GAO set to achieve an atomic goal has the higher probability to introduce FGOs into the planning. Generally, for the same atomic goal, a search algorithm prefers to select the GAO with the smaller excludable GAO set first to achieve it. However, for some planning problem, keeping to select the GAO with smaller excludable GAO set first may cause certain operation resource excessively consumed. In this case, the later planning process can only select the GAO with the bigger excludable GAO set to achieve each atomic goal. Then, planning may lead to a deadlock as the FGOs introduced by the excludable GAOs. Therefore, with respect to the planning algorithm proposed in this paper, the atomic goal as with the fewest number of available GAO is firstly selected to be achieved by an available GAO with the biggest excludable GAO set. Then, calculate the number of available GAO for the remaining unachieved atomic goals. The atomic goal, whose number of available GAO is decreased after the achievement of , is selected to be achieved with high priority. Continuing the above process, if planning arrives at a state which contains an unachieved atomic goal without available GAO, move the achievement sequence of this atomic goal ahead and find an available GAO with the smallest excludable GAO set to achieve it, while ensuring that all the prior achieved goals can also be achieved by the prior selected GAOs (or the equivalent GAOs).

The excludable GAO set based forward search algorithm Ex_MsFS (multi-step forward search) for the planning with FGOs is displayed in Algorithm 1. In the initial state , the planning selects an atomic goal with the fewest number of available GAO to be achieved first (step 04). With respect to the selected atomic goal as , the available GAO as with the biggest excludable GAO set is selected with the highest priority to achieve (step 08). Then, in the successor state after achieved (step 09), there exist the following two cases. In case one, there is an unachieved atomic goal as , which has no available GAO in . In this case, is a deadlock. All possible available GAOs for in are excluded by the GAOs which have been adopted to achieve the earlier selected atomic goals contained in . So the achievement sequence of should be moved ahead (step 12). The detailed moving algorithm is lately discussed in Algorithm 2. For case two (step 20), if all unachieved goals in have available GAO, the atomic goals which have fewer available GAOs in than that in should be selected to be achieved with high priority starting from by the depth-first search strategy (steps 23, 07).

Input: planning problem .
Output: plan with
01  , , ;
02     do{
03      , ;
04     select with the fewest number of available GAO;
05      .push_back(( )), ;
06     do{
07       .pop_back(). , .pop_back(). ;
08       select an available GAO with the biggest excludable GAO set;
09       ; .push_back(( ));
10       for each  
11        if does not have available GAO in
12       if Move_ahead ==true;
13        .clear(), , .back(). ;
14       else
15       if   .contain( )== true
16            return FAILURE;
17      else
18        .clear(), .clear(), .insert( );
19        .push_back(( )), go to step 05;
20       for each  
21          if Available GAOs of in is fewer than that of in
22         if   .contain(( ))==false
23         .push_back(( ));
24           }while( )
25     for  .size()-1
26     .push_back( . );
27       , .clear();
28    }while( )
29    return  .

Input: Achieved goal sequence list . Goal whose achievement
sequence needs to be moved ahead.
Output: New goal achievement sequence list
01 bool =false, .size();
02 for   :1
03        ;
04       for  
05         ;
06        .push_back( );
07        ;
08       bool =false;
09    is the available GAO
          set of in . For , there is .
          The GAO in set has the smaller excludable GAO 
           set than that of in if there is ;
10        for   1:
11          select an available GAO from ;
12          
13          if   , has no available GAO in )
14           continue;
15          else
16            =true;
17           break;
18       if( ==true)
19        .push_back( );
20       bool false;
21        for  
22          ;
23         if( or its equivalent GAO is available in )
24           or ;
25           ;
26           ;
27          .push_back( );
28         else
29           =true;
30          break;
31        if( ==false)
32        true;
33       return ;
34      else
35       continue;
36   return ;

The algorithm used in step 12 of Algorithm 1 is displayed in Algorithm 2. For the step 11 of Algorithm 1, when there is an atomic goal as having no available GAO in current state, it means that certain achieved goals stored in list (step 09 of Algorithm 1) should not be achieved before . So the achievement sequence of should be tried to move ahead. Suppose there are elements contained in . Each element is written as , which means that selecting the available GAO in current state to achieve goal transfers the state to the successor . The atomic goals contained in the list are achieved by the sequence from the head to the end. The algorithm tries to set as the th () goal to be achieved (step 02). The atomic goals stored in from the location index 1 to are still achieved by the previously selected GAOs (steps 04–06). Then, it is the turn to select an available GAO to achieve . As to ensure that all the atomic goals stored in list from the location index to can still be achieved by its previously selected GAOs or the equivalent GAOs of the previously selected GAOs, the algorithm chooses an available GAO with the smallest excludable GAO set to achieve (step 09–17). Now, the algorithm starts to check whether the atomic goals stored in list from the location index to can still be achieved by its previously selected GAOs or whose equivalent GAOs (steps 21–35). If it is, it means that, with respect to the atomic goals in , can be taken as the th goal to be achieved. So the algorithm returns (steps 31–33). Otherwise, move ahead as the th goal to be achieved. If achieving before all the atomic goals in list still cannot ensure that the atomic goals stored in list can be achieved by their previously selected GAOs or whose equivalent GAOs, the Move_ahead algorithm returns (step 36).

Based on Algorithms 1 and 2 and the Definition 9, it can be inferred that, for each do_while loop (steps 06–24) of the algorithm Ex_MsFS, the achieved goals contained in each list defined in step 03 of Algorithm 1 come from the same independent goal set. During the depth-first search process, all the atomic goals which are related with each selected goal (in step 04 of Algorithm 1) are stored in each list . Obviously, the atomic goals in each list are from the same independent goal set. For the moving ahead process displayed in Algorithm 2, the requirement that all the achieved goals in each list can still be achieved by their previously selected GAO or their equivalent GAO after the achievement sequence of certain atomic goal is moved ahead, is to ensure that with respect to each list , the elements having contained in list would not be changed during the moving ahead process. The reason is that the equivalent GAO makes an atomic goal lose the same number of available GAOs. So the depth-first process could not be inferred by the moving ahead process.

Figure 5 gives an example of the air defense for a naval group to illustrate the search process of Ex_MsFS. In the initial state, there are 6 antiship missiles. There are 5 chaffs and a SAM that can be used to intercept all the antiship missiles while the antiship missile in rectangle (2,1) must be intercepted by a chaff. As there is only one available GAO for the missile in (2,1), Ex_MsFS selects the missile in (2,1) to firstly intercept by a chaff and transfers the state to (step 04 of Algorithm 1). Element is pushed into list (steps 08-09 of Algorithm 1). When the missile in (2,1) is intercepted by a chaff, the rectangles (1,1) and (2,2) are interfered by the chaff cloud coming from rectangle (2,1). So the missiles in (1,1) and (2,2) cannot be intercepted by SAM. The number of available GAOs for missiles in (1,1) and (2,2) in is fewer than that of in . Therefore, missiles in (1,1) and (2,2) are pushed back into list (steps 22-23 of Algorithm 1) and assigned the higher priority to be intercepted during in the depth-first process. Suppose that missile in (2,2) is firstly selected to be intercepted by a chaff in state (step 07). Planning leads to and element is pushed back into list (step 09 of Figure 4). At the same time, missiles in (1,2) and (2,3) are pushed back into list (step 22 of Algorithm 1).

Continuing the above process, element is pushed back into list and missiles in (1,3) is pushed back into list . Now, the planning arrives at state and list pops back the missile in (1,3) to intercept. As rectangle (1,3) is interfered by the chaff cloud from rectangle (2,3), the missile in (3,1) can only be intercepted by a chaff. In this case, rectangle (2,3) should be interfered by the chaff cloud from rectangles (2,2) and (1,3) as the state shows. So there is no available GAO for the missile in (1,3), and the interception sequence of the missile in (1,3) needs to be moved ahead (steps 11-12 of Algorithm 1).

Now, the move_ahead algorithm tries to intercept the missile in (1,2) before that of in (1,3). It means to intercept the missile in (1,2) using starting from state . This selection may lead the search to state , in which missiles in (1,1) and (1,3) cannot be intercepted. So the intercept sequence of missile in (1,2) should be further moved ahead. The move_ahead algorithm tries to intercept it before the missile in (2,3), which leads the planning to state . Obviously, the missile in (1,1) cannot be intercepted starting from . So the missile in (1,2) should be intercepted before the missile in (2,2). It means intercepting the missile in (1,2) starting from . Now, the available GAO () with the smaller excludable GAO set is selected. Furthermore, all the missiles in (2,2), (2,3), and (1,3) can still be intercepted by its previously selected GAOs. After the moving ahead process, planning arrives at state , from which the goal state can be arrived after the missile in (1,1) is intercepted by the last one chaff.

6. Discussion of the Problem and Algorithm

This section proposes some properties about the planning with FGOs and the search algorithm Ex_MsFS.

Property 4. The complexity for solving the planning with FGOs, all of which exist in the initial state and are irrelevant with the approach for each atomic goal to be achieved, is , where .

Proof. As all the FGOs exist in the initial state and are irrelevant to the approach for each atomic goal to be achieved, the search can arrive at the goal state if and only if all the atomic goals are achieved by a correct sequence. It is a complete permutation problem. So the complexity is .

Property 5. The complexity for solving the planning problem, in which there is no FGO in the initial state but FGOs would occur during the planning process if and only if certain goal is achieved by an inappropriate approach, is up to , where and is the average number of approach that can be adopted to achieve each atomic goal.

Proof. In this case, all the atomic goals should be achieved in a correct sequence, and each atomic goal should be achieved by an appropriate approach. However, as there is no FGO in the initial state, not all the atomic goals need to take part in the complete permutation. So the complexity is up to .

For the Floortile problem, the solving complexity is while the air defense planning problem for a naval group is up to .

Property 6. For a solvable problem with FGOs, the Ex_MsFS algorithm is sufficient to returning a plan solution if the move_ahead algorithm returns (step 12 of Algorithm 1) for each time it is called.

Proof. If the move_ahead algorithm returns (step 12 of Algorithm 1) for each time that it is called, it means the search process which violates certain FGO constraints has been put right. So the search process can arrive at the goal state and return a plan solution.

For some planning problem, the search may arrive at certain state, from which no matter which, atomic goal is firstly selected to achieve, the search should arrive at a deadlock. In this case, the move_ahead algorithm always returns and the Ex_MsFS algorithm cannot return the plan solution. Therefore, further works need to be done to extend the Ex_MsFS algorithm to a more general case.

Property 7. Evaluated by the Relaxed Graph [2], Ex_MsFS algorithm is an enforce hill-climbing algorithm, which climbs multiple steps each time.

Proof. Suppose is the distance, calculated by the Relaxed Plan Graph, between the reachable state and the goal state , where . In the estimator of Relaxed Graph, where () is the unachieved atomic goal in , and is the number of actions in the relaxed graph to achieve the atomic goal starting from . Set contains actions shared by different atomic goals during their achievements in the relaxed graph, where is the frequency of that has been shared. For each atomic goal as selected in step 04 of Algorithm 1, the Ex_MsFS algorithm selects an available GAO and generates a plan to achieve , which transfers the search from the current state to the successor state . As action deletion is not considered in the relaxed graph, there are and
Suppose that has independent actions to other atomic goals in the Relaxed Graph starting from . The value of is . Therefore, for each selected atomic goal, there is . The search direction of the Ex_MsFS algorithm is along the direction of the enforced hill climbing by steps at a time toward a goal state.

7. Evaluation

This paper evaluates the proposed algorithm Ex_MsFS by comparing it with the following planning systems:(1)FF planning system [2], in which the GAM heuristic is used for the detection of goal ordering,(2)SGPlan6 [13], which adopts the incremental planning process to handle the goal orderings,(3)LAMA 2008 planning system [5], which adopts the hill-climbing strategy where the preferred actions of each step are selected by the FF and landmark heuristics. Moreover, the orderings of (disjunction) landmarks are calculated based on the domain transition graph and the causal graph.

FF, SGPLan6, and LAMA 2008 won the 1st prize of the satisficing planning track in IPC 2001, 2006, and 2008 respectively. In addition, the LAMA 2008 planning system consists of translating, processing, and searching modules. The translating and processing modules are used to construct some structured data, based on which, searching module is employed for forward search. In this paper, in order to compare the Ex_MsFS with the previous approaches, we use the Ex_MsFS algorithm to replace the search modules of the Lama 2008 planning system.

The competition domains are the Floortile proposed in IPC 2011 and the air defense of naval group problem introduced in Section 1. For an air defense of naval group problem, there are antiship missiles while SAMs and chaffs can be used. As this paper focuses on the efficiency when to solve a planning problem with FGOs, the quality of the planning solution is not considered. So we evaluate each planner by the scale of planning problems it can solve. The experiments are implemented in the Mac OS X with 2.4 GHz Intel Core 2 Duo and 2 GB 1067 MHz DDR3 memory. Each instance fails if the running time is more than 1,200 seconds.

Figure 6 shows the running time curves of the four different search approaches on the Floortile domain. There are 20 instances while LAMA 2008 can only solve 3 instances and FF can only solve 4 instances. However, SGPlan6 and the Ex_MsFS algorithm can solve all of the instances. Moreover, in this domain, SGPlan6 can solve each instance with the fewer time cost than Ex_MsFS. The reason is that the incremental planning process is very suitable in handling the FGOs of the Floortile domain. Taking the instance displayed in Figure 1 as an example, the incremental planning process first paints the upest tiles as (3,1), (3,2), and (3,3). Then, it paints the tiles (2,1), (2,2), and (2,3). At last, it paints the tiles (1,1), (1,2), and (1,3). This process satisfies the FGO constraints.

For the air defense of naval group problem, SGPlan6 can only solve only 1 out 0f the 17 instances while FF and LAMA 2008 can solve 10 instances. Moreover, as there are time constraints during the air defense process of the naval group in real world, if we require that each instance should be solved within 20 seconds, FF can solve only 7 instances and LAMA 2008 can only solve 6 instances. However, the Ex_MsFS approach can solve all of the 17 instances and return the solution plan for each instance within 10 seconds.

Based on Figure 7, it can be inferred that air defense of naval group problem is a new challenge for many current planners and Ex_MsFS can solve the planning problems with different FGOs efficiently.

8. Conclusions and Future Works

This paper contributes to introduce a new planning domain with FGOs, for which all the current related planners do not perform well when solving it. Then, a new search algorithm is proposed which can solve the planning problem with different FGOs efficiently.

For future works, the Ex_MsFS should be extended to a more general case to solve more real-world problems with FGOs. Also, machine learning approach [16, 17] can be employed to obtain more informed about FGOs. The learned knowledge can improve the efficiency of the search process. Moreover, a human-computer method is considered for planning with FGO constraints. As some FGO constraints may easily be inferred by humans and other FGO constraints can be learned easily by computers, a human-computer method can be employed in a mixture of automatic and hand-crafted control rules [18]. In addition, if two different domains have similar subgoals interaction, the knowledge of deadlock checking leaned from one domain can be considered transferrable to other domains [19].

Acknowledgment

Thanks are due to the NSF of China which supported the research with Grants nos. 71001105, 91024006, and 61273322.