chap 2: rule-based expert systems
DESCRIPTION
Chap 2: Rule-Based Expert Systems. SCCS451 Artificial Intelligence Week 3. Asst. Prof. Dr. Sukanya Pongsuparb Dr. Srisupa Palakvangsa Na Ayudhya Dr. Benjarath Pupacdi. Someone with deep knowledge and experience in a particular domain. Software Program. Expert System. - PowerPoint PPT PresentationTRANSCRIPT
1
Chap 2: Rule-Based Expert Systems
Asst. Prof. Dr. Sukanya PongsuparbDr. Srisupa Palakvangsa Na AyudhyaDr. Benjarath Pupacdi
SCCS451 Artificial IntelligenceWeek 3
2
Expert System
Someone with deep knowledge and experience in a particular domain
Software Program
A software program with an expert’s knowledge and experience, so it can help us like an expert can.
3
An Expert’s Knowledge
Knowledge isAn understanding of a subject or domainThe sum of what is currently known
An expert isA person with deep knowledge / experience in some specific domainA skillful person who can do things that others cannot
An Expert’s KnowledgeToo complex to be thoroughly represented as an algorithmCan be simply and effectively represented as rules
But, what are rules?
4
If the crossing light is red
then wait.
5
If the crossing light is green
then cross.
6
If the crossing light is red, then wait.
If the crossing light is green, then cross.
If <…>, then <…>.
Production Rule or Rule
7
Rules as a Knowledge Representation Technique
In AI, rules are used as the most common knowledge representation.A rule can be defined as an IF-THEN structure.Rules provide some description of how to solve a problem.Rules are relatively easy to create and understand.
8
A Basic Syntax of a Rule
IF <antecedent> THEN <consequent>
* antecedent == premise == condition* consequent == conclusion == action
≥ 1≥ 1
valueobject valueobject
Examples:• IF the crossing light is red THEN action is wait.• IF ‘age of customer’ < 18 AND ‘cash withdrawal’ > 2000 THEN ‘parent signature’ is required
9
More Rule Examples
IF customer bought “JAVA: How to program”AND customer bought “Network Programming”THEN recommend “Java Servlet Programming”IF the person has a feverAND the person has a sore throatAND the person is coughingAND the person has a runny noseTHEN the person has a coldIF the car is deadAND the fuel tank is emptyTHEN the action is refuel the carOR the action is get a taxi
Recommendation
Heuristic
Directive
10
Different Types of Rules1. Relation
IF the fuel tank is emptyTHEN the car is dead
2. RecommendationIF the season is autumnAND the sky is cloudyAND the forecast is drizzleTHEN the advice is ‘take an umbrella’
3. DirectiveIF the car is deadAND the fuel tank is emptyTHEN the action is ‘refuel the car’
11
Different Types of Rules – cont.4. Strategy
IF the car is deadTHEN the action is ‘check out the fuel tank’;
step 1 is completeIF step 1 is completeAND the fuel tank is fullTHEN the action is ‘check the battery’;
step 2 is complete5. Heuristic
IF the spill is liquidAND the spill pH < 6AND the spill smell is vinegarTHEN the spill material is acetic acid
12
Rule-based Expert System
Someone with deep knowledge and experience in a particular domain
Software Program
A software program with an expert’s knowledge and experience, so it can help us like an expert can.
Expert’s knowledge is encoded into the system via a set of rules.
13
Rule-based Expert System
A computer program capable of performing at the level of a human expert in a narrow problem areaThe most popular expert systems are rule-based.Applications in
BusinessEngineeringMedicineGeology
Let’s see some real-world examples
14
15
In developing an expert system…
Domain
Expert
End User
Programmer
Expert System
16
In developing an expert system…
Domain
Expert
End User
Programmer
Expert System
Knowledge Engineer
Project Manager
17
Expert System Development TeamDomain Expert
Most important player in the teamKnowledge Engineer
Design, build, and test the systemPick/interact with the expertEstablish rulesPick development team
Programmer – Actual coding of the systemProject Manager
Keep everything on scheduleMake sure all milestones are met
End UserUses the system, e.g. doctors, chemists, etc.Good user interface design is vital
18
Expert System Shell
An expert system with the knowledge removedAll the user has to do is to add the knowledge in the form of rules and provide relevant data to solve the problem.So instead of picking a programmer, the knowledge engineer may pick an expert system shell because the system does not have to be coded. The engineer only have to add the knowledge into the system.For a small expert system, the project manager, knowledge engineer, or even the expert can be the same person.
19
Expert System Shell
20
A real-world example
21
Another real-world example
22
A closer look at a rule-based expert system…
Domain
Expert
End User
Programmer
Expert System
Knowledge Engineer
Project Manager
23
Conclusion
REASONING
Long-term Memory
ProductionRule
Short-term Memory
Fact
A production system model
Basic Structure of a rule-based expert system
24
Basic Structure of a rule-based expert system
Inference Engine
Knowledge Base
Rule: IF-THEN
Database
Fact
Explanation Facilities
User Interface
User
25
Basic Structure of a rule-based expert system
Knowledge baseA set of rules obtained from the expert. When the condition part a rule is satisfied, the rule fires and the action part is executed.DatabaseA set of facts used to match against the condition parts of rules stored in the knowledge baseInference EngineCarries out reasoning until the system reaches a solution. It links the facts with the rules.
26
Basic Structure of a rule-based expert system
Explanation facilitiesAllow the user to ask the system how the conclusion is reached and why a specific fact is neededUser InterfaceMeans of communication between a user seeking a solution to a problem and an expert system
27
Complete Structure of a Rule-based Expert System
User
ExternalDatabase External Program
Inference Engine
Knowledge Base
Rule: IF-THEN
Database
Fact
Explanation Facilities
User Interface DeveloperInterface
Expert System
Expert
Knowledge Engineer
28
Complete Structure of a Rule-based Expert System
External InterfaceAllow the system to work with external files or programs written in conventional languagesDeveloper InterfaceIncludes knowledge base editor, debugging aids, tracing facilitiesRuntime knowledge acquisitionAsks for needed information whenever it is not available in the database. System continues when the information is obtained.
29
Characteristics of an Expert System
An expert system is built to perform at a human expert level in a narrow, specialized domain. Thus, the most important characteristic of an expert system is its high-quality performance. No matter how fast the system can solve a problem, the user will not be satisfied if the result is wrong.On the other hand, the speed of reaching a solution is very important. Even the most accurate decision or diagnosis may not be useful if it is too late to apply, for instance, in an emergency, when a patient dies or a nuclear power plant explodes.
30
Characteristics of an Expert System
Expert systems apply heuristics to guide the reasoning and thus reduce the search area for a solution.A unique feature of an expert system is its explanation capability. It enables the expert system to review its own reasoning and explain its decisions.Expert systems employ symbolic reasoning when solving a problem. Symbols are used to represent different types of knowledge such as facts, concepts and rules.
31
Can expert systems make mistakes?
An expert system is supposed to imitate a human expert.Can a human expert make a mistake?A human expert is only a human after all.A human expert can make a mistake. An incorrect rule may be fed into the system.Yes, expert systems can make mistakes.
32
So conventional programs are better?
In theory, a conventional program always give the same correct solution.But it can solve a problem if it has all the right data built into it.When the data is incomplete or contains errors, a conventional program would provide no solution or an incorrect one.An expert system, on the other hand, can work when the data is incomplete or fuzzy.
33
2 Main Differences between Expert Systems and Conventional Programs
Expert systems can work when data is incomplete or fuzzy. That is not the case for conventional programs.In expert systems, knowledge is separated from its processing.Expert system shells are commonly used.Experts systems are easier to build and maintain. Since the knowledge and processing are separated, adding new knowledge, i.e. new rules, can be as easy as entering rules into a text editor.
34
Comparison - 1
Human Experts Expert Systems Conventional Programs
Use knowledge in theform of rules of thumb orheuristics to solveproblems in a narrowdomain.
Process knowledgeexpressed in the form ofrules and use symbolicreasoning to solveproblems in a narrowdomain.
Process data and usealgorithms, a series ofwell-defined operations,to solve general numericalproblems.
In a human brain,knowledge exists in acompiled form.
Provide a clearseparation of knowledgefrom its processing.
Do not separateknowledge from thecontrol structure toprocess this knowledge.
Capable of explaining aline of reasoning andproviding the details.
Trace the rules firedduring a problem-solvingsession and explain how aparticular conclusion wasreached and why specificdata was needed.
Do not explain how aparticular result wasobtained and why inputdata was needed.
35
Comparison - 2
Human Experts Expert Systems Conventional Programs
Use inexact reasoning andcan deal with incomplete,uncertain and fuzzyinformation.
Permit inexact reasoningand can deal withincomplete, uncertain andfuzzy data.
Work only on problemswhere data is completeand exact.
Can make mistakes wheninformation is incompleteor fuzzy.
Can make mistakes whendata is incomplete orfuzzy.
Provide no solution at all,or a wrong one, when datais incomplete or fuzzy.
Enhance the quality ofproblem solving via yearsof learning and practicaltraining. This process isslow, inefficient andexpensive.
Enhance the quality ofproblem solving byadding new rules oradjusting old ones in theknowledge base. Whennew knowledge isacquired, changes areeasy to accomplish.
Enhance the quality ofproblem solving bychanging the programcode, which affects boththe knowledge and itsprocessing, makingchanges difficult.
36
Rule-based Expert System
Someone with deep knowledge and experience in a particular domain
Software Program
A software program with an expert’s knowledge and experience, so it can help us like an expert can.
Expert’s knowledge is encoded into the system via a set of rules.
37
How does the system use the rules?
Inference techniques are how an expert system uses the rules to derive to a solution.There are two common inference techniques
Forward chainingBackward chaining
Today we will talk about Forward Chaining.
38
First, some terminologiesRule firing = adding an inferred fact to the database
Rule: IF A is x THEN B is y
Database
Knowledge Base
Fact: A is xFact: B is y
Fire
39
Some terminologies (Cont.)Inference chain = a sequence of the matching of the rule IF parts
Rule 1: Y & D ZRule 2: X & B & E YRule 3: A X
Database
Knowledge Base
Fact: A
Fact: B
Fact: C
Fact: DFact: E
40
Some terminologies (Cont.)Inference chain = a sequence of the matching of the rule IF parts
Rule 1: Y & D ZRule 2: X & B & E YRule 3: A X
Database
Knowledge Base
Fact: A
Fact: B
Fact: C
Fact: DFact: E Fact: X
41
Some terminologies (Cont.)Inference chain = a sequence of the matching of the rule IF parts
Rule 1: Y & D ZRule 2: X & B & E YRule 3: A X
Database
Knowledge Base
Fact: A
Fact: B
Fact: C
Fact: DFact: E Fact: X
Fact: Y
42
Some terminologies (Cont.)Inference chain = a sequence of the matching of the rule IF parts
Rule 1: Y & D ZRule 2: X & B & E YRule 3: A X
Database
Knowledge Base
Fact: A
Fact: B
Fact: C
Fact: DFact: E Fact: X
Fact: Y
Conclusion is Z
43
Inference Chain
Rule1: IF Y is trueAND D is trueTHEN Z is true
Rule2: IF X is trueAND B is trueAND E is trueTHEN Y is true
Rule3: IF A is trueTHEN X is true
A X
B
E
Y
DZ
44
Forward Chaining
Forward chaining is the data-driven reasoning. The reasoning starts from the known data and proceeds forward with that data. Each time only the topmost rule is executed. When fired, the rule adds a new fact in the database.Any rule can be executed only once. The match-fire cycle stops when no further rules can be fired or a goal is reached.
45
Forward Chaining
Match Fire Match Fire Match Fire Match FireKnowledge Base
Database
A C E
X
Database
A C E
L
Database
A D
YL
B
X
Database
A D
ZY
B
LX
Cycle 1 Cycle 2 Cycle 3
X & B & EZY & D
LCL & M
A X
N
X & B & EZY & D
LCL & M
A X
N
X & B & EZY & D
LCL & M
A X
N
X & B & EZY & D
LCL & M
A X
N
Knowledge Base Knowledge Base Knowledge Base
X
C E C EB D B D
Y Y Y Y
46
Forward Chaining
Forward chaining is a technique for gathering information and then inferring from it whatever can be inferred.However, in forward chaining, many rules may be executed that have nothing to do with the established goal.For example, CLA real expert system has hundreds of rules. Some may be unrelated to the goal, so forward chaining may not be efficient.
47
Forward Chaining Exercise
Media Advisor Expert System
The system gives advice on selecting a medium for delivering a training program based on the trainee’s job.
48
Media Advisor Expert System
Scenario 1: Trainee is a mechanical technician who maintains a hydraulic system.System advices a workshop medium. The trainee could learn how basic hydraulic components operate, how to trouble shoot hydraulic problems as well as simple hydraulic repairs.
49
Media Advisor Expert System
Scenario 2: Trainee is an insurance clerk.System advices a lecture/tutorial medium. The trainee could learn from a classroom about the tasks as well as about real applications.
50
Media Advisor Expert System: Rules 1 – 8
Rule # Environment Stimulus_situation
1 Papers ⋁Manuals ⋁ Documents ⋁ Textbooks Verbal
2 Pictures ⋁ Illustrations ⋁ Photographs ⋁ Diagrams Visual
3 Machines ⋁ Buildings ⋁ Tools Physical Object
4 Numbers ⋁ Formulas ⋁ Computer Programs Symbolic
Rule # The Job Stimulus_response
5 Lecturing ⋁ Advising ⋁ Counseling Oral
6 Building ⋁ Repairing ⋁ Troubleshooting Hands-on
7 Writing ⋁ Typing ⋁ Drawing Documented
8 Evaluating ⋁ Reasoning ⋁ Investigating Analytical
IF THEN
Knowledge Base
51Knowledge Base
Media Advisor Expert System: Rules 9 – 14
IF
THENRule# Stimulus_situation Stimulus_response Feedback Medium
9 Physical_object Hands_on Required Workshop
10 Symbolic Analytical Required Lecture-tutorial
11 Visual Documented Not required DVD
12 Visual Oral Required Lecture-tutorial
13 Verbal Analytical Required Lecture-tutorial
14 Verbal Oral Required Role-play exercises
⋀ ⋀
52
Media Advisor Expert System in Action
Q: What sort of environment is a trainee dealing with on the job?
> machines
Rule # Environment Stimulus_situation
1 Papers ⋁Manuals ⋁ Documents ⋁ Textbooks Verbal
2 Pictures ⋁ Illustrations ⋁ Photographs ⋁ Diagrams Visual
3 Machines ⋁ Buildings ⋁ Tools Physical Object
4 Numbers ⋁ Formulas ⋁ Computer Programs Symbolic
DatabaseFact: Environment is machines
Fact: Stimulus_situation is physical object
Knowledge Base
53
Rule # The Job Stimulus_response
5 Lecturing ⋁ Advising ⋁ Counseling Oral
6 Building ⋁ Repairing ⋁ Troubleshooting Hands-on
7 Writing ⋁ Typing ⋁ Drawing Documented
8 Evaluating ⋁ Reasoning ⋁ Investigating Analytical
Media Advisor Expert System in Action
Q: In what way is a trainee expected to act on the job? > repairing
DatabaseFact: Environment is machines
Fact: Stimulus_situation is physical object
Knowledge Base
Fact: The job is repairing Fact: Stimulus_response is hands-on
54
Media Advisor Expert System in ActionQ: Is feedback on the trainee’s progress required during training? > Yes
DatabaseFact: Environment is machines
Fact: Stimulus_situation is physical object
Fact: The job is repairing Fact: Stimulus_response is hands-on
Fact: The feedback is required
Rule# Stimulus_situation Stimulus_response Feedback Medium
9 Physical_object Hands_on Required Workshop
10 Symbolic Analytical Required Lecture-tutorial
11 Visual Documented Not required DVD
12 Visual Oral Required Lecture-tutorial
13 Verbal Analytical Required Lecture-tutorial
14 Verbal Oral Required Role-play exercises
Knowledge Base
⋀ ⋀
55
Recap today
Expert SystemsRulesRule-based Expert SystemsDeveloping an Expert SystemRule InferenceForward ChainingNext week we will cover backward chaining