Skip to main content

Expert system development steps

Short answer

Expert system development steps: problem identification, feasibility, knowledge acquisition, representation, design/build prototype, testing/validation, implementation, maintenance. Example: car fault diagnosis with rules from mechanics.

What is an expert system? Explain the different steps (stages) of expert system development with an example.

An expert system is a program that captures the knowledge of human experts in a specific domain and uses it to give expert-level advice or solutions (e.g. MYCIN for diagnosing blood infections).

Stages of development

 1 Problem identification
        v
 2 Feasibility study / requirements
        v
 3 Knowledge acquisition  <------------+
        v                              |
 4 Knowledge representation            | refine
        v                              |
 5 Select tool / design and build -> 6 Testing and validation
        v
 7 Implementation / deployment
        v
 8 Maintenance
  1. Problem identification: decide whether an expert system suits the problem (needs a narrow domain, a scarce expert, rules and heuristics, and a clear benefit).
  2. Feasibility and requirements: study cost, benefit, available experts, hardware and users; set goals.
  3. Knowledge acquisition: the knowledge engineer collects knowledge from experts by interviews, observation and documents.
  4. Knowledge representation: encode the knowledge as rules, frames or semantic nets, and choose a reasoning strategy (forward or backward chaining).
  5. Design and development: choose a shell (e.g. CLIPS, Prolog) or language; build the knowledge base, inference engine, interface and explanation facility; build a prototype.
  6. Testing and validation: run test cases and compare with the expert's decisions; correct rules; repeat steps 3-6 (incremental refinement).
  7. Implementation: install, train users and integrate with existing systems.
  8. Maintenance: update the rules as the domain changes.

Example: car fault diagnosis

  • Problem: car does not start; experts (mechanics) are few.
  • Knowledge acquisition: interview a mechanic and obtain rules.
  • Representation: IF battery_voltage is low THEN fault = flat_battery. IF engine_cranks AND no_spark THEN fault = ignition.
  • Build with a shell; the system asks the user questions (does the engine crank?).
  • Test with 50 past cases; fix wrong rules; deploy in the workshop; add new models later.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Artificial Intelligence chapter 7 questions →