What’s the difference between a knowledge based system and an expert system?

What’s the difference between a knowledge based system and an expert system?

According to Wikipedia, technically an expert system would be a kind of knowledge based system.  I think the real difference would be that expert systems specifically target the knowledge of one or more human domain experts; whereas, more general knowledge based systems might utilize heuristics other than those specifically emulating the processes of human domain experts.


A knowledge-based system (KBS) is a computer program that reasons and uses a knowledge base to solve complex problems. The term is broad and is used to refer to many different kinds of systems. The one common theme that unites all knowledge based systems is an attempt to represent knowledge explicitly via tools such as ontologies and rules rather than implicitly via code the way a conventional computer program does. A knowledge based system has two types of sub-systems: a knowledge base and an inference engine. The knowledge base represents facts about the world, often in some form of subsumption ontology. The inference engine represents logical assertions and conditions about the world, usually represented via IF-THEN rules.


an expert system is a computer system that emulates the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning about knowledge, represented primarily as if–then rules rather than through conventional procedural code.
. . .
An expert system is divided into two sub-systems: the inference engine and the knowledge base. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging capabilities.

See also my quick and dirty webpages: