An expert system is a computer system designed to capture the knowledge and behaviour of an expert in some problem domain; they are also known as knowledge-based systems for this reason. Typical domains are medical diagnosis or electronic repair, where the expert identifies problems and solutions to them from a limited set of data, making inferences from the combination of their knowledge of the domain and the data available. In such cases, the aim of the expert system is to reproduce this ability in a computer system, allowing people with less experience access to the expert’s knowledge. A typical expert system is composed of an inference engine and a knowledge base. The knowledge base consists of the rules and facts which compose the knowledge acquired from the expert, and the inference engine uses these rules and facts along with data entered by the user to draw conclusions.