backward chaining
Backward chaining is the logical process of inferring unknown truths from known conclusions by moving backward from a solution to determine the initial conditions and rules. Backward chaining is often applied in artificial intelligence (AI) and may be used along with its counterpart, forward chaining.
In AI, backward chaining is used to find the conditions and rules by which a logical result or conclusion was reached. An AI might utilize backward chaining to find information related to conclusions or solutions in reverse engineering or game theory applications. Backward chaining is used in automated theorem proving tools, inference engines, proof assistants and other artificial intelligence applications.
As a goal-driven and top-down form of reasoning, backward chaining usually employs a depth-first search strategy by starting from a conclusion, result or goal and going backward to infer the conditions from which it resulted. Backward chaining traces back through the code, for example, and looks through a rules table. In the rules table, it seeks out any actions that are specified in if-then statements, applying logic to determine which of the possible actions would have caused the end result.
Backward chaining and its opposite, forward chaining, use deductive reasoning. Forward chaining is used to break down the logic sequence and work through it from beginning to end by attaching each step after the previous one is solved.