Artificial Intelligence is a critical technology in the future. Whether it is intelligent robots or self-driving cars or smart cities, they will all use different aspects of Artificial Intelligence!!! But to create any such AI project, Planning is very important. So much so that Planning is a critical part of Artificial Intelligence which deals with the actions and domains of a particular problem. Planning is considered as the reasoning side of acting.
Everything we humans do is with a certain goal in mind and all our actions are oriented towards achieving our goal. In a similar fashion, planning is also done for Artificial Intelligence. For example, reaching a particular destination requires planning. Finding the best route is not the only requirement in planning, but the actions to be done at a particular time and why they are done is also very important. That is why planning is considered as the reasoning side of acting. In other words, planning is all about deciding the actions to be performed by the Artificial Intelligence system and the functioning of the system on its own in domain-independent situations.
What is a Plan?
For any planning system, we need the domain description, action specification, and goal description. A plan is assumed to be a sequence of actions and each action has its own set of preconditions to be satisfied before performing the action and also some effects which can be positive or negative.
So, we have Forward State Space Planning (FSSP) and Backward State Space Planning (BSSP) at the basic level.
1. Forward State Space Planning (FSSP)
FSSP behaves in a similar fashion like forward state space search. It says that given a start state S in any domain, we perform certain actions required and acquire a new state S’ (which includes some new conditions as well) which is called progress and this proceeds until we reach the goal state. The actions have to be applicable in this case.
- Disadvantage: Large branching factor
- Advantage: Algorithm is Sound
2. Backward State Space Planning (BSSP)
BSSP behaves in a similar fashion like backward state space search. In this, we move from the goal state g towards sub-goal g’ that is finding the previous action to be done to achieve that respective goal. This process is called regression (moving back to the previous goal or sub-goal). These sub-goals have to be checked for consistency as well. The actions have to be relevant in this case.
- Disadvantage: Not a sound algorithm (sometimes inconsistency can be found)
- Advantage: Small branching factor (very small compared to FSSP)
Hence for an efficient planning system, we need to combine the features of FSSP and BSSP which gives rise to Goal Stack planning which will be discussed in the next article.