
Goal Stack uses this world state to work its way from Goal State to 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.Īpart from the “Initial State” and the “Goal State”, we maintain a “World State” configuration as well. We keep solving these “goals” and “sub-goals” until we finally arrive at the Initial State. These preconditions in turn have their own set of preconditions, which are required to be satisfied first. We start at the goal state and we try fulfilling the preconditions required to achieve the initial state. 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. Our aim is to change the configuration of the blocks from the Initial State to the Goal State, both of which have been specified in the diagram above. 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. We have a robot arm to pick up or put down the blocks. Some blocks may or may not be stacked on other blocks. This is how the problem goes - There is a table on which some blocks are placed.

In this medium article, we will take look at the Blocks World Problem and implement Goal Stack Planning to solve the same. Blocks World Problem - Initial State and Goal State for this article
