Admissible Heuristics for Optimal Planning
Linköping University, Department of Computer and Information Science, KPLAB - Knowledge Processing Lab
Linköping University, The Institute of Technology
Conference paper (Refereed)
Proceedings of the 5th International Conference on Artificial Intelligence Planning and Scheduling (AIPS)
Steve Chien, Subbarao Kambhampati, Craig A. Knoblock
hsp and hspr are two recent planners that search the state-space using an heuristic function extracted from Strips encodings. hsp does a forward search from the initial state recomputing the heuristic in every state, while hspr does a regression search from the goal computing a suitable representation of the heuristic only once. Both planners have shown good performance, often producing solutions that are competitive in time and number of actions with the solutions found by Graphplan and sat planners. hsp and hsp r, however, are not optimal planners. This is because the heuristic function is not admissible and the search algorithms are not optimal. In this paper we address this problem. We formulate a new admissible heuristic for planning, use it to guide an ida search, and empirically evaluate the resulting optimal planner over a number of domains. The main contribution is the idea underlying the heuristic that yields not one but a whole family of polynomial and admissible heuristics that trade accuracy for efficiency. The formulation is general and sheds some light on the heuristics used in hsp and Graphplan, and their relation. It exploits the factored (Strips) representation of planning problems, mapping shortest-path problems in state-space into suitably defined shortest-path problems in atom-space. The formulation applies with little variation to sequential and parallel planning, and problems with different action costs.
There is an error in the paper: the condition for commutativity of actions (section "Commutativity Pruning") must also include that neither action adds a precondition of the other. Thus, commutativity is not the same as Graphplan-style "non-interference".