semweb – Semantic Web and Expert Systems – Expert Systems

Expert Systems

Fr De

Tutorial:
[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:

Forward reasoning (forward [rules] chaining)
Backward reasoning (backward [rules] chaining)
– Mixed methods (forward and backward chaining).

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).

Start demo
in new tab
Quick Start

  1. View the currently loaded XP knowledge base
  2. Change it, upload it
  3. Execute the Expert System Shell
  4. Answer the Expert System Questions
  5. Look at a list of collected data / answers / evidences
  6. Restart or exit the demonstrator
Details

  1. View the currently loaded XP knowledge base by clicking on the upper link
  2. Change it, make a file, upload this file using the upload control below the link. Here you have to cut&paste the knowledge base text, insert and change it inside a file, store the file, locate it (upload is automatical directly after location)
  3. Execute the Expert System Shell by pressing the button "Execute MYCIN-like XPS Shell"
  4. Answer the Expert System Questions by interacting with the simple menues offered by the interaction bar (orange) below the buttons.
  5. Look at a list of collected data / answers / evidences
  6. Restart or exit the demonstrator
  7. Please note that the shown XPS Shell is written and executed using Prolog. In case your knowledge base produces some (Prolog) errors, these errors will not be shown, since this demonstrator is not a debug site (apo's)
  8. Your uploaded knowledge base is not visible to any other person than to you and it is erased 30 minutes after your last use. It is bound to your current browser session and it will not even be again available to you in case you come back here to further use it. Please store the knowledge base file (in case you changed it) locally on your computer and upload it on your needs.