An expert system is an interactive computer-based decision support system that uses both facts and heuristics to solve complex problems in a specific domain. It aims to emulate the problem-solving and decision-making abilities of human experts. There are three main types of expert systems: advisory systems provide advice and recommendations to users, dictatorial systems fully control processes without human involvement, and criticizing systems analyze problems and proposed solutions to evaluate their effectiveness.