Planning is one on the basic tasks in Artificial Intelligence. It is an essential component of applications like Robotic Control or Goal achieving applications of AI. It is basically the task of decision making in such applications. Goal Stack Planning is one such algorithm that is implemented in AI applications to evaluate the likelihood of completion of a specific task.
Key features of its representation are-
- Stack to maintain the action and satisfy the goal.
- Knowledge base to maintain the current state, actions.
Goal stack planning resembles a node in a search tree. Starting from a specific node the branches is created only when there is a possibility of taking a further action.
Algorithm: Goal Stack Planning
- Push the original goal on the stack.
- Repeat step a to d until the stack becomes empty.
- If TOP is a compound goal, push its unfinished subgoals onto the stack.
- If TOP is a single unfinished goal then, replace it with an action and push the action’s precondition on the stack to satisfy the condition.
- If TOP is an action,
- Pop the action
- Execute the action
- update the knowledge base with effects of the action
- If TOP is a satisfied goal, pop it.
The advantage of this technique is that the generated plans display complete sequence of operations. It starts from original unfinished goal and at each step complete set of sequential operations for the next incomplete goal are generated. A database that describes the current situation. Use of stack in this code allow to backtrack and follow an unfinished task – part of the current sub goal.
No comments:
Post a Comment