Expert Systems Ms. Ranita Ganguly Faculty Member, ICFAI National College - Garia, Kolkata, West Bengal, India E-mail:
[email protected]
Expert systems are part of a general category of computer applications known as Artificial intelligence. It is a computer application that performs a task that would otherwise be performed by a human expert. For example, there are expert systems that can diagnose human illnesses, make financial forecasts, and schedule routes for delivery vehicles. Some expert systems are designed to take the place of human experts, while others are designed to aid them. Expert Systems are computer programs, derived from a branch of computer science research called Artificial Intelligence (AI). It is a computer program that simulates the judgment and behavior of a human or an organization that has expert knowledge and experience in a particular field. Typically, such a system contains a knowledge base containing accumulated experience and a set of rules for applying the knowledge base to each particular situation that is described to the program. This paper deals with characteristics, components and architecture, advantages and limitations of a proper Expert System and a case study on MYCIN.
1. Expert Systems and Artificial Intelligence – An Overview 1.1 Definition of Artificial Intelligence: Artificial Intelligence is a branch of computer science that deals with the study and creation of computer system that exhibits some form of intelligence. It is the process of making machine, intelligent, so that they can perform well and efficiently in absence of human beings. It is the process of developing computer programs to solve out complex problems by application of processes analogous to the human reasoning process. It is like a system that thinks and behaves rationally like human and it performs either of the following: i. Learns new concepts and tasks.
1
ii. Reasons out and draws conclusion. iii. Able to explain iv. Process natural language. 1.2 The difference between human intelligence and Artificial Intelligence:
Human beings think and behave rationally while Artificial Intelligence imitates the actions and behavior of human beings and their thinking and reasoning process. Process, which is analogous to the human reasoning process, is the distinguishing feature of Artificial Intelligence programs.
Human intelligence makes the computers intelligent and automates the activities like decision making, problem solving, learning and reasoning process so that it can remain within human control.
1.3 Characteristics of AI programs: 1. AI programs manipulate symbolic information to a large extent in contrast to the conventional program. 2. AI program has combinatorial explosion of solution. 3. AI programs deal with real life problems to a large extent. 4. A vital characteristic of AI program is that it is easy to learn. 1.4 Introduction to Expert System: An expert system is an intelligent computer program that uses knowledge and interface procedures to solve out complex problems that requires significant human expertise for their solution. Expert system is a computer that emulates the decision-making capacity of human experts. Often, the term Expert Systems is reserved for programs whose knowledge base contains the knowledge used by human experts, in contrast to knowledge gathered from textbooks or non-experts. More often than not, the two terms, expert systems (ES) and knowledgebased systems (KBS), are used synonymously. Building an expert system is known as knowledge engineering and its practitioners are called knowledge engineers. Facts USER
Expertise
KB Inference Engine
2
The knowledge engineer must make sure that the computer has all the knowledge needed to solve a problem. The knowledge engineer must choose one or more forms of knowledge representation as symbol patterns in the memory of the computer. 2. The Building Blocks of Expert Systems: Every expert system consists of two principal parts: the knowledge base and the inference engine. Knowledge can be defined as a set of known set of facts and figures. Any system becomes effective when the solution methods incorporate domain specific rules and facts. The system becomes an effective problem solver, only when specific knowledge was brought on the problem. Such specific knowledge is called as domain specific knowledge, which leads to the development of knowledge based system. The meaning of knowledge is closely associated with the meaning of intelligence. Intelligence requires possession and access to knowledge. A characteristic of intelligent people is that they posses much knowledge. A common way to represent knowledge for computer or human is in the form of written language. The knowledge base an expert uses is what he has learnt at school, from colleagues, and from years of experience. Presumably, the more experience he has, the larger his store of knowledge. Knowledge allows him to interpret the information in his databases to get advantage in diagnosis, design, and analysis. The knowledge base of expert systems contains both factual and heuristic knowledge. Factual knowledge is that knowledge typically found in textbooks or journals and commonly agreed upon by knowledgeable people in the particular field. Heuristic knowledge is the less rigorous, more experiential, more judgmental knowledge of performance. Knowledge Vs Data: Knowledge requires the use of both data and information. Unlike data, knowledge is processed and organized.
3
Example: A physician treating a patient uses both data and knowledge. Data is the patient’s record like his history, drugs given, response to drugs, different tests etc, whereas knowledge is what the physician has learnt in medical schools and practice. Properties of knowledge: Knowledge is voluminous, constantly changing and it cannot be characterized. Knowledge is organized data. Examples: i.
John is tall ≡ tall(John) This expression is an attribute possessed by a person.
ii.
Bill hates Sue ≡hate (Bill, Sue) : This expression is a complex binary relation between two persons.
iii.
Sam has learned the use of recursion by implementing linked list in several programming language ≡ learn_recursion (Sam, programming_language) : This expression represents the relation between person and more abstract programming concept.
3. Characteristics of Expert System: High performance: The expert system should be capable of responding at a level of competency equal to or better than that of an expert in that field Adequate response time: The system must also perform well in a reasonable amount of time, comparable to or better than the time required by an expert to reach a decision. Good reliability: The expert system must be reliable and not prone to crashes, otherwise it will not be in use. Understandability: The system will be able to explain the steps of its reasoning while executing, so that it is understandable. Flexibility: On account of the large amount of knowledge an expert system may have. It is important to have ‘efficient mechanism’ for adding, changing and deleting the knowledge. Explanation: Human life and property depends on the answers of the expert system, because of the great potential harm it can cause. Expert system must be capable of justifying the conclusion in the same way that a human expert explains why certain conclusion was reached. In the developmental phase, the expert system is used to confirm that knowledge has been correctly acquired and is being currently used by the system.
4
4. Components of Expert System: Knowledge base: It is the core module in any expert system and also the warehouse of domain specific knowledge captured from human expert by the knowledge acquisition module facility. Inference engine/ Rule interpreter: This performs the task of firing rules. It uses forward and backward chaining method. Firing of rules causes two major things to happen: 1. Trigger another rule, thereby a network of rules are triggered. 2. It implies an action has been carried out and this adds new information to the database of inferred facts. User and User interface: It helps in interpreting the instructions that the user provides and transforms them to the machine understandable format to fetch information from the knowledge base. Basically it provides the needed facilities for the user to communicate with the system. The user would normally like to have consultation with the system for the following aspects. 1. To get remedies for the problem. 2. To know the private knowledge of the system if the user is a student. 3. To get some explanation for specific queries. Knowledge Acquisition facility: Now a days expert system is acquiring the knowledge and performing by the process of ‘BEING TOLD’. This is called as Knowledge Acquisition Facility (KAF). It is a major drawback in expert system development currently. Expert system do not have a sophisticated version of learning system. External interface: External interface provides communication between the external environment and the expert system. When there is a formal condition to be enforced, it is done via user interface. In real time expert system, where they form a part of the closed loop system, it is not proper to expect human intervention every time, to feed in the conditions prevailing and get remedies. The external interface gets minute-by-minute information by using the sensors like the atomic reactors and fighter jet aircrafts. Explanation System:
5
The basic question that the user would like to ask the system is ‘Why’ and ‘How’. The answers of ‘How’ and ‘Why’ questions are very important in order to prove the decisions of an expert system. Students use the ‘How’ question to ask and experts use the ‘Why’ question to verify. Examples of Expert Systems: DENDRAL is an expert system used in the detection of mines, MYCIN is used in homeopathy, ELIZA is an expert system used in consultation for conversation between humans and machines. 5. Architecture of expert system:
User
User Interface
Knowledge Acquisition Facility
External interface
Explanation Facility
Inference Engine Knowledge Base
DBMS
SENSORS
COMMUNICATORS
DOMAIN EXPERTS
6. Advantages of Expert System: Increased availability: Expertise is available in any suitable computer hardware or software. In real sense an expert system is a mass production of expertise. Increased reliability: Expert systems increase the confidence that the correct decision was made by providing a second opinion to human experts. This may happen when the human expert was tired or under stress. Reduce cost:
6
The cost of providing expertise for the users is greatly lowered. Reduced danger: Expert system may be used in environments like coalmines or atomic reactors that might be hazardous for all humans. Permanence: Expertise is permanent unlike human expert who may retire, quit or die. The expert system knowledge can last infinitely. The knowledge of multiple experts can be made available to enable us to work simultaneously and to continuously work on a problem at any time day or night. The level of expertise combined from several experts may exceed that of a single human expert. Steady, unemotional and complete response at all times available: The expert system can easily explain in detail the reasoning process that leads to a conclusion. Human beings may be too tired or unable or unwilling to do these at all times available. Fast response: Expert System provides fast response to any user request. 7. Limitations of Expert System: 1. Now days expert system focuses on very specific topics like computer fonts, frotein crystallography, radiology, diagnostic skills etc. The major reason being, difficulty in extracting knowledge, building and maintaining large knowledge bases. 2. Lack of proper knowledge representation mechanisms or skills hamper progress of expert system development. 3. There is no flexibility for the users to state the problem. 4. The construction process of an expert system is a laborious job, requiring a lot of resources, though some of the expert systems have facilities of knowledge acquisition by directly interacting with the experts. For majority of the system, there is a need of knowledge engineers. 5. Now days, expert systems do not have any common sense knowledge or common sense reasoning process. 8. Case study on MYCIN:
7
MYCIN is an expert system used for diagnosing bacterial disease. The job of MYCIN was to diagnose and recommend treatment for certain blood infections. MYCIN was developed over five or six years in the early 1970s at the Stanford University to help physicians in identifying bacteria causing the infection and then suggesting remedial solution. Knowledge base of MYCIN: The knowledge base of MYCIN is organized as a set of production rules with certainty factor attached to it. Control structures used: Control structures used are a set of goal directed backward chaining of rules, but one advanced feature is that the ordering of the rule is not essential. Explanation system: MYCIN has facilities to answer ‘How’ and ‘Why’ questions. ‘Why’ questions can be posed to the system at any point of time during consultation and the system will respond with the action part of the rule. The ‘How’ question helps in understanding the reasoning process of how the answers were arrived at i.e. the system triggers a list of riles used. 9. Expert system utilizing knowledge base and design of experiment (DOE) techniques This invention teaches the user with a design and tool for protocols. It integrates the advantages of a user interface with a simple set of steps, powerful statistical methods, flexible and specialized knowledge bases. VisiRule is a graphical tool for developing and delivering business rules systems and components simply by drawing the decision logic.
8
9
Bibliography: 1. Rich & Knight, Artificial Intelligence (2nd Edition), McGraw-Hill, 1991 2. “Expert system - Wikipedia, the free encyclopedia” http://en.wikipedia.org/wiki/Expert_system 3. “Expert Systems” http://www.aaai.org/AITopics/html/expert.html
4. “What is expert system? - a definition from Whatis.com” http://searchsmb.techtarget.com/sDefinition/0,,sid44_gci212087,00.html
5. “Expert Systems And Artificial Intelligence” http://www.wtec.org/loyola/kb/c1_s1.htm
10