[only for the desktop version] follow the magnifying glass (on the left besides this text in a maximized browser.)
Expert Systems (XPS) simulate the decision-making process of domain experts in order to solve complex problems by reasoning on conceptualized knowledge representations – mostly expressed in terms of OBJECTS and of IF-THEN rules. The knowledge representation of an expert system is called „knowledge base“. The latter is a special document containing the decision-making process factorized in objects and IF-THEN rules, which are mindfully elicited out of the domain expert, whose thinking should be simulated. The purpose of an expert system is to help decide quickly on (solving) complex problems like e.g. diagnosis or prediction. Since the nature of events (or of states) is not always „discrete“ (e.g. true or false) some fuzzyness has been introduced to allow intermediate levels and hence several degrees of (pure formal) evidence on decisions: MYCIN was the first XPS using „certainty factors“ connected with facts and rules. Reasoning is here intended as the method used to connect rules (rule chaining) to solve a problem, take a decision or make a prediction. There are mainly two directions of reasoning:
While forward reasoning starts on a given knowledge base (data) state, applies rules changing this knowledge base, again and again until a final state (of the knowledge base data) is reached, backward chaining starts from a goal (question,hypothesis) and try to apply rules backwards from the goal on – also asking the user in case of incomplete or unavailable information – until a (data) state in the knowledge base is matched.
The decision process is finished either when no further rule can be applied or when a decision with strong evidence is taken. It is crucial that (every) decision process terminate (i.e. it comes to an end) to avoid undefined answers.
NB: There is a strong relation between a formal system and an expert system.
In the following the behavior of a tiny Expert System Shell written in Prolog is demonstrated (for the sake of simplicity Prolog here is completely hidden).
in new tab