In computer science, a rule-based system is a computer system in which domain-specific knowledge is represented in the form of rules and general-purpose reasoning is used to solve problems in the domain.
Two different kinds of rule-based systems emerged within the field of artificial intelligence in the 1970s:
The differences and relationships between these two kinds of rule-based system has been a major source of misunderstanding and confusion.
Both kinds of rule-based systems use either forward or backward chaining, in contrast with imperative programs, which execute commands listed sequentially. However, logic programming systems have a logical interpretation, whereas production systems do not.