An expert system is a computer program that mimics the decision-making abilities of a human with expert knowledge in a specific field. Expert systems typically consist of a knowledge base (representing facts and rules) and an inference engine (applies those rules to known facts to extrapolate new facts).
Expert systems were initially enhanced through additions to the knowledge base or inference engine. Recently, machine learning allows some systems to learn from experience, in a manner similar to that of humans.
The existence of expert systems can be traced back to the contributions of Edward Feigenbaum and Stanford Heuristic Programming Project in the mid-1960s. Although expert systems proliferated throughout the 1980s, the following decade saw the demise in the use of the term. It wasn’t necessarily those expert systems failed. Rather, major business software companies began incorporating expert system abilities into their products as a way to automate business processes.
Expert systems have been used in numerous situations including Space Shuttle mission control, toxic spill crisis management, and software logic analysis.