OER·harvester

← Back to the library
Zenodo PDF resource

Artificial intelligence (AI) with It's Applications

The book "Artificial Intelligence (AI) with It's Applications" provides a comprehensive insight into the field of AI, exploring its fundamental principles, modern applications, and future potential. It serves as a valuable resource for students, researchers, and professionals looking to understand AI’s role in shaping industries and everyday life. The book begins with an introduction to Artificial Intelligence , cov…

Licence
OPEN CC-BY-4.0
Authors
Dr. Dipikaben Umakant Thakar, Mrs. PL. Natchiammai, Dr. R. J. Kavitha…
Published
2025-03-18 · Zenodo
Language
eng
Length
66700 words
Type
narrative text
Open ↗ Download Open original ↗

2. Explanation Module : The explanation module explains the reasoning of the system to a user. It provides the user with an explanation of the reasoning process when requested. The credibility of expert system will be established only when it is able to explain "how and why" a particular conclusion is drawn. This explanation increases the belief of user in the expert system. a) Explanation (How) : To respond to a how query, the explanation module traces the chain of rules fired during a consolation with the user. This explanation mode can be activated once the process is over. It explains how a fact was deduced by the system and similarly how a rule was/wasn't used. The simplest way to specify this is to explain the rule which allows the deduction. For e.g. If the system (S) will give information about the parent-child relationship to the user (U) then the followings can be possible. S : My diagnosis is " A is the father of B " U: How ? S : The result was obtained by the addition of following facts and rules. Fact no 11: A is the parent of Hari. Fact no 15: A is a male. Fact no 110: 𝑋 is father of 𝑌 : X is parent of Y, X is male. So A is the father of B. b) Explanation (Why)? To respond to a why query, the explanation module must be able to explain why certain information is needed by the inference engine to complete a step in the reasoning process. This mode of explanation is dynamic and is used when the system functions in backward chaining. If the user doesn't understand the reason behind the question. The system is capable of explaining why the question was asked. For example S: Is the following true ? A is the father of B. U:Why? S:I need the fact: 𝐴 is the father of 𝐵 to establish the following fact " 𝐵 is the son of 𝐴 ". By using the rule no. 4 A is the father of B : 𝐵 is the son of 𝐴. 3. Working Memory : It is a global database of facts used by the rules.

4. Knowledge Engineering : The primary people involved in building an expert system are the knowledge engineer, the domain expert and the end user. Once the knowledge engineer has obtained a general overview of the problem domain and gone through several problem solving sessions with the domain expert, he/she is ready to begin actually designing the system, selecting a way to represent the knowledge, determining the search strategy (backward or forward) and designing the user interface. After making complete designs, the knowledge engineer builds a prototype. The prototype should be able to solve problems in a small area of the domain. Once the prototype has been implemented, the knowledge engineer and domain expert test and refine its knowledge by giving it problems to solve and correcting its disadvantages. 5. Knowledge Base : In rule based architecture of an expert system, the knowledge base is the set of production rules. The expertise concerning the problem area is represented by productions. In rule based architecture, the condition actions pairs are represented as rules, with the premises of the rules (if part) corresponding to the condition and the conclusion (then part) corresponding to the action. Case-specific data are kept in the working memory. The core part of an expert system is the knowledge base and for this reason an expert system is also called a knowledge based system. Expert system knowledge is usually structured in the form of a tree that consists of a root frame and a number of sub frames. A simple knowledge base can have only one frame, i.e. the root frame whereas a large and complex knowledge base may be structured on the basis of multiple frames. Inference Engine : The inference engine accepts user input queries and responses to questions through the I/O interface. It uses the dynamic information together with the static knowledge stored in the knowledge base. The knowledge in the knowledge base is used to derive conclusions about the current case as presented by the user's input. Inference engine is the module which finds an answer from the knowledge base. It applies the knowledge to find the solution of the problem. In general, inference engine makes inferences by deciding which rules are satisfied by facts, decides the priorities of the satisfied rules and executes the rule with the highest priority. Generally inferring process is carried out recursively in 3 stages like match, select and execute. During the match stage, the contents of working memory are compared to facts and rules contained in the knowledge base. When proper and consistent matches are found, the corresponding rules are placed in a conflict set.

ii) Example Architecture : Blackboard System

A blackboard system is composed of an area of shared memory, referred to as the blackboard, which blackboard, which contains a problem to be solved and a number of different processes, referred to as knowledge sources that can access and modify the blackboard [Nii].

Each knowledge source will post a partial solution whenever doing so can contribute to the overall solution of the problem. These partial solutions cause other knowledge sources to update their portions of the solution on the blackboard until eventually an answer is found.

Blackboard systems are useful for tasks where different types of knowledge need to be brought to bear; e.g., natural language processing, speech processing, and perception.

Fig. 5.3 Blackboard System.

Blackboard system application consists of three major components

  1. The software specialist modules, which are called knowledge sources.
  2. The blackboard, a shared repository of problems, partial solutions, suggestions, and contributed information.
  3. The control shell, which controls the flow of problem-solving activity in the system.
  4. Knowledge sources have a condition-action structure. Ordinarily the condition is a particular configuration of elements on the blackboard. The action ordinarily entails the creation or modification of solution elements on the blackboard. The advantages of a blackboard include separation of knowledge into independent modules with each module being free to use the appropriate technology to arrive at the best solution with the most efficiency.

Famous examples are the Hearsay-II speech recognition system based on the BB1 architecture and Douglas Hofstadter's Copycat program. Other systems include HASP/SIAP that maintained surveillance of surface ships and submarines from sonar data; CRYSALIS, which was designed to infer the three-dimensional structure of protein molecules; and TRICERO, which monitored an area of airspace for traffic. The Intelligent Intermediary for Information Retrieval (I3R), developed by [Croft and Thompson], consists of a group of experts that communicate via a common data structure.

Two free blackboard systems are GBB (UMass blackboard system) and GEST (Generic Expert System Tool). BBTech Corporation sells blackboard systems, multi-agent organizations, and collaborating-software technology solutions.

5.3 Expert System Shell

Many expert systems are built with products called expert system shells. A shell is a piece of software which contains the user interface, a format for declarative knowledge in the knowledgebase and an inference engine. The knowledge and system engineers use these shells in making expert systems.

Earlier each expert system was built from scratch, usually in LISP. But, after several varieties of systems they had been built this way, it became clear that these systems often had a lot in common. In particular, since the systems were constructed as a set of declarative representations (mostly rules) combined with an interpreter for those representations, it was possible to create a system that would be used to construct new expert systems by adding new knowledge corresponding to the new problem domain. The resulting interpreters are called shell, example of such a shell is EMYCIN, which was deceived from MYCIN.

Knowledge engineer uses shell to build a system for a particular domain. System engineer builds the user interface, designs the declarative format of the knowledgebase and implements the inference engine.

Several commercial shells are available which can work as base system for expert systems that are currently under developed. These shells provide rules frames, truth maintenance systems and a variety of other reasoning mechanisms. The expert system shells provide mechanisms for knowledge representation, reasoning and explanation. Later on knowledge acquisition tools were added to the shell. The ability of shell was not enough and new systems required more capabilities and tools. The shells were expected to integrate expert systems with other programs. Expert system need access to large databases and they are generally embedded within larger programs that use primarily conventional programming techniques. Therefore, expert system shell must provide an easy to use interface between an expert system that is written with the shell and a larger and more conventional programming environment.

5.4 Explanation

An important feature of expert system is the ability to explain itself. Given that the system knows which rules were used during the inference process, the system can provide those rules to the user as means for explaining the result. By looking at explanations, the knowledge engineer can see how the system is behaving and how the rules and data are interacting. This is very valuable diagnostic tool during development.

To make an effective expert system, people must be able to interact with it easily. To facilitate this interaction the expert system must have the following two capabilities in addition to the ability to perform its underlying task.

Explain its reasoning (Why, Why not and How explanations)

In many of the domains in which expert systems operate, people will not accept results unless they have been convinced of the accuracy of the reasoning process that produced those results. For example, in medical, a doctor must accept ultimate responsibility for a diagnosis, even if the diagnosis was arrived at with considerable help from a program. Thus it is important that reasoning process be used in such programs proceeds in understandable steps and that enough meta-knowledge is available so that explanations of those steps can be generated.

An expert system shell asks questions and provides advice and Justification (all via the user interface). Justification comes in two parts :

Why-explanation of the reasoning for asking a particular question.

How-explanation of the reasoning in providing a particular piece of advice. Given that the system knows which rules were used during the inference process, it is possible for the system to provide those rules to the user as a means for explaining its current action and the obtained results.

Types of Explanation

a. Why a particular question is asked-usually by describing the rule that has as a condition the answer of the question. b. How a particular conclusion has been reached-usually by listing the rules that have been applied. c. Why not a given conclusion. The user put forward a hypothesis to be verified. d. What if a particular symptom is present. Sometimes the user may want to see whether a particular symptom would prove a hypothesis or not.

e. Terminology-explains the meaning of system terminology to achieve better understanding by the user.

Acquiring new knowledge and modifying old knowledge

Expert systems derive their power from their richness of the knowledge bases they exploit, therefore it is extremely important that those knowledge bases should be as complete and as accurate as possible. But often there exists no standard codification of that knowledge, rather it exists only inside the heads of human experts. One way is to get this knowledge with the human experts, another way is to have the program learn experts behaviour from raw data.

Explanation mode allows the system to explain its conclusions and its reasoning process. This ability comes from the AND/OR trees created during the production system reasoning process. As a result most expert systems can answer the following why and how questions.

Why was a given fact used ? Why was a given fact not used ? How was a given conclusion reached ? How was it that another conclusion was not reached?

Let us illustrate the action of an expert system by considering the behaviour of an actual one MYCIN, a medical expert system.

MYCIN has been informed that a patient has contracted Meningitis while in hospital. Doctors wish to interrogate MYCIN to check this diagnosis.

MYCIN then asks the doctors this question MYCIN : Is Meningitis a hospital acquired illness ? Doctor : why? MYCIN : [2.0] This will aid in determining the organisms that might be causing the infection.

It has already established [2.1] The infection that requires therapy is Meningitis. [2.2] Organisms were not seen on the stain of this pending csf culture. [2.3] The type of infection is bacterial. [2.4] Neurosurgery is not one of the relevant items of patient 100. [2.5] The age of patient is 100 is greater than 25. Therefore if [2.6] the infection was acquired while the patient was in hospital then there is evidence that the organisms that might be causing the infection are E coli( 0.75 ), staphylococcus-coag-pos(0.3), pseudomonas-aeruginosa(0.3), klebsiella-pneumoniae(0.5)

If the doctors wanted to know how something was concluded they might ask Doctor: How 2.3 The system then responds with :

MYCIN : The following rules concluded about the likelihood that the type of the infection is bacterial : [2.7] RULE148 (0.19) [2.8] RULE500 (0.51) [2.9] RULE501 (0.95) [3.0] RULE502 (0.97) [3.1] RULE526 (0.98) [3.2] RULE504 (0.97) [3.3] RULE524 (0.98)

The system takes the doctors through the production system AND/OR tree to explain its conclusions. The numbers in brackets are called certainty factors because little can be absolutely certain. The certainty factors range from -1 to +1 where -1 means absolutely not and +1 absolutely so and 0 undecided either way.

A blackboard system

HEARSAY uses the concept of a blackboard system where each partition or subsystem is treated as a specialist. Each specialist is a set of production rules in its own right. It is illustrated below. HEARSAY is a speech recognition system that is about 90% accurate. The specialism for HEARSAY are also illustrated below.

Human experts communicate using TEIRESIAS with the performance program MYCIN to discover how well MYCIN is doing in responding to the requests for help that it receives. Through using TEIRESIAS the expert can coach MYCIN into producing better responses so that an element of learning is introduced.

TEIRESIAS recognizes that some of the knowledge required for the knowledge base is inexact or rough and it succeeds in offering advice for its correction. It also provides method for extracting the best performance out of an expert system such as MYCIN.

TEIRESIAS was the first program to support explanation and knowledge acquisition system of TEIRESIAS served as a front-end for the MYCIN expert system.

A crucial premise underlying TEIRESIAS's approach to explanation is that the behavior of a program can be explained simply by referring to a trace of the programs execution. There are ways in which this assumption limits the kinds of explanation that can be produced, but it does minimize the overhead involved in each explanation. To understand how TEIRESIAS generates explanation of MYCIN's behaviour, one need to know how that behaviour is structured. MYCIN solve its goal of recommending a therapy for a particular patient by first finding the cause of the patients illness. It uses its production rules to reason backward from goals to clinical observations. Initially, to solve the top-level diagnostic goal it looks for rules whose right sides suggest diseases. Later it uses the left sides of those rules (the preconditions)

to set-up sub-goals whose success would enable the rules to be involved. These sub-goals are again matched against rules and their preconditions are used to set-up additional sub-goals.

Whenever a precondition describes a specific piece of clinical evidence, MYCIN uses that evidence if it already has access to it. Otherwise, it asks the user to provide the information. In order that MYCIN's request for information will appear coherent to the user, the actual goals that MYCIN set-up are often more general than they need to satisfy the preconditions of an individual rule. For example, if a precondition specifies that the identity of an organism is X. MYCIN will set-up the goal 'infer identity'. This approach also means that if another rule mentions the organism's identity no further work will be required, since the identity will be known.

Consider the trace of TEIRESIAS-MYCIN's behaviour as shown in Fig. 5.4. The first question that the user asks is a 'WHY' question. Particularly for clinical tests that are either expensive or dangerous, it is important for the doctor to be convinced that the information is really needed before ordering the test. Because MYCIN is reasoning backward the question can easily be answered by examining the goal tree. Doing so provides two kinds of information :

What higher level questions might be able to answer if it had the requested piece of information? v What other information does the system already have makes it think that the requested piece of knowledge would help? (Here facts 2.1 to 2.4). When TEIRESIAS provides the answer to the first of these questions, the user may be satisfied or may want to follow the reasoning process back even further. The user can do that by asking additional 'WHY' questions. When TEIRESIAS provides the answer to the second of these questions and tells the user what it already believes, the user may want to know the basis for those beliefs. The user can ask this with a 'How' question also can be answered by looking at the goal tree and chaining backward from the started fact to the evidence that allowed a rule that determined the fact to fire. The production system model is very general and without restrictions, it is hard to support all kinds of explanations that design artifacts through a propose and revise strategy. SALT is capable of answering questions like WHY-NOT and WHAT-IF.

Fig. 5.4 A portion of dialogue with TEIRESIAS.

Simple example of explanation

Most expert systems have explanation facilities that allow the user to ask why it asked some question, and how it reached some conclusion. These questions are answered by referring to the system goals, the rules being used and any existing problem data. To illustrate the sorts of facilities commonly provided, we'll elaborate on our simple

example above, starting with a simple example dialogue involving why and how questions and explanations.

System : Is there gas in the fuel tank ? User: Yes. System : Is it true that the engine turns over ? User: No. System : Is it true that the lights come on ? User: Why ? System : I am trying to prove : problem with battery.

It has been established that it is not the case that the engine turns over. Therefore if it is not the case that the lights come on then there is a problem with battery.

Is it true that the lights come on ? User: No. System : I conclude that there is a problem with the battery. User: How ? System : This follows from Rule 2 : IF NOT engine_turns_overAND ... NOT engine_turns_overwas given by the user. NOT lights_come_onwas given by the user. Providing such an explanation facility involves, at least, recording what rules are used in drawing conclusions and using these records to compose explanations like the ones above.

Giving simple explanations like those above is not very difficult (the answers always have a simple set form), and is sometimes quite useful. However, explanation facilities in expert systems are often not widely used and where used not viewed as acceptable by their users.

There are a whole lot of reasons for this, motivating current research in the area. One reason is that the explanations just reference the "surface" knowledge encoded in the rules, rather than the "deep" knowledge about the domain which originally motivated the rules (but which is usually not represented). So, the system will say that it concluded X because of rule23, but not explain what rule23 is all about. (In the above example, maybe the user needs to understand that both the lights and the starter use the battery, which is the underlying rationale for the second rule in our example). Another stated reason for the frequent failure of explanation facilities is the fact that, if the user fails to understand or accept the explanation, the system can't re-explain in another way (as people can).

Explanation generation is a fairly large (and fascinating) area of research, concerned with effective communication : how do we present things so that people are really satisfied with the explanation and what implications does this have for how we represent the underlying knowledge.

5.5 Knowledge Engineering

Knowledge and its Meaning

EPISTEMOLOGY (theory of knowledge) is the branch of philosophy that studies the nature, methods, limitations, and validity of knowledge and belief. The main problems with which epistemology is concerned are the definition of knowledge and related concepts, the sources and criteria of knowledge, the kinds of knowledge possible and the degree to which each is certain, and the exact relation between the one who knows and the object known. Epistemology primarily addresses the following questions :- "What is knowledge ?", "How is knowledge acquired ?", and "What do people know ?"

Knowledge and Metaknowledge

  1. Knowledge is the fact or condition of knowing something with familiarity gained through experience or association.
  2. Knowledge is acquaintance with or understanding of a science, art, or technique. Knowledge is the range of one's information or understanding the circumstance or condition of apprehending truth or fact through reasoning : cognition. The fact or condition of having information or of being learned.

Types of knowledge v A priori knowledge comes before knowledge perceived through senses. It is considered to be universally true. v A posteriori knowledge which is knowledge verifiable through the senses and may not always be reliable. v A procedural knowledge is knowing how to do something. v A declarative knowledge is knowing that something is true or false. v A tacit knowledge is a knowledge not easily expressed by language. v Meta-knowledge : Meta-knowledge is knowledge about knowledge and expertise. Most successful expert systems are restricted to as small a domain as possible. In an expert system, an ontology is the meta-knowledge that describes everything known about the problem domain. Wisdom is the meta-knowledge of determining the best goals of life and how to obtain them.

Fig. 5.5 Knowledge of Pyramid.

The following diagram depicts the core elements of knowledge engineering proess.

Fig. 5.6 Elements of knowledge Engineering Process.

Knowledge Acquisition Knowledge Acquisition Process

The knowledge acquisition process begins in the specification phase and continues into the development phase. There are three kinds of cases the developer should discuss with expert which are namely, current cases, historical cases and hypothetical cases.

By observing the current cases expert performs the task. Historical cases helps expert to provide knowledge from past experiences and past data. Hypothetical cases serve as dummy situations for expert so as to describe the process and how to carry out the task.

The expert system developer looks for different types of knowledge which depends upon his need. The developer requires strategic knowledge which helps to create flow chart of the system. The judgemental knowledge helps to define the inference process and describes the reasoning process which used by expert. To describe the characteristics and important attributes of the objects in the system factual knowledge is required.

The developer must learn how the expert performs the task knowledge of acquisition in a variety of cases. The knowledge acquisition process, starts in the specification phase, continues into the development phase.

Fig. 5.7 Stages of Knowledge Aquisition.

There are basically three kinds of cases the developer should discuss with the expert : current, historical and hypothetical.

Current : By watching the expert perform a task. Historical : By discussing with the expert a task that was performed in the past. Hypothetical : By having the expert describe how a task should be performed in a hypothetical situation. Knowledge acquisition includes the elicitation, collection, analysis, modeling and validation of knowledge.

Issues in Knowledge Acquisition The important issues in knowledge acquisition are :

knowledge is in the head of experts. v Experts have vast amounts of knowledge v Experts have a lot of tacit knowledge. They do not know all that they know and use. Tacit knowledge is hard (impossible) to describe. Experts are very busy and valuable people. Single expert does not know everything. Knowledge has a "shelf life".

5.5.2.2 Knowledge Elicitation

Knowledge elicitation is a type of the knowledge acquisition where the only knowledge source is the domain expert.

Difficulties in Knowledge Elicitation

Technical nature of specialist fields that hinders knowledge elicitation by non-specialist knowledge engineers.

Experts tend to think less in terms of general principles and more in terms of typical objects and commonly occurring events.

Difficulties in searching for a good notation for expressing domain knowledge and a good framework for fitting it all together.

Techniques for knowledge Acquisition

The technique for acquiring, analyzing and modeling knowledge are : Protocol-generation techniques, Protocol analysis techniques, Hierarchy-generation techniques, Matrix-based techniques, Sorting techniques, Limited-information and constrained-processing task, Diagram-based techniques.

Protocol-generation techniques This method includes many types of interviews (unstructured, semi-structured and structured), reporting and observational techniques.

Protocol analysis techniques This technique is used with transcripts of interviews or text-based information to identify basic knowledge objects within a protocol, such as goals, decisions, relationships and

attributes. These act as a bridge between the use of protocol-based technique and knowledge modeling techniques.

Hierarchy-generation techniques This technique involves creation, reviewing and modification of hierarchical knowledge. Hierarchy-generation techniques, such as laddering, are used to build taxonomies or other hierarchical structures such as goal trees and decision networks. The ladders are of various forms like concept ladder, attribute ladder, composition ladders.

v Matrix-based techniques

This technique has process of construction and filling-in a 2-D matrix (grid, table), indicating such things, as may be, for example, between concepts and properties attributes and values or between problem and solutions or between tasks and resources, etc. The elements within the matrix can contain : symbol (ticks, crosses, question marks), colors, numbers, text.

Mole

MOLE is a knowledge acquisition system which is used for heuristic classification problems, such as diagnosing diseases. It is used in conjunction with the cover and differentiate problem-solving method.

An expert system produced by MOLE accepts input data, generates the set of candidate explanations or classifications that cover the data and then uses differentiating knowledge to determine which one is best. The process is carried out interactively, because explanation needs to be justified, till ultimate causes are confirmed.

MOLE has interface with a domain expert to produce a knowledge-base. A system called MOLE-up (which enhances MOLE performance) is used to solve problems. The acquisition proceeds through following steps :

1. Construction of initial knowledge-base

MOLE asks the expert to list common symptoms or complaints which are required for diagnosis. For each symptom, MOLE prompts for a list of possible explanations. v Then MOLE iteratively seeks out higher-level explanation until it comes-up with a set of ultimate causes. v Whenever an event has multiple explanations MOLE tries to determine the conditions under which one expiation is correct. v The expert supplies covering knowledge, which is the knowledge about hypothesized event which might be the cause of a certain symptom. Then

MOLE tries to infer anticipatory knowledge, which says that if the hypothesized event does occur, then the symptom will definitely appear. This knowledge helps the system to rule out certain hypotheses on the basis that specific symptoms are absent.

2. Refinement of knowledge base : v In this phase MOLE tries to identify the weakness of the knowledge base. One approach is to find holes (empty places where knowledge is lacking) and prompt the expert to fill them. It is difficult to know whether a knowledge base is complete so instead MOLE lets the expert watch MOLE-P. Solving sample problems, whenever MOLE-P makes an incorrect diagnosis, the expert adds new knowledge. v MOLE is used to build systems that diagnose problems with car engines, problems in steel-rolling mills and inefficiency in coal-burning power plants. However, for using MOLE it must be possible to pre-enumerate solutions or classifications. It should be practical to encode the knowledge in terms of covering and differentiating. v Consider example of designing of artifacts of elevator system. It is no longer possible to pre-enumerate all solutions. Instead, we must assign values to a large number of parameters such as the width of the platform, the type of door, the cable weight and the cable strength. These parameters must be consistent with each other and they must result in a design that satisfies external constraints imposed by cost factors, the type of building involved and expected payloads. A problem-solving method useful for designing such task is called propose and revise. Propose and revise systems builds solutions incrementally. Initially, the system proposes an extension to the current design. Then it checks whether the extension violates any global or local constraints. Constraints violations are then resolved and the process is repeated. Generally it happens that, domain experts are good at listing overall design constraints and at providing local constraints on individual parameters, but they are not so good at explaining how to arrive at global solutions.

SALT

The SALT program provides mechanisms for extracting the knowledge from the expert. Similar to MOLE, SALT builds a dependency network as it has conversation with the expert. Each node stands for a value of a parameter that must be gathered or generated. There are three kinds of links, 'contribute to', 'constraints' and 'suggests revision of'. 'Contribute to' link has associated procedures that allow SALT to generate a value for one parameter based on the value of another. The 'constraints' link rules out certain parameter values. 'Suggests revision of' points to ways in which a constraint violation can be resolved. SALT uses the following heuristices to guide the acquisition process :

1. Every non-input node in the network needs at least one 'contributes to' link coming into it. If links are missing, the expert is prompted to fill the min. 2. No 'contributes to' loops are allowed in the network. Without a value for at least one parameter in the loop, it is impossible to compute values for any parameter in that loop. If a loop exists, SALT tries to transform one of the 'contributes to' links into a 'constraints' link. 3. Constraining links should have suggestion for revision of links associated with them. These include constraints links that are created when dependency loops are broken. The control knowledge is also important in this case. It is critical that the system proposes extensions and revision that lead toward a design solution. SALT allows the expert to rate revisions in terms of how much trouble they tend to produce. SALT complies its dependency network into a set of production rules. Like the MOLE system, an expert can watch the production systems, solve problems and can override the systems decision. At that point, the knowledge base can be changed or the override can be logged for future inspection.

The process of interviewing a human expert to extract expertise presents a number of difficulties regardless of whether the interview is conducted by human or by a machine. Experts are surprisingly inarticulate when it comes to how they solve problems. They do not seem to have access to the low level details of what they do. Generally there are inadequate suppliers of any type of statistical information. Therefore, there is a great deal of interest in building systems that automatically induce their own rules by looking at sample problems and solutions with inductive techniques, an expert needs only to provide the conceptual framework for a problem and a set of useful examples.

META-DENDRAL was the first program to use learning techniques to construct rules for an expert system automatically. It built rules to be used by DENDRAL, where job was to determine the structure of complex chemical compounds. META-DENDRAL was able to induce its rules based on a set of mass spectrometry data. It was then able to identify molecular structures with very high accuracy. META-DENDRAL used the version-space learning algorithm. Another popular method used for automatically constructing expert system is decision trees.

Statistical techniques such as multivariate analysis provide an alternative approach for building expert level systems. But statistical methods fail to produce concise rules that humans can understand. Therefore, they lack the ability of explanation.

Knowledgebase (KB) and Building Knowledgebase

KB is important and central part of ES. The main task of KB is to provide the connections between ideas, concepts and statistical probabilities that allow the reasoning part of the system to perform an accurate evaluation of a potential problem. Reasoning can take place only on the basis of available KB.

Fig. 5.8 Personnel involved in expert system development.

KB is a large system of "if-then" statements or may contain only associative relationships among different concepts or simply large databases of facts that can be compared to one another, based on simple conventions with respect to the ES. KB contains all the rules and most of the facts.

Knowledge Engineer

The task of the knowledge engineer is to extract the knowledge from the expert and represent it, so that it would be used in expert system. The knowledge engineer should be a expert and well versed in AI language and knowledge representation. Knowledge engineer assists the expert in determining the representation of their knowledge. Knowledge engineer should be able to select a suitable expert system and other tools for the project.

Knowledge engineer should possess the ability to extract the knowledge from the expert and implement the knowledge in a correct and efficient knowledgebase.

Knowledge engineer may not possess the initial domain knowledge of the application. Therefore, to extract the knowledge from expert knowledge engineer should get acquainted with basic domain knowledge.

Knowledge engineer should be perfect and skilled interviewer so as to analysed the problem domain and gather knowledge from expert.

Generally, expert set a series of example problems and will explain their reasoning in solving the problem. The knowledge engineer will abstract general rules from these explanations and check them with the expert. It is up to the knowledge engineer to capture the knowledge of the domain expert into a knowledgebase, which can be then used for an expert system.

Knowledge engineer needs to apply problem-solving techniques so that the process of troubleshooting should also be documented.

Domain Experts

Experts are people who have uncommon expertise. To be useful, experts must have other qualities also. They should be able to v Recognize and formulate problems. v Explain. v Organize knowledge (make connections). v Determine relevance. v Solve problems. v We may regard such abilities as desirable in programs or systems which aim to be 'expert'. v Ideal expert should possess following characteristics : v Highly developed perceptual attention ability-experts can "see" what others cannot. v Awareness of the difference between relevant and irrelevant information-experts know how to concentrate on what is important. v Ability to simplify complexities-experts can "make sense out of chaos." v A strong set of communication skills-experts know how to demonstrate their expertise to others. v Knowledge of when to make exceptions-experts know when and when not to follow decision rules. v A strong sense of responsibility for their choices-experts are not afraid to stand behind their decisions. v Selectivity about which problems to solve -experts know which problems are significant and which are not. v Outward confidence in their decision -experts believe in themselves and their abilities. v Ability to adapt to changing task conditions-experts avoid rigidity in decision strategies. v Highly developed content knowledge about their area-experts know a lot and keep up with the latest developments. v Greater automaticity of cognitive processes-experts can do habitually what others have to work at. v Ability to tolerate stress-experts can work effectively under adverse conditions.

Capability to be more creative-experts are better able to find novel solutions to problems. v Inability to articulate their decision processes -experts make decisions "on experience." v Through familiarity with the domain, including task expertise built up over a long period of task performance, knowledge of the organizations that will be developing and using the ES, knowledge of the user community and knowledge of technical and technological alternatives. v Knowledge and reputation such that if the ES is able to capture a portion of the expert's expertise, the system's output will have credibility and authority. v Commitment of a substantial amount of time to the development of the system, including temporary relocation to the development site if necessary. v Capability of communicating his or her knowledge, judgment and experience. v Cooperative, easy to work with and eager to work on the project. v Interest in computer systems, even if he or she is not a computer specialist.

Knowledge Representation

If an artificial agent is supposed to solve some problem related to the real world, it somehow needs to be able to represent knowledge. Facts are represented as data structures that can be manipulated by programs stored inside the computer. Knowledge representation is the process of describing and formally storing the acquired knowledge in certain format so that it can be used fluently in the expert system. The expert knowledge is mapped onto symbols and the meaning is attached to the syntax (rules).

The represented knowledge should posses following characteristics -

Transparency v Explicitness v Naturalness v Efficiency v Adequacy v Modularity Knowledge representation methods

1. Production rules- It is frequently used method to formulate the knowledge in expert systems. A formal variation of this methodology is Backus-Naur Form (BNF). BNF comprises following -

Meta-language for the definition of language syntax. v A grammar is a complete, unambiguous set of production rules for a specific language. v A parse tree is a graphic representation of a sentence in that language. BNF provides only a syntactic description of the language therefore some sentences may not make sense.

Advantages of production rules

They are simple and easy to understand. v Grammars have straightforward implementation in computers. v They are formal foundations for some other variants. Problems associated with production rules

Simple implementations of production rules are very inefficient. v Some types of knowledge are not easily expressed in such rules. v Large sets of rules become difficult to understand and maintain in the database.

2. Semantic Nets- A semantic network uses directed graphs to represent knowledge. A directed graph is made of vertices (nodes) and edges (arcs). A concept can be thought of as a set or a subset. For example, animal defines the set of all animals, horse defines the set of all horses and is a subset of the set animal. In a semantic network, relations are shown by edges. An edge can define a subclass relation, an instance relation attribute, an object (color, size, ...), or a property of an object. Semantic nets are classic representation technique for propositional information. Propositions are a form of declarative knowledge, stating facts (true/false). Propositions are called "atoms" which cannot be further subdivided. Semantic nets consist of nodes (objects, concepts, situations) and arcs (relationship between them).

Fig. 5.9 Semantic Net. Common types of links that are used in semantic nets are, IS-A-relates an instance or individual to a generic class and A-KIND-OF-relates generic nodes. Problems associated with Semantic nets v To represent definitive knowledge, the link and nodes names must be rigorously defined. v A solution to this is extensible markup language (XML) and ontologies. v Problems also include combinatorial explosion of searching nodes, inability to define knowledge the way logic can, and heuristic inadequacy. 3. Schemata- It is a knowledge structure which is an ordered collection of knowledge-not just data. Semantic Nets are shallow knowledge structure-all knowledge is contained in nodes and links. Schema is a more complex knowledge structure than a semantic net. In a schema, a node is like a record which may contain data, records, and/or pointers to nodes. 4. Frames- One type of schema is a frame (or script-time-ordered sequence of frames). Frames are useful for simulating common sense knowledge. Semantic nets provide 2- dimensional knowledge whereas the frames provide 3-dimensional. Frames represent related knowledge about narrow subjects having much default knowledge. A frame is a group of slots and fillers that defines a stereotypical object that is used to represent generic/specific knowledge. Common sense knowledge is knowledge that is generally known. Prototypes are objects possessing all typical characteristic of whatever is being modeled.

Fig. 5.10 Frame. A node in a semantic network becomes an object in a set of frames, so an object can define a class, a subclass or an instance of a class. Edges in semantic networks are translated into slots-fields in the data structure. The name of the slot defines the type of the relationship and the value of the slot completes the relationship. Problems with frames include allowing a unrestrained alteration or cancellation of slots. 5. Logic- Knowledge can also be represented by symbols of logic. Logic is the study of rules of exact reasoning-inferring conclusions from premises. Automated reasoning is the logic programming in the context of expert systems. Earliest form of logic was based on the syllogism-developed by Aristotle. Syllogisms-have two premises that provide evidence to support a conclusion.

Example :

Premise : All cats are climbers. Premise : Garfield is a cat. Conclusion: Garfield is a climber.

The most common knowledge representation is predicate logic. Predicate logic can be used to represent complex facts. It is a well-defined language developed via a long history of theoretical logic.

Propositional logic is a language made up from a set sentences that can be used to carry out logical reasoning about the world. Propositional logic uses five operators which are ∧ (AND), ∨ (OR), ∼ (Negation), -> (IMPLICATION), <-> (DOUBLE IMPLICATION).

Inference Engine

The inference engine is the main processing element of the expert system. It is the software that provide the reasoning mechanism in an expert system. The rule based expert system, typically implements forward chaining strategies. The inference engine chooses rules from the agenda to fire. If there are no rules on the agenda, the inference engine must obtain information from the user in order to add more rules to the agenda. It makes use of knowledge base, in order to draw conclusion for situations. It is responsible for gathering the information from the user, by asking various questions and applying it wherever necessary.

The most crucial property of expert system is their capacity to make inferences or the drawing of conclusions from premises. This is precisely what makes an expert system intelligent.

Inferencing is to computers what reasoning is to humans. A computer expert system would need to decide which, and in what order, the rules should be selected for evaluation. To do this, an expert system uses an inference engine. The inference engine control overall execution of the rule. It searches through the knowledgebase, in order to draw conclusions. If a rule's antecedent is satisfied, the rule is ready to fire and placed in the agenda. When a rule is ready to fire it means that since the antecedent is satisfied, the consequent can be executed.

Following are the examples of IF ... THEN Rule Example 1

Rule : Red_Light IF the light is red THEN stop

Rule : Yellow_Light IF the light is yellow

THEN look

Rule : Green_Light IF the light is green THEN go

Example 2

A typical rule used by the MYCIN expert system is :-

IF the stain of the organism is gram negative

AND the morphology of the organism is rod AND the aerobicity of the organism is anaerobic THEN there is strongly suggestive evidence ( 0.8 ) that the class of the organism is ENTEROBACTERIACEAE

MYCIN Format IF (AND (SAME CNTEXT GRAM GRAMNEG) (SAME CNTEXT MORPH ROD) (SAME CNTEXT AIR AEROBIC) THEN (COCLUDE CNTEXT CLASS ENTEROBACTERIACEAE TALLY .8))

Two alternative strategies are available for inferencing which are namely Forward chaining and Backward chaining. A particular inference engine may adopt either or both. Forward chaining (data driven) and Backward chaining (hypothesis driven) techniques represent the fundamental reasoning approaches implemented in rule-based expert systems. In forward chaining, the expert system is given data and chains forward to reach a conclusion. Forward chaining systems are data-driven. In order to execute a rule-based expert system using the method of forward chaining we merely need to fire (or execute) actions whenever they appear on the action list of a rule whose conditions are true. This involves assigning values to attributes, evaluating conditions, and checking to see if all of the conditions in a rule are satisfied.

A general algorithm for this might be :

While values for attributes remain to be input read value and assign to attribute. v Evaluate conditions

Fire rules whose conditions are satisfied

Several points about this require consideration. First, some conflict resolution strategy needs to be employed in order to decide which rules are fired first. Our method is to fire the rule which the system designer defined first. Also, we wish to cut down on computational time. To do this we must not do anything which does not absolutely need to be done. This means that conditions are only evaluated at the time they might change and that rules are checked (to see if all of their conditions are satisfied) only when they might be ready to be fired, not before. We shall do this, as attributes are assigned values and shall only consider rules and conditions affected by the new attribute assignment.

In backward chaining, the expert system is given a hypothesis and backtracks to check if it is valid. Backward chaining systems are generally goal-driven or 'goal-orientated' in the sense that it tries to prove a goal or rule conclusions by confirming the truth of all it's premises. Backward chaining starts with a list of goals (or hypothesis) and works backwards to see if there are data available that will support 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 (in order for your goal to be confirmed you must also provide data that confirms this new rule).

Inference Engine

The inference engine is the main processing element of the expert system. It is the software that provide the reasoning mechanism in an expert system. The rule based expert system, typically implements forward chaining strategies. The inference engine chooses rules from the agenda to fire. If there are no rules on the agenda, the inference engine must obtain information from the user in order to add more rules to the agenda. It makes use of knowledge base, in order to draw conclusion for situations. It is responsible for gathering the information from the user, by asking various questions and applying it wherever necessary.

The most crucial property of expert system is their capacity to make inferences or the drawing of conclusions from premises. This is precisely what makes an expert system intelligent.

Inferencing is to computers what reasoning is to humans. A computer expert system would need to decide which, and in what order, the rules should be selected for evaluation. To do this, an expert system uses an inference engine. The inference engine control overall execution of the rule. It searches through the knowledgebase, in order to draw conclusions. If a rule's antecedent is satisfied, the rule is ready to fire and placed in the agenda. When a rule is ready to fire it means that since the antecedent is satisfied, the consequent can be executed.