Forward Chaining
   HOME

TheInfoList



OR:

Forward chaining (or forward reasoning) is one of the two main methods of
reasoning Reason is the capacity of consciously applying logic by drawing valid conclusions from new or existing information, with the aim of seeking the truth. It is associated with such characteristically human activities as philosophy, religion, scien ...
when using an
inference engine In the field of artificial intelligence, an inference engine is a software component of an intelligent system that applies logical rules to the knowledge base to deduce new information. The first inference engines were components of expert systems ...
and can be described logically as repeated application of ''
modus ponens In propositional logic, (; MP), also known as (), implication elimination, or affirming the antecedent, is a deductive argument form and rule of inference. It can be summarized as "''P'' implies ''Q.'' ''P'' is true. Therefore, ''Q'' must ...
''. Forward chaining is a popular implementation strategy for
expert system In artificial intelligence (AI), an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as ...
s,
business Business is the practice of making one's living or making money by producing or Trade, buying and selling Product (business), products (such as goods and Service (economics), services). It is also "any activity or enterprise entered into for ...
and production rule systems. The opposite of forward chaining is
backward chaining Backward chaining (or backward reasoning) is an inference method described colloquially as working backward from the goal. It is used in automated theorem provers, inference engines, proof assistants, and other artificial intelligence application ...
. Forward chaining starts with the available data and uses
inference rule Rules of inference are ways of deriving conclusions from premises. They are integral parts of formal logic, serving as norms of the logical structure of valid arguments. If an argument with true premises follows a rule of inference then the co ...
s to extract more data (from an end user, for example) until a goal is reached. An
inference engine In the field of artificial intelligence, an inference engine is a software component of an intelligent system that applies logical rules to the knowledge base to deduce new information. The first inference engines were components of expert systems ...
using forward chaining searches the inference rules until it finds one where the antecedent (If clause) is known to be true. When such a rule is found, the engine can conclude, or infer, the
consequent A consequent is the second half of a hypothetical proposition. In the standard form of such a proposition, it is the part that follows "then". In an implication, if ''P'' implies ''Q'', then ''P'' is called the antecedent and ''Q'' is called t ...
(Then clause), resulting in the addition of new
information Information is an Abstraction, abstract concept that refers to something which has the power Communication, to inform. At the most fundamental level, it pertains to the Interpretation (philosophy), interpretation (perhaps Interpretation (log ...
to its data. Inference engines will
iterate Iteration is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. ...
through this process until a goal is reached.


Example

Suppose that the goal is to conclude the color of a pet named Fritz, given that he croaks and eats flies, and that the rule base contains the following four rules: # If ''X'' croaks and ''X'' eats flies - Then ''X'' is a frog # If ''X'' chirps and ''X'' sings - Then ''X'' is a canary # If ''X'' is a frog - Then ''X'' is green # If ''X'' is a canary - Then ''X'' is blue Let us illustrate forward chaining by following the pattern of a computer as it evaluates the rules. Assume the following facts: * Fritz croaks * Fritz eats flies With forward reasoning, the inference engine can derive that Fritz is green in a series of steps: 1. Since the base facts indicate that "Fritz croaks" and "Fritz eats flies", the antecedent of rule #1 is satisfied by substituting Fritz for ''X'', and the inference engine concludes: Fritz is a frog 2. The antecedent of rule #3 is then satisfied by substituting Fritz for ''X'', and the inference engine concludes: Fritz is green The name "forward chaining" comes from the fact that the inference engine starts with the data and reasons its way to the answer, as opposed to
backward chaining Backward chaining (or backward reasoning) is an inference method described colloquially as working backward from the goal. It is used in automated theorem provers, inference engines, proof assistants, and other artificial intelligence application ...
, which works the other way around. In the derivation, the rules are used in the opposite order as compared to
backward chaining Backward chaining (or backward reasoning) is an inference method described colloquially as working backward from the goal. It is used in automated theorem provers, inference engines, proof assistants, and other artificial intelligence application ...
. In this example, rules #2 and #4 were not used in determining that Fritz is green. Because the data determines which rules are selected and used, this method is called
data-driven Data ( , ) are a collection of discrete or continuous value (semiotics), values that convey information, describing the quantity, qualitative property, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols t ...
, in contrast to goal-driven
backward chaining Backward chaining (or backward reasoning) is an inference method described colloquially as working backward from the goal. It is used in automated theorem provers, inference engines, proof assistants, and other artificial intelligence application ...
inference. The forward chaining approach is often employed by
expert system In artificial intelligence (AI), an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as ...
s, such as
CLIPS CLIPS (C Language Integrated Production System) is a public-domain software tool for building expert systems. The syntax and name were inspired by Charles Forgy's OPS5. The first versions of CLIPS were developed starting in 1985 at the NASA Joh ...
. One of the advantages of forward-chaining over backward-chaining is that the reception of new data can trigger new inferences, which makes the engine better suited to dynamic situations in which conditions are likely to change.


Applications

Forward chaining is a powerful reasoning strategy with numerous applications in AI and related fields. Some of the prominent applications include: * Expert Systems: Expert systems are AI systems that mimic the decision-making abilities of human experts in a specific domain. They rely on forward chaining to apply expert knowledge to solve problems and make recommendations. * Diagnosis and Troubleshooting: Forward chaining is extensively used in medical diagnosis and troubleshooting systems, where the input symptoms and test results are used to determine potential causes and treatments. * Intelligent Tutoring Systems: Educational software often employs forward chaining to adapt to students’ progress and provide customized learning paths and feedback. * Decision Support Systems: Forward chaining is utilized in business and management decision support systems to analyze data and recommend actions or strategies. * Natural Language Processing: In natural language processing, forward chaining can be applied to resolve ambiguities in language and extract useful information from text.


See also

*
Backward chaining Backward chaining (or backward reasoning) is an inference method described colloquially as working backward from the goal. It is used in automated theorem provers, inference engines, proof assistants, and other artificial intelligence application ...
*
Constraint Handling Rules Constraint Handling Rules (CHR) is a declarative, rule-based programming language, introduced in 1991 by Thom Frühwirth at the time with European Computer-Industry Research Centre (ECRC) in Munich, Germany.Thom Frühwirth. ''Theory and Practice ...
* Opportunistic reasoning * Rete algorithm


References


External links


Forward vs. Backward Chaining Explained at SemanticWeb.com
{{Automated reasoning Expert systems Logic programming