Expert Systems: Introduction Flashcards
1
Q
Wha are two inference techniques used in expert systems?
A
Forward Chaining Inference
Backward Chaining Inference
2
Q
Explain Forward Chaining Inference
A
- Forward chaining is 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.
3
Q
Explain Backward Chaining
A
- Backward chaining is the goal-driven reasoning.
- A system has the goal (a hypothetical solution) and theinference engine attempts tofind the evidence to prove it.
- First, the knowledge base is searched to find rules that might have the desired
solution. - Such rules must have the goal in their THEN (action) parts.
- If such a rule is found and its IF (condition) part matches data in the database, then the rule is fired and the goal is proved.
4
Q
How do we choose between forward and backward chaining when designing an expert system?
A
- study how a domain expert solves a problem.
- If an expert first needs to gather some information and then tries to infer from it whatever can be inferred, choose the forward chaining inference engine.
- However, if your expert begins with a hypothetical solution and then attempts to find facts to prove it, choose the backward chaining inference engine.
5
Q
What is an appropriate application for forward chaining - name an example.
A
- Forward chaining is a natural way to design expert systems for analysis and interpretation.
- For example, DENDRAL, an expert system for determining the molecular structure of unknown soil based on its mass spectral data (Feigenbaum et al., 1971), uses forward chaining.
6
Q
What is an appropriate application for backward chaining - naem an example.
A
- Most backward chaining expert systems are used for diagnostic purposes.
- For instance, MYCIN, a medical expert system for diagnosing infectious blood diseases (Shortliffe, 1976), uses backward chaining.
7
Q
A
8
Q
Explain the differences between expert systems and conventional programs
A
- fundamentally, two differences:
-
missing or incorrect data
- In theory, conventional programs always provide the same ‘correct’ solutions. However, we must remember that conventional programs can tackle problems if, and only if, the data is complete and exact.
- When the data is incomplete or includes some errors, a conventional program will provide either no solution at all or an incorrect one.
- In contrast, expert systems recognise that the available information may be incomplete or fuzzy, but they can work in such situations and still arrive at some reasonable conclusion.
-
separation of knowledge and procession
* conventional program:- A conventional program is a mixture of knowledge and the control structure to process this knowledge
- This mixing leads to difficulties in understanding and reviewing the program code, as any change to the code affects both the knowledge and its processing
* expert system - the knowledge base and the inference engine are split up
- This makes expert systems much easier to build and maintain
- When an expert system shell is used, a knowledge engineer or an expert simply enters rules in the knowledge base. Each new rule adds some new knowledge and makes the expert system smarter. The system can then be easily modified by changing or subtracting rules.