

It used to be the case, especially back in the mid 1990s, when SAT solving really took off, that it was an example of how limited was the state of the art in Automated Planning back in the day.Īs you write in your question, solving Blocks World is easy: the algorithm you sketch is well known and is clearly in polynomial time. The link points to a chapter of the following book, which is a good introduction into Automated Planning It has no longer any scientific relevance, but it was used to illustrate the limitations and challenges of planning algorithms that approach the problem of planning as that of searching through the space of plans directly. The historical one is that Blocks World was used to illustrate the so-called Sussman's Anomaly. Add the preconditions of ‘o’ to the goalsetģ.There's a historical and two practical reasons for Blocks World being a benchmark of interest.Choose an operator ‘o’ whose add-list matches goal g.It takes larger search space, since all possible goal orderings are taken into consideration. Non-linear planning may be an optimal solution with respect to plan length (depending on search strategy used). It handles the goal interactions by interleaving method. This planning is used to set a goal stack and is included in the search space of all possible subgoal orderings. Iv. If stack top is a satisfied goal, pop it from the stack. Iii. If stack top is an action, pop it from the stack, execute it and change the knowledge base by the effects of the action. Ii. If stack top is a single unsatisfied goal then, replace it by an action and push the action’s precondition on the stack to satisfy the condition.

If stack top is a compound goal, then push its unsatisfied subgoals on the stack. Repeat this until the stack becomes empty. I. Start by pushing the original goal on the stack. The important steps of the algorithm are as stated below: Goal stack is similar to a node in a search tree, where the branches are created if there is a choice of an action.A knowledge base is used to hold the current state, actions. The stack is used in an algorithm to hold the action and satisfy the goal.This is one of the most important planning algorithms, which is specifically used by STRIPS. Detect when an almost correct solution has been found.


