Introduction • Artificial intelligence: science of enabling computers to behave intelligently • Knowledge-based system (or expert system): a program which exhibits, within a specific domain, a degree of expertise in problem solving that is comparable with a human expert • expert: person with superior knowledge in some particular field, usually only obtained through experience • knowledge base: repository of expert's rules and facts about a domain • inference engine: procedure for drawing conclusions from knowledge base • knowledge engineer: develops, implements, and maintains a model of an expert's knowledge base • expert system shell: software used to implement an expert system; usually generic (and commercialized)
Terms (cont) • heuristics: methods of findings solutions so as to promote efficiency - inference engine typically employs domain-specific heuristics so that solutions can be found reasonably fast • fact: simple assertion of a truth eg. mother (jane, john). • rule: a conditional or causal relationship eg. if is_a_tiger then not(pet) • meta-rule: a rule that describes a rule , part of a theory of knowledge eg. if true_examples_exist(rule) and no_counter_examples(rule) then universal_truth(rule)
Nature of knowledge (Hall) "common sense" Informal Technical Formal mathematical, algorithmic domain-specific rules
Knowledge (cont) • technical vs. formal: - both can be formalized - technical: theory remain same, data changes eg. mathematical formulae, programs formal: rules change, ie. rules are data • knowledge-based systems are concerned with processing formal knowledge - can employ technical knowledge to help • note: formalizing informal knowledge is a major focus of AI research in machine learning
Structure of a KBS Knowledge Base I n "Real world" t e r ( humans, f robots, machines, ... ) Inference Engine Working Storage
Expert Systems vs. conventional programs Similarities • both programmed in a programming language • design processes are similar Design Prototype Test Production Revise • both get "bugs" Differences • KBS uses knowledge base with domain rules • KBS uses (domain-dependent) heuristics
(cont) • expert systems have an explanation facility • expert systems may have a learning component * design & implementation of KBS requires knowledge engineering, and use of expert knowledge - uncertain and probabilistic knowledge - conflicting knowledge - unknown
Conventional pgms vs Ex.Sys Conventional programs Expert Systems Numeric Symbolic Algorithmic Heuristic Info & control integrated Knowledge & control separated Difficult to modify Easier to modify Precise info Uncertain info Command interface Natural dialog w. explanation Final result given Recommendation(s) w. expl Optimal solution Acceptable solution(s)
Why use expert systems? • expertise often required in complex human activities • expertise is expensive and rare • level of expertise can vary widely • experience in a field is difficult to easily obtain • Expert systems: - are relatively cheap - are consistent, objective, and not prone to stress
Some application areas... • finances: financial planning, stock market, tax preparation, banking, ... • law: interpretation of legal text, legal inferences • medicine: diagnosis and treatment • scientific: chemistry • engineering: machine monitoring and control • robotics • weather forecasting