1.1 Expert system The expert system is “a computer program capable of performing at the level of a human expert in a narrow area”. Expert systems, which are considered part of the field of artificial intelligence, are designed to imitate thought processes of an expert doing a particular task. It generally attempt to use of specialized knowledge to give advice or solve well-defined problems or tasks.
1.2 Architecture of a Rule-based Expert System A rule-based system (shown in Figure 1) has five components: the knowledge base, the database, the inference engine, the explanation facilities, and the user interface.
l The knowledge base contains the domain knowledge useful for problem solving. In a rule-based expert system, the knowledge is represented as a set of rules. Each rule specifies a relation, recommendation, directive, strategy or heuristic and has the IF (condition) THEN (action) structure. When the condition part of a rule is satisfied, the rule is said to fire and action is executed.
l The database includes a set of facts used to match against the IF (condition) parts of rules stored in the knowledge base.
l The inference engine carries out the reasoning whereby the expert system reaches a solution. It links the rules given in the knowledge base with the facts provided in the database.
l The explanation facilities enable the user to ask the expert system how a particular conclusion is reached and why a specific fact is needed. An expert system must be able to explain its reasoning and justify its advice, analysis or conclusion.
l The user interface is the means of communication between a user seeking a solution to the problem and an expert system. The communication should be as meaningful and friendly as possible.
Figure 1 Complete Structure of a Rule-based Expert System (M. Negnevitsky, 2002: p 32)
1.3 Expert System Shell An expert system shell can be considered as an expert system with the knowledge removed. Therefore, all the user has to do is to add the knowledge in the form of rules and provide relevant data to solve a problem.
The expert system shell simplifies the process of creating a knowledge base. Although shells simplify programming, in general they don't help with knowledge acquisition. The choice of reasoning method, or a shell, is important, but it isn't as important as the gathering of high-quality knowledge
1.4 Plant Identifier Expert System The subject of the project is “Plant Identifier Expert System”. It is a ruled-based expert system that makes judgments in botany domain. Production rules are used to representation knowledge and the method of inference is forward chaining. The expert system shell used to build the system is Penny—a rule-based expert system development toolkit based on 4D.
This system identifies the plant based on the description of some visual features of the plant provided by user. It is impossible to build a system that can judge features of everywhere of the plant. So it is very necessary to choose some very common parts of plants to identify, such as stem, leaf and so on. And every part has its own properties, so some distinct features are summarized to users to select for judgment.