Term Paper On

Expert System

Subject

Enterprise Knowledge Management
Submitted To Dr. Ashish Sonakar Submitted By Pawan Kr. Kushawaha MBA (E-Bussines) Sem. 4th Roll No. 28

Department Of Business Administration University Of Lucknow

ACKNOWLEDGEMENT

I acknowledge my indebtness to “Dr. Ashish Sonakar” who showed me the right path, helped in increasing my horizon and clarifying my objective Throughout the project he had always been there to help me in overcoming the hurdles, thus helping me to meet my objective. I would also like to thank my friends and all those individuals who gave me the proper references and provided me with relevant information on this topic, gave me important web links for assistance & helped me a lot.

Pawan Kr. Kushawaha

Contents
Definition of Expert/Knowledge-Based Systems .................................................................…...03 Expert Systems Characteristics…………………………………………………………………04 Domain Specificity……………………………………………………………………………….05 Special Programming Languages………………………………………………….…………..05 History of Expert Systems.....................................................................................................…...06 Expert Systems Structure………………………………………………………………….…....08 Most Dynamic……………………………………………………………….…………………...09 Knowledge Base……………………………………………………….………………………...10 Least Dynamic……………………………………………………………….……………….....10 Structure of Expert Systems……………………………………………….…………………...11 Expert System Kernel Architecture………………………………………………………….....11 Expert System Architecture…………………………………………………………………....12 Development…………………………………………………………………………………...13 Major Application Areas………………………………………………………….…………....15 The Need for Expert Systems………………………………………….……………………....16 Benefits Of Expert Systems……………………………………………….………………...…17 Expert Systems Are For Everyone………………………………………………………….....18 Transition From Data Processing To Knowledge Processing………………………………....19 Heuristic Reasoning……………………………………………………….…………………...19 Search Control Methods…………………………………………………….………………....20 Forward Chaining……………………………………………………………………………....20 Backward Chaining…………….…………………………………………………………….....20 User Interface…………………………………………………………………………………...21 Natural Language…………………………………………………………………………….....21 Explanations Facility In Expert Systems………………………………………………………..21 Data Uncertainties……………………………………………………………………………....21 Application Roadmap…………………………………………………...……………………...22 Symbolic Processing…………………………………………………………………………....23 References……………………………………………………………………………………....25

REFERENCES
www.wikipedia.org www.ecrm.com www.htmtinteractive.com/ecrm.html www.ecrm-online.com www.buzzle.com/articles/e-marketing-strategy.html en.wikipedia.org/wiki/Internet_marketing www.global-emarketing.com www.expertsyatem-reports.com

Definition of Expert/Knowledge-Based Systems
The primary intent of expert system technology is to realize the integration of human expertise into computer processes. This integration not only helps to preserve the human expertise but also allows humans to be freed from performing the more routine activities that might be associated with interactions with a computer-based system. Given the number of textbooks, journal articles, and conference publications about expert/knowledge- based systems and their application, it is not surprising that there exist a number of different definitions for an expert/knowledge-based system. In this article we use the following definition (2, 3): An expert/knowledge-based system is a computer program that is designed to mimic the decision-making ability of a decision-maker(s) (i.e., expert(s)) in a particular narrow domain of expertise. In order to fully understand and appreciate the meaning and nature of this definition, we highlight and detail the four major component pieces. An expert/knowledge-based system is a computer program. A computer program is a

piece of software, written by a “programmer” as a solution to some particular problem or client need. Because expert/knowledge-based systems are software products they inherit all of the problems associated with any piece of computer software. Some of these issues will be addressed in the discussion on the development of these systems. An expert/knowledge-based system is designed to mimic the decision-making ability. The specific task of an expert/knowledge-based system is to be an alternative source of decisionmaking ability for organizations to use; instead of relying on the expertise of just one—or a handful—of people qualified to make a particular decision. An expert/knowledge-based

system attempts to capture the reasoning of a particular person for a specific problem. Usually expert/knowledge-based systems are designed and developed to capture the scarce, but critical decision-making that occurs in many organizations. Expert/knowledge-based systems are often feared to be “replacements” for decision- makers, however, in many organizations; these systems are used to “free up” the decision-maker to address more complex and important issues facing the organization. An expert/knowledge-based system is created to solve problems in a particular narrow domain of expertise. The above definition restricts the term expert to a particular subject. Some of the most successful development efforts of expert/knowledge-based systems have been in domains that are well scoped and have clear boundaries. Specific problem characteristics that lead to successful expert/knowledge-based systems are discussed as part of the development process.
3

EXPERT SYSTEMS CHARACTERISTICS
By definition, an expert system is a computer program that simulates the thought process of a human expert to solve complex decision problems in a specific domain. The characteristics of expert systems that make them different from conventional programming and traditional decision support tools. The growth of expert systems is expected to continue for several years. With the continuing growth, many new and exciting applications will emerge. An expert system operates as an interactive system that responds to questions, asks for clarification, makes recommendations, and generally aids the decision-making process. Expert systems provide expert advice and guidance in a wide variety of activities, from computer diagnosis to delicate medical surgery. Various definitions of expert systems have been offered by several authors. A general definition that is representative of the intended functions of expert systems is: An expert system is an interactive computer-based decision tool that uses both facts and heuristics to solve difficult decision problems based on knowledge acquired from an expert. An expert system may be viewed as a computer simulation of a human expert. Expert systems are an emerging technology with many areas for potential applications. Past applications range from MYCIN, used in the medical field to diagnose infectious blood diseases, to XCON, used to configure computer systems. These expert systems have proven to be quite successful. Most applications of expert systems will fall into one of the following categories:  Interpreting and identifying  Predicting  Diagnosing  Designing  Planning  Monitoring  Debugging and testing  Instructing and training  Controlling Applications that are computational or deterministic in nature are not good candidates for expert systems. Traditional decision support systems such as spreadsheets are very mechanistic in the way they solve problems. They operate under mathematical and Boolean operators in their
4

execution and arrive at one and only one static solution for a given set of data. Calculationintensive applications with very exacting requirements are better handled by traditional decision support tools or conventional programming. The best application candidates for expert systems are those dealing with expert heuristics for solving problems. Conventional computer programs are based on factual knowledge, an indisputable strength of computers. Humans, by contrast, solve problems on the basis of a mixture of factual and heuristic knowledge. Heuristic knowledge, composed of intuition, judgment, and logical inferences, is an indisputable strength of humans. Successful expert systems will be those that combine facts and heuristics and thus merge human knowledge with computer power in solving problems. To be effective, an expert system must focus on a particular problem domain, as discussed below.

Domain Specificity
Expert systems are typically very domain specific. For example, a diagnostic expert system for troubleshooting computers must actually perform all the necessary data manipulation as a human expert would. The developer of such a system must limit his or her scope of the system to just what is needed to solve the target problem. Special tools or programming languages are often needed to accomplish the specific objectives of the system.

Special Programming Languages
Expert systems are typically written in special programming languages. The use of languages like LISP and PROLOG in the development of an expert system simplifies the coding process. The major advantage of these languages, as compared to conventional programming languages, is the simplicity of the addition, elimination, or substitution of new rules and memory management capabilities. Some of the distinguishing characteristics of programming languages needed for expert systems work are:  Efficient mix of integer and real variables  Good memory-management procedures  Extensive data-manipulation routines  Incremental compilation  Tagged memory architecture  Optimization of the systems environment  Efficient search procedures
5

History of Expert Systems
Expert systems are one of the two major paradigms for developing intelligent systems within the field of Artificial Intelligence. Expert/knowledge-based systems are an example of the symbolic paradigm; the other major paradigm is the connectionist paradigm that has led to the development of Neural Network technology. In order to discuss the history of these

systems a brief history of the Artificial Intelligence field is necessary. Expert/knowledge-based systems were the first major successful application technology to evolve from Artificial Intelligence research.

Artificial Intelligence
The foundations of the field of Artificial Intelligence can be traced from many different disciplines including philosophy, mathematics, psychology, computer engineering, and linguistics. The first cited work in the area of Artificial Intelligence dates back to McCulloch and Pitts in 1943. They proposed a model of artificial neurons that mimic the structure of the human brain; this area later became the connectionist paradigm. In the summer of 1956, John McCarthy organized a two-month workshop at Dartmouth and 10 leading U.S. researchers interested in automata theory, neural networks, and the study of intelligence were invited. Two researchers from Carnegie Tech (now known as Carnegie Mellon University), Allen Newell and Herbert Simon were the focus of the workshop due to their reasoning program known as the Logic Theorist (LT). Simon claimed “we

have invented a computer program capable of thinking non- numerically, and thereby solved the venerable mind-body problem.” Soon after the workshop, LT was able to prove most the

theorems in Chapter 2 of Russell and Whitehead’s Principia Mathematica. An interesting note is that a paper on the use of LT to prove the theorems was rejected by The Journal of Symbolic Logic . The Dartmouth workshop accomplished two major outcomes. First, it served as a forum to introduce the leading researchers to each other; for the next twenty years, the field of AI would be dominated by these ten individuals, their students, and colleagues at MIT, CMU, Stanford, and IBM. The second major accomplishment of the workshop—and a more lasting one—was an agreement to adopt John McCarthy’s new name for the field: Artificial Intelligence. The work of Newell and Simon is the first documented work using the symbolic
6

programming paradigm of AI. Their work on LT led them to develop another program known as general Problem Solver (GPS). The success of GPS was not as widely heralded however because of the limited class of problems that it could solve. GPS was designed from the start to imitate human problem-solving protocols regardless of the information contained in the domain. These so-called “weak” methods— because they use weak information about the domain—turned out to show weak performance in solving problem in more complex domains. Researchers then took the opposite approach in the development of the DENDRAL program. They applied the knowledge of analytical chemists to infer the molecular structure from the information provided by a mass spectrometer. DENDRAL holds a significant

place in the history of expert/knowledge-based systems because it was the first system to use the expertise of human problem solvers and translate that knowledge into a large numbers of special purpose rules, known as a rule -based system.

7

EXPERT SYSTEMS STRUCTURE
Complex decisions involve intricate combination of factual and heuristic knowledge. In order for the computer to be able to retrieve and effectively use heuristic knowledge, the knowledge must be organized in an easily accessible format that distinguishes among data, knowledge, and control structures. For this reason, expert systems are organized in three distinct levels: 1. Knowledge base consists of problem-solving rules, procedures, and intrinsic data relevant to the problem domain. 2. Working memory refers to task-specific data for the problem under consideration. 3. Inference engine is a generic control mechanism that applies the axiomatic knowledge in the knowledge base to the task-specific data to arrive at some solution or conclusion. These three pieces may very well come from different sources. The inference engine, such as VP-Expert, may come from a commercial vendor. The knowledge base may be a specific diagnostic knowledge base compiled by a consulting firm, and the problem data may be supplied by the end user. A knowledge base is the nucleus of the expert system structure. A knowledge base is not a data base. The traditional data base environment deals with data that have a static relationship between the elements in the problem domain. A knowledge base is created by knowledge engineers, who translate the knowledge of real human experts into rules and strategies. These rules and strategies can change depending on the prevailing problem scenario. The knowledge base provides the expert system with the capability to recommend directions for user inquiry. The system also instigates further investigation into areas that may be important to a certain line of reasoning but not apparent to the user. The modularity of an expert system is an important distinguishing characteristic compared to a conventional computer program. Modularity is affected in an expert system by the use of three distinct components, as shown in Figure.

8

The knowledge base constitutes the problem-solving rules, facts, or intuition that a human expert might use in solving problems in a given problem domain. The knowledge base is usually stored in terms of if–then rules. The working memory represents relevant data for the current problem being solved. The inference engine is the control mechanism that organizes the problem data and searches through the knowledge base for applicable rules. With the increasing popularity of expert systems, many commercial inference engines are coming onto the market. The development of a functional expert system usually centers on the organization of the knowledge base. A functional integration of expert systems components is shown in Figure.

Figure: Integration of expert systems components

A good expert system is expected to grow as it learns from user feedback. Feedback is incorporated into the knowledge base as appropriate to make the expert system smarter. The dynamism of the application environment for expert systems is based on the individual dynamism of the components. This can be classified as follows: Most dynamic: Working memory. The contents of the working memory, sometimes called the data structure, changes with each problem situation. Consequently, it is the most dynamic component of an expert system, assuming, of course, that it is kept current.
9

Knowledge base-The knowledge base need not change unless a new piece of information arises that indicates a change in the problem solution procedure. Changes in the knowledge base should be carefully evaluated before being implemented. In effect, changes should not be based on just one consultation experience. For example, a rule that is found to be irrelevant less than one problem situation may turn out to be crucial in solving other problems.

Least dynamic: - Inference engine. Because of the strict control and coding structure of an inference engine, changes are made only if absolutely necessary to correct a bug or enhance the inferential process. Commercial inference engines, in particular, change only at the discretion of the developer. Since frequent updates can be disruptive and costly to clients, most commercial software developers try to minimize the frequency of updates.

10

Structure of Expert Systems
In the early days the phrase “expert system” was used to denote a system whose knowledge base and reasoning mechanisms were based on those of a human expert. In this article a more general position is held. A system will be called an “expert system” based on its form alone and independent of its source of knowledge or reasoning capabilities. The purpose of this section is to provide an intuitive overview of the architectural ideas associated with expert systems. In discussing the architecture of expert systems we will first introduce the concept of an expert system kernel and then embed that kernel in a fuller and more traditional expert system architecture.

Expert System Kernel Architecture
The kernel of an expert system contains those components that are the basic and the required components for all expert systems. These components are identified as a fact base, a rule base, and an inference mechanism. The fact base and the rule base combine to be the knowledge base for the kernel. Figure 1 provides an overview of the kernel of an expert system from this structuralism point-ofview.At the highest level of abstraction there is the environment E and the expert system ES connected to or embedded in it. This level may be represented as: E <---> ES. The environment establishes the domain of application of the expert system.

11

In addition to being viewed as the context in which the expert system performs its functions the environment E may be viewed as the source of the knowledge that the expert system ES has and the data which drives its behaviors. The expert system ES may be viewed as a reactive system - i.e., it reacts to data and information it receives from the environment E based on the reasoning capabilities it possesses.

Expert System Architecture
If we embed the kernel of an expert system in an operational context that contains

processes for interacting with and interfacing with a user, a process for knowledge and data acquisition and a process to support the generation of explanations for rule firings and advice to the user then we arrive at what is customarily viewed as the architecture for an expert system.

Figure displays the architecture commonly associated with expert systems. In our terminology it is comprised of a kernel augmented by processes for data and knowledge capture, user interfaces and interactions, and an process for generating and presenting to a user explanations of its behaviors.
12

The “Knowledge and Data Acquisition” process is used by the expert system to acquire new facts and rules associated with its specific domain. It is through this process that capabilities can be added to or subtracted from the expert system. Associated with this process is the concept of

knowledge engineering. This is the process whereby knowledge from an expert or group of experts or other sources such as books, procedure manuals, training guides, etc. are gathered, formatted, verified and validated, and input into the knowledge base of the expert system. The “User Interface” process is the mechanism used by the expert system to present to some human user information on its functioning, and specifically information on its determination of the state of the environment to which it is associated and its actions relevant to its understanding of the environment’s state. Most current user interfaces are supported by multimedia technology and are designed to provide the user with the most complete and unambiguous presentation of information possible. The “Explanation” process is used by the expert system to provide to the user a reasoned history of its actions and/or recommendations. This explanation is usually generated by

providing a textual commentary identifying the sequence of rules it has fired with associated canned or automated commentary generation on why the rule was fired. This type of explanation can be used by the user to verify that the reasoning mechanism being utilized by the expert system is correct. It also provides additional information to the user that can be used to establish a more

complete context for understanding both the state of the environment in question and the rationale for any advice or opinion given by the expert system.

Development
The development of an E/KBS—often referred to as knowledge engineering—follows much the same path of any other software product. However, within the development of an E/KBS terminology and the nature of the software development process are different from conventional software systems. The major development effort in creating an expert/knowledge-based system is the design and development of the knowledge base (KB). One of the problems with the design and development of a KB is the lack of a formal methodology. By formal methodology we mean a strategy that allows us to measure (precisely) the performance of an E/KBS similar to conventional software system design and development. Expert/knowledge-based system development (usually) relies on an evolutionary rapid

prototyping methodology to create the KB. One definition of rapid prototyping is an iterative process that develops “an easily modifiable and extensible working model of a proposed system, not necessarily representative of a complete system, which provides users of the application with a physical representation of key parts of the system before implementation” By using rapid
13

prototyping the developer can focus on building small working systems that can be the central element of discussions between the users, client, and the developers in solving the particular decision problems at hand. The rapid prototyping paradigm, for KB development, is often unstructured and ad hoc, especially concerning the testing and evaluation of the KB. This can lead to the development of a KB that is inefficient and contains numerous potential errors. Under evolutionary rapid prototyping, an E/KBS is designed and built in an incremental fashion. There have been many paradigms offered for the design and development of a KBS. The best known of these paradigms is the five-stage process given by Buchanan. These five stages— identification, conceptualization, formalization, implementation, and testing correspond loosely to the eight stages in the waterfall model for conventional software development. Buchanan, et al.

points out that the process of developing an E/KBS is iterative. The E/KBS developer and the domain expert may revisit any of the previous stages for further revision or refinement of the concepts and/or relationships in the problem domain. This is inherent in the evolutionary rapid prototyping process. Derek Partridge describes a methodology of artificial intelligence program construction through a process known as RUDE (Run-Understand-Debug-Edit). RUDE is based on rapid prototyping and

the abstraction of the problem at each stage of the development process. He describes a KBS as an "incompletely specified function" because it models the behavior of a human and, as such, is not formally specified in the same manner as conventional software. Partridge argues that given this incomplete problem specification, the only way to develop a KBS is through a trial-and-error approach. Many other approaches have been proposed. An approach that builds on both Buchanan and Partridge is the four-stage methodology known as DICE. DICE stands for Design, Implementation, Critique, and Editing. The methodology, which emphasizes testing and reliability analysis, uses evolutionary rapid prototyping and creates a control system where the feedback of the testing results improves the reliability and performance of the system. Regardless of the methodology chosen to develop an E/KBS, there are six key activities to be performed within the development life cycle of an E/KBS. (1) Problem Selection (2) Knowledge Acquisition (3) Knowledge Representation (4) Implementation Testing, (5) Verification, Validation, Evaluation
(6) Maintenance/Sustenance

14

Major Application Areas
There are two different ways developers look at application areas for expert/knowledgebased systems. First, they look at the functional nature of the problem. Secondly, they look at the for the John

application domain. We review both of these ways to get a better understanding application of expert/knowledge-based systems to “real-world” problems. Durkin published In 1993,

a catalog of expert system applications that briefly reviews a number of

applications of expert/knowledge- based system technology and categorizes each of the nearly 2,500 systems. Both MYCIN and XCON point out two different functions that are viewed as highly favorable for expert/knowledge-based system development. MYCIN mainly deals with the diagnosis

of a disease given a set of symptoms and patient information. XCON, on the other hand, is a synthesis-based (design) configuration expert system. It takes as its input the needs of the

customer and builds a feasible arrangement of components to meet the need. Both of these systems solve different generic “types” of problems. An expert system may have many differing functions. faults, control, give advice, document, assist, etc. It may monitor, detect faults, isolate

The range of applications for expert system

technology ranges from highly embedded turnkey expert systems for controlling certain functions in a car or in a home to systems that provide financial, medical, or navigation advice to systems that control spacecraft.

Table 1 lists the ten different types of problems generally solved by expert/knowledge-based systems. Within each problem type expert perform a generic set of tasks, such as diagnosis or planning.

15

Table 1. Expert/Knowledge -Based System Application Areas Problem Type Control Design Diagnosis Description Governing system behavior to meet specifications Configuring Objects under constraint Inferring System Malfunction from observables Instruction Diagnosing, debugging, and repairing student behavior Interpretation Monitoring Planning Prediction Inferring situation description from data Comparing observations to expectations Designing actions Inferring likely consequences of given situation Prescription Recommending solution to system malfunction Selection Identifying best choice from a list of possibilities As can be seen from Table 1, there are many different types of problems that can be solved using expert/knowledge-based system technology. Currently, the majority of expert/knowledge-

based system applications are diagnostic systems interpretation and prediction systems are also highly favorable functional domains. Expert/knowledge-based systems also cover a number of different application areas, such as business, manufacturing, medicine, and engineering. Durkin lists over 20 different application areas, including business, which encompasses marketing, management, finance, accounting, etc.

The Need for Expert Systems
Expert systems are necessitated by the limitations associated with conventional human decisionmaking processes, including: 1. Human expertise is very scarce. 2. Humans get tired from physical or mental workload. 3. Humans forget crucial details of a problem. 4. Humans are inconsistent in their day-to-day decisions. 5. Humans have limited working memory. 6. Humans are unable to comprehend large amounts of data quickly. 7. Humans are unable to retain large amounts of data in memory. 8. Humans are slow in recalling information stored in memory. 9. Humans are subject to deliberate or inadvertent bias in their actions.
16

10. Humans can deliberately avoid decision responsibilities. 11. Humans lie, hide, and die.

Coupled with these human limitations are the weaknesses inherent in conventional programming and traditional decision-support tools. Despite the mechanistic power of computers, they have certain limitations that impair their effectiveness in implementing human-like decision processes. Conventional programs: 1. Are algorithmic in nature and depend only on raw machine power 2. Depend on facts that may be difficult to obtain 3. Do not make use of the effective heuristic approaches used by human experts 4. Are not easily adaptable to changing problem environments 5. Seek explicit and factual solutions that may not be possible

Benefits of Expert Systems

Expert systems offer an environment where the good capabilities of humans and the power of computers can be incorporated to overcome many of the limitations discussed in the previous section. Expert systems:

1. Increase the probability, frequency, and consistency of making good decisions 2. Help distribute human expertise 3. Facilitate real-time, low-cost expert-level decisions by the non expert 4. Enhance the utilization of most of the available data 5.Permit objectivity by weighing evidence without bias and without regard for the user’s personal and emotional reactions 6. Permit dynamism through modularity of structure 7. Free up the mind and time of the human expert to enable him or her to concentrate on more creative activities 8. Encourage investigations into the subtle areas of a problem

17

Expert Systems Are For Everyone- No matter which area of business one is engaged in,
expert systems can fulfill the need for higher productivity and reliability of decisions. Everyone can find an application potential in the field of expert systems. Contrary to the belief that expert systems may pose a threat to job security, expert systems can actually help to create opportunities for new job areas. Presented below are some areas that hold promise for new job opportunities:

 Basic research  Applied research  Knowledge engineering  Inference engine development  Consulting (development and implementation)  Training  Sales and marketing  Passive or active end user

An active user is one who directly uses expert systems consultations to obtain recommendations. A passive user is one who trusts the results obtained from expert systems and supports the implementation of those results.

18

TRANSITION FROM DATA PROCESSING TO KNOWLEDGE PROCESSING
What data has been to the previous generations of computing, knowledge is to the present generation of computing. Expert systems represent a revolutionary transition from the traditional data
Data processing to knowledge processing. Figure illustrates the relationships between the procedures for data

processing and knowledge processing to make decisions. In traditional data processing the decision maker obtains the information generated and performs an explicit analysis of the information before making his or her decision. In an expert system knowledge is processed by using available data as the processing fuel. Conclusions are reached and recommendations are derived implicitly. The expert system offers the recommendation to the decision maker, who makes the final decision and implements it as appropriate. Conventional data can now be manipulated to work with durable knowledge, which can be processed to generate timely information, which is then used to enhance human decisions.

Data processing versus knowledge processing
Heuristic Reasoning Human experts use a type of problem-solving technique called heuristic reasoning. Commonly called rules of thumb or expert heuristics, it allows the expert to arrive at a good solution quickly and efficiently. Expert systems base their reasoning process on symbolic manipulation and heuristic inference procedures that closely match the human thinking process. Conventional programs can only recognize numeric or alphabetic strings and manipulate them only in a preprogrammed manner.
19

Search Control Methods All expert systems are searching intensive. Many techniques have been employed to make these intensive searches more efficient. Branch and bound, pruning, depth-first search, and breadth-first search are some of the search techniques that have been explored. Because of the intensity of the search process, it is important that good search control strategies be used in the expert systems inference process. Forward Chaining This method involves checking the condition part of a rule to determine whether it is true or false. If the condition is true, then the action part of the rule is also true. This procedure continues until a solution is found or a dead end is reached. Forward chaining is commonly referred to as datadriven reasoning.
Backward Chaining

Backward chaining is the reverse of forward chaining. It is used to backtrack from a goal to the paths that lead to the goal. Backward chaining is very good when all outcomes are known and the number of possible outcomes is not large. In this case, a goal is specified and the expert system tries to determine what conditions are needed to arrive at the specified goal. Back- ward chaining is thus also called goal-driven.

20

USER INTERFACE
The initial development of an expert system is performed by the expert and the knowledge engineer. Unlike most conventional programs, in which only programmers can make program design decisions, the design of large expert systems is implemented through a team effort. A consideration of the needs of the end user is very important in designing the contents and user interface of expert systems.

Natural Language
The programming languages used for expert systems tend to operate in a manner similar to ordinary conversation. We usually state the premise of a problem in the form of a question, with actions being stated much as when we verbally answer the question, that is, in a ‘‘natural language’’ format. If, during or after a consultation, an expert system determines that a piece of its data or knowledge base is incorrect or is no longer applicable because the problem environment has changed, it should be able to update the knowledge base accordingly. This capability would allow the expert system to converse in a natural language format with either the developers or users. Expert systems not only arrive at solutions or recommendations, but can give the user a level of confidence about the solution. In this manner, an expert system can handle both quantitative and qualitative factors when analyzing problems. This aspect is very important when we consider how inexact most input data are for day-to-day decision making. For example, the problems addressed by an expert system can have more than one solution or, in some cases, no definite solution at all. Yet the expert system can provide useful recommendations to the user just as a human consultant might do.

Explanations Facility in Expert Systems
One of the key characteristics of an expert system is the explanation facility. With this capability, an expert system can explain how it arrives at its conclusions. The user can ask questions dealing with the what, how, and why aspects of a problem. The expert system will then provide the user with a trace of the consultation process, pointing out the key reasoning paths followed during the consultation. Sometimes an expert system is required to solve other problems, possibly not directly related to the specific problem at hand, but whose solution will have an impact on the total problem-solving process. The explanation facility helps the expert system to clarify and justify why such a digression might be needed.

Data Uncertainties
Expert systems are capable of working with inexact data. An expert system allows the user to assign probabilities, certainty factors, or confidence levels to any or all input data. This feature closely represents how most problems are handled in the real world. An expert system can take all relevant factors into account and make a recommendation based on the best possible solution rather than the only
21

exact solution.

Application Roadmap
The symbolic processing capabilities of AI technology lead to many potential applications in engineering and manufacturing. With the increasing sophistication of AI techniques, analysts are now able to use innovative methods to provide viable solutions to complex problems in everyday applications. Figure presents a structural representation of the application paths for artificial intelligence and expert systems.

Application roadmap for expert systems
22

Symbolic Processing
Contrary to the practice in conventional programming, expert systems can manipulate objects symbolically to arrive at reasonable conclusions to a problem scenario. The object drawings in this section are used to illustrate the versatility of symbolic processing by using the manipulation of objects to convey information. Let us assume that we are given the collection of five common objects as shown in Figure A.

Figure A. Collection of common objects.

The objects are Head, Hammer, Bucket, Foot, and Bill (as in doctor’s bill). We can logically arrange a subset of the set of given objects to convey specific inferences. In Figure B, four of the five objects are arranged in the order Hammer, Head, Foot, and Bucket. This unique arrangement may be represented by the equation presented below:
Hammer ~ Head =Foot ~ Bucket

It is desired to infer a reasonable statement of the information being conveyed by the symbolic arrangement of objects in Figure B. Figure 2.8 presents an alternative arrangement of another subset (hammer, foot, foot, and bill) of the given objects. This alternative arrangement may be represented by the equation shown below:

Figure B. Arrangement of common objects.

23

Hammer ~ Foot = Foot ~ Bill It is desired to infer a reasonable statement from Figure 2.8. It should be noted that ordinary mathematical reasoning concerning the equation hammer ~ foot = foot ~ bill might lead to Hammer Bill. However, in artificial intelligence symbolic reasoning, the context of the arrangement of the objects will determine the proper implication. Figure B: If Hammer smashes Head, then victim kicks the bucket (i.e., dies). In this case, the action part of the statement relates to an action (a fatal one) by the victim of the assault. Figure C: If Hammer smashes Foot, then assailant foots the bill. In this case, the action part of the statement relates to a compensatory action (restitution) by the assailant. Using a finite set of symbolic objects, we can generate different pieces of information with different permutations of the objects. A particularly interesting aspect of symbolic processing is noted in Figure C.

Figure C. Alternate arrangement of objects.

The object Foot conveys one meaning when concatenated with one given object (Hammer) and another totally different meaning when concatenated with another object (bill). In fact, the identification of the object Bill is itself symbolically conveyed by the contents of the medical bill in Figure A. With the illustrated capability of symbolic processing, very powerful AI-based tools can be developed for practical applications. However, more research and development efforts will be needed before many of those practical applications can be realized.

24

Sign up to vote on this title
UsefulNot useful