0% found this document useful (0 votes)
144 views8 pages

Goal Stack Planning

Goal Stack Planning is a top-down problem-solving approach in artificial intelligence that breaks down high-level goals into simpler sub-goals until they can be achieved through executable actions. It operates by working backwards from the goal state to the initial state, using a stack to manage goals and actions while considering the world state. The document also describes the Blocks World Problem, where a robot arm manipulates blocks based on specific predicates and operations.

Uploaded by

dangideepak0018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views8 pages

Goal Stack Planning

Goal Stack Planning is a top-down problem-solving approach in artificial intelligence that breaks down high-level goals into simpler sub-goals until they can be achieved through executable actions. It operates by working backwards from the goal state to the initial state, using a stack to manage goals and actions while considering the world state. The document also describes the Blocks World Problem, where a robot arm manipulates blocks based on specific predicates and operations.

Uploaded by

dangideepak0018
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Goal Stack Planning

• Goal Stack Planning follows a top-down


approach to problem-solving.
• It starts with a high-level goal and
recursively breaks it down into sub-goals
until the sub-goals can be directly
achieved through a sequence of actions.
• The main idea is to find a plan to
achieve the initial goal by reducing it to
simpler sub-goals and, eventually, to a
sequence of executable actions.
Cont…
• 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.
• We start at the goal state and we try
fulfilling the preconditions required to
achieve the initial state.
• These preconditions in turn have their
own set of preconditions, which are
required to be satisfied first. We keep
solving these “goals” and “sub-goals”
until we finally arrive at the Initial State.
• We make use of a stack to hold
these goals that need to be fulfilled
as well the actions that we need to
perform for the same.
Cont…

• Apart from the “Initial State” and the


“Goal State”, we maintain a “World
State” configuration as well.
• Goal Stack uses this world state to
work its way from Goal State to Initial
State. World State on the other hand
starts off as the Initial State and ends
up being transformed into the Goal
state.
What is Blocks World Problem?

• This is how the problem goes — There is


a table on which some blocks are placed.
• Some blocks may or may not be stacked
on other blocks. We have a robot arm to
pick up or put down the blocks.
• The robot arm can move only one block
at a time, and no other block should be
stacked on top of the block which is to be
moved by the robot arm.
Representing the configurations as a list of “predicates”

• Predicates can be thought of as a


statement which helps us convey the
information about a configuration in Blocks
World.

• Given below are the list of predicates as


well as their intended meaning
[Link](A,B) : Block A is on B
[Link](A) : A is on table
[Link](A) : Nothing is on top of A
[Link](A) : Arm is holding A.
[Link] : Arm is holding nothing
Example

• Initial State — ON(B,A) ∧ ONTABLE(A) ∧ ONTABLE(C) ∧


ONTABLE(D) ∧ CLEAR(B) ∧ CLEAR(C) ∧ CLEAR(D) ∧
ARMEMPTY

• Goal State — ON(C,A) ∧ ON(B,D) ∧ ONTABLE(A) ∧ ONTABLE(D) ∧


CLEAR(B) ∧ CLEAR(C) ∧ ARMEMPTY
“Operations” performed by the robot arm

The Robot Arm can perform 4


operations:
[Link](X,Y) : Stacking Block X on
Block Y
[Link](X,Y) : Picking up Block X
which is on top of Block Y
[Link](X) : Picking up Block X which
is on top of the table
[Link](X) : Put Block X on the
table
• All the four operations have certain
preconditions which need to be
satisfied to perform the same. These
preconditions are represented in the
Cont…
• The Precondition, Add and Delete List for each operation is
rather intuitive and have been listed below.

You might also like