The father of expert systems, computer scientist Edward Feigenbaum developed a computer that makes decisions as a human can. They use rules to reason through knowledge.
An expert system is a computer system made of a knowledge base and the inference engine in making decisions. Some even have an interface for the user to interact with the system.
The knowledge base contains facts, such as true statements of the world. The early versions of expert systems used simple statements while later versions would use more structure. They’d even use “objects” to contain data, known as object-oriented programming. Expert systems began with using classes, subclasses, and instances and assertions, but later grew to use instances of these objects.
The inference engine evaluates the truth of the knowledge. It uses rules for determining soundness and completeness as well as various forms of reasoning such as dediction, induction, or process of elimination. Much the same way a human solves a puzzle or formulates an argument, expert systems use an inference engine.
The computer can either reason from the left or right side of a rule. By following the rule R1,
the computer may assert Man(Socrates) and use inference to assert Mortal(Socrates) into the knowledge base. This reasons from the left side first, known as forward chaining. The computer may also reason “backwards” using backward chaining. Through this, the expert system starts with possible conclusions and works backward. To determine if Mortal(Socrates) is true, it would find the rule R1 and see if Man(Socrates) is true.
Rules also allowed for explanation. With a user interface, you may ask the system, “Why is Socrates Mortal?” The expert system would argue “Because all men are mortal and Socrates is a man.” In 2007, professor of computer science Nabil Arman argued algorithms can create new rule bases that avoid faults of reasoning while devising new rules in his paper “Fault Detection in Dynamic Rule Bases Using Spanning Trees and Disjoint Sets.”
Sine their invention, expert systems have gained new techniques. Truth maintenance systems track relationships so knowledge can be altered to maintain truth. Hypothetical reasoning divides the knowledge base into possible views to analyze them. Fuzzy logic uses a probabilty with each rule. Simple probabilities can extend to complex methods for types of resasoning such as Bayesian inference. Ontology classification uses object classes so object values and structures can be analyzed. “Man” might represent an object class and rule R1 would define the class of all men. These classifers are essential for the rules underlying the Internet.