The document discusses expert systems, which are computer programs designed to solve complex problems like a human expert by storing knowledge in a knowledge base and applying rules of inference. It covers the introduction of expert systems, how domain knowledge is represented, key features of expert systems like their use of rules and ability to explain conclusions, and common applications of expert systems. The document also describes the typical architecture of an expert system, including components like the user interface, inference engine, knowledge base editor, and fact database.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
147 views
Unit-10: Expert Systems: Dr. Gopi Sanghani
The document discusses expert systems, which are computer programs designed to solve complex problems like a human expert by storing knowledge in a knowledge base and applying rules of inference. It covers the introduction of expert systems, how domain knowledge is represented, key features of expert systems like their use of rules and ability to explain conclusions, and common applications of expert systems. The document also describes the typical architecture of an expert system, including components like the user interface, inference engine, knowledge base editor, and fact database.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20
Artificial Intelligence (AI)
3170716
Unit-10: Expert Systems
Dr. Gopi Sanghani
Computer Engineering Department Darshan Institute of Engineering & Technology, Rajkot [email protected] 9825621471 Outline Looping Introduction Representing and Using Domain Knowledge Features of Expert Systems Rule based Expert Systems Expert System Architecture Applications of Expert Systems Introduction An expert system is a computer program that is designed to solve complex problems and to provide decision-making ability like a human expert. The concept of expert systems was first developed in the 1970s by Edward Feigenbaum, professor and founder of the Knowledge Systems Laboratory at Stanford University. Feigenbaum explained that the world was moving from data processing to knowledge processing, a transition which was being enabled by new processor technology and computer architectures. An expert system solves the most complex issue as an expert by extracting the knowledge stored in its knowledge base. The knowledge is extracted from its knowledge base using the reasoning and inference rules according to the user queries. It is called so because it contains the expert knowledge of a specific domain and can solve any complex problem of that particular domain. These systems are designed for a specific domain, such as medicine, science, etc.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 3
Introduction The performance of an expert system is based on the expert's knowledge stored in its knowledge base. The more knowledge stored in the KB, the more that system improves its performance. One of the most common example is, making of a medical diagnosis expert system in which a medical diagnosis expert system lets the user diagnose his disease without going to a real doctor. Typically, an expert system incorporates a knowledge base containing accumulated experience and an inference or rules engine -- a set of rules for applying the knowledge base to each particular situation that is described to the program. The system's capabilities can be enhanced with additions to the knowledge base or to the set of rules. Current systems may include Machine Learning capabilities that allow them to improve their performance based on experience, just as humans do.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 4
Representing and Using Domain Knowledge Expert system is built around a knowledge base module. It contains a formal representation of the information provided by the domain expert. This information may be in the form of problem-solving rules, procedures, or data intrinsic to the domain. To incorporate these information into the system, it is necessary to make use of one or more knowledge representation methods. Transferring knowledge from the human expert to a computer is often the most difficult part of building an expert system. The knowledge acquired from the human expert must be encoded in such a way that it remains a faithful representation of what the expert knows, and it can be manipulated by a computer. Three common methods of knowledge representation evolved over the years are, IF-THEN rules, Semantic networks and Frames.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 5
Features of Expert Systems Expert systems differ from conventional computer system in several important ways, Expert systems use knowledge rather than data to control the solution process. Much of the knowledge used is heuristic in nature rather than algorithmic. The knowledge is encoded and maintained as an entity separate from the control program. This permits the incremental addition and modification of the knowledge base without recompilation of the control programs. Furthermore, it is possible in some cases to use different knowledge bases with the same control programs to produce different types of expert systems. Such systems are known as expert system shells since they may be loaded with different knowledge bases. Expert systems are capable of explaining how a particular conclusion was reached, and why requested information is needed during a consultation. This is important as it gives the user a chance to assess and understand the systems’ reasoning ability, thereby improving the user’s confidence in the system.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 6
Features of Expert Systems Expert systems differ from conventional computer system in several important ways, Expert systems use symbolic representations for knowledge and perform their inference through symbolic computations that closely resemble manipulations of natural language. Expert systems often reason with meta knowledge, that is, they reason with knowledge about themselves, and their own knowledge limits and capabilities.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 7
Rule-Based Expert Systems An expert system is designed to model the behavior of an expert in some field, such as medicine or geology. Rule-based expert systems are designed to be able to use the same rules that the expert would use to draw conclusions from a set of facts that are presented to the system. The design, development, and use of expert systems involves a number of people. The People Involved in an Expert System are: The end-user of the system is the person who has the need for the system. In the case of a medical diagnosis system, this may be a doctor, or it may be an individual who has a complaint that they wish to diagnose. The knowledge engineer is the person who designs the rules for the system, based on either observing the expert at work or by asking the expert questions about how he or she works. The domain expert is very important to the design of an expert system. In the case of a medical diagnosis system, the expert needs to be able to explain to the knowledge engineer how he or she goes about diagnosing illnesses.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 8
Expert System Architecture An expert system is a set of programs that manipulate encoded knowledge to solve problems in a specialized domain that normally requires human expertise. An expert system’s knowledge is obtained from expert sources and coded in a form suitable for the system to use in its inference or reasoning processes. The expert knowledge must be obtained from specialists or other sources of expertise, such as texts, journal, articles and databases. This type of knowledge usually requires much training and experience in some specialized field such as medicine, geology, system configuration, or engineering design. Once a sufficient amount of expert knowledge has been acquired, it must be encoded in some form, loaded into a knowledge base, then tested, and refined continually throughout the life of the system.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 9
The user of the expert system interfaces with it Expert System Shells through a user interface, which provides access to the inference engine, the explanation system, and User the knowledge-base editor.
The inference engine is the part of the system that
uses the rules and facts to derive conclusions. Knowledge base editor Knowledge The inference engine will use forward chaining, Base backward chaining, or a combination of the two to User Inference make inferences from the data that are available Interface engine to it..
The knowledge-base editor allows the user to edit
Explanation Fact the information that is contained in the knowledge system Database base.
Shell
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 10
The knowledge-base editor is not usually made Expert System Shells available to the end user of the system but is used by the knowledge engineer or the expert to provide User and update the knowledge that is contained within the system.
The knowledge base contains the specific domain
Knowledge knowledge that is used by an expert to derive base editor Knowledge conclusions from facts. Base
User Inference In the case of a rule-based expert system, this
Interface engine domain knowledge is expressed in the form of a series of rules.
Explanation Fact The explanation system provides information to
system Database the user about how the inference engine arrived at its conclusions. Shell
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 11
This can often be essential, particularly if the Expert System Shells advice being given is of a critical nature, such as with a medical diagnosis system. User If the system has used faulty reasoning to arrive at its conclusions, then the user may be able to see this by examining the data given by the Knowledge explanation system. base editor Knowledge Base The fact database contains the case-specific data User Inference that are to be used in a particular case to derive a Interface engine conclusion.
In the case of a medical expert system, this would
Explanation Fact contain information that had been obtained about system Database the patient’s condition.
Shell
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 12
An Expert system shell is a software development Expert System Shells environment which contains the basic components of expert systems. User A shell is associated with a prescribed method for building applications by configuring and instantiating these components. Knowledge base editor Knowledge The expert system that does not contain domain- Base specific or case-specific information are contained User Inference within the expert system shell. Interface engine This shell is a general toolkit that can be used to build a number of different expert systems, Explanation Fact depending on which knowledge base is added to system Database the shell.
Shell
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 13
Knowledge Engineering Knowledge Engineering is a vital part of the development of any expert system. The knowledge engineer does not need to have expert domain knowledge but does need to know how to convert such expertise into the rules that the system will use, preferably in an efficient manner. Hence, the knowledge engineer’s main task is communicating with the expert, in order to understand fully how the expert goes about evaluating evidence and what methods he or she uses to derive conclusions. Having built up a good understanding of the rules the expert uses to draw the conclusions, the knowledge engineer must encode these rules in the expert system shell language that is being used for the task. In some cases, the knowledge engineer will have freedom to choose the most appropriate expert system shell for the task. In other cases, this decision will have already been made, and the knowledge engineer must work with what he is given.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 14
Expert System Example : MYCIN MYCIN is a well-known medical expert system that was developed at Stanford University in 1984. MYCIN was designed to assist doctors to prescribe antimicrobial drugs for blood infections. In this way, experts in antimicrobial drugs are able to provide their expertise to other doctors who are not so expert in that field. By asking the doctor a series of questions, MYCIN is able to recommend a course of treatment for the patient. Importantly, MYCIN is also able to explain to the doctor which rules are fired and therefore is able to explain why it produced the diagnosis and recommended treatment that it did. MYCIN has proved successful: for example, it has been proven to be able to provide more accurate diagnoses of meningitis in patients than most doctors. MYCIN was developed using LISP, and its rules are expressed as LISP expressions.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 15
Expert System Example : MYCIN The following is an example of the kind of rule used by MYCIN, translated into English: IF the infection is primary-bacteria AND the site of the culture is one of the sterile sites AND the suspected portal of entry is the gastrointestinal tract THEN there is suggestive evidence (0.7) that infection is bacteroid A common method for building expert systems is to use a rule-based system with backward chaining. Typically, a user enters a set of facts into the system, and the system tries to see if it can prove any of the possible hypotheses using these facts. In some cases, it will need additional facts, in which case the expert system will often ask the user questions, to ascertain facts that could enable further rules to fire.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 16
Expert System Example : MYCIN The algorithm is applied as follows: To prove a conclusion, we must prove a set of hypotheses, one of which is the conclusion. For each hypothesis H: • If H is in the facts database, it is proved. • Otherwise, if H can be determined by asking a question, then enter the user’s answer in the facts database. • Hence, it can be determined whether H is true or false, according to the user’s answer. • Otherwise, find a rule whose conclusion is H. • Now apply this algorithm to try to prove this rule’s antecedents. • If none of the above applies, we have failed to prove H.
Typically, backward chaining is used in combination with forward chaining.
Whenever a new fact is added to the database, forward chaining is applied to see if any further facts can be derived. Backward chaining is then used to try to prove each possible hypothesis.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 17
Applications of Expert Systems The Expert systems have found their way into most areas of knowledge work. The applications of expert systems technology have widely proliferated to industrial and commercial problems. Diagnosis and Troubleshooting of Devices and Systems Medical diagnosis was one of the first knowledge areas to which Expert system technology was applied in 1976. However, the diagnosis of engineering systems quickly surpassed medical diagnosis. Planning and Scheduling The Expert system's commercial potential in planning and scheduling has been recognized as very large. Examples are airlines scheduling their flights, personnel, and gates; the manufacturing process planning and job scheduling; Configuration of Manufactured Objects from sub-assemblies Configuration problems are synthesized from a given set of elements related by a set of constraints. The Expert systems have been very useful to find solutions. For example, modular home building and manufacturing involving complex engineering design. Design and Manufacturing Here the Expert systems assist in the design of physical devices and processes, ranging from high-level conceptual design of abstract entities all the way to factory floor configuration of manufacturing processes.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 18
Applications of Expert Systems Knowledge Publishing This is relatively new, but also potentially explosive area. Here the primary function of the Expert system is to deliver knowledge that is relevant to the user's problem. The two most widely known Expert systems are : one, an advisor on appropriate grammatical usage in a text; and the other, is a tax advisor on tax strategy, tactics, and individual tax policy. Process Monitoring and Control Here Expert system does analysis of real-time data from physical devices, looking for anomalies, predicting trends, controlling optimality and failure correction. Examples of real-time systems that actively monitor processes are found in the steel making and oil refining industries. Financial Decision Making The financial services are the vigorous user of expert system techniques. Advisory programs have been created to assist bankers in determining whether to make loans to businesses and individuals. Insurance companies to assess the risk presented by the customer and to determine a price for the insurance. ES are used in typical applications in the financial markets / foreign exchange trading.
Dr. Gopi Sanghani #3170716 (AI) Unit 10 Expert systems 19