In this post, we will understand the difference between forward reasoning and backward reasoning in AI −
Forward Reasoning
It is a data-driven task.
It begins with new data.
The object is to find a conclusion that would follow.
It uses an opportunistic type of approach.
It flows from incipient to the consequence.
The inference engine searches the knowledge base with the given information depending on the constraints.
The precedence of these constraints have to match the current state.
The first step is that the system is given one or more constraints.
The rules are searched for in the knowledge base for every constraint.
The rule that fulfils the condition is selected.
Every rule can produce new condition from the conclusion which is obtained from the invoked one.
New conditions can be added, and are processed again.
The step ends if no new conditions exist.
It may be slow,
It follows top-down reasoning.
Backward Reasoning
It is a goal driven task.
It begins with conclusions that are uncertain.
The objective is to find the facts that support the conclusions.
It uses a conservative type of approach.
It flows from consequence to the incipient.
The system helps choose a goal state, and reasons in a backward direction.
First step is that the goal state and rules are selected.
Sub-goals are made from the selected rule, which need to be satisfied for the goal state to be true.
The initial conditions are set such that they satisfy all the sub-goals.
The established states are matched to the initial state provided.
If the condition is fulfilled, the goal is the solution.
Otherwise the goal is rejected.
It tests less number of rules.
It provides small amount of data.
It follows bottom-up reasoning technique.
It contains less number of initial goals and has large number of rules.
It is based on the decision fetched by the initial state.
It is also known as a decision-driven or goal-driven inference technique.
The system selects a goal state and reasons in the backward direction.