1 Answers
A knowledge-based system is a computer program that reasons and uses a knowledge base to solve complex problems. The term is broad and refers to many different kinds of systems. The one common theme that unites all knowledge based systems is an attempt to represent knowledge explicitly and a reasoning system that allows it to derive new knowledge. Thus, a knowledge-based system has two distinguishing features: a knowledge base and an inference engine.
The first part, the knowledge base, represents facts about the world, often in some form of subsumption ontology. Other common approaches in addition to a subsumption ontology include frames, conceptual graphs, and logical assertions.
The second part, the inference engine, allows new knowledge to be inferred. Most commonly, it can take the form of IF-THEN rules coupled with forward chaining or backward chaining approaches. Other approaches include the use of automated theorem provers, logic programming, blackboard systems, and term rewriting systems such as CHR. These more formal approaches are covered in detail in the Wikipedia article on knowledge representation and reasoning.