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. Rule-based systems require a set of facts or source of data, and a set of rules for manipulating that data. These rules are sometimes referred to as ‘If statements’ as they tend to follow the line of ‘IF X happens THEN do Y.
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.
A classic example of a rule-based system is the domain-specific expert system 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.
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.
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.
- Rule-based programming
- Expert systems
- TK Solver
- List of rule-based languages
- Learning classifier system
- Rule-based machine learning
- Rule-based modeling
- ↑ "Rule-Based System" (in en). https://www.engati.com/glossary/rule-based-system.
- ↑ Crina Grosan; Ajith Abraham (29 July 2011). Intelligent Systems: A Modern Approach. Springer Science & Business Media. pp. 149–. ISBN 978-3-642-21004-4. https://books.google.com/books?id=c1fzgQj5lhkC&pg=PA149.
- ↑ Sin-Wai Chan (13 November 2014). Routledge Encyclopedia of Translation Technology. Routledge. pp. 454–. ISBN 978-1-317-60815-8. https://books.google.com/books?id=S0FWBQAAQBAJ&pg=PA454.
- ↑ "What is a rule-based system?". j-paine.org. http://www.j-paine.org/students/lectures/lect3/node5.html.
- ↑ Cabitza, F., & Dal Seno, B. (2005). "DJess-A Knowledge-Sharing Middleware to Deploy Distributed Inference Systems.". International Journal of Computer and Information Engineering 2: 66–69. doi:10.1109/PERSER.2005.1506416.