ARTIFICIAL INTELLIGENCE- JNTUK- R19- UNIT5- Expert Systems And Applications
5. EXPERT SYSTEMS AND APPLICATIONS
INTRODUCTION:
Expert systems (ES) are one of the prominent research domains of AI. It is introduced by the researchers at Stanford University, Computer Science Department.
Definition: “The expert systems are the computer applications developed to solve complex problems in a particular domain, at the level of extra-ordinary human intelligence and expertise.”
Characteristics:
1.
Expertise: An ES should exhibit expert
performance, have high level of skill, and possess adequate robustness. The
high-level expertise and skill of an ES aids in problem solving & makes the
system cost effective.
2.
Symbolic Reasoning: Knowledge in an ES is
represented symbolically which can be easily reformulated & reasoned.
3.
Self Knowledge: A system should be able to explain & examine its own reasoning.
4.
Learning Capability: A system should learn from
its mistakes & mature as it grows. Flexibility provided by the ES helps it
grow incrementally.
5.
Ability to provide Training: Every ES
should be capable of providing training by explaining the reasoning process
behind solving a particular problem using relevant knowledge.
6.
Predictive Modelling Power: This is
one of the important features of ES. The system can act as an information
processing model of problem solving. It can explain how new situation led to
the change, which helps users to evaluate the effect of new facts &
understand their relationship to the solution.
Advantages: The Expert Systems are capable of the following:
·
Advising
·
Instructing and assisting human in decision making
·
Demonstrating
·
Deriving a solution
·
Diagnosing
·
Explaining
·
Interpreting input
·
Predicting results
·
Justifying the conclusion
·
Suggesting alternative options to a
problem
Disadvantages: The Expert Systems are
incapable of the following:
·
Substituting human decision makers
·
Possessing human capabilities
·
Producing accurate output for inadequate knowledge base
·
Refining their own knowledge
PHASES IN BUILDING EXPERT SYSTEMS:
·
Identify Problem Domain
·
Design the System
·
Develop the Prototype
·
Test & Refine the Prototype
·
Develop & Complete the Expert System
·
Maintain the System
Identify Problem Domain:
·
The problem must be suitable for an expert system to solve it.
·
Find the experts in task domain for the ES project.
·
Establish cost-effectiveness of the system. Design
the System:
·
Identify the ES Technology.
·
Know and establish the degree of integration with the other systems and databases.
·
Realize how the concepts can represent the domain
knowledge best. Develop the Prototype:
·
From Knowledge Base, the knowledge engineer works to
·
Acquire domain knowledge from the expert.
·
Represent it in the form of If-THEN-ELSE rules.
Test &
Refine the Prototype:
·
The knowledge engineer uses sample cases to test the prototype for any
deficiencies in performance.
·
End users test the prototypes of the ES. Develop & Complete the ES:
·
Test & ensure the interaction of the ES with all elements
of its environment, including end users, databases, and other information
systems.
·
Document the ES project well.
·
Train the user to use ES.
Maintain the System:
·
Keep the knowledge base up-to-date by regular review and update.
·
Cater for new interfaces with other information systems, as those
systems evolve.
EXPERT SYSTEMS VERSUS TRADITIONAL SYSTEMS:
Expert System |
Traditional System |
The entire problem related expertise is
encoded in data structures only, not in programs. |
Problem expertise is encoded in both
program and data structures. |
The use of knowledge is vital. |
Data is used more efficiently than knowledge. |
These
are capable of explaining how a particular conclusion is reached and why
requested information is needed during a process. |
These
are not capable of explaining a particular conclusion for a problem. These
systems try to solve in a straight forward manner. |
Problems are solved more efficiently. |
Not as efficient as an Expert System. |
It
uses the symbolic representations for knowledge i.e. the rules, different
forms of networks, frames, scripts etc. and performs their inference through
symbolic computations |
These are
unable to express in symbols.
They just simplify the problems in
a straight
forward manner and are incapable to express the “how, why” questions. |
Problem solving tools are present in
Expert System |
No problem solving tools in specific. |
Solution of the problem is more
accurate. |
Solution of
the problem may not be more accurate. |
Provide a clear separation of
knowledge from its processing. |
Do not separate knowledge
from the control structure to process this knowledge. |
Process
knowledge expressed in the form of rules and use symbolic reasoning to solve
problems in a narrow domain. |
Process
data and use algorithms, a series of well-defined operations, to solve
general numerical problems. |
Permit inexact reasoning and can deal with
incomplete, uncertain and fuzzy data. |
Work only on problems
where data is complete and exact. |
Enhance
the quality of problem solving by adding new rules or adjusting old ones in
the knowledge base. When new knowledge is acquired, changes are easy to accomplish. |
Enhance the
quality of problem solving by changing
the program code, which affects both the knowledge and its processing, making changes difficult. |
ARCHITECTURE OF EXPERT SYSTEM (or)
COMPONENTS OF EXPERT SYSTEM (or) RULE BASED EXPERT SYSTEMS:
This is the most common form of architecture used in expert and other types of knowledge based systems, also called rule based systems. This type of system uses knowledge encoded in the form of production rules. i.e., if then rules.
IF : condition1 and condition2 and condition3 THEN : Take action4
IF: This temperature is greater than 200 degrees, and The water level is low.
THEN: Open the safety valve.
A &
B & C & D à E & F
Each
rule represents a small chunk of knowledge relating to the given domain of expertise. A number of related rules
collectively may correspond to a chain of inferences which lead from some initially
known facts to some useful conclusions.
Inference
in production systems is accomplished by a process of chaining through the rules recursively, either in a forward or backward direction until a conclusion is reached or until failure
occurs.
I/O Interface:
The I/O Interface permits the user to communicate with the system in a simple way. Knowledge Base:
The Knowledge Base is one of the important components
of Expert System. The knowledge
base contains facts rules about some specialized knowledge domain. An
example of a simple knowledge base giving family relationships is illustrated in figure
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: X is father of Y:
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:
A is the father of B to establish the following fact “B is the son of A”.
By using the rule no. 4:
A is the father
of B:
B is the son of
A.
Building a Knowledge Base:
àEditor is used for editing knowledge in knowledge data base .If any data is not needed in knowledge database that can be removed from the knowledge data base and if any data is needed for the domain that can be inserted in to the database.
à 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.
The inference Process:
àThe inference process is carried out recursively
in 3
stages:
1.
Match
2. Select
3.
Execute
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.
BLACK BOARD SYSTEMS:
Blackboard Systems were first developed in the 1970s to solve complex, difficult & ill-structured problems in a wide range of application areas. Blackboard architecture is a way of representing & controlling the knowledge bases; using independent groups of rules called Knowledge Sources (KSs) that communicate through a data control database called a Blackboard.
The main modules of Blackboard System are as follows. It consists of 3 main components:
·
Knowledge Sources
·
Blackboard
·
Control Shell
Fig: Blackboard System
Knowledge Sources:
·
A KS is regarded to be a specialist at solving certain
aspects of the overall application and is separate and independent of all other
KSs in the blackboard system.
·
Once it obtains the information required by it on the Blackboard,
it can proceed further without any assistance from other KSs.
·
It is possible to add additional KSs to the Blackboard system and
upgrade or even remove existing KSs.
·
Each KS is aware of the conditions under which it can
contribute toward solving a particular problem. This knowledge in problem
solving is known as triggering condition.
Blackboard:
·
Blackboard represents a global data repository & shared data
structure available to all KSs.
·
It contains several important constituents such as raw
input data, partial solutions, alternatives & final solutions, control
information, communication medium used in various phrases in problem solving.
·
An advantage of the blackboard system is that the
system can retain the results of problems that have been solved earlier, thus
avoiding the task of re-computing them later.
Control Component:
·
The control Shell, directs the problem-solving process
by allowing KSs to respond to changes made to the black board.
·
In a classical blackboard system control approach, the
currently executing KS Activation (KSA) generates events as it makes changes on
the blackboard.
·
These events are ranked & maintained until the executing KSA is completed.
Fig: Blackboard System Control Cycle
Issues in Blackboard Systems for Problem Solving:
·
Specialized representation: KSs may only operate on a few classes of
blackboard objects.
·
Fully general representation: All aspects of blackboard data are understood by
all KSs.
Blackboard System versus Rule-based System:
A major difference between a Blackboard System and a Rule-based System lies in the size & scope of rules when compared to the size & complexity of KSs.
TRUTH MAINTENANCE SYSTEMS:
Truth Maintenance System (TMS) is a structure which helps in revising set of beliefs & maintaining the truth every time new information contradicts information already present in the system. It is developed by Doyle in 1979. TMS maintains the beliefs for general problem-solving systems. All TMS manipulate proposition symbols & the relationships between different proposition symbols.
·
A Monotonic TMS manipulates propositional symbols & Boolean constraints.
·
A Non-Monotonic TMS allows for heuristic (or)
non-monotonic relationships between proposition
symbols such as ‘whenever P is true Q is likely’ (or) ‘if P is true then unless
there is evidence to the contrary Q is assumed to be true’.
Monotonic System & Logic:
In Monotonic Systems, once a fact (or) piece of knowledge stored in the knowledge base is identified, it cannot be changed during the process of reasoning. In other words, axioms are not allowed to change as once a fact is confirmed to be true, it must always remain true & can never be modified.
·
If a formula is a theorem for a particular formal
theory, then that formula remains a theorem for any augmented theory obtained
by adding axioms to the theory.
For instance, if a property P is a theorem of T & if T is augmented to T1 by additional axioms, then P remains a theorem of T1. Further, if an axiom A is added to a theory T to build a theory T1, then all the theorems of T are also theorems of T1.
In Monotonic Reasoning, the world of axioms continually increases in size & keeps on expanding. An example of monotonic form of reasoning is predicate logic.
Non-Monotonic System & Logic:
In non-monotonic systems, truths that are present in the system can be
retracted whenever contradictions arise. Hence, the number of axioms can
increase as well as decrease. The system is continually updated depending upon
the changes in knowledge base. In non-monotonic logic, if a formula is a
theorem for a formal theory, then it need not be theorem for an augmented theory.
Common sense reasoning is an example of non- monotonic reasoning.
Fig: Interaction between different components in Problem Solver
·
The term truth maintenance is synonymous with the term
knowledge base maintenance and is defined as keeping track of the interrelations
between assertions in knowledge base.
·
The main job of TMS is to maintain consistency of the knowledge being
used by problem solvers.
·
The Inference Engine (IE) solves domain problems based on its current
belief set.
Monotonic TMS:
A Monotonic TMs is a general facility for manipulating Boolean constraints on proposition symbols.
The constraint has the form P → Q where P & Q are proposition symbols. Functionality of Monotonic TMS:
·
Add constraint
·
Follow from
·
Interface functions
Add constraint: This interface functions adds a constraint to the internal constraint set. Once a constraint has been added, it can never be removed.
Follow from: This function takes 2 arguments namely, a literal (L) and a premise set (Ʃ) and returns the values yes, no or unknown. If yes is returned, then the TMS guarantees that L follows from the Ʃ and internal constraints. If no is returned, then the TMS guarantees that L does not follows from the Ʃ and internal constraints. If TMS is unable to determine, then it returns unknown.
Interface Functions: these compute justifications. There are 2 interface functions used to generate such proofs namely justifying literals & justifying constraints.
Let us consider an example with a premise set Ʃ = {P, W} and an internal constraint set
{P → Q, (P Λ → R, (Q Λ R) → S}.
Justification Literals |
Derived Literals |
Justifying Constraints |
{P, W} |
R |
(P Λ W) → R |
{P} |
Q |
P → Q |
{Q, R} |
S |
(Q Λ R) → S |
The Justification Tree is as follows
Non-monotonic TMS:
The basic operation of a TMS is to attach a justification to a fact. A fact can be linked with any component of program knowledge which is to be connected with other components of program information.
Support List is defined as SL (IN-node) (OUT-node), where IN-node represents a list of all IN-nodes (propositions) that support the considered node as true.
·
Here, IN means that the belief is true. OUT-node is a
list of all OUT-nodes that do not support the considered node as true.
·
OUT means that the belief is not true for considered node.
For example
Node Number |
Facts/assertions |
Justification (justified belief) |
1 |
It is sunny |
SL(3) (2,4) |
2 |
It rains |
SL() () |
3 |
It is warm |
SL(1) (2) |
4 |
It is night time |
SL() (1) |
Table: Justification of Facts
In this case
·
An empty list indicates that its justification does not depend on the
current belief or disbelief.
·
Node 1 assumes that it is sunny, provided that it is warm and it does
not rain, and it is not night time.
·
Node 2 has both empty lists indicating that its
justification does not depend on current beliefs or disbeliefs.
·
Node 3 assumes that it is warm given that it is sunny & it does not rain.
·
Node 4 does not depend on the list in its (IN-node) part.
APPLICATIONS OF EXPERT SYSTEMS:
Application |
Description |
Design
Domain |
Camera lens
design, automobile design. |
Medical Domain |
Diagnosis Systems to deduce cause of disease from observed data,
conduction medical operations on humans. |
Prediction |
Perform the task of inferring the likely consequences of a situation like weather
prediction for rains, storms, prediction of crops, share market etc. |
Monitoring Systems |
Comparing data continuously with observed system
or with prescribed behavior such as leakage monitoring in long petroleum
pipeline. |
Process Control Systems |
Controlling a physical process based on monitoring. |
Knowledge Domain |
Finding out faults in vehicles, computers. |
Finance/Commerce |
Detection of possible
fraud, suspicious transactions, stock market trading, Airline scheduling,
cargo scheduling. |
LIST OF SHELLS & TOOLS:
The following are the list of popular shells & tools
·
ACQUIRE
·
ARITY
·
ART
·
CLIPS
ACQUIRE: It is primarily a knowledge-acquisition system & an ES shell, which provides a complete development environment for the building & maintenance of knowledge-based applications.
ACQUIRE SDK is a software development kit, which provides callable libraries for systems such as MS-DOS, Windows, Windows NT, Windows 95 and Win 32.
ARITY: Expert Development Package is an ES that was developed by ARITY Corporation.
ART: It is called Automated Reasoning Tool that is an ES shell, which is based on LISP. It supports rule-based reasoning, hypothetical reasoning and case-based reasoning.
CLIPS: It is used to represent C Language Integrated Production System. It is a public domain software tool that is used for building Expert Systems. CLIPS is probably the most widely used ES tool because it is fast, efficient and free.
FLEX: Flex is a hybrid ES which is implemented in PROLOG. It supports forward & backward chaining, multiple inheritance & also possesses an automatic question & answer system.
GENSYM’S G2: It offers a graphical, object oriented environment for the creation of intelligent applications that are able to monitor, diagnose & control dynamic events in various environments.
GURU: It is an ES developed environment & offers a wide variety of information processing tools combined with knowledge-based capabilities such as forward chaining, backward chaining, mixed chaining, multi-value variables & fuzzy reasoning.
HUGIN SYSTEM: It is a software package for construction of model-based Expert System. It is easy-to-use.
KNOWLEDGE CRAFT: It is an ES development tool kit for scheduling, design & configuration applications. K- VISION: It is a knowledge acquisition & visualization tool. It runs on Windows, DOS & UNIX workstations.
MAILBOT: It is a personal e-mail agent that reads an e-mail message on standard input & creates an e-mail reply to be sent to the sender of the original message. It provides filtering, forwarding, notification & automatic question-answering capabilities.
TMYCIN: It is an acronym for Tiny EMYCIN & is an ES shell modeled after the EMYCIN shell that was developed at Stanford. It is especially useful for student exercises, although real ES have been written using it. TMYCIN is written in common LISP & is fairly small.
Comments
Post a Comment