Download presentation
1
Artificial Intelligence CSC 361
Prof. Mohamed Batouche Computer Science Department CCIS – King Saud University Riyadh, Saudi Arabia
2
Intelligent Systems Part I: Expert Systems
3
Developing Intelligent Program Systems
Two main approaches for problem solving using knowledge: Symbolic Approach Expert systems: Feed the system with knowledge. There is no learning !! Connectionist Approach Neural Networks: The system learns from examples by itself.
4
Symbolic Approach
5
Developing Intelligent Program Systems
Expert system expert system (or knowledge-based system): a program which encapsulates knowledge from some domain, normally obtained from a human expert in that domain an expert system can, to a certain extent, act as a substitute for the expert from whom the knowledge was taken. Attempt to Imitate Expert Reasoning Processes and Knowledge in Solving Specific Problems Expert Systems Do Not Replace Experts, But They Make their Knowledge and Experience More Widely Available Permit Nonexperts to Work Better ES acts as a Consultant or Advisor
6
Developing Intelligent Program Systems
Objective and Activities of an Expert System Objective of an expert system To transfer expertise from an expert to a computer system and Then on to other humans (nonexperts) Activities Knowledge acquisition Knowledge representation Knowledge inferencing Knowledge transfer to the user Knowledge is stored in a knowledge base
7
Developing Intelligent Program Systems
Inferencing Reasoning (Thinking) The computer is programmed so that it can make inferences Performed by the Inference Engine
8
Developing Intelligent Program Systems : Expert System
Major Components Knowledge base (KB): repository of rules, facts (productions) working memory: (if forward chaining used) inference engine: the deduction system used to infer results from user input and KB user interface: interfaces with user external control + monitoring: access external databases, control,... User Interface Inference Engine Knowledge Base
9
Developing Intelligent Program Systems : Expert System
Knowledge base The knowledge base contains the knowledge necessary for understanding, formulating, and solving problems Two Basic Knowledge Base Elements Facts Special heuristics, or rules that direct the use of knowledge Knowledge is the primary raw material of ES Incorporated knowledge representation User Interface Inference Engine Knowledge Base
10
Developing Intelligent Program Systems : Expert System
Inference Engine The brain of the ES The control structure (rule interpreter) Provides methodology for reasoning User Interface Inference Engine Knowledge Base
11
Developing Intelligent Program Systems : Expert System
User Interface Language processor for friendly, problem-oriented communication Natural Language Processing, or menus and graphics User Interface Inference Engine Knowledge Base
12
Developing Intelligent Program Systems : Expert System
Working Memory (Blackboard) Area of working memory to Describe the current problem Record Intermediate results Records Intermediate Hypotheses and Decisions 1. Plan 2. Agenda 3. Solution User Interface Inference Engine Knowledge Base
13
Developing Intelligent Program Systems : Expert System
Explanation Subsystem (Justifier) Area of working memory to Traces responsibility and explains the ES behavior by interactively answering questions: -Why? -How? -What? -(Where? When? Who?) User Interface Inference Engine Knowledge Base
14
Developing Intelligent Program Systems : Expert System
The Human Element in Expert Systems Expert Knowledge Engineer User Others
15
Developing Intelligent Program Systems : Expert System
Has the special knowledge, judgment, experience and methods to give advice and solve problems Provides knowledge about task performance
16
Developing Intelligent Program Systems : Expert System
Knowledge Engineer Helps the expert(s) structure the problem area by interpreting and integrating human answers to questions, drawing analogies, posing counterexamples, and bringing to light conceptual difficulties Usually also the System Builder
17
Developing Intelligent Program Systems : Expert System
User Possible Classes of Users A non-expert client seeking direct advice (ES acts as a Consultant or Advisor) A student who wants to learn (Instructor) An ES builder improving or increasing the knowledge base (Partner) An expert (Colleague or Assistant) The Expert and the Knowledge Engineer Should Anticipate Users' Needs and Limitations When Designing ES
18
Expert System – in Depth
Expert System Architecture Knowledge Base Inference Engine
19
Architecture of an Expert System
20
Knowledge base: production System
Knowledge is represented using rules of the form : Rule: if Conditions then Conclusions or Rule: if Premises then Actions Rule: if if-part then then-Part A rule as described above is often referred to as a production rule Example: if symptom1 and symptom2 and symptom3 then disease1
21
Knowledge base: production System
Other examples: if - the leaves are dry, brittle and discoloured then - the plant has been attacked by red spider mite If – it is raining then – you should take an umbrella if - the customer closes the account then - delete the customer from the database
22
Inference Engine: Rule-based reasoning
The essence of a rule-based reasoning system is that it goes through a series of cycles. In each cycle, it attempts to pick an appropriate rule from its collection of rules, depending on the present circumstances, and to use it. Because using a rule produces new information, it's possible for each new cycle to take the reasoning process further than the cycle before. This is rather like a human following a chain of ideas in order to come to a conclusion.
23
Inference Engine: Forward Chaining
Forward Chaining is based on Modus Ponens inference rule: (A, AB ) / B In other words, if A is true and we have AB then we can deduce that B is true In the context of Expert System, it is used as follows: if A is in WM and we have a rule in KB of the form if A then B then we can deduce B (add B to WM as new information)
24
Inference Engine: Forward Chaining
Do until problem is solved or no antecedents match Collect the rules whose antecedents are found in WM. If more than one rule matches use conflict resolution strategy to eliminate all but one Do actions indicated in by rule “fired” Cycles
25
Inference Engine: Forward Chaining
For Conflict Resolution we can use rule-order as an implied priority Matching Rules filtering Conflict Resolution Execution Apply the rule Rules Rule Add Then-Part to WM Cycles
26
Inference Engine: Forward Chaining
Matching Rules filtering Conflict Resolution Execution Apply the rule Rules Rule Add Then-Part to WM Algorithm: Match WM with KB to select production rules Eliminate already applied rules If many rules select one which has the smallest number Apply selected rule by adding its conclusion to WM If the problem is solved or no new information added then stop otherwise go to step 1
27
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B
28
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C
29
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Cycle 2: Rule 5, Rule 1, Rule 2 → add D Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C, D
30
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Cycle 2: Rule 5, Rule 1, Rule 2 → add D Cycle 3: Rule 1, Rule 2, R 3, R 4, Rule 5 → add G Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C, D, G
31
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Cycle 2: Rule 5, Rule 1, Rule 2 → add D Cycle 3: Rule 1, Rule 2, R3, R 4, Rule 5 → add G Cycle 4: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add F Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C, D, G, F
32
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Cycle 2: Rule 5, Rule 1, Rule 2 → add D Cylce 3: Rule 1, Rule 2, Rule 3, Rule 5 → add G Cycle 4: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add F Cylce 5: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add E Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C, D, G, F, E
33
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Cycle 2: Rule 5, Rule 1, Rule 2 → add D Cylce 3: Rule 1, Rule 2, Rule 3, Rule 5 → add G Cycle 4: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add F Cylce 5: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add E Cylce 6: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add Z Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C, D, G, F, E, Z
34
Inference Engine: Forward Chaining
Inference Engine: Execute many cycles Cycle 1: Rule 5 → add C Cycle 2:Rule 1, Rule 2, Rule 5 → add D Cylce 3: Rule 1, Rule 2, Rule 3, Rule 5 → add G Cycle 4: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add F Cylce 5: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add E Cylce 6: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → add Z Cycle 7: Rule 1, Rule 2, Rule 3, Rule 4, Rule 5, Rule 6 → no rule => STOP !!! Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B, C, D, G, F, E, Z
35
Inference Engine: Backward Chaining
Backward Chaining is based on Modus Tollens inference rule: ( B, AB ) / A If A implies B , and B is false, then A is false In other words, if we have AB then proving B is equivalent of proving A In the context of Expert System, it is used as follows: To prove a goal B which is not in WM and if we have a rule in KB of the form if A then B then we have just to prove A (A is either present in WM or it exists a rule with A as a conclusion)
36
Inference Engine: Backward Chaining
Consider the following KB and WM: Inference Engine: Exploration of AND/OR Tree: Suppose we have the goal: G To prove G, one can use Rule 2 Proving G is equivalent of proving B and C As B is present in the WM so it’s true So remains the proof of C, one can use Rule 5 Proving C is equivalent of proving A and B As A and B are present in WM (true), we can deduce that C is true B and C are true then G is true Knowledge Base: Rule 1: If A and B and C then D Rule 2: if B and C then G Rule 3: if B and D then F Rule 4: if B and C and D then E Rule 5: if A and B then C Rule 6: if G and D then Z Working Memory: A, B
37
Conclusions Expert System Why use expert systems: Weaknesses:
commercial viability: whereas there may be only a few experts whose time is expensive and rare, you can have many expert systems expert systems can be used anywhere, anytime expert systems can explain their line of reasoning commercially beneficial: the first commercial product of AI Weaknesses: expert systems are as sound as their KB; errors in rules mean errors in diagnoses automatic error correction, learning is difficult the extraction of knowledge from an expert, and encoding it into machine-inferable form is the most difficult part of expert system implementation
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.