310 likes | 432 Views
Expert Systems and Their Applications. John Paxton Montana State University August 14, 2003. Bozeman. Definitions. A model and associated procedure that exhibits, within a specific domain, a degree of expertise in problem solving that is comparable to that of a human expert. (Ignizio)
E N D
Expert Systems and Their Applications John Paxton Montana State University August 14, 2003
Definitions • A model and associated procedure that exhibits, within a specific domain, a degree of expertise in problem solving that is comparable to that of a human expert. (Ignizio) • An expert system is a computer system which emulates the decision-making ability of a human expert. (Giarratono)
Characteristics • Operates in a narrow domain • Separates knowledge from processing • Can explain how a particular conclusion is reached • Can explain why specific data is needed • Permits inexact reasoning • Can make mistakes • Changes are easy to incorporate
Components • Program = Algorithm + Data Structure • Expert System = Inference Engine + Knowledge
Why Use an Expert System? • Helps preserve knowledge--builds up the corporate memory of the firm. • Helps if expertise is scarce, expensive, or unavailable. • Helps if under time and pressure constraints. • Helps in training new employees. • Helps improve worker productivity.
Architecture KNOWLEDGE BASE USER INTERFACE INFERENCEENGINE WORKINGMEMORY
Knowledge Base • Contains facts antacid (Imodium) • Contains rules if traveler (x) and stomach-pains (x) then take (y, antacid (y))
Inference Engine • Rules that match working memory are identified and then fired. • This updates working memory and the knowledge base. • The process is repeated.
Inference Engine • Conflict Resolution • fire all matching rules • fire the first matching rule • fire the highest priority matching rule • fire the most specific rule • fire the rule that uses the most recent data
Inference Engine • Forward Chaining. Starting with the data, a conclusion is reached. cat (Mulder) cat (x) mammal (x) • Backward Chaining. Starting with a hypothesis, it works backwards to the data.
Uncertainty Sources • Weak implications • Imprecise language (e.g. “often”) • Unknown data • Combining views of different experts
Uncertainty • Certainty Factors. • Dempster-Shafer Theory. • Bayesian Networks. • Fuzzy Logic.
Certainty Factors IF the light is greenTHEN it is ok to cross the street cf = 0.9 + easy to compute + easy to propagate - somewhat ad hoc - all certainty factors are independent
Bayesian Reasoning Based on Baye’s Theorem and standard probability theory P(H|E) = P(E|H) * P(H) / P(E)
Birthday Surprise • What is the probability that 2 people in a room of 30 share a birthday? • P = 1 – 365/365 * 364/365 * … *336/365 ≈ 0.70
Fuzzy Logic • Fuzzification (120 kph = 0.95 fast) • Inference (IF speed is “fast” THEN stopping distance is “short”) • Composition (0.8 “short” and 0.7 “short” = 0.7 “short”) • Defuzzification (0.7 “short” = 20 meters)
People Involved • Domain Expert • Knowledge Engineer • Programmer • Project Manager • End User
Building an Expert System • Problem assessment • determine the problem’s characteristics • identify the main participants • specify the project’s objectives • determine the resources needed • Data and knowledge acquisition • collect and analyze data and knowledge • make key concepts of the system design explicit
Building an Expert System • Development of a prototype system • choose a tool • transform data and represent knowledge • design and implement prototype • test the prototype • Development of a complete system • prepare a detailed design for a full scale system • collect additional data and knowledge • develop the user interface • implement the complete system
Building an Expert System • Evaluation and revision of a complete system (look for inconsistencies and incompleteness) • Integration and maintenance of system • make arrangements for technology transfer • establish an effective maintenance program
Building a Fuzzy Expert System • Specify the problem. Define linguistic variables. • Determine the fuzzy sets. • Construct the fuzzy rules. • Encode the fuzzy sets, fuzzy rules and fuzzy inference procedures into the expert system. • Evaluate and tune the system.
Expert System Shell • CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. Created in 1985, CLIPS is now widely used throughout the government, industry, and academia.
CLIPS features • Allows for many types of knowledge representation (e.g. rules and procedures) • Portable (written in C) • Extensible • Embeddable • Interactive Development • Verification and Validation support • Fully documented • Public Domain!
Advantages • Natural Language representation • Uniform structure • Separates knowledge from processing • Can deal with incomplete and uncertain knowledge
Disadvantages • Opaque relations between rules • Ineffective search strategy • Typically can’t learn
Commercial Applications • National Semiconductor Manufacturing (Singapore) – troubleshoot recurrent equipment breakdowns • Work and Income New Zealand (a.k.a. Social Welfare Department) - deal with questions of eligibility, allowances and benefit amounts • GE Capital Global Consumer Finance - help identify risk, retain customers and target prospects
Commercial Applications • Department of Industry and Fisheries, Tasmania – assist the delivery of information to farmers • Misselbrook and Weston stores – detect in-store fraud • Channel 4 TV (UK) – sequence commercial breaks • Tokyo Nissan - how to increase domestic demand
Commercial Applications • Rockwell Aerospace and NASA - enables the user to quantify molecular and particulate contamination requirements for solar arrays, thermal control surfaces, or optical sensors • Meiji Mutual Life Insurance Company - select the most suitable product, along with a reason for the choice, from Meiji's range of 37 individual oriented products