4 S. M. LaValle: Planning Algorithms
remote-controlled hovercraft that glides over the surface of a frozen pond. Suppose
we would like the hovercraft to leave its current resting location and come to rest
at another specified location. Can an algorithm be designed that computes the
desired inputs, even in an ideal simulator that neglects uncertainties that arise
from model inaccuracies? It is possible to add other considerations, such as un-
certainties, feedback, and optimality; however, the problem is already challenging
enough without these.
In artificial intelligence, the terms planni ng and AI planning take on a more
discrete flavor. Instead of moving a piano through a continuous space, as in the
robot motion planning problem, the task might be to solve a puzzle, such as
the Rubik’s cube or a sliding-tile puzzle, or to achieve a task that is modeled
discretely, such as building a stack of blocks. Although such problems could be
modeled with continuous spaces, it seems natural to define a finite set of actions
that can be applied to a discrete set of states and to construct a solution by giving
the appropriate sequence of actions. Historically, planning has been considered
different from problem solving; however, the distinction seems to have faded away
in recent years. In this book, we do not attempt to make a distinction between the
two. Also, substantial effort has been devoted to representation language issues
in planning. Although some of this will be covered, it is mainly outside of our
focus. Many decision-theoretic ideas have recently been incorporated into the AI
planning problem, to model uncertainties, adversarial scenarios, and optimization.
These issues are important and are considered in detail in Part I II.
Given the broad range of problems to which the term planning has been applied
in the artificial intelligence, control theory, and robotics communities, you might
wonder whether it has a specific meaning. Otherwise, just ab out anything could
be considered as an instance of planning. Some common elements for planning
problems will be discussed shortly, but first we consider planning as a branch of
algorithms. Hence, this book is entitled Planning Algorithms. The primary focus
is on algorithmic and computational issues of planning problems that have arisen
in several disciplines. On the other hand, this does not mean that planning algo-
rithms refers to an existing community of researchers within the general algorithms
community. This book it not limited to combinatorics and asymptotic complexity
analysis, which is the main focus in pure algorithms. The focus here includes nu-
merous concepts that are not necessarily algorithmic but aid in modeling, solving,
and analyzing planning problems.
Natural questions at this point are, What is a plan? How is a plan represented?
How is it computed? What is it supposed to achieve? How is its quality evaluated?
Who or what is going to use it? This chapter provides general answers to these
questions. Regarding the user of the plan, it clearly depends on the application.
In most applications, an algorithm executes t he plan; however, the user could even
be a human. Imagine, for example, that the planning algorithm provides you with
an investment strategy.
In this book, th e user of the plan will frequently be referred to as a robot or a
decision maker. In artificial intelligence and related areas, it has become popular