4 S. M. LaValle: Planning Algorithms
remote-controlled hovercraft th at glides over the surface of a frozen pond. Suppose
we would l i ke the hovercraft to leave its current resting location and come to rest
at another specified location. Can an algorithm be designed th at computes the
desired inputs, even in an ideal simulator that neglects uncertainties that a r is e
from model inaccuracies? It is possi b l e to add other considerations, such as un-
certainti es, feed back, and optimali ty; however, the problem is already chall en g ing
enough without t h ese.
In artificial intelligence, the terms planning 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, su ch as
the Rubik’s cube or a slidi n g- t i l e puzzle, or to achieve a task that is mod el ed
discretely, such as building a stack of blocks. Alt h o u gh such problems could be
modeled with continuous spaces, it seems natural to define a fini t e 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 consid er ed
different from problem solving; however, the distinct i on seems to have faded away
in recent years. In this book, we do not attempt to make a distinction between the
two. Also, subs t antial effort has been devoted t o represent a t i on language issues
in planning. Al t h ough some of th is will be covered, it is mainly outsid e 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 III.
Given the broad range of problems to which the term planning has been applied
in the art i fi ci al intelligence, control theor y, and robotics communities, you m i ght
wonder whether it has a specific meaning. Otherwise, just about anything could
be considered as an in st ance of planning. Some common elements for pla n n i n g
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 plan n i n g 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 with i n t h e gener al alg or i t h m s
communi ty. This book it not limited t o combinatorics and asymptotic complexity
analysis, which is the main focus in pure algori thms. The focus here includes nu -
merous concepts that are not necessari l y algorithmic but aid in modeling, solving,
and analyzing p l anning problems.
Natural questions at t his point are, What is a plan? How is a plan represented?
How is it comp uted? What is it suppose d to achieve? How is its quality evalua t ed ?
Who or what is going to use it? This chapter provides gener al answers to these
questions. Regarding the user of the plan, it clearly depends on the application.
In most applications, an algorithm executes the 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, t h e user of the plan will frequently b e referred to as a robot or a
decision maker. In artificial intelligence and related areas, it has become popular