Ingenieur Vol. 74 Ingenieur Vol 72, April-June 2018 | Page 72

INGENIEUR
INGENIEUR
Expert System Shell
User
Inference Engine
Knowledge Base
Developer
Figure 1 : The structure of an expert system ( P . Jackson , 1998 )
obtaining knowledge from a human expert and coding it into a form that a computer may apply to similar problems ( Negnevitsky , 2005 ).
Software Architecture
There are many expert system shells available in the market such as Exsys Developer , KEE , VP- Expert , KnowledgePro , Kappa-PC and others . Once the database of the system has been developed , it is followed by system development . Generally , the structure of the knowledge-based system consists of users , user interface , process information , database , knowledge base , inference engine and output .
The inference engine is an important part of an expert system which is based on rules . The inference engine scans and checks the condition given in the rules depending on the chaining process defined in the reasoning . The reasoning process is classified into two parts namely ; backward or forward chaining . Rules are scanned until one is found where constraint values match the user input . The scanning resumes and the results are deduced . The final results are reported to the user . The process continues until the final selection is made . Figure 1 shows the fundamental structure of an expert system .
When a user enters the required information through the user interface , the inference engine is invoked . Then , the inference engine will try to search for the information from the knowledge base . In the knowledge base system , the knowledge base and database work together . The inference engine will process the data from the user interface based on the reasoning process defined in the reasoning database . Then , the inference engine will try to match the information with the data from the knowledge base . If the condition part of a rule in the knowledge base matches with the information given by the user , the conclusion of that rule is set as a result .
According to Figure 2 , backward chaining is a type of reasoning by asking the inference engine whether a certain fact can be established . The objective is to find a rule whose conclusion matches this question , or goal . Backward chaining is often called goal-driven reasoning . Establishing the truth of a premise can also sometimes call for further rule application ( Rupnawar et al ., 2016 ). In backward chaining , or goal-driven reasoning , the inference engine tries to verify a fact ( reach a goal ) by finding rules that can prove the fact and then attempting to verify their premises . The premises in turn become new facts to be verified by other rules , and so on . Several points should be made about backward chaining in general :
●●
The backward chainer requires a predefined goal .
●●
Goals are written in the Goal Editor .
●●
The backward chaining process is continually trying to satisfy the goal .
●●
Multiple pattern rules cannot be used with the backward chainer .
There are three possible phases in the backward chaining process :
●●
Expanding - Expanding is when the backward chainer tries to further evaluate parts of the rules or the values of objects or slot pairs in order to try and satisfy the goal .
70 VOL 74 APRIL-JUNE 2018