On this page:
1.1 Basic Terminology
1.2 State Representations
8.0

1 Overview

1.1 Basic Terminology

All automated planning focuses on at least one of the following objects:

A planning problem is a combination of an initial state, a collection of actions, and a goal. An automated planner is a computer algorithm that solves planning problems by producing a plan a list of actions to perform that will change the initial state into a state that achieves the goal.

1.2 State Representations

To plan, one must consider the effects of one’s actions on the state of the world. Therefore, an automated planner is limited by its model of the world state, called the state representation. Choosing an appropriate state representation is the first step in solving any planning problem. The planning library ships with built-in support for three different state representations:

If you’re familiar with classical automated planning textbooks you might notice that the state variable representation is conspicuously absent. This is partly because in real-world code I found collection-oriented state representations to be easier to work with than variable-oriented representations, but only partly. Mostly it’s because it’s more complicated and I never had much personal interest in it. If you wish to use a state variable representation, please reach out to me so I can learn more about your use case.