The process of doing a sequence of actions to achieve a goal is called planning. A plan is a representation of the crude structure of the input scene by the various object labels. The process of planning is a bottom up process to provide clues concerning which knowledge can be applied to different parts of the scene. The knowledge of the task world is represented by sets of productions rules. Each rule in the bottom up process has a fuzzy predicate which describes the properties of relations between objects. Generally there are various agents who act to plan. The environments for an agent may be deterministic, finite, static in which change happens only when the agent acts. The discrete environment includes the time factor, objects, effects etc. These environments are called classical planning environments. On the other hand, the non classical planning environments are partially observable and involves a different set of algorithms and agent designs. Planning refers to the process of computing several steps of a problem solving procedure before evaluation of that problem.
Computer cannot solve any problem without planning it. For example, in 8-puzzle game, the computer canâ€™t replace the tiles onto their positions without the planning procedure of that problem. When we discuss the computer solution of the 8-puzzle game, what we are really doing was outlining the way the computer might generate a plan for solving it. A computer could look for a solution plan in the same way as a person who was actually trying to solve the problem by moving tiles on a board. If solution steps in the real world cannot be ignored or undone, though planning becomes extremely important. Although real world steps may be irrevocable, computer simulation of those steps is not. So we can circumvent the constraints of the real world by looking for a complete solution in a simulated world in which backtracking is allowed. After we find a solution, we can execute it in the real world. The fact that we can leave out properties of world states that are irrelevant to the problem at hand or that are not known is one of the powerful aspects of using a feature based approach. This aspect is particularly important is describing the goal condition that we want the agent to achieve by its actions.