In
computer science, a rule-based system is used to store and manipulate knowledge to interpret information in a useful way. It is often used in
artificial intelligence applications and research.
Normally, the term ''rule-based system'' is applied to systems involving human-crafted or curated rule sets. Rule-based systems constructed using automatic rule inference, such as
rule-based machine learning, are normally excluded from this system type.
Applications
A classic example of a rule-based system is the domain-specific
expert system
In artificial intelligence, 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 if� ...
that uses rules to make deductions or choices.
For example, an expert system might help a doctor choose the correct diagnosis based on a cluster of symptoms, or select tactical moves to play a game.
Rule-based systems can be used to perform
lexical analysis to
compile or interpret computer programs, or in
natural language processing
Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to pro ...
.
Rule-based programming attempts to derive execution instructions from a starting set of data and rules. This is a more indirect method than that employed by an
imperative programming language, which lists execution steps sequentially.
Construction
A typical rule-based system has four basic components:
* A list of rules or rule base, which is a specific type of
knowledge base.
* An
inference engine or
semantic reasoner, which infers information or takes action based on the interaction of input and the rule base. The interpreter executes a
production system program by performing the following match-resolve-act cycle:
:* Match: In this first phase, the left-hand sides of all productions are matched against the contents of working memory. As a result a conflict set is obtained, which consists of instantiations of all satisfied productions. An instantiation of a production is an ordered list of working memory elements that satisfies the left-hand side of the production.
:* Conflict-Resolution: In this second phase, one of the production instantiations in the conflict set is chosen for execution. If no productions are satisfied, the interpreter halts.
:* Act: In this third phase, the actions of the production selected in the conflict-resolution phase are executed. These actions may change the contents of working memory. At the end of this phase, execution returns to the first phase.
* Temporary
working memory.
* A
user interface or other connection to the outside world through which input and output signals are received and sent.
See also
*
Rule-based programming
*
Expert systems
*
Rewriting
In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a well-formed formula, formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewr ...
*
RuleML
*
TK Solver
*
List of rule-based languages
*
Learning classifier system
*
Rule-based machine learning
*
Rule-based modeling
Rule-based modeling is a modeling approach that uses a set of rules that indirectly specifies a mathematical model. The rule-set can either be translated into a model such as Markov chains or differential equations, or be treated using tools that ...
References
{{Semantic Web
Rule engines