Expert Systems Databases & Information Systems Lachlan M. MacKinnon
What is an Expert System?
“..an intelligent computer program that uses knowledge and inference procedures to solve problems that are difficult enough to require significant human expertise for their solution.” (Feigenbaum 1982)
The area of expert systems is a very successful approximate solution to the classic AI problem of programming intelligence.
Thus, an expert system emulates the decision-making ability of a human expert.
There is no general purpose problem solver yet developed, but expert systems function well in restricted domains.
Initially, expert systems were specifically those which contained expert knowledge, obtained from human experts. The term now covers any system which uses expert system technology (e.g. languages, programs, or hardware designed to aid in the development and execution of expert systems.)
The knowledge contained in an expert system can be expertise, public knowledge, domain
or specialised task knowledge, and may be obtained from public or private media, as well as from knowledgeable persons or experts.
Thus the terms expert system, knowledge-based system and knowledge-based expert system, are often used synonymously.
Knowledge-base Inference Engine User Expertise Facts Expert System
Basic concept of expert system :
User supplies facts or other information to the expert system and receives expert advice or expertise in response
Internally, the expert system consists of two main components :
the knowledge-base contains the knowledge
the inference engine draws conclusions from the knowledge
The expert knowledge is specific to a problem domain , i.e. medicine, finance, science, etc. However, within the problem domain there is the knowledge domain of the expert or system, which is a wholly contained subset of the problem domain
For example, an expert system containing knowledge about electronic engineering might not know anything about power engineering, even though the problem domain could be identified as electrical engineering.
In the knowledge domain, an expert system reasons or makes inferences in the same way that a human expert would infer the solution of a problem.
Expert systems can be used as replacements for human experts, in situations where the problem domain is small and well-defined and the knowledge domain of the system is equivalent. However, they are more widely used as intelligent assistants, i.e. decision support systems
Advantages of Expert Systems
expertise becomes available on any suitable computer hardware, thus the system disseminates expertise more widely
cost per user of providing expertise is lowered
expert systems can be used in situations that would be hazardous to a human
human experts are impermanent
can include the expertise of several human experts
not subject to human variability
can be used to confirm or increase confidence that correct decision has been reached. Not advisable if human expert being assisted by system was the one who designed the system
system can explicitly explain in detail to all interested parties, at all times, the reasoning that leads to a conclusion. This increases confidence in the decision, and a human expert would be unlikely to have the time, or the patience, to do this.
For some applications, especially real-time systems, the expert system may respond faster and be more available than the human expert.
Steady, unemotional and complete response at all times
expert systems don’t suffer from stress or fatigue(??!!)
the ability to test sample scenarios and provide detailed reasoning for decisions makes the expert system a useful tool for tutoring, especially in specialist domains.
expert systems can be used to access data from a database relative to some problem solution strategy developed by the system.
Explicating Expert Knowledge
the knowledge of human experts must be put in an explicit form to be entered in the computer, enabling it to be examined for correctness, consistency & completeness
General Concepts of Expert Systems
Knowledge represented by rules (i.e. if-then)
Building the system is called knowledge engineering
Sophisticated systems contain explanation facilities, possibly even permitting multiple “What-if” style questions - hypothetical reasoning