Heuristic Search: Theory and Applications