Rule-based expert systems
Based on Ch 2 (and parts of Ch 9) in Negnevitsky
The world knowledge problem
General purpose intelligence requires vast amounts of knowledge about the world.
What do you need to know in order to understand the following sentences?
“Sorry, but the bank was closed. Would you get this round?”
“I dropped the carton. I guess we‟re having an omelet!”
„General purpose‟ intelligence
Learn from new situations
Apply solutions from old problems to new ones
Communicate about any topic, even if not familiar
Apply abstract reasoning to a range of specific problems
Understand how the world works in general
Restricted to a particular domain (e.g. migraines, oil prospecting, etc.)
Knowledge is deep, but not wide (e.g. migraines only, no other medical problems)
Knowledge is tied directly to problem solving (e.g. diagnosis of migraines, not their social repercussions)
à Avoids the world knowledge problem, and is much more feasible for implementation.
Procedural vs. propositional
Most programming languages are procedural: first do this, then this, then this…
Most human expert knowledge is propositional: If A is true, then B is true…
So, conventional programming languages are not necessarily the most intuitive way to represent domain knowledge.
Quantitative vs. qualitative
Humans tend to represent their knowledge qualitatively, e.g.:
John is tall, but Jim is taller. As opposed to quantitative:
John‟s height is 6‟5”. Jim‟s height is 6‟8”.
So, probably a good idea to represent expert knowledge that way.
Heuristics vs. rigid rules
• Heuristic: A rule of thumb; a guideline.
Most domain knowledge is in the form of heuristics, rather than rigid rules, e.g.:
“Frequent coughing might mean bronchitis”
> 10 coughs per hour = bronchitis
A human domain expert is usually able to explain the reasoning, e.g.:
Why do you think I have a migraine?
Well, you have frequent, intense pain in the temple area, associated with nausea. Also, you aren’t taking any medications that are likely to produce these symptoms.
IF THEN For example:
IF fish is floating THEN fish is dead Alternate syntax:
Fish is floating à fish is dead
Note: looks similar to logical “implies”, but less formal – can‟t necessarily apply logical transformations.
Reasoning + knowledge + facts
Human expertise typically breaks down into:
Ability to reason
Knowledge about the domain (e.g. migraines)
Facts about the particular situation (e.g. this patient‟s symptoms)
Rule-based expert systems
Capture a domain expert‟s knowledge in propositional, qualitative form
Separate the knowledge from the reasoning (inference) and from the specific facts
Allow heuristic reasoning and explanation
Multiple antecedents may be connected by conjunction (AND) and/or disjunction (OR).
IF animal is horse-shaped
AND animal has stripes
THEN animal is zebra
IF animal is hippo
OR animal is lion
THEN animal is dangerous
Multiple consequents are possible, and are connected by conjunctions, e.g.
IF tsunami alarm is sounding
AND date is not first Monday in month THEN
Condition is dangerous AND
Advice is „move away from the ocean‟
Structure of antecedents and consequents
Object is related to value by operator. For example:
IF „taxable income‟ > 13914
THEN „medicare levy‟ = „taxable income‟ * 1.5 /
100 [Negnevitsky p 27]
Can get arbitrarily complex, but best to keep it as close...
Please join StudyMode to read the full document