  Although heuristic search is one of the most successful approaches to
classical planning, this planning paradigm does not apply straightforwardly to
Generalized Planning (GP). Planning as heuristic search traditionally addresses
the computation of sequential plans by searching in a grounded state-space. On
the other hand GP aims at computing algorithm-like plans, that can branch and
loop, and that generalize to a (possibly infinite) set of classical planning
instances. This paper adapts the planning as heuristic search paradigm to the
particularities of GP, and presents the first native heuristic search approach
to GP. First, the paper defines a novel GP solution space that is independent
of the number of planning instances in a GP problem, and the size of these
instances. Second, the paper defines different evaluation and heuristic
functions for guiding a combinatorial search in our GP solution space. Lastly
the paper defines a GP algorithm, called Best-First Generalized Planning
(BFGP), that implements a best-first search in the solution space guided by our
evaluation/heuristic functions.
