TME 3033 Expert Systems CHAPTER 1: INTRODUCTION
Objectives • Understand what is an expert systems • Knows the difference between conventional systems and expert systems • Able to discuss type of expertise and knowledge representations • Advantages and disadvantages of an expert systems
What is Knowledge? • A good decision is based on knowledge and not on numbers. ~ Plato • The only source of knowledge is experience. ~ Albert Einstein • To know, is to know that you know nothing. That is the meaning of true knowledge. ~ Socrates
KBSs & Knowledge • What is a knowledge-based system? •
A system which is built around a knowledge base. i.e. a collection of knowledge, taken from a human, and stored in such a way that the system can reason with it.
• What is knowledge? Knowledge is the sort of information that people use to solve problems. • Information and skills acquired through experience or education; the theoretical or practical understanding of a subject. •
Knowledge • Knowledge includes: •
facts, concepts, procedures, models, heuristics, examples.
• Knowledge may be: specific or general • exact or fuzzy • procedural or declarative •
Expert System definitions • Edward Feigenbaum defined Expert system as … “an intelligent computer program that uses knowledge and inference procedures to solve problems that are difficult enough to require significant human expertise for their solution.”
• Is a computer system that emulates the decision-making ability of a human expert. • Also commonly known as Knowledge-based systems
What is an expert system? •
A particular kind of knowledge-based system
•
One in which the knowledge, stored in the knowledge base, has been taken from an expert in some particular field.
• Therefore, an expert system can, to a certain extent, act as a substitute for the expert from whom the knowledge was taken.
ES General Structure • ES consists of two main components: Knowledge base and Inference Engine. • Knowledge base contains the knowledge with which the inference engine draws conclusions. Facts
Knowledge-Base
User Expertise
Inference Engine
Figure 1: Basic function of an Expert System
Conventional vs KBS A conventional computing system USER INTERFACE A L G O R I T H M (S)
DATA BASE Data
C O M P U TCOMPUTER E R S Y S T ESYSTEM M
Facts
Conventional vs KBS A Knowledge-Based system USER INTERFACE Expertise
Facts Knowledge base
Inference Engine
Expert SYSTEM
Comparison KBS • Process knowledge expressed in the form of rules and use symbolic reasoning to solve problems in a narrow domain
Conventional • Process data and use algorithms, a series of welldefined operations, to solve general numerical problems
Comparison Conventional KBS • Provide a clear separation of • Do not separate knowledge knowledge from its processing from the control structure to process this knowledge
Comparison KBS Conventional • Trace the rules fired during a • Do not explain how a problem-solving session and particular result was obtained explain how a particular and why input data was conclusion was reached and why needed specific data was needed
Comparison KBS • Permit inexact reasoning and can deal within complete, uncertain and fuzzy data
Conventional • Work only on problems where data is complete and exact
Comparison KBS • Can make mistakes when data is incomplete or fuzzy
Conventional • Provide no solution at all, or a wrong one, when data is incomplete or fuzzy
Comparison KBS
Conventional
• Enhance the quality of problem • Enhance the quality of solving by adding new rules or problem solving by changing adjusting old ones in the the program code, which knowledge base. When new effects both the knowledge knowledge is acquired, changes and its processing, making are easy to accomplish changes difficult
Comparison Conventional Programs data
KBS
Reasoning
algorithmic & repetitive
heuristic & inferential
Retrieves
large DB
large KB
Representation
knowledge
Prevent the hi-jacking of airliners Prevent hijackers from boarding the airliners Heuristic technique •Put passengers and luggage through a metal detector & •Search only those who set off the detector • Search those passengers that match a predetermined hi-jacker profile
Algorithmic route (inc. passengers, flight crews & mechanics) •Strip search every person with access to the airlines & •Search all luggage
Types of Expertise • Expert – people possessing many different levels of skills or knowledge in one particular domain. • Who is an Expert? • Expertise can be classified into three distinct categories: Associational Knowledge • Motor Skills • Theoretical(Deep) Knowledge •
• As a result, they are valuable, highly-paid, and tend to be overworked.
Experts and expert systems • Note that: The task that an expert system performs will generally be regarded as difficult. • An expert system almost always operates in a rather narrow field of knowledge. The field of knowledge is called the knowledge domain of the system. • There are many fields where expert systems can usefully be built. • There are many fields where they can’t. •
Experts and expert systems • Note also that an expert can usually explain and • justify •
his/her decisions.
Reasons for building an E.S. • One might build an expert system for any or all of the following reasons: To archive an expert’s knowledge, to insure against the day when he/she leaves, or retires, or dies. • To disseminate his/her knowledge, so that it is available in more (possibly many more) places than the location of the expert. • To ensure uniformity of advice/decisions. • As a basis for training other specialists. •
Associational Knowledge Expertise • Reflects heuristic ability or knowledge that is acquired mostly through observation. • Expert may not understand what happens inside a black box, but can associate the inputs with specific output.
Associational Knowledge Expertise • Usually need to have detailed understanding of underlying theory within a field • May have excellent associational understandings based on experience • The knowledge used is typically in the form of rules (IF-THEN)
Motor Skills Expertise • physical, therefore KBS cannot easily emulate • learn skills by repeatedly performing them • expertise reactions seem spontaneous and automatic, result from continual and persistent practise
Motor Skills Expertise • Why KBS are poorly suited this is because of the limited capabilities of robotic technology. • If we do have advanced robotic technology, still have to enhance visual and speed capabilities
Theoretical (Deep) Knowledge Expertise • Solving problem based on theoretical knowledge of the domain • Allow expert to solve problems that have not been seen before • Acquire knowledge through formal training and hands-on problem solving
Theoretical (Deep) Knowledge Expertise • This type of knowledge is possessed by engineers and scientists who have many years of formal training • Easily forgotten unless continually used • Cannot be easily duplicate in conventional KBS – use Model-based
Advantages of expert systems • Put another way, E.S. have the following advantages over human experts: • • • • •
The knowledge is permanent The knowledge is easily replicated The knowledge is represented explicitly, and can be evaluated The system is consistent - whereas human practitioners have bad days, computers don’t. Once built, running costs are low
Advantages of Expert System • Increased availability • Reduced cost • Reduced danger • Permanence • Multiple expertise • Increased reliability • Explanation • Fast response • Steady, unemotional, and complete response at all time • Intelligent tutor • Intelligent database
Disadvantages of expert systems • Developing an expert system usually costs a great deal of time & money • Historically, there has been a high failure rate in E.S. projects The project may well fail during development - most likely during the “knowledge acquisition” phase. • The development may succeed, but the organisation may fail to accept and use the finished system. •
General Concepts of Expert System • The process of building an expert system is called knowledge engineering and it is done by a knowledge engineer. • General stages in development of expert system: Knowledge engineer (KE) first established a dialog with the human expert. ii. Then KE will codes the knowledge explicitly in the knowledge base. iii. The expert will evaluates the expert system and give critique to the KE. iv. This process iterates until the system’s performance is judged to be satisfactory by the expert. i.
Human Expert Dialog Knowledge Engineer Explicit Knowledge Knowledge-Base of Expert System Figure 2: Development of an Expert System
Characteristics of an Expert System • High performance • Adequate response time • Good reliability • Understandable
Applications of Expert Systems • ES have been applied to virtually every field of knowledge. • Some have been designed as research tools while others fulfill important business and industrial functions. • Table 1 shows certain broad classes of expert systems.
Class
General area
Configuration
Assembly proper components of a system in the proper way.
Diagnosis
Infer underlying problems based on observed evidence.
Instruction
Intelligent teaching so that a student can ask why, how, and what if questions just as if a human were teaching.
Interpretation
Explain observed data.
Monitoring
Compares observed data to expected data to judge performance.
Planning
Devise actions to yield a desired outcome.
Prognosis
Predict the outcome of a given situation.
Remedy
Prescribe treatment for a problem.
Control
Regulate a process. May require interpretation, diagnosis, monitoring, planning, prognosis, and remedies.
Table 1: Broad classes of Expert Systems
Appropriate Domains for Expert Systems • Before starting to build an expert system, it is essential to decide if an expert system is the appropriate paradigm. • The appropriate domain for an expert system depends on a number of factors: i.
Can the problem be solved effectively by conventional programming? If yes, then expert system is not the best choice. Expert system are best suited for situations in which there is no efficient algorithmic solution. Such cases are called ill-structured problems and reasoning may offer the only hope of a good solution.
Appropriate Domains for Expert Systems ii.
Is the domain well bounded? It is important to have well-defined limits on what the expert system is expected to know and what its capabilities should be.
iii.
Is there is a need and a desire for an expert system? It is useless if no one is willing to use it.
iv.
Is there at least one human expert who is willing to cooperate? Not all expert is willing to share their knowledge.
v.
Can the expert explain the knowledge so that it is understandable by the knowledge engineer? There may be difficulty in expressing the knowledge in explicit terms.
vi.
Is the problem-solving knowledge mainly heuristic and uncertain? Expert system are appropriate when the expert’s knowledge is largely heuristic and uncertain. The knowledge may be based on experience, called experiential knowledge, and the expert may have to try various approaches in case one doesn’t work.
Example of early ES • Dendral (1965) – Infers information about chemical structures • MyCIN (1972) – Diagnosis of blood disease • Macsyma (1965)– Performs complex mathematical analysis • Age (1973) – ES generation tool
Recent ES • Rice-Crop Doctor - an expert system to diagnose pests and diseases for rice crop and suggest preventive/curative measures. • CaDet - a computer-based clinical decision support system for Early Cancer Detection. • Expert System for Teaching Introductory data Structure - this expert system had provided the excellent alternative to the private tutorial.
Tools to build ES • CLIPS (C Language Integrated Production System) • FuzzyCLIPS
Choosing an E.S.project • Because of cost, and the danger of failure, it is important that E.S. projects are carefully chosen.
Choosing an E.S.project •
The expense must be justified, in the light of the possible benefits.
•
E.S. technology must be appropriate
•
•
the right kind of expertise is involved
•
it isn’t a problem which conventional programming could do better.
Management, and the participants, must support the project fully.
Types of expertise • Mike Greenwell’s classification of types of expertise, according to identifiable mental components of the skill (with examples): • [source: Greenwell (1988)]
Types of expertise (with examples)
Highly creative
Deep cognitive skills Musician
Analytical
Mathematician
Strictly procedural
Typist
Judgmenta High-level l skills social skills Senior manager
Author, poet
Economist, Social programme scientist r Driver Social worker
• Greenwell argues that only expertise which is judgmental and analytical, i.e. only the middle box of the nine, is worth capturing and including in an expert system.
The phone call test • A rather simpler approach to answering the question which domains are worth building into an expert system? • “Any problem that can be and frequently is solved by your in-house expert in a 10-30 minute phone call can be automated as an expert system.” • Prof.Morris Firebaugh
• During ABC Enterprise management meeting to discuss whether the company should consider a merger with other business partners, one important key person of the company, Mr. Amir, who is in charge of the company’s investment portfolios was absent due to fever. • The CEO of the company, Mr. Ridzuan wishes to make his expertise in investment portfolio to be made available whenever it is needed, especially during crucial time. Thus, Mr. Ridzuan was considering whether a system can be built to provide direct expertise in the same way Mr. Amir provides investment portfolio consultation, such as type investment, their rules, calculations, and so on.
Possible expert systems - case histories • For discussion. • The following seven problem areas may, or may not, be suitable for computerisation as expert systems.
Possible expert systems - case histories • A certain third world country has a large population, very few trained doctors, and insufficient resources to train many more. It is proposed to provide paramedics, who can be trained relatively cheaply and easily, with medical kits and portable PCs, each PC to be loaded with an expert system that can advise on the diagnosis and treatment of a variety of common diseases.
Possible expert systems - case histories • The housing department in a provincial English town is overworked, although the staff turnover is quite low. Much of the work the staff do involves interviewing clients, and there is a clear pattern of questioning (which varies to a limited degree, depending on the circumstances of the client). It is proposed to build an expert system, which will direct the questioning process.
Possible expert systems - case histories • A firm of wine importers relies heavily on its chief wine expert, who is skilled at selecting wines that are destined to be popular, on the basis of their taste, colour, scent etc. She is soon to retire. It is proposed to build an expert system that will enable any of several junior wine specialists to do her job.
Possible expert systems - case histories • An education authority has a severe shortage of primary school teachers. It is proposed that an expert system should be built which can do the job of teaching English and arithmetic to five year old children.
Possible expert systems - case histories • A software company proposes to build an expert system which can perform book-keeping for small commercial concerns.
Possible expert systems - case histories • A large manufacturer of diesel electric locomotives has problems in providing enough maintenance personnel who are sufficiently skilled to locate faults in these (highly complex) locomotives. They propose to build an expert system which can perform fault location on such a machine.
Possible expert systems - case histories • A mineral exploitation company wishes to extend its operations, which involve searching for hitherto undiscovered deposits of valuable metal ores. It is short of trained geologists. It proposes to build an expert system which can assess a geological site and come to a conclusion about how likely it is that there is a worthwhile mineral deposit there.