Phase of Knowledge Acquisition (KA)
- Identification Phase (scope of problem)
- Conceptualization Phase (paper prototype)
- Formulation Phase (paper prototype ® formal representation)
- Implementation Phase (formal representation ® rewritten for tools)
- Testing Phase – Check both "classic" test cases and "hard" boundary
cases most likely problems.
- I/O failures (VI)
- Logic Rules (bad rules)
- Control Strategy
- Prototype Revision
Knowledge Acquisition Process (KA)
Domain Expert
Knowledge engineer
Similar to prototyping
Change is healthy
Techniques
- Description (expert lectures or writes out task selection)
- Observation
- Introspection (knowledge engineer interviewing expert)
Knowledge Acquisition (KA) Difficulties
- Expert may not have required knowledge of some areas
- Expert may not be consciously aware of required knowledge
- Expert may not be able to communicate knowledge to knowledge engineer
- Knowledge engineer may not be able to structure knowledge for entry into knowledge base.
Architectural Principles for Expert Systems
- Knowledge is power
- Knowledge is often inexact & incomplete
- Amateurs experts slowly
- Knowledge is often poorly specified
- Expert systems need to be flexible
- Expert systems need to be transparent
- Separate inference engine and knowledge base level
- Use uniform "fact" representation
- Keep inference engine simple
- Explicit redundancy
Criteria For Selecting Problems
- Recognized experts exist
- expert do better than amateurs
- Expert uses significant time
- Cognitive tasks
- Skill is routinely taught to neotypes (beginners)
- Domain has high payoff
- Task does not require common sense
Forward Chaining
R3 – decreasing reserve
R1 – Interest down
R5 –
Backward Chaining
R4 or R5
Inference Net
Purpose of explanation system
- Assist in debugging
- Inform use of current system
- Increase confidence in advice
- Clarification of terms and concepts used by system (help)
- Increase users personal level of expertise (tutorial)
C/E – Cause Effect
Broken belt ® Fan not
turning
E/C – Effect Cause
Car not starting ® Internal engine
problem
why not? (counter factual reasoning)
what if? (hypothetical reasoning)
Truth Maintenance
- Hand checking
- some formalism for examining relationship among rules
- and / or trees
- decision trees
- inference trees
M1
- 2500 rules
- Symbolic Variables
- Uncertain Knowledge
- Backward Chaining (mostly)
- Limits forward chaining
- Symbolic List processing
- Debugging Environment
- M1.exe, M1.cfg
- Explanation Facilities
- M1 seeks values by
- Value of expression computed by M1
- Value already in cache
- Inference Rules
- Prompt user for value
Syntax
- Use lower case
- To comment /* */
-
Readability is reduced if you use these commands.
It is recommended that you do not use these.
- Prefix Eliminate dash on left
- Infix Dash on both sides
- Postfix Eliminate dash on right
M1 Example
multi-valued (preferred-color).
question(preferred-color) = ‘Do you prefer red or white wine?’.
legalvals(preferred-color = [red,white].
if x = y cf 30 then
z = w cf 50.
initial data = [preferred-color, preferred-body, prefferred-sweetness].
automatic menu(preferred-color)
if best-body = light then
recommended-body = light.
if best-color = white then
recommended-color = white.
if best-X = V then
recommended-X = V.
if recommended-color = red and
recommended-body = medium and
recommended-sweetness
then wine = gamay.
if recommended-color = c and
recommended-body = m and
recommended-sweetness = s and
wine (c,b,s = w )
then wine = w.
multivalued(wine).
multivalued(wine(color,body,sweetness)).
noautomaticquestion(wine(color,body,sweetness)).
M1 Arithmetic and Comparison is Strange
if age N and N > 200 then
category = adult.
if distance = D and
fair-per-mile = M and
A * D = R
then total-fair = R.
MYCIN
- Prescribe drug regimen for infectious virus and diseases
Design Parameters
- Program is competent & easy to use
- Handle a large, changing body of knowledge
- Interactive
- Must take time into account
- Work with incomplete or uncertain information
Three Components
- Consultation system(inference)
- Explanation System
- Rule acquisition /modification system
Premise
($and(same cntxt gram gram neg)
(same cntst morph rod)
(same cntxt hir aeroiste)
)
Consequent)
(conclude cntxt class enterobacteriacae tally .8)
Data Structures
context tree
- working memory
- AOV Triples
- (attribute object value)
- (ident orgi enterobacteriacae .8)
Control Structure
- backward chaining
- depth first
if there is an organism requiring therapy and consideration has been given
to the possibility of other orgs requiring therapy.
then compile a list of possible therapies and select the best one from the list
Monitor- evaluate premise of current rule and discards it if false to
try the next rule. {restrict by cntxt}
findout- gathers evidence for and against rule premise
Explanation System
- Display rule being invoked (any point)
- Record rule invocations and associate them with questions asked
- Use rule index to retrieve particular rules to answer questions
Evaluation
1974- Panel of 5 experts approve 72% of 15 recommendations
1979 – Panel of 8 experts (5 medical examiners, 1 resident, 1 student,
1 research expert)
Compare MYCIN to actual, they looked at 10 cases, 52% of the time MYCIN was correct
EMYCIN
first expert system shell
Sacon Rule
if composition = (list of methods) and
error < 5 and
stress > 0.5 and
cycles > 1000
then SS stress = fatigue
Behavior Monitor
- Explain { rules}
- Test {composition of current to stored results}
- View {stored rules}
Knowledge Acquisition & Maintenance
As you extend a rule base errors start to occur
- Gaps in ruleset {combinations not covered}
- Overlapping Rules {Inconsistent rules}
- Rule obsolescence {new Discoveries invalidate rules}
Program Errors
- Drawing false conclusions
- Asking irrelevant questions
Teiresius
how/why
- maintain a long list of dependencies
- complicated data structure
- first attempt at knowledge acquisition
Neomycin
- Domain independent heuristics
- Add on to EMYCIN