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