Since Artificial Intelligence (AI) was introduced in early 1970s, the goal of AI scientists has always been to develop computer programs that can think and solve problems at the level compatible to human experts. An expert system is usually a computer program which performs complex data processing similar to evaluation made by a human expert.
The term ``expert system'' could be applied to any computer program which is able to draw conclusions and make decisions, based on knowledge, represented as a database, it has. An expert system doesn't have to be a replacement for a human expert. Such systems are often used as a support when a human can not collect all vital information due to theirs amount or complexity. That is why there is a need for systems that work in real-time and perform theirs functions faster and better then a human is able to do. There is also another reason, computer programs are much more cheaper then human experts (not in terms of their value, which may not be compared, but maintenance: costs of educations, salaries etc.). If there is a way to duplicate a part of knowledge a human expert has, it is economical to do that using a computer program.
There are three basic types of expert systems:
Expert systems usually consists of two core parts:
The interaction between the user and an expert system is given in Fig 2.1.
There are two stages during creating expert systems: data acquisition and reasoning. Data acquisition provides a way ``to teach'' a system, this results in a knowledge base, while reasoning is the major mode an expert system works in.
The performance of expert systems depends on their knowledge bases mostly. It was expressed: ``more knowledge less search'', the more knowledge you have the quicker you find a proper solution. So the main problem is to create an appropriate knowledge base.