All Topics  
Expert system

 

   Email Print
   Bookmark   Link






 

Expert system



 
 
An expert system is software that attempts to reproduce the performance of one or more human expert
Expert

An "expert" is someone widely recognized as a reliabilism source of wikt:technique or skill whose faculty for judging or deciding rightly, justly, or wisely is accorded authority and status by their Peer groups or the public in a specific well distinguished domain....
s, most commonly in a specific problem domain
Problem domain

A problem domain is the area of expertise or application that needs to be examined to solve a problem. A problem domain is simply looking at only the topics you are interested in, and excluding everything else....
, and is a traditional application and/or subfield of artificial intelligence
Artificial intelligence

Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Major AI textbooks define the field as "the study and design of intelligent agents,"...
. A wide variety of methods can be used to simulate the performance of the expert however common to most or all are 1) the creation of a so-called "knowledgebase" which uses some knowledge representation
Knowledge representation

Knowledge representation is an area in artificial intelligence that is concerned with how to formally "think", that is, how to use a symbol system to represent "a domain of discourse" - that which can be talked about, along with functions that may or may not be within the domain of discourse that allow inference about the objects within the...
 formalism to capture the subject matter experts (SME) knowledge and 2) a process of gathering that knowledge from the SME
SME

SME may stand for:*Small and medium enterprises, a synonym for Small and Medium-sized Business *SME , Slovak daily newspapers*SME Server, a Linux firewall/server distribution...
 and codifying it according to the formalism, which is called knowledge engineering
Knowledge engineering

Knowledge engineering has been defined by Feigenbaum, and McCorduck as follows:""KE is an engineering discipline that involves integrating knowledge into computer systems in order to solve complex problems normally requiring a high level of human expertise."...
.






Discussion
Ask a question about 'Expert system'
Start a new discussion about 'Expert system'
Answer questions from other users
Full Discussion Forum



Encyclopedia


An expert system is software that attempts to reproduce the performance of one or more human expert
Expert

An "expert" is someone widely recognized as a reliabilism source of wikt:technique or skill whose faculty for judging or deciding rightly, justly, or wisely is accorded authority and status by their Peer groups or the public in a specific well distinguished domain....
s, most commonly in a specific problem domain
Problem domain

A problem domain is the area of expertise or application that needs to be examined to solve a problem. A problem domain is simply looking at only the topics you are interested in, and excluding everything else....
, and is a traditional application and/or subfield of artificial intelligence
Artificial intelligence

Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Major AI textbooks define the field as "the study and design of intelligent agents,"...
. A wide variety of methods can be used to simulate the performance of the expert however common to most or all are 1) the creation of a so-called "knowledgebase" which uses some knowledge representation
Knowledge representation

Knowledge representation is an area in artificial intelligence that is concerned with how to formally "think", that is, how to use a symbol system to represent "a domain of discourse" - that which can be talked about, along with functions that may or may not be within the domain of discourse that allow inference about the objects within the...
 formalism to capture the subject matter experts (SME) knowledge and 2) a process of gathering that knowledge from the SME
SME

SME may stand for:*Small and medium enterprises, a synonym for Small and Medium-sized Business *SME , Slovak daily newspapers*SME Server, a Linux firewall/server distribution...
 and codifying it according to the formalism, which is called knowledge engineering
Knowledge engineering

Knowledge engineering has been defined by Feigenbaum, and McCorduck as follows:""KE is an engineering discipline that involves integrating knowledge into computer systems in order to solve complex problems normally requiring a high level of human expertise."...
. Expert systems may or may not have learning components but a third common element is that once the system is developed it is proven by being placed in the same real world problem solving situation as the human SME, typically as an aid to human workers or a supplement to some information system.

As a premiere application of computing and artificial intelligence, the topic of expert systems has many points of contact with general systems theory
Systems theory

Systems theory is an interdisciplinary field of science and the study of the nature of complex systems in nature, society, and science. More specifically, it is a framework by which one can analyze and/or describe any group of objects that work in concert to produce some result....
, operations research
Operations research

Operations Research in the USA, South Africa and Australia, and Operational Research in Europe and Canada, is an interdisciplinary branch of applied mathematics and formal science that uses methods such as mathematical modeling, statistics, and algorithms to arrive at optimal or near optimal solutions to complex problems....
, business process reengineering
Business process reengineering

Business process reengineering is, in computer science and management, an approach aiming at improvements by means of elevating Business efficiency and effectiveness of the business process that exist within and across organizations....
 and various topics in applied mathematics
Applied mathematics

Applied mathematics is a branch of mathematics that concerns itself with the mathematical techniques typically used in the application of mathematical knowledge to other domains....
 and management science
Management science

Management science , is the discipline of using scientific research-based principles, strategies, and other analytical methods, such as mathematical modeling to help create and improve better organizations and institutions and to help them make better and more meaningful business management decisions....
.

Expert systems topics


Chaining

There are two main methods of reasoning when using inference rules: backward chaining and forward chaining.

Forward chaining
Forward chaining

Forward chaining is one of the two main methods of reasoning when using inference rules . It is referred in philosophical circle as modus ponens....
 starts with the data available and uses the inference rules to conclude more data until a desired goal is reached. An inference engine using forward chaining searches the inference rules until it finds one in which the if-clause is known to be true
Logical value

In logic and mathematics, a logical value, also called a truth value, is a value indicating the extent to which a proposition is truth.In classical logic, the only possible truth values are true and false....
. It then concludes the then-clause and adds this information to its data
DATA

Debt, AIDS, Trade in Africa is a multinational Non-governmental organization founded in January 2002 in London by U2's Bono along with Robert Sargent Shriver III and activists from the Jubilee 2000 Drop the Debt campaign....
. It would continue to do this until a goal is reached. Because the data available determines which inference rules are used, this method is also called data driven.

Backward chaining
Backward chaining

Backward chaining is an inference method used in artificial intelligence. It is one of two methods of reasoning that uses inference rules ? the other is forward chaining, also known as modus ponens....
 starts with a list of goals and works backwards to see if there is data which will allow it to conclude any of these goals. An inference engine using backward chaining would search the inference rules until it finds one which has a then-clause that matches a desired goal. If the if-clause of that inference rule is not known to be true, then it is added to the list of goals. For example, suppose a rulebase contains

If Fritz is green then Fritz is a frog
Frog

Frogs are amphibians in the order Anura , formerly referred to as Salientia . The name frog derives from Old English language frogga, , cognate with Sanskrit plava , probably deriving from Proto-Indo-European language praw = "to jump"....
.

If Fritz is a frog then Fritz hops.

Suppose a goal is to conclude that Fritz hops. The rulebase would be searched and rule (2) would be selected because its conclusion (the then clause) matches the goal. It is not known that Fritz is a frog, so this "if" statement is added to the goal list. The rulebase is again searched and this time rule (1) is selected because its then clause matches the new goal just added to the list. This time, the if-clause (Fritz is green) is known to be true and the goal that Fritz hops is concluded. Because the list of goals determines which rules are selected and used, this method is called goal driven.

Certainty factors

One advantage of expert systems over traditional methods of programming is that they allow the use of "confidences" (or "certainty factors"). When a human reasons he does not always conclude things with 100% confidence. He might say, "If Fritz is green, then he is probably a frog" (after all, he might be a chameleon
Chameleon

Chameleons are a distinctive and highly specialized clade of lizards. They are distinguished by their parrot-like zygodactylous feet, their separately mobile and stereoscopic eyes, their very long, highly modified, and rapidly extrudable tongues, their swaying gait, and the possession by many of a prehensile tail, crests or horns on their...
). This type of reasoning can be imitated by using numeric values called confidences. For example, if it is known that Fritz is green, it might be concluded with 0.85 confidence that he is a frog; or, if it is known that he is a frog, it might be concluded with 0.95 confidence that he hops. These numbers are similar in nature to probabilities
Probability

Probability, or wikt:chance, is a way of expressing knowledge or belief that an Event will occur or has occurred. In mathematics the concept has been given an exact meaning in probability theory, that is used extensively in such areas of study as mathematics, statistics, finance, gambling, science, and philosophy to draw conclusions about t...
, but they are not the same. They are meant to imitate the confidences humans use in reasoning rather than to follow the mathematical definitions used in calculating probabilities.

Expert system architecture

The following general points about expert systems and their architecture have been illustrated.

1. The sequence of steps taken to reach a conclusion is dynamically synthesized with each new case. It is not explicitly programmed when the system is built.


2. Expert systems can process multiple values for any problem parameter. This permits more than one line of reasoning to be pursued and the results of incomplete (not fully determined) reasoning to be presented.


3. Problem solving
Problem solving

Problem solving forms part of thought. Considered the most complex of all intelligence functions, problem solving has been defined as higher-order cognitive process that requires the modulation and control of more routine or fundamental skills....
 is accomplished by applying specific knowledge rather than specific technique. This is a key idea in expert systems technology. It reflects the belief that human experts do not process their knowledge differently from others, but they do possess different knowledge. With this philosophy
Philosophy

Philosophy is the study of general problems concerning matters such as existence, knowledge, truth, beauty, justice, validity, mind, and language....
, when one finds that their expert system does not produce the desired results, work begins to expand the knowledge base, not to re-program the procedure
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
s.


There are various expert systems in which a rulebase and an inference engine cooperate to simulate the reasoning process that a human expert pursues in analyzing a problem and arriving at a conclusion. In these systems, in order to simulate the human reasoning process, a vast amount of knowledge needed to be stored in the knowledge base. Generally, the knowledge base of such an expert system consisted of a relatively large number of "if then" type of statements that were interrelated in a manner that, in theory at least, resembled the sequence of mental steps that were involved in the human reasoning process.

Because of the need for large storage capacities and related programs to store the rulebase, most expert systems have, in the past, been run only on large information handling systems. Recently, the storage capacity of personal computers has increased to a point where it is becoming possible to consider running some types of simple expert systems on personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
s.

In some applications
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
 of expert systems, the nature of the application and the amount of stored information necessary to simulate the human reasoning process for that application is just too vast to store in the active memory
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
 of a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
. In other applications of expert systems, the nature of the application is such that not all of the information is always needed in the reasoning process. An example of this latter type application would be the use of an expert system to diagnose a data processing system comprising many separate components, some of which are optional. When that type of expert system employs a single integrated rulebase to diagnose the minimum system configuration of the data processing system, much of the rulebase is not required since many of the components which are optional units of the system will not be present in the system. Nevertheless, earlier expert systems require the entire rulebase to be stored since all the rules were, in effect, chained or linked together by the structure of the rulebase.

When the rulebase is segmented, preferably into contextual segments or units, it is then possible to eliminate portions of the Rulebase containing data or knowledge that is not needed in a particular application. The segmenting of the rulebase also allows the expert system to be run with systems or on systems having much smaller memory capacities than was possible with earlier arrangements since each segment of the rulebase can be paged into and out of the system as needed. The segmenting of the rulebase into contextual segments requires that the expert system manage various intersegment relationships as segments are paged into and out of memory during execution of the program. Since the system permits a rulebase segment to be called and executed at any time during the processing of the first rulebase, provision must be made to store the data that has been accumulated up to that point so that at some time later in the process, when the system returns to the first segment, it can proceed from the last point or rule node that was processed. Also, provision must be made so that data that has been collected by the system up to that point can be passed to the second segment of the rulebase after it has been paged into the system and data collected during the processing of the second segment can be passed to the first segment when the system returns to complete processing that segment.

The user interface
User interface

The user interface is the aggregate of means by which people—the User s—Interaction with the system—a particular machine, device, computer program or other complex tools....
 and the procedure interface are two important functions in the information collection process.

End user

The end-user usually sees an expert system through an interactive dialog, an example of which follows:

Q. Do you know which restaurant you want to go to?
A. No


Q. Is there any kind of food you would particularly like?
A. No


Q. Do you like spicy food?
A. No


Q. Do you usually drink wine with meals?
A. Yes


Q. When you drink wine, is it French wine?
A. Yes


As can be seen from this dialog, the system is leading the user through a set of question
Question

A question may be either a linguistic expression used to make a request for information, or else the request itself made by such an expression. This information is provided with an answer....
s, the purpose of which is to determine a suitable set of restaurants to recommend. This dialog begins with the system asking if the user already knows the restaurant choice (a common feature of expert systems) and immediately illustrates a characteristic of expert systems; users may choose not to respond to any question. In expert systems, dialogs are not pre-planned. There is no fixed control structure. Dialogs are synthesized from the current information and the content
Content

Content or contents, is something that is contained. The term may refer to:* Content , the highest common factor of the coefficients of a polynomial...
s of the knowledge base. Because of this, not being able to supply the answer to a particular question does not stop the consultation.

Explanation system


Another major distinction between expert systems and traditional systems is illustrated by the following answer given by the system when the user answers a question with another question, "Why", as occurred in the above example. The answer is:

A. I am trying to determine the type of restaurant to suggest. So far Chinese is not a likely choice. It is possible that French is a likely choice. I know that if the diner is a wine drinker, and the preferred wine is French, then there is strong evidence that the restaurant choice should include French.


It is very difficult to implement a general explanation system (answering questions like "Why" and "How") in a traditional computer program. An expert system can generate an explanation by retracing the steps of its reasoning. The response of the expert system to the question WHY is an exposure of the underlying knowledge structure. It is a rule; a set of antecedent conditions which, if true, allow the assertion of a consequent
Consequent

A consequent is the second half of a hypothetical proposition. In the standard form of such a proposition, it is the part that follows "then"....
. The rule references values, and tests them against various constraint
Constraint

Constraint may refer to:* Constraint * Constraint algorithm such as SHAKE, or LINCS* Constraint ** Loading gauge versus structure gauge* Constraint ...
s or asserts constraints onto them. This, in fact, is a significant part of the knowledge structure. There are values, which may be associated with some organizing entity
Entity

An entity is something that has a distinct, separate existence, though it need not be a material existence. In particular, abstractions and legal fictions are usually regarded as entities....
. For example, the individual diner is an entity with various attributes (values) including whether they drink wine and the kind of wine. There are also rules, which associate the currently known value
Value (computer science)

In computer science, a value is a sequence of bits that is interpreted according to some data type. It is possible for the same sequence of bits to have different values, depending on the type used to interpret its meaning....
s of some attribute
Attribute

The word "attribute" can refer to:* In philosophy, property , an abstraction of a characteristic of an entity or substance* In art, an object that identifies a figure, most commonly referring to objects held by saints - see emblem...
s with assertions that can be made about other attributes. It is the orderly processing of these rules that dictates the dialog itself.

Expert systems versus problem-solving systems

The principal distinction between expert systems and traditional problem solving
Problem solving

Problem solving forms part of thought. Considered the most complex of all intelligence functions, problem solving has been defined as higher-order cognitive process that requires the modulation and control of more routine or fundamental skills....
 programs is the way in which the problem related expertise is coded. In traditional applications, problem expertise is encoded in both program and data structures.

In the expert system approach all of the problem related expertise is encoded in data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s only; none is in programs. This organization has several benefits.

An example may help contrast the traditional problem solving program with the expert system approach. The example is the problem of tax advice. In the traditional approach data structures describe the taxpayer and tax tables, and a program in which there are statements representing an expert tax consultant's knowledge, such as statements which relate information about the taxpayer to tax table choices. It is this representation of the tax expert's knowledge that is difficult for the tax expert to understand or modify.

In the expert system approach, the information about taxpayers and tax computations is again found in data structures, but now the knowledge describing the relationships between them is encoded in data structures as well. The programs of an expert system are independent of the problem domain
Problem domain

A problem domain is the area of expertise or application that needs to be examined to solve a problem. A problem domain is simply looking at only the topics you are interested in, and excluding everything else....
 (taxes) and serve to process the data structures without regard to the nature of the problem area they describe. For example, there are programs to acquire the described data values through user interaction, programs to represent and process special organizations of description, and programs to process the declaration
Declaration (computer science)

In programming languages, a declaration specifies the identifier, Type system, and other aspects of language elements such as Variable#Computer_programming and Subroutine....
s that represent semantic relationships within the problem domain and an algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
 to control the processing sequence and focus.

The general architecture
Architecture

The term architecture can refer to a process, a profession or documentation.As a process, architecture is the activity of designing and construction buildings and other physical structures by a person or a computer, primarily to provide shelter....
 of an expert system involves two principal components: a problem dependent set of data declarations called the knowledge base or rule base, and a problem independent (although highly data structure dependent) program which is called the inference engine
Inference engine

In computer science, and specifically the branches of knowledge engineering and artificial intelligence, an inference engine is a computer program that tries to derive answers from a knowledge base....
.

Individuals involved with expert systems

There are generally three individuals having an interaction with expert systems. Primary among these is the end-user
End-user

Economics and commerce define an end-user as the person who uses a Product . The end-user or consumer may differ from the person who purchases the product....
; the individual who uses the system for its problem solving assistance. In the building and maintenance of the system there are two other roles: the problem domain expert who builds and supplies the knowledge base providing the domain expertise, and a knowledge engineer
Knowledge engineers

Knowledge engineers are computer systems experts who are trained in the field of expert systems. Receiving information from domain expert, the knowledge engineers interpret the presented information and relay it to computer programmers who code the information in to systems databases to be accessed by end-users....
 who assists the experts in determining the representation
Knowledge representation

Knowledge representation is an area in artificial intelligence that is concerned with how to formally "think", that is, how to use a symbol system to represent "a domain of discourse" - that which can be talked about, along with functions that may or may not be within the domain of discourse that allow inference about the objects within the...
 of their knowledge, enters this knowledge into an explanation module
Explanation module

Explanation modules, used in expert systems, is a function that enables the knowledge worker to understand why the information explained and concluded by the domain expert is viable....
 and who defines the inference technique required to obtain useful problem solving activity. Usually, the knowledge engineer will represent the problem solving activity in the form of rules which is referred to as a rule-based expert system. When these rules are created from the domain expertise, the knowledge base stores the rules of the expert system.

Inference rule

An understanding of the "inference rule" concept is important to understand expert systems. An inference rule is a statement
Statement

Statement may refer to:*News release, a statement issued to the news media*statement that is either true or false*Sentence , a type of sentence...
 that has two parts, an if-clause and a then-clause. This rule is what gives expert systems the ability to find solutions to diagnostic and prescriptive problems. An example of an inference rule is:

If the restaurant choice includes French, and the occasion is romantic,


Then the restaurant choice is definitely Paul Bocuse
Paul Bocuse

Paul Bocuse is a France chef, considered one of the finest cooks of the 20th century. He is widely credited with being one of the first chefs to emerge from the kitchen and to enter public life....
.


An expert system's rulebase is made up of many such inference rules. They are entered as separate rules and it is the inference engine that uses them together to draw conclusions. Because each rule is a unit, rules may be deleted or added without affecting other rules (though it should affect which conclusions are reached). One advantage of inference rules over traditional programming is that inference rules use reasoning
Reasoning

Reasoning is the Cognition process of looking for reasons for beliefs, conclusions, actions or feelings. Although reasoning was once thought to be a uniquely human capability, other animals also engage in Animal_cognition#Reasoning_and_problem_solving....
 which more closely resemble human reasoning.

Thus, when a conclusion is drawn, it is possible to understand how this conclusion was reached. Furthermore, because the expert system uses knowledge in a form similar to the expert
Expert

An "expert" is someone widely recognized as a reliabilism source of wikt:technique or skill whose faculty for judging or deciding rightly, justly, or wisely is accorded authority and status by their Peer groups or the public in a specific well distinguished domain....
, it may be easier to retrieve this information from the expert.

Procedure node interface

The function of the procedure node interface is to receive information from the procedures coordinator and create the appropriate procedure call. The ability to call a procedure
Subroutine

In computer science, a subroutine or subprogram is a portion of computer code within a larger computer program, which performs a specific task and is relatively independent of the remaining code....
 and receive information from that procedure can be viewed as simply a generalization
Generalization

Generalization is a foundational element of logic and reasoning. Generalization posits the existence of a domain or Set theory of elements, as well as one or more common characteristics shared by those elements....
 of input
Input

Input is the term denote either an entrance or changes which are inserted into a system and which activate/modify a process. It is an abstract concept, used in the model ing, system design and system exploitation....
 from the external world. While in some earlier expert systems external information has been obtained, that information was obtained only in a predetermined manner so only certain information could actually be acquired. This expert system, disclosed in the cross-referenced application, through the knowledge base, is permitted to invoke any procedure allowed on its host system. This makes the expert system useful in a much wider class of knowledge domains than if it had no external access or only limited external access.

In the area of machine diagnostics using expert systems, particularly self-diagnostic applications, it is not possible to conclude the current state of "health" of a machine without some information. The best source of information is the machine itself, for it contains much detailed information that could not reasonably be provided by the operator.

The knowledge that is represented in the system appears in the rulebase. In the rulebase described in the cross-referenced applications, there are basically four different types of objects, with associated information present.

  1. Classes--these are questions asked to the user.
  2. Parameters--a parameter is a place holder for a character string which may be a variable that can be inserted into a class question at the point in the question where the parameter is positioned.
  3. Procedures--these are definitions of calls to external procedures.
  4. Rule Nodes--The inferencing in the system is done by a tree structure which indicates the rules or logic which mimics human reasoning. The nodes of these trees are called rule nodes. There are several different types of rule nodes.


The rulebase comprises a forest of many trees. The top node of the tree is called the goal node, in that it contains the conclusion. Each tree in the forest has a different goal node. The leaves of the tree are also referred to as rule nodes, or one of the types of rule nodes. A leaf may be an evidence node, an external node, or a reference node.

An evidence node functions to obtain information from the operator by asking a specific question. In responding to a question presented by an evidence node, the operator is generally instructed to answer "yes" or "no" represented by numeric values 1 and 0 or provide a value of between 0 and 1, represented by a "maybe."

Questions which require a response from the operator other than yes or no or a value between 0 and 1 are handled in a different manner.

A leaf that is an external node indicates that data will be used which was obtained from a procedure call.

A reference node functions to refer to another tree or subtree.

A tree may also contain intermediate or minor nodes between the goal node and the leaf node. An intermediate node can represent logical operations like And or Or.

The inference logic has two functions. It selects a tree
TREE

TREE was a Boston hardcore punk band formed in the summer of 1990. They were active in the Boston music scene until disbanding in 2002....
 to trace and then it traces that tree. Once a tree has been selected, that tree is traced, depth-first, left to right.

The word "tracing" refers to the action the system takes as it traverses the tree, asking classes (questions), calling procedures, and calculating confidences as it proceeds.

As explained in the cross-referenced applications, the selection of a tree depends on the ordering of the trees. The original ordering of the trees is the order in which they appear in the rulebase. This order can be changed, however, by assigning an evidence node an attribute "initial" which is described in detail in these applications. The first action taken is to obtain values for all evidence nodes which have been assigned an "initial" attribute. Using only the answers to these initial evidences, the rules are ordered so that the most likely to succeed is evaluated first. The trees can be further re-ordered since they are constantly being updated as a selected tree is being traced.

It has been found that the type of information that is solicited by the system from the user by means of questions or classes should be tailored to the level of knowledge of the user. In many applications, the group of prospective uses is nicely defined and the knowledge level can be estimated so that the questions can be presented at a level which corresponds generally to the average user. However, in other applications, knowledge of the specific domain
Domain

Domain has several meanings:...
 of the expert system might vary considerably among the group of prospective users.

One application where this is particularly true involves the use of an expert system, operating in a self-diagnostic mode on a personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 to assist the operator of the personal computer to diagnose the cause of a fault or error in either the hardware or software. In general, asking the operator
Operator

In mathematics, an operator is a function which operates on another function. Often, an "operator" is a function which acts on functions to produce other functions ; or it may be a generalization of such a function, as in linear algebra, where some of the terminology reflects the origin of the subject in operations on the functions which ar...
 for information is the most straightforward way for the expert system to gather information assuming, of course, that the information is or should be within the operator's understanding. For example, in diagnosing a personal computer, the expert system must know the major functional components
Electronic component

An electronic component is a basic Electronics element usually packaged in a discrete form with two or more connecting leads or metallic pads....
 of the system. It could ask the operator, for instance, if the display
Display device

A display device is an output device for presentation of information for visual, tactile or Hearing_ reception, acquired, stored, or transmitted in various forms....
 is a monochrome
Monochrome

Monochrome comes from the Greek language ?????????? , meaning ?of one color?, which is a combination of ????? , meaning ?alone? or ?solitary?, and ????a , meaning ?color?....
 or color display. The operator should, in all probability, be able to provide the correct answer 100% of the time. The expert system could, on the other hand, cause a test unit to be run to determine the type of display. The accuracy of the data collected by either approach in this instance probably would not be that different so the knowledge engineer
Knowledge engineering

Knowledge engineering has been defined by Feigenbaum, and McCorduck as follows:""KE is an engineering discipline that involves integrating knowledge into computer systems in order to solve complex problems normally requiring a high level of human expertise."...
 could employ either approach without affecting the accuracy of the diagnosis. However, in many instances, because of the nature of the information being solicited, it is better to obtain the information from the system rather than asking the operator, because the accuracy of the data supplied by the operator is so low that the system could not effectively process it to a meaningful conclusion.

In many situations the information is already in the system, in a form of which permits the correct answer
Answer

An answer was originally a solemn assertion in opposition to some one or something, and thus generally any counter-statement or defense, a reply to a question or objection, or a correct solution of a problem....
 to a question to be obtained through a process of inductive or deductive reasoning. The data previously collected by the system could be answers provided by the user to less complex questions that were asked for a different reason or results returned from test units that were previously run.

User interface

The function of the user interface is to present questions and information to the user and supply the user's responses to the inference engine.

Any values entered by the user must be received and interpreted by the user interface. Some responses are restricted to a set of possible legal answers, others are not. The user interface checks all responses to insure that they are of the correct data type. Any responses that are restricted to a legal set of answers are compared against these legal answers. Whenever the user enters an illegal answer, the user interface informs the user that his answer was invalid and prompts him to correct it.

Application of expert systems

Expert systems are designed and created to facilitate tasks in the fields of accounting, medicine, process control
Process control

Process control is a statistics and engineering discipline that deals with architectures, Mechanism s, and algorithms for controlling the output of a specific process....
, financial service, production
Manufacturing

Manufacturing is the use of machine, tool and labor to make things for use or sale. The term may refer to a range of human activity, from handicraft to high tech, but is most commonly applied to Industry production, in which raw material are transformed into finished good on a large scale....
, human resources
Human resources

Human resources is a term with which organizations describe the combination of traditionally administrative personnel functions with performance, Employee Relations and Resource planning....
 etc. Indeed, the foundation of a successful expert system depends on a series of technical procedures and development that may be designed by certain technicians and related experts.

A good example of application of expert systems in banking area is expert systems for mortgages
Expert systems for mortgages

An expert system for mortgages is a computer program that contains the knowledge and analytical skills of human experts, related to mortgage banking. Loan departments are interested in expert systems for mortgages because of the growing cost of labor which makes the handling and acceptance of relatively small loans less profitable....
. Loan departments are interested in expert systems for mortgages because of the growing cost of labour which makes the handling and acceptance of relatively small loans less profitable. They also see in the application of expert systems a possibility for standardised, efficient handling of mortgage loan, and appreciate that for the acceptance of mortgages there are hard and fast rules which do not always exist with other types of loans.

While expert systems have distinguished themselves in AI
Artificial intelligence

Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Major AI textbooks define the field as "the study and design of intelligent agents,"...
 research in finding practical application, their application has been limited. Expert systems are notoriously narrow in their domain of knowledge
Knowledge

Knowledge is defined in the Oxford English Dictionary as expertise, and skills acquired by a person through experience or education; the theoretical or practical understanding of a subject, what is known in a particular field or in total; facts and information or awareness or familiarity gained by experience of a fact or situation....
—as an amusing example, a researcher used the "skin disease" expert system to diagnose his rustbucket car as likely to have developed measles—and the systems were thus prone to making error
Error

The word error has different meanings and usages relative to how it is conceptually applied. The concrete meaning of the Latin word error means "wandering" or "straying"....
s that human
Human

A human being, also human or man, is a member of a species of bipedalism primates in the family Hominidae . Mitochondrial DNA evidence indicates that modern humans originated in east Africa about 200,000 years ago....
s would easily spot. Additionally, once some of the mystique had worn off, most programmer
Programmer

A programmer is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software....
s realized that simple expert systems were essentially just slightly more elaborate versions of the decision logic they had already been using. Therefore, some of the techniques of expert systems can now be found in most complex programs without any fuss about them.

An example, and a good demonstration of the limitations of, an expert system used by many people is the Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 troubleshooting
Troubleshooting

Troubleshooting is a form of problem solving most often applied to repair of failed products or processes. It is a logical, systematic search for the source of a problem so that it can be solved, and so the product or process can be made operational again....
 software located in the "help" section in the taskbar
Taskbar

In computing, the taskbar is a term for an application desktop bar which is used to launch and monitor applications. Microsoft incorporated a taskbar in Windows 95 and it has been a defining aspect of Microsoft Windows's graphical user interface ever since....
 menu. Obtaining expert/technical operating system support is often difficult for individuals not closely involved with the development of the operating system. Microsoft has designed their expert system to provide solutions, advice, and suggestions to common errors encountered throughout using the operating systems.

Another 1970s and 1980s application of expert systems — which we today would simply call AI
Ai

Ai may refer to:...
 — was in computer games
Computer Games

"Computer Games" is a single by New Zealand group, Mi-Sex released in 1981 . It was the single that launched the band, and was hugely popular, particularly in Australia and New Zealand....
. For example, the computer baseball
Baseball

Baseball is a bat-and-ball sport played between two team sport of nine players each. The goal of baseball is to score run by hitting a thrown Baseball with a baseball bat and touching a series of four markers called base arranged at the corners of a ninety-foot square, or diamond. Players on one team take turns hitting against...
 games Earl Weaver Baseball
Earl Weaver Baseball

Earl Weaver Baseball is a baseball computer game , designed by Don Daglow and Eddie Dombrower and published by Electronic Arts. The artificial intelligence for the computer manager was provided by Baseball Hall of Fame member Earl Weaver, then manager of the Baltimore Orioles....
 and Tony La Russa Baseball
Tony La Russa Baseball

Tony La Russa Baseball is a baseball computer game and video game console sports game series , designed by Don Daglow, Mark Buchignani, David Bunnett and Hudson Piehl and developed by Stormfront Studios....
 each had highly detailed simulations of the game strategies of those two baseball managers. When a human played the game against the computer, the computer queried the Earl Weaver
Earl Weaver

Earl Sidney Weaver is a former Major League Baseball manager . He spent his entire managerial career with the Baltimore Orioles, managing the club from 1968 Baltimore Orioles season–1982 Baltimore Orioles season and 1985 Baltimore Orioles season–1986 Baltimore Orioles season....
 or Tony La Russa
Tony La Russa

Anthony "Tony" La Russa, Jr. is a Manager in Major League Baseball, currently with the St. Louis Cardinals. In 2004 he became the sixth manager in history to win pennants with both American League and National League teams; in 2006 he became the first manager ever to win multiple pennants in both leagues and became one of only two managers...
 Expert System for a decision on what strategy to follow. Even those choices where some randomness was part of the natural system (such as when to throw a surprise pitch-out to try to trick a runner trying to steal a base) were decided based on probabilities supplied by Weaver or La Russa. Today we would simply say that "the game's AI provided the opposing manager's strategy."

Advantages and disadvantages

Advantages:
  • Provides consistent answers for repetitive decisions, processes and tasks
  • Holds and maintains significant levels of information
  • Encourages organizations to clarify the logic of their decision-making
  • Never "forgets" to ask a question, as a human might


Disadvantages:
  • Lacks common sense needed in some decision making
  • Cannot make creative responses as human expert would in unusual circumstances
  • Domain experts not always able to explain their logic and reasoning
  • Errors may occur in the knowledge base, and lead to wrong decisions
  • Cannot adapt to changing environments, unless knowledge base is changed


Types of problems solved by expert systems

Expert systems are most valuable to organizations that have a high-level of know-how experience and expertise that cannot be easily transferred to other members. They are designed to carry the intelligence and information found in the intellect of experts and provide this knowledge to other members of the organization for problem-solving purposes.

Typically, the problems to be solved are of the sort that would normally be tackled by a medical or other professional
Professional

A professional is a person who has completed a doctoral or law program or equivalent .A professional is someone who has a professional degree - a number one on the Hollingshead scale....
. Real experts in the problem domain (which will typically be very narrow, for instance "diagnosing skin conditions in human teenagers") are asked to provide "rules of thumb
Rule of thumb

A rule of thumb is a principle with broad application that is not intended to be strictly accurate or reliable for every situation. It is an easily learned and easily applied procedure for approximately calculating or recalling some value, or for making some determination....
" on how they evaluate the problems, either explicitly with the aid of experienced systems developers, or sometimes implicitly, by getting such experts to evaluate test case
Test case

A test case in software engineering is a set of conditions or variables under which a tester will determine whether an software application or software system meets specifications....
s and using computer programs to examine the test data and (in a strictly limited manner) derive rule
Operator

In mathematics, an operator is a function which operates on another function. Often, an "operator" is a function which acts on functions to produce other functions ; or it may be a generalization of such a function, as in linear algebra, where some of the terminology reflects the origin of the subject in operations on the functions which ar...
s from that. Generally, expert systems are used for problems for which there is no single "correct" solution which can be encoded in a conventional algorithm — one would not write an expert system to find shortest paths through graphs, or sort data, as there are simply easier ways to do these tasks.

Simple systems use simple true/false logic
Logic

Logic is the study of the principles of valid demonstration and inference. Logic is a branch of philosophy, a part of the classical Trivium . The word derives from Greek language ?????? , fem....
 to evaluate data. More sophisticated systems are capable of performing at least some evaluation
Evaluation

Evaluation is systematic determination of merit, worth, and significance of something or someone using criteria against a set of standards. Evaluation often is used to characterize and appraise subjects of interest in a wide range of human enterprises, including the arts, criminal justice, foundation and non-profit organizations, government,...
, taking into account real-world uncertainties, using such methods as fuzzy logic
Fuzzy logic

Fuzzy logic is a form of multi-valued logic derived from fuzzy set theory to deal with reasoning that is approximate rather than precise. In binary sets with binary logic, in contrast to fuzzy logic named also crisp logic, the variables may have a Membership function of only 0 or 1....
. Such sophistication is difficult to develop and still highly imperfect.

Expert Systems Shells or Inference Engine
Inference engine

In computer science, and specifically the branches of knowledge engineering and artificial intelligence, an inference engine is a computer program that tries to derive answers from a knowledge base....
 


A shell is a complete development environment for building and maintaining knowledge-based applications. It provides a step-by-step methodology for a knowledge engineer that allows the domain experts themselves to be directly involved in structuring and encoding the knowledge. Many commercial shells are available.

See also

  • AI productions
  • Artificial intelligence
    Artificial intelligence

    Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Major AI textbooks define the field as "the study and design of intelligent agents,"...
  • Artificial neural network
    Artificial neural network

    An artificial neural network , often just called a "neural network" , is a mathematical model or computational model based on biological neural networks....
  • Action selection mechanism
  • Business Intelligence
    Business intelligence

    Business intelligence refers to skills, technologies, applications and practices used to help a business acquire a better understanding of its commercial context....
  • Case-based reasoning
    Case-based reasoning

    Case-based reasoning , broadly construed, is the process of solving new problems based on the solutions of similar past problems. An auto mechanic who fixes an engine by recalling another automobile that exhibited similar symptoms is using case-based reasoning....
  • Clinical decision support system
    Clinical decision support system

    Clinical decision support systems are interactive computer programs, which are designed to assist physicians and other health professionals with decision making tasks....
  • Connectionist expert system
    Connectionist expert system

    Connectionist expert systems are artificial neural network based expert systems where the ANN generates inferencing rules e.g., fuzzy-multi layer perceptron where linguistic and natural form of inputs are used....
  • Data Mining
    Data mining

    Data mining is the process of extracting hidden patterns from data. As more data is gathered, with the amount of data doubling every three years, data mining is becoming an increasingly important tool to transform this data into information....
  • Fuzzy logic
    Fuzzy logic

    Fuzzy logic is a form of multi-valued logic derived from fuzzy set theory to deal with reasoning that is approximate rather than precise. In binary sets with binary logic, in contrast to fuzzy logic named also crisp logic, the variables may have a Membership function of only 0 or 1....
  • Heuristic (computer science)
    Heuristic (computer science)

    In computer science, a heuristic algorithm, or simply a heuristic, is an algorithm that is able to produce an acceptable solution to a problem in many practical scenarios, but for which there is no formal proof of its correctness....
  • Inference engine
    Inference engine

    In computer science, and specifically the branches of knowledge engineering and artificial intelligence, an inference engine is a computer program that tries to derive answers from a knowledge base....
  • Knowledge Acquisition and Documentation Structuring
    Knowledge Acquisition and Documentation Structuring

    Knowledge Acquisition and Documentation Structuring is a structured way of developing knowledge-based systems . It was developed at the University of Amsterdam as an alternative to an evolutionary approach and is now accepted as the European standard for knowledge based systems....
  • Knowledge base
    Knowledge base

    A knowledge base is a special kind of database for knowledge management, providing the means for the computerized collection, organization, and retrieval of knowledge....
  • Machine learning
    Machine learning

    Machine learning is the subfield of artificial intelligence that is concerned with the design and development of algorithms that allow computers to improve their performance over time based on data, such as from sensor data or databases....
  • OPS5
    OPS5

    OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful expert system, the R1 system used to configure VAX computers....
  • Production system
    Production system

    A production system is a computer program typically used to provide some form of artificial intelligence, which consists primarily of a set of rules about behavior....
  • Rete algorithm
    Rete algorithm

    The Rete algorithm is an efficient pattern matching algorithm for implementing production rule systems. The Rete algorithm was designed by Dr Charles Forgy of Carnegie Mellon University, first published in a working paper in 1974, and later elaborated in his 1979 Ph.D....
  • Self service software
    Self service software

    Self service software is a subset within the Knowledge Management software category and which contains a range of software that specializes in the way information, process rules and logic are collected, framed within an organized taxonomy, and accessed through decision support interviews....
  • Expert systems for mortgages
    Expert systems for mortgages

    An expert system for mortgages is a computer program that contains the knowledge and analytical skills of human experts, related to mortgage banking. Loan departments are interested in expert systems for mortgages because of the growing cost of labor which makes the handling and acceptance of relatively small loans less profitable....
  • Type-2 fuzzy sets and systems
    Type-2 fuzzy sets and systems

    Type-2 fuzzy sets and systems generalize fuzzy sets and systems so that more uncertainty can be handled. From the very beginning of fuzzy sets, criticism was made about the fact that the membership function of a type-1 fuzzy set has no uncertainty associated with it, something that seems to contradict the word fuzzy, since that word has...


Bibliography

  • James Ignizio, Introduction to Expert Systems (1991), ISBN 0-07-909785-5
  • Joseph C. Giarratano, Gary Riley Expert Systems, Principles and Programming (2005), ISBN 0-534-38447-1
  • Peter Jackson Introduction to Expert Systems (1998), ISBN 0-201-87686-8


External links