CS62S: Expert Systems Based on: The Engineering of Knowledge-based Systems: Theory and Practice A. J. Gonzalez and D. D. Dankel
Introduction to Knowledge-based Systems General problem solving knowledge Intelligent program Inference engine Knowledge base Data / Fact base Separation of knowledge from its use For a new problem domain – change knowledge base
Knowledge Representation Logic Rules Associative (semantic) networks Frames Objects
Traditional Computer Programming Structured sequence of steps Algorithm Finite amount of time
Search – alternative to algorithmic solution Path connecting problem to the solution Problem space Procedurally defined Network Tree Solution space ( problem space examined )
Search Methods Random Blind Directed
Search Types Depth-first Breath-first Beam Hill-climbing Branch and bound Best-first A* (best-first and branch and bound)
Heuristics vs. algorithm Specific knowledge Rule of thumb Prior knowledge Expertise Timely solution Estimation
Gonzalez and Dankel describes knowledge- based systems as: “A computerized system that uses knowledge about some domain to arrive at a solution to a problem from that domain. This solution is essentially the same as that concluded by a person knowledgeable about the domain of the problem when confronted with the same problem“
Expert systems Separation of knowledge from how it is used Use of highly specific domain knowledge Heuristic rather than algorithms
MYCIN Used to diagnose blood disorder Incorporates all three elements
Types of expertise Associational The internal workings of a system are not understood. The behaviour is used to solve problems
Motor skills expertise Practice makes perfect (sports, physical tasks, etc)
Theoretical expertise The internal workings of a device or system are well understood. The expert can solve problems never seen before.
Advantages of Expert Systems Wide distribution of scarce expertise Ease of modification Consistency of answers Perpetual accessibility Preservation of expertise Solution of Problem involving incomplete data Explanation of solution
Disadvantages Answers may not always be correct Knowledge limited to the domain of expertise Lack of common sense
Expert systems architecture User Knowledge engineer Tool builder