Results for ""
In computer science, a rule-based system is used to store and change information in order to make sense of it. It is often used in research and applications of AI.
Usually, the term "rule-based system" refers to systems with sets of rules that were made or chosen by humans. Rule-based systems built with automatic rule inference, like rule-based machine learning, are usually not included in this type of system.
A rule-based system is exemplified by the domain-specific expert system, which employs rules to make deductions or decisions. For instance, an expert system could assist a physician in selecting the correct diagnosis based on a cluster of symptoms, or it could assist a gamer in selecting tactical movements.
They are much easier to understand, change, and keep up than systems that learn on their own. Most of the time, the rules are kept in a database, which a business analyst or IT professional can change without having to know how to code.
Components
A typical rule-based system consists of four main components:
Match: The left-hand sides of all productions are matched against the contents of working memory in this first phase. As a result, a conflict set containing instantiations of all satisfied productions is obtained. An instantiation of a production is an ordered list of working memory elements that satisfy the production's left-hand side.
Conflict-Resolution: In this second phase, one of the conflict set's production instantiations is chosen for execution. If no productions are met, the interpreter comes to a halt.
Act: The actions of the production chosen in the conflict-resolution phase are carried out in this third phase. These actions have the potential to alter the contents of working memory. The execution returns to the first phase at the end of this phase.
Applications
The domain-specific expert system is a classic example of a rule-based system. This type of system uses rules to make decisions or draw conclusions. For example, an expert system could help a doctor choose the right diagnosis based on a group of symptoms, or it could help a game player choose the best moves based on the strategy they want to use.
Rule-based systems can be used to do lexical analysis, which can be used to compile or understand computer programmes, or to process natural language.
Furthermore, Rule-based programming tries to figure out how to run a programme from a set of rules and data. This is a less direct way to do things than with an imperative programming language, which lists the steps of execution in order.
Image source: Unsplash