Planning
Planning in AI
The planning in Artificial Intelligence is about the decision making tasks performed by
the robots or computer programs to achieve a specific goal.
The execution of planning is about choosing a sequence of actions with a high
likelihood to complete the specific task.
Components of a planning system-
• Choose the best rule for applying the next rule based on the best available
heuristics.
• Apply the chosen rule for computing the new problem state.
• Detect when a solution has been found.
• Detect dead ends so that they can be abandoned and the system’s effort is directed
in more fruitful directions.
• Detect when an almost correct solution has been found
The Blocks world Problem
In order to compare the variety of methods of planning, we should find it
useful to look at all of them in a single domain that is complex enough.
Eg-
There is a flat surface on which blocks can be placed.
There are a number of square blocks, all the same size.
They can be stacked one upon the other.
There is robot arm that can manipulate the blocks.
Planning in Blocks- world problem
The blocks-world problem is known as Sussman Anomaly. In blocks-world problem,
three blocks labeled as 'A', 'B', 'C' are allowed to rest on the flat surface. The given
condition is that only one block can be moved at a time to achieve the goal. The start
state and goal state are shown in the diagram
Predicates in Blocks-world problem
In order to specify both the conditions under which an operation may be performed and the
results of performing it, we need the following predicates:
ON(A, B): Block A is on Block B.
ONTABLES(A): Block A is on the table.
CLEAR(A): There is nothing on the top of Block A.
HOLDING(A): The arm is holding Block A.
ARMEMPTY: The arm is holding nothing.
Actions of the robot arm
UNSTACK(A, B): Pick up block A from its current position on block B.
STACK(A, B): Place block A on block B.
PICKUP(A): Pick up block A from the table and hold it.
PUTDOWN(A): Put block A down on the table. Notice that the robot arm can hold only one block
at a time.
Goal Stack Planning
It is the one of the simplest planning algorithm that is designed to handle problems
having compound goals.
This approach uses a Stack for plan generation. The stack can contain Sub-goal and
actions described using predicates.
The Sub-goals can be solved one by one in any order. Goal Stack Planning is one of the
earliest methods in artificial intelligence in which we work backwards from the goal
state to the initial state.
Example-
Planning Strategy of Goal Stack
planning