In a goal space, find a plan (series of actions) from intial state to goal state.

The goal of planning is a sequence of actions to perform in order to reach a goal. The actions are the leafs of a tree of goals and subgoals. These trees are built by the planning algorithm.

Search architecture diagram

Goal space is a specialization of search space. The solution is a series of actions that fulfills the goal. Start with the goal. Find all rules that name the subgoals required to reach the goal. For each of these rules, make a copy of the goal and turn it into the root of a tree. The subgoals become the leafs of this tree. The trees are partial plans. Add them to the store of partial plans. Continue to take a partial plan, expand it by finding matching rules. When a plan does not need to be expanded anymore, it is finished and serves as a solution. When no rule can be found, the plan is discarded.

Partial plan


  • Building a tower of blocks

When should you use it?

  • Actions should be planned before they are executed, because mindlessly trying them out is very ineffective and has unwanted side effects
  • Rules are available that split up a goal into subgoals


  • The situation may change after the plan was made; if that's possible the application must be able to replan dynamically
  1. Wikipedia