Pruning Techniques in Search and Planning (Research Abstract) Nir Pochter

Proceedings of the Twenty-Fifth AAAI Conference on Artificial Intelligence
Pruning Techniques in Search and Planning
(Research Abstract)
Nir Pochter
School of Engineering and Computer Sciences
Hebrew University of Jerusalem, Israel
nirp@cs.huji.ac.il
all the shortest paths to the goal, making problems that contain transpositions extremely hard to solve without a perfect heuristic. Finding a heuristic which is perfect for all
domains and problems is, however, as hard as solving the
planning problem itself. Therefore, we seek to find a better
solution that does not require a perfect heuristic.
Abstract
Search algorithms often suffer from exploring areas which
eventually are not part of the shortest path from the start to
a goal. Usually it is the purpose of the heuristic function to
guide the search algorithm such that it will ignore as much
as possible of these areas. We consider other, non-heuristic
methods that can be used to prune the search space to make
search even faster. We present two algorithms: one for search
in graphs that fit in memory, and in which we will need to perform many searches, and another, which improves the search
time of planning problems that contain symmetries.
Completed Research and Ongoing Work
Pruning in Explicit Graphs — Swamps
For explicit graphs we present an approach that relies on preprocessing techniques that can dramatically reduce search
costs, and does not compromise search optimality (Pochter
et al. 2010).
Our preprocessing determines the location of swamps,
that is, areas that can always be safely pruned, as long as
they do not contain the start or end state. This approach is
particularly useful when maps are known in advance and are
used for multiple searches.
The simplest intuition for a swamp is a corridor in a maze,
that is a dead end. Unless we want to get into that corridor
or get out of it, we can safely ignore it.
We build upon this basic intuition, and present techniques
that identify more complex structures that can be partially
pruned, improving search even more. Experimental analysis of our approach in various domains reveals a drastic decrease in search costs when compared to search algorithms
without this preprocessing.
Introduction
Search methods have been an important part of artificial intelligence since the field’s beginning. Often, search is sped
up through the use of a heuristic function that efficiently
estimates the distance between two states. This guides the
search algorithm which, as a result, often manages to ignore parts of the search graph. There are two main scenarios
that we will focus on — search in explicit graphs, and using
search methods for solving classical planning problems.
Explicit graphs — In many scenarios a search graph is
given; many different search tasks are performed over it,
and it is required to perform them quickly. Examples include computer games, GPS software, and robotics. Optimal
paths for such domains can be found relatively quickly with
simple heuristics, especially when compared to the time it
takes to explore exponentially large combinatorial problems.
Relative quickness, however, might still not be fast enough
in certain real-time applications, where further improvement
towards high-speed performance is especially valued.
Classical Planning — One of the common approaches
to solving planning tasks is to use heuristic search methods
on the graph that is naturally induced by a problem definition. These graphs tend to be very large — exponentially
large in the size of the planning problem description. While
the heuristic function is supposed to significantly reduce the
number of nodes explored by the search algorithm, (Helmert
and Röger 2008) has shown that in the absence of a perfect
heuristic function, state-based planners will expand at least
Transpositions in Classical Planning
One of the causes of transpositions is symmetry in a planning problem. Pruning based on symmetry detection can
help solve some of the transpositions created in tasks that
contains symmetries. This was explored, for example, Fox
and Long (1999; 2002) show how to prune symmetries in
their planner Stan, which is based on the GraphPlan algorithm (which is not state-based). In our work (Pochter, Zohar, and Rosenschein 2011), we seek to exploit symmetries
in state-based planners.
To understand the problem with symmetries, we will observe an example that has appeared in the International Planning Competition (IPC), and has become almost canonical:
the gripper domain. The gripper domain consists of two
c 2011, Association for the Advancement of Artificial
Copyright Intelligence (www.aaai.org). All rights reserved.
1857
rooms, n numbered balls, and a robot with two arms, or grippers. The robot can pick up a single ball in each of its grippers, move between rooms, and put balls down. A problem
instance is usually set up in the following manner: all balls
and the robot begin in one room, and the goal is to move the
balls to the other room.
The problem seems trivial to solve (at least for humans),
but is surprisingly difficult for planners, due to the interchangeability between the balls, which cause many states
to be symmetric with respect to the start and goal.
Our objective is to identify during search that some states
are symmetric to one another, and can thus be pruned; To
detect and use symmetries we define a graph we call a Problem Description Graph (PDG). The graph is polynomial in
the size of the description of the planning problem. Detection of automorphism on this graph is relatively quick. We
use this for two types of algorithms.
The first algorithm class mimics search in the orbit space
of the states. This means that instead of searching within
all the states, we only choose one state from each orbit of
states (where an orbit of states is a set of states that are symmetric to one another with respect to the start and the goal).
It does that by using the automorphisms discovered by the
PDG (which takes into account the start and goal) to transfer a state to a canonical representation. The algorithm is
built such that all states from the same orbit are transfered to
the same canonical state, so we only need to open one state
from each orbit. Since finding the canonical state is a hard
task, and we wish the pruning algorithm to be fast, we also
used an approximation algorithm. This algorithm may not
prune all the symmetric states (two states may be expanded
even if both are symmetric), but is still guaranteed to be correct. This approach was implemented and gave good results
in improving both the running time and number of solved
tasks for several heuristics on domains from recent IPCs.
Another approach that we examined is using shallow
pruning. Shallow pruning uses a variation of the PDG that
also takes the current state into account, thus exploiting symmetries that are created during the search process. The algorithm uses the automorphisms detected so as to prune child
states that are symmetric to one another. This approach is
very similar in spirit to the approach of Fox and Long (2002)
which they term dynamic symmetries. While this approach
was proven to be efficient in pruning more states, it requires
computing the automorphism of the PDG created for each
state, and therefore was too costly to be used in practice.
the search algorithm not to expand this state. The results
appears in (Pochter and Rosenschein 2009).
Future Work and Planned Research
Swamps in Dynamic Environments
While the use of swamps was proven efficient in static environments, an interesting research direction is to explore the
use of swamps in maps that sometimes change. These can
occur, for example, in computer games and GPS navigation,
where roads are sometimes blocked. It remains to be seen if
some of the swamps can still be used in this case, and if it
is possible to quickly update the swamps to reflect the new
graph.
Symmetries
Future work could include improving the approximation of
the canonical state, and finding fast variants of shallow pruning that will make it more useful in practice. In addition,
we have not fully utilized all the symmetries in the transition graph and believe that other symmetry exploitation algorithms can be developed within the general framework we
have outlined. Another interesting idea to consider is symmetry over time (in problems where every action can also be
undone) and its possible effects on solutions.
Transpositions
While solving the symmetry problem helps resolve some of
the transpositions that arise in a planning problem, it does
not solve them all. An interesting direction is to isolate
other causes of transpositions in problems, develop algorithms that automatically detect them in a given planning
problem, and prune the resulting transpositions.
In addition, our analysis of heuristic functions performance required that the probability for error of the estimate
given for any two states by the heuristic function be independent. This requirement is not achieved with the current line
of heuristics; we therefore seek an analysis with a weaker requirement, and hope to develop a line of probabilistic heuristic functions for which this requirement holds.
References
Fox, M., and Long, D. 1999. The detection and exploitation
of symmetry in planning problems. In IJCAI’99, 956–961.
Fox, M., and Long, D. 2002. Extending the exploitation of
symmetries in planning. In Proceedings of AIPS’02, 83–91.
Helmert, M., and Röger, G. 2008. How good is almost
perfect? In Proceedings of AAAI’08, 944–949. AAAI Press.
Pochter, N., and Rosenschein, J. S. 2009. Requirements on
heuristic functions when using A* in domains with transpositions. In The HDIP Workshop at ICAPS 2009, 13–17.
Pochter, N.; Zohar, A.; Rosenschein, J. S.; and Felner, A.
2010. Search space reduction using swamp hierarchies. In
Proceedings of AAAI 2010, 155–160.
Pochter, N.; Zohar, A.; and Rosenschein, J. S. 2011. Exploiting problem symmetries in state-based planners. In Proceedings of AAAI 2011. To appear.
Analysis of Heuristic Function in Domains Which Contains Transpositions Another line of work analyzed the
performance of heuristics that are not perfect but are accurate with some probability. We call the probability that the
heuristic is accurate the Probably Accurate measurement, or
PA(h). We showed that Probably Accurate heuristic functions can perform well on domains with transpositions, even
if they are not perfect. We also extended this notion to
the measurement we call Probably Accurate Enough (PAE),
which takes into account not only the probability that a state
will get a perfect estimate, but also the probability that it
will get an imperfect estimate that will be good enough for
1858