Presentation on theme: "B. Ross Cosc 4f79 1 Expert Systems expert system (or knowledge-based system): a program which encapsulates knowledge from some domain, normally obtained."— Presentation transcript:
B. Ross Cosc 4f79 1 Expert Systems expert system (or knowledge-based system): a program which encapsulates knowledge from some domain, normally obtained from a human expert in that domain components: –Knowledge base (KB): repository of rules, facts (productions) –working memory: (if forward chaining used) –inference engine: the deduction system used to infer results from user input and KB –user interface: interfaces with user –external control + monitoring: access external databases, control aircraft rudders,...
B. Ross Cosc 4f79 2 Expert Systems Why use expert systems: –commercial viability: whereas there may be only a few experts whose time is expensive and rare, you can have many expert systems –expert systems can be used anywhere, anytime –expert systems can have more knowledge than experts –expert systems can explain their line of reasoning –commercially beneficial: the first commercial product of AI Weaknesses: –expert systems are as sound as their KB; errors in rules mean errors in diagnoses –automatic error correction, learning is difficult (although machine learning research may change this) –little common sense reasoning: idiot savantes
B. Ross Cosc 4f79 3 Steps in expert system building expert system building is a software engineering task, but with a twist: knowledge base –KB will be continually refined, corrected, updated expert system design & implementation steps 1. initial proposal - identification of problem, expert(s), benefits 2. create a prototype 3. knowledge engineering: interview expert for many weeks (months) 4. implement experts expertise in KB 5. test expert system; go to 3 (let expert see results) 6. put in production ; refine errors when found
B. Ross Cosc 4f79 4 Knowledge engineering Knowledge engineering: the extraction of knowledge from an expert, and encoding it into machine-inferrable form K.E. is the most difficult part of expert system implementation –the knowledge engineer must extract detailed info from an expert; but s/he is not expected to understand it –the expert relies on years of experience and intuition: asking them to deconstruct knowledge is difficult and frustrating –can also be political factors many strategies for knowledge engineering –multiple KEs –multiple experts –watch expert in the field –continual expert feedback on expert system performance
B. Ross Cosc 4f79 5 Explanation Recall AND/OR trees: when you are asking why a particular action was performed at a node in the tree... –how questions: recite the children –why questions: recite the parent –repeated how or why: go down/up further in the tree thus backward chaining expert systems naturally support explanation –can be done during inference: when user is asked for data, s/he can ask why and a reason is given –after expert advice is given, user can ask how, why, and even why not (ie. why did some rule fail) –a great tool for KB debugging! forward chaining: explanation not as structured; usually, rule IDs are generated showing which rules fired; canned text possible too
B. Ross Cosc 4f79 6 Reactive systems Forward- and backward-chaining expert systems can be reactive: explicit actions can be carried out (in addition to, or instead of, advice or diagnoses) –most common reactions: add a new fact, delete an existing fact from working memory –with forward chaining: since assertions in working memory will fire rules, you may need to delete some in order to stop a rule from firing, and thus moving the deduction forward one potential danger of forward-chaining systems: unstructured KB and inference –dump a load of rules and facts into KB, working memory –let the forward chaining execute until a solution obtained –but this permits ad hoc expert system design
B. Ross Cosc 4f79 7 Probabilistic expert systems Expertise is often intuitive, and facts can have degrees of truth much research has been devoted to inventing new models of probabilistic deduction: eg. Certainty factors –fuzzy logic –statistical / Bayesian deduction –multi-valued logics: true, false, unknown typical rule: (eg). IF patient has a fever (CF 0.90) patients forehead is blue (CF.75) THEN illness is Cat Scratch Fever (CF.5) weakness: these certainty factors are not statistically sound values; rather pulled out of the air by expert or KE –CFs are combined during deduction; multiple results can arise –how legitimate are they? GIGO
B. Ross Cosc 4f79 8 Other expert system paradigms 1. Neural nets & machine learning –neural net: network of linked nodes; threshold functions fire nodes –examples of desired behaviour are obtained from expert, and converted to numeric vectors for a neural network –the network is trained with an example set; output values are refined until network gives desired behaviour –final system accepts general questions (converted to numeric values) and output reflects appropriate diagnoses –rules can be extracted from neural net as well –strengths: a bottom-up approach to KB (vs. structured) perhaps human expertise is similarly acquired? – weaknesses: what the heck is going on in the net???
B. Ross Cosc 4f79 9 Other expert systems paradigms 2. Inductive inference & machine learning –rather than extract rules explicitly from expert, its easier to get table of example behaviours (like with neural nets) –inductive inference: generalizes from finite example set to whole domain –using ideas from information theory, a refined decision tree (if- then-else) is derived from examples –strengths: examples are intuitive (simplifies knowledge acquisition phase)) can often find interesting patterns unknown by experts generates traditional rule-based KBs –weaknesses: example set must be representative noise can be bad
B. Ross Cosc 4f79 10 Examples expert systems 1. Medical expert systems –medical expert systems are an active area humanitarian uses: remote areas can have world-class expertise, eg. a laptop and CD ROM medical science is complex; expert systems are intelligent advisors and assistants – MYCIN - diagnoses bacterial blood infections uses certainty factors: ranked diagnoses are generated EMYCIN: empty MYCIN - the shell of MYCIN for use in other applications –CADUCEUS: expert system with entire internal medicine KB: huge! its been active since 1970s
B. Ross Cosc 4f79 11 Example expert systems 2. XCON configures VAX systems from user requirements –DEC uses it; has increased throughput of system design –10,000 rules –said to have replaced X system designers with 4X expert system maintainers! 3. DELTA/CATS –diesel electric locomotive trouble shooter –problem: system maintenance 4. Jonathans Wave –commodities trading –incorporates several experts approaches –runs in Prolog and C –lots of AI groups on Wall Street!
B. Ross Cosc 4f79 12 Example expert systems 5. Codecheck –expert system to evaluate C source code –complexity, formatting, standards and portability adherence –identifies overly complex code (prime source of program problems!) 6. CHORAL –expert system for harmonizing chorales in the style of J.S. Bach –similar system: harmonic analysis of tonal music –rules obtained from: studying composers music, musicologists –some systems used for composition (with interesting results)
B. Ross Cosc 4f79 13 The state of the art Expert systems are now ubiquitous still lots of active research: –probabilistic knowledge and deduction –large system maintenance –knowledge acquisition popular domains –industrial, financial, medical – legal: interpret laws by the book –education: intelligent tutoring Some domains remain difficult to implement –those requiring artistic creativity and skill –those requiring common sense: the idiot savante syndrome