In many domains, there are objects
that are irrelevant to any solution. The most typical examples can be found in
the transportation domains, like logistics, mystery and elevator,
where some packages are initially found in their destinations or for which no
specific destination is determined. So, these objects, together with all the
facts and actions containing them, can be removed from the problem description,
without losing completeness.
In Grt we developed a method that detects
and removes irrelevant objects. The method concerns pure Strips domains without negation in the
preconditions of the actions or in the goal formula; however, it can be easily
extended to cover these cases. The objects are identified before the
pre-processing phase using the following two rules:
An object is
irrelevant to any solution for a specific planning problem, if:
§
It
does not appear in any goal fact, unless the same fact is also included in the
initial state, and
§
there
is no action containing this object in its preconditions, unless the object is
also contained in all the action's effects.
The above conditions
are very strict, but they ensure that any detected object is certainly
irrelevant, so they maintain the completeness of the problem solving process.
Proposition 7. Any object satisfying the above
rules can safely be removed from the problem description, without sacrificing
completeness.
Proof: Suppose that an object obj has been
identified, for which the above two rules hold. We will show that obj is
not necessary to achieve any other goal fact, which does not contain obj.
Let us assume that there is a fact g Î Goals, which does not contain obj. Suppose
that there is an action that achieves g, with a precondition containing obj.
In this case, the second rule is violated, since there is an action including obj
in its preconditions, without obj appearing in an effect. So, fact g
can be achieved only by actions without preconditions containing obj. Thus,
if we regress the goals using actions achieving g, the established
subgoals do not contain obj. However, in the same way we can reject
actions including obj in their preconditions and achieve the new
established subgoals. So, obj is not necessary to achieve any goal or
subgoal of the problem. Moreover, there is no goal fact containing obj,
which has to be achieved; even if there is one, it is already present in the
initial state. Therefore, obj can safely be removed from the
problem. n
The application of the
above rules for the elimination of irrelevant objects can be done
progressively. Let us consider an enhanced logistics domain, where we
added colors. Specifically, we define a dynamic predicate (painted ?object
?color) denoting the color of a package, a static predicate (color
?color) declaring the available colors, and an action schema (paint
?object ?old_color ?new_color) for painting a package. Let
us assume that the goal state does not determine the colors of the packages. In
this case, the colors are irrelevant objects and can be safely removed,
together with all the facts and actions that include colors.
Suppose
also that there are brushes that are used to perform the paint operation. There
are two new action schemas, (get ?brush) and (leave ?brush)
and a predicate (have ?brush), which is an effect of the get
action and a precondition in the enhanced action (paint ?package ?color
?brush). In this case, brushes are also irrelevant and should be
eliminated. However, since the action paint needs brushes and has
effects not containing them (i.e. (painted ?package ?color)
), the brushes are not removed, due to the second rule. However, after removing
all the color objects, all the paint actions are removed; thus, brushes
do not violate the second rule for the remaining actions and can be safely
removed.
The disadvantage of
this approach for the elimination of irrelevant objects is that it does not
remove objects that can eventually appear in a plan, but there are other better
(i.e. shorter) plans not using them. For example, in the logistics
domain, suppose that we have three cities, city1, city2 and city3
and a package that has to be transferred from one location of city1 to
another location of city2. In this case, city3, together with its
locations and its truck, are not necessary to solve the planning problem, since
the package can be transferred directly from city1 to city2,
without going via city3. However, it is not easy to identify the
irrelevance of city3. Actually, there are plans that transport packages
from city1 to city2 via city3. If we decide to remove city3
and its objects from the problem representation, we take the risk of
sacrificing completeness, since the problem may become unsolvable. Deciding
safely, without loss of completeness, that city3 and its objects can be
removed, can be as hard as solving the original problem.
Other approaches on
the elimination of irrelevant or redundant information, in order to achieve
better performance, have been proposed by Nebel, Dimopoulos & Koehler
(1997), Scholz (1999) and Haslum & Jonsson (2000). The work of Nebel,
Dimopoulos & Koehler concerns ignoring irrelevant facts and actions (not
objects), based on heuristics that approximate a plan by backchaining from the
goals without taking into account any conflicts. Although this approach is more
powerful, in terms of elimination, than the one presented in this section, it
is not solution preserving. Furthermore, it may be more time-consuming, since
it demands the construction of an initial approximate plan.
Scholz introduces action
constraints, i.e. patterns of action sequences that can be applied to the
same states and produce the same overall effects. Action constraints can be
used for pruning purposes by the state-space planners, reducing the size of the
search space to the levels of the partial-order planners (Minton, Bresina &
Drummond, 1994), without losing completeness. The work of Scholz is actually a
re-investigation of the sleep sets of actions that were originally
presented by Godefroid & Kabanza (1991) and have been also examined by us,
under the name prohibited actions, in an earlier version of Grt (1999a). The experience of the
authors is that detecting and pruning redundant actions sequences is time
consuming, while a more effective approach is to employ a closed list of
visited states, paying however a cost in terms of memory. The latter approach
is adopted by the Grt planning
system. However Scholz considers only action sequences of length two, which
makes his approach fast enough but less effective than a closed list of visited
states structure.
Haslum and Jonsson
compute a reduced set of actions for a problem, by ignoring actions that can be
equivalently replaced by sequences of other actions. Their approach is solution
preserving, it can be adopted by any Strips
planner that pre-instantiates all the actions of a problem, and results, for
some planners, in considerable speed-up but also in longer plans.
Ioannis
Refanidis
14-8-2001