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