Desingning FC Rule-Based Systems
Designing Forward-Chaining Rule-Based
Systems
Instructor:Mr. Halavati
By:Shahin Jabbari Arfaee
Pooya Esfandiar
04/19/23 1
Desingning FC Rule-Based Systems
• Introduction• General Design Methodologies for FC Systems
Project objective definitionThe major issuesHow experts recommend using available informationDevelopment tasks
• Automobile Diagnostics DomainMost diagnostic ES used BC because most problems had a
finite number of possible faultsDiagnostic problem with an automobile (many possible
faults)
04/19/23 2
Desingning FC Rule-Based Systems
Tasks in Developing an FC System
1. Define the problem2. Define input data3. Define data-driven structure4. Write initial code5. Test the system6. Design the interface7. Expand the system8. Evaluate the system
04/19/23 3
Desingning FC Rule-Based Systems
Task 1: Define the Problem
• The initial design step like BC• In our problem: learn about automobile diagnostics
by locate a good car mechanic as an expert• Alternative approach: use a “troubleshooting”
manual probably written by an expert
04/19/23 4
Desingning FC Rule-Based Systems
Manuals
• Repair ManualsFor many diagnostic problems Can aid problem troubleshootingStep-by-step series of test to isolate the problem
• Shortcomings:The manual must be readily availableThe manual must be easy to followSome one must maintain the manual
04/19/23 5
Desingning FC Rule-Based Systems
Manuals (Cont’d)
• Auto Repair ManualsMany excellent ones existHelp to identify and repair various car problemsMost have a troubleshooting section The troubleshooting section is divided according to the
principal problems
04/19/23 6
Desingning FC Rule-Based Systems
Manuals (Cont’d)
04/19/23 7
Desingning FC Rule-Based Systems
Manuals (Cont’d)
04/19/23 8
Desingning FC Rule-Based Systems
Manuals (Cont’d)
04/19/23 9
Desingning FC Rule-Based Systems
Task1 (Cont’d)
• Problem SpecificationAfter developing the system’s structure to address this
problem, we should have a good idea of how to manage other possible car problems
Our problem specification:Address problem associated with “engine won’t start”Address only “cranking system” problems
04/19/23 10
Desingning FC Rule-Based Systems
Task 2: Define Input Data• Every FC system need some initial data to get started• Write rules whose only task is to ask for some
information about the questionRule 1 start diagnosis
IF Task IS beginTHEN ASK Car problem
Car won’t startCar hesitates at high speedsCar idles rough…
04/19/23 11
Desingning FC Rule-Based Systems
Task 3: Define Data-Driven Structure
• FC system works by firing rules (using working memory)IF ATHEN Infer or do something
• Adequate result in small applications• Manual => Decision Tree => Rules
04/19/23 12
Desingning FC Rule-Based Systems
Task 3: Define Data-Driven Structure (Cont’d)
• In our problemIF Task is test battery connection → TESTAND Lights do not brighten → RESULTSTHEN Task is test battery → PROCEED TO
04/19/23 13
Desingning FC Rule-Based Systems
Task 4: Write Initial Code
• Determine if we have effectively captured the problem’s knowledge
• A good rule structure provides:– correct results – a template to follow rules
RULE test cranking systemIF Car problem IS car won’t startTHEN Task IS test cranking system
04/19/23 14
Desingning FC Rule-Based Systems
Task 4: Write Initial Code (Cont’d)
04/19/23 15
Desingning FC Rule-Based Systems
Task 5: Test the System
04/19/23 16
• Typical Tests
• A snapshot:
System: Please turn on the ignition.
How does the engine turn?
1) Slowly or not at all
2) Normally
User: Normally
Desingning FC Rule-Based Systems
Task 6: Design the Interface
• Attention to Interface after most of knowledge base has been complete
• Begin early and develop it in parallel with the development of knowledge base
04/19/23 17
Desingning FC Rule-Based Systems
Task 6: Design the Interface (Cont’d)
Dynamic GUI• ES’s were text based• Today shells offerfeatures to customizethe interface
04/19/23 18
Desingning FC Rule-Based Systems
Task 6: Design the Interface (Cont’d)Dynamic Graphical Interface (Cont’d)• Knowledge base contains:
Information that is displayed on the interfaceFC rules that works with the information
IF Inc SpeedTHEN Speed = Speed + 5AND Speed increase
IF Speed increaseTHEN Temperature = (Speed * 2) + 200AND Oil pressure = (Speed * 0.5) + 40
04/19/23 19
Desingning FC Rule-Based Systems
Task 6: Design the Interface (cont’d)
• Screen ContentsDisplay Screens
Introduction ScreenIntermediate Finding ScreenConclusion Screen
Question Screen
04/19/23 20
Desingning FC Rule-Based Systems
Task 6: Design the Interface (Cont’d)
04/19/23 21
Desingning FC Rule-Based Systems
Task 6: Design the Interface (Cont’d)
04/19/23 22
Desingning FC Rule-Based Systems
Task 7: Expand the System
04/19/23 23
• Developing additional rules!
• => additional screens
Desingning FC Rule-Based Systems
Task 8: Evaluate the System
• The evaluation is concerned with testing the prototype with some real test case
• Turn to our Expert for the test case!
04/19/23 24
Desingning FC Rule-Based Systems
Task 8: Evaluate the System (Cont’d)
04/19/23 25
Desingning FC Rule-Based Systems
Task 8: Evaluate the System (Cont’d)
04/19/23 26
Desingning FC Rule-Based Systems
Summary on FC design
• The design of FC expert systems is a highly iterative process.
• The systems should be tested immediately after introduction of new rules
• FC inference is preferred over BC if either the goals are not known a priori or their number is very large.
• Defining the initial data is the starting point for a FC design process.
04/19/23 27
Desingning FC Rule-Based Systems
Summary on FC design (Cont’d)
• Rules used in FC system keeps track of the state of the problem solving
• Design of the system’s interface should begin early in the project and develop in parallel
04/19/23 28
Desingning FC Rule-Based Systems
Thank you for your patience!
• Any Question?