One of the more mature and successful applications of AI (Artificial Intelligence) is the Expert System, in which a knowledge base (domain) is stored on a computer, and then delivered back to users via an ‘inference engine’. An inference engine is a sort of active decision tree, wherein branches can be taken according to current conditions, and thinking can even be ‘backtracked’. Backtracking is necessary if the current conditions change or if an unfruitful path is taken (perhaps a wrong guess). The goal is to have a machine-based, portable ‘expert’ that can make decisions within this domain using varying problem parameters like a human can. One person or persons contribute knowledge, and a different set of people then can use that knowledge. These two groups may be widely separated in time and location, perhaps even in areas of sparse population or hazardous conditions. Interestingly, the user is not necessarily another human. Expert Systems are sometimes employed in automated systems to enable machines to make (artificially) intelligent decisions.
Expert systems are usually created within a ‘shell’. This is a framework that allows rules to be defined and stored along with the facts that define the domain. The human expert imparts her knowledge using the development tools in the shell. Once created, users can then use the shell to apply that stored expertise, by means of an interactive dialog, to new sets of problems within the domain.
Of course, machines lack the ability to apply emotional, cultural, and social context. This can be a hinderance or a benefit depending on the application.