Artificial Intelligence Chapter 82
Expert Systems
p. 547 MYCIN (1976) see section 8.2
backward chaining + certainty factor and rule-based systems p.233
Bayesian network p. 239Fuzzy logic p. 246Probability and Bayes’ theorem p. 231
PROSPECTOR (1976), DENDRAL (1978)expert systems shells EMYCIN
Artificial Intelligence Chapter 83
Expert Systems
using domain knowledge knowledge representation p. 297reasoning with the knowledge, explanationKnowledge acquisition (p. 553)1) entering knowledge 2) maintaining knowledge base consistency3) ensuring knowledge base completenessMOLE (1988) is a knowledge acquisition system
for heuristic classification problems such as diagnosing diseases.
Artificial Intelligence Chapter 84
Expert Systems
problem : the number of rules may be large
control structure depend on the specific characteristic of the problem
1) Brittleness (เปราะบาง) : no general knowledge that can be used, the data is out of date
2) Lack of meta-knowledge : the limitation of the control operation for reasoning
3) Knowledge acquisition : difficult to transform the knowledge from human to machine
4) Validation : the correctness of the knowledge in the system, no formal proof that machine is better than human or human better than machine.
Artificial Intelligence Chapter 85
Expert Systems Definition
• Expert systems (ES) is a system that employs human knowledge captured in a computer to solve problems that ordinary require human expertise.
• ES uses by expert as knowledgeable assistance.
• Specific domain
Artificial Intelligence Chapter 86
EX05EX14.PRO :Guess a number
predicates action(integer)clauses action(1) :- !, write("You typed 1."). action(2) :- !, write("You typed two."). action(3) :- !, write("Three was what you
typed."). action(_) :- !, write("I don't know that
number!").goal write("Type a number from 1 to 3: "), readreal(Choice), action(Choice).
Artificial Intelligence Chapter 87
EX18EX01.pro : Animal (cont.)
animal_is(giraffe) :- it_is(ungulate), positive(has, long_neck), positive(has, long_legs), positive(has, dark_spots). animal_is(zebra) :- it_is(ungulate),
positive(has,black_stripes). animal_is(ostrich) :- it_is(bird),
negative(does, fly), positive(has, long_neck), positive(has, long_legs), positive(has, black_and_white_color). animal_is(penguin) :- it_is(bird), negative(does, fly), positive(does, swim), positive(has, black_and_white_color). animal_is(albatross) :- it_is(bird), positive(does, fly_well).
Artificial Intelligence Chapter 88
it_is(mammal) :- positive(has, hair). it_is(mammal) :- positive(does, give_milk).
it_is(bird) :- positive(has, feathers). it_is(bird) :- positive(does, fly),
positive(does,lay_eggs). it_is(carnivore) :- positive(does, eat_meat). it_is(carnivore) :-positive(has, pointed_teeth), positive(has, claws), positive(has, forward_eyes). it_is(ungulate) :- it_is(mammal), positive(has,
hooves). it_is(ungulate) :- it_is(mammal), positive(does,
chew_cud).
positive(X, Y) :- ask(X, Y, yes). negative(X, Y) :- ask(X, Y, no).
EX18EX01.pro : Animal (cont.)
Artificial Intelligence Chapter 89
ask(X, Y, yes) :-
!, write(“Question > “, X, " it ", Y, “?”,’ \n’),
readln(Reply), frontchar(Reply, 'y', _).
ask(X, Y, no) :- !, write(“Question > “,X, " it ", Y, “?”,’\n’), readln(Reply), frontchar(Reply, 'n', _).
clear_facts :- write("\n\nPlease press the space bar to exit\n"), readchar(_).
run :- animal_is(X), !,
write("\nAnswer.... => Your animal may be a (an) ",X), nl, nl, clear_facts.
run :- write("\n Answer.... => Unable to determine what"), write("your animal is.\n\n"), clear_facts.
EX18EX01.pro : Animal (cont.)