An expert system is a computer program that emulates the decision-making ability of a human expert in a specific domain. It was one of the earliest successful applications of AI, booming in the 1980s.
Architecture
Knowledge Base — Contains domain-specific facts and rules (typically IF-THEN rules)
Inference Engine — Applies rules to known facts to derive new conclusions
User Interface — Allows users to query the system and receive explanations
Explanation Module — Explains how the system reached a conclusion ("Why?" and "How?" )
Knowledge Acquisition Module — Helps experts add new knowledge to the system
How It Works
IF the patient has a fever
AND the patient has a cough
AND the patient has been exposed to COVID-19
THEN the patient likely has COVID-19 (confidence: 90%)
IF the patient likely has COVID-19
AND the patient has difficulty breathing
THEN recommend immediate hospitalization
Inference: Forward Chaining
- Start with known facts (symptoms)
- Apply rules to infer intermediate conclusions
- Continue until goal is reached (diagnosis)
Famous Expert Systems
MYCIN — Medical diagnosis of bacterial infections (1970s)
XCON/R1 — Computer system configuration for DEC (1980s, saved $40M/year)
DENDRAL — Chemical structure analysis from mass spectrometry data
PROSPECTOR — Mineral exploration, discovered a molybdenum deposit worth $100M
Advantages
Consistent, unbiased decision-making
Preserves expert knowledge even after expert leaves
Available 24/7, can be replicated and distributed
Can explain reasoning steps
Limitations
Limited to narrow domains
Difficult to maintain and update knowledge base
Cannot handle novel situations outside its rules
Knowledge acquisition bottleneck — extracting expert knowledge is hard
No learning capability — rules must be manually updated
Practice Task: Design a simple expert system for diagnosing computer problems. Create at least 5 IF-THEN rules covering issues like "no power," "no internet," "slow performance," "blue screen," and "no sound." Show the inference chain for one diagnosis using forward chaining.