Term Paper On
Expert System
Subject
Enterprise Knowledge Management Submitted To
Submitted By
Dr. Ashish Sonakar
Pawan Kr. Kushawaha MBA (E-Bussines) th
Sem. 4
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
Contents Definition Definition of o f Expert/Knowledge-Base Expert/Knowledge-Based d System S ystemss ................................................ . ............................................... .................…...03 Expert Systems Characteristics…………………………………………………………………04 Domain Specificity……………………… Specificity………………………………………………………………… ……………………………………………………….05 …………….05 Special Programming Languages……………………………………………… Languages………………………………………………….…………..05 ….…………..05
History of Expert Expert Systems...................................................................... ...............................…...06 Expert Systems Structure………………………………………………………………….…....08 Most Dynamic……………………… Dynamic……………………………………………………………… ……………………………………….…………………...09 .…………………...09 Knowledge Base………………………………………… Base……………………………………………………….…………………… …………….………………………...10 …...10 Least Dynamic………………………… Dynamic……………………………………………………………….………… …………………………………….……………….....10 …….....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……………………………………… Reasoning……………………………………………………….………………… ……………….…………………...19 ...19 Search Control Methods…………………………………………… Methods…………………………………………………….………………....20 ……….………………....20 Forward Chaining……………………………… Chaining…………………………………………………………………………… ……………………………………………....20 ....20 Backward Chaining…………….………………………… Chaining…………….…………………………………………………………….....20 ………………………………….....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/Intern en.wikipedia.org/wiki/Internet_marketing et_marketing
www.global-emarketing.com www.expertsyatem -reports.com
Definition of Expert/Knowledge-Base Ex pert/Knowledge-Based d Systems
Definition of Expert/Knowledge-Base Ex pert/Knowledge-Based d Systems The primary intent of expert system technology is to realize the integration of human expertise expertise into into computer computer processes. This integration integration not only helps to preserve preserve the human expertise but also allows llows humans to be freed from performing the more routine activi act ivities ties 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 abilit y of a decision-maker(s) ( i.e., expert(s)) e xpert(s)) in a particular part icular 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 system is a computer program.
A computer program is 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 software products they inherit all of the problems associated with with any piece of computer computer software. Some of these issues 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 o f 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. expertise. The above 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 clear boundaries. Specific problem characteristics characteristics that lead to successful expert/knowledge-based systems are discussed as part of the development process. 3
EXPERT SYSTEMS CHARACTERISTICS
EXPERT SYSTEMS CHARACTERISTICS By definition, an expert system system is a computer prog pr ogra ram m that simulates the th e thought 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 o perates as an interactive interact ive system that t hat responds to questions, questions, asks for clarification, clarificat ion, makes makes recommendations, recommendations, an d generally aids the the decision-making decision-making p r o c e ss . 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 computer-based decision tool that that uses both facts and heuristics to solve difficult decision problems based on knowledge acquired from 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 o ne static stat ic solution for a given set of o f data. Calculationintensive applications with very exacting requirements are better handled by traditional decision
execution and arrive at one and only one o ne static stat ic solution for a given set of o f 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 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 systems are one of the two major paradigms for for developing intelligent 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 brief history of the Artificial Intelligence field is 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 model of artificial neurons that mimic the structure of the human brain; brain; this area later became the connectionist paradigm. In the
summer of o f 1956, John McCarthy organized a two-month workshop at
Dartmouth and 10 leading leading U.S. researchers interested in automata theory, neural networks, 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 venerable mind-body problem.”
Soon after after the workshop, LT was able to prove most the
theorems in Chapter 2 of Russell Russell and Whitehead’s Whitehead’s Principia Mathematica. Mathematica. An interesting 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 Dartmouth workshop accomplished two major major outcomes. First, it served as a forum 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 not as widely heralded however because
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 not as widely heralded however because of the limited class of problems that it could solve. GPS was designed from fro m the start to t o imitate human pro blem-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. place
in
the
history
DENDRAL
holds
a
significant
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
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 into rules and strategies. strat egies. These rules and strategies can change depending on the prevailing problem proble m scenario. 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
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
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, 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
Structure of Expert Systems In the early days the phrase “expert system” was used to denote a system whose knowledge base and and reasoning mechanisms 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 “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. systems. In discussing the architecture of expert systems systems we will first 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 for all expert systems. These components components are identified as a fact fact base, a rule base, and an inference inference mechanism. The fact base and and the rule base combine 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 embedded in it. This level may may be represented as: E <---> ES. The environment establishes the domain of application of the expert system.
11
In addition to being being viewed as the context in which the expert expert system performs its functions
In addition to being being viewed as the context in which the expert 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 associated with expert systems. In our terminology terminolog y it 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 associated with its its specific domain. domain. It is through this this process that capabilities capabilities can be added to or subtracted subtracted from the expert system. 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 explanat ion
is usually
generated
by
providing a textual commentary identifying identif ying the sequence of rules it has fired with associated canned or automated commentary commentar y generation on why the rule was 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. correct.
It also provides additional additional information information to the user that that can be used 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 software product. However, within within the development 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 methodolog methodology y 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 evolut ionary
rapid
prototyping protot yping methodology methodology to create the KB. One definition of rapid prototyping is an iterat iterative ive process 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 representat ion of key parts of
the
system 13
before
implementation” implementat ion” By
using
rapid
prototyping protot yping the developer can focus on building building small working systems systems that can be the centra centrall 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 concerning the testing and evaluation evaluatio n of the KB. KB. This can lead to the development development of a KB that is inefficie inefficient nt and contains numerous potential potentia l errors. 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 t hese paradigms is the five-stage process pr ocess given by Buchanan. These five stages— identification, conceptualization, formalization, implementation, and testing correspond loosely to the eight stages stages in the waterfall model for conventional conventio nal software development.
Buchanan, et al.
points out that the process of developing an E/KBS is iterat iterative. ive. 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 relationsh ips 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 (Run-Underst and-Debug-Edit). ).
RUDE is based on rapid prototyping and
the abstraction of the pro blem at each stage of the t he development develop ment process. pro cess. He describes d escribes 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 Partr idge 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. 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 t o 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
application domain.
We review both of these ways to get a better better understanding
application of expert/knowledge-based expert/know ledge-based systems to “real-world” problems. Durkin
published
In
1993,
for the John
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 expert/k nowledge-based system development. development .
MYCIN mainly deals with the diagnosis
of a disease given a set of sympto symptoms ms and patient information. informat ion. synthesis-based (design) configuration configurat ion expert system.
XCON, on the other hand, is a
It takes t akes as its input t he needs of the
customer and builds a feasible arrangement of components components to meet meet the need. Both of these systems systems solve different generic “types” of problems. An expert system system may may have many many differing differi ng functions. faults, control, give give advice, document, assist, etc.
It may monitor, detect faults, isolate
The range of applications for 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
Description
Control
Governing system behavior to meet specifications specificat ions
Design
Configuring Objects under constraint constr aint
Diagnosis Diagnosis
Inferring System Malfunction from observables obser vables Instruction Inst ruction Diagnosing, debugging, and repairing student behavior
Interpretation Interpret ation
Inferring situation description from data
Monitoring Monitoring
Comparing observations to expectations expectat ions
Planning Planning
Designing Designing actions
Prediction
Inferring likely consequences of given situation situat ion Prescription Prescr iption 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 expert/knowledg e-based system technology.
Currently, the majority majorit y of expert/knowledgeexpert/know ledge-
based system system applications are diagnostic diagnost ic systems interpr interpretation etation
and prediction predict ion systems are also
highly favorable functional domains. Expert/knowledge-based systems also cover a number of different application areas, such as business, manufacturing, manufacturi ng, 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 t heir 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 systems offer an environment environment where the good capabili capabilities ties of humans and the power of computers can be incorporated incorporated to overcome many of the limitations discussed 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 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 dynami d ynamism sm 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 o ne who directly uses expert sys s ystems tems 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 Dataillustrates the relationships between the procedures for data processing to knowledge processing. Figure
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 r ule 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 commonl y referred referr ed 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. large. In this case, a goal is specified and the expert system tries tr ies 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. conversation. We usually state stat e the premise of a problem in the form o f 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 t his 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 recommend reco mmendation ation 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 symbolically to arrive arr ive at at reasonable conclusions conclusions to a problem scenario. scenario. The object object drawings in this section are used to illustrate the versatility of symbolic processing by using the manipulation of objects to convey convey information. Let us assume that we are given given the collection of five five common 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 objects in Figure B. Figure 2.8 presents presents an alternative arrangement of another subset 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 symbolic reasoning r easoning,, the t he context of the arrangement of the objects will determine the proper pro per 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 fat al 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 compensatory action (resti (r estitut tution) ion) 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 different meaning when concatenated concatenated with another object 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