positive(has,long_legs),
positive(has,black_and_white_color). animal_is(penguin):- it_is(bird), negtive(does,fly), positive(does,swim),
positive(has,black_and_white_color). animal_is(albatross):- it_is(bird),
positive(does,fly_well). 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).
七、实验报告要求
实验报告应简单明了,语言通顺,结果正确,程序规范。实验报告的重点是实验结果的正确性与分析。包括:实验题目、要求、实验环境、实验内容与实验结果(要求附上运行的源程序)、实验中出现的问题、对问题的解决方案、实验总结等。
8
小动物分类查询专家系统参考源代码: database
xpositive(symbol,symbol) xnegative(symbol,symbol) predicates Nondeterm run
Nondeterm animal_is(symbol) Nondeterm it_is(symbol)
Nondeterm positive(symbol,symbol) Nondeterm negative(symbol,symbol) Nondeterm clear_facts
Nondeterm remember(symbol,symbol,symbol) Nondeterm ask(symbol,symbol) goal run. clauses run:-
animal_is(X),!,
write(\ run:-
write(\ write(\ positive(X,Y):-xpositive(X,Y),!.
positive(X,Y):-not(xnegative(X,Y)),ask(X,Y). negative(X,Y):-xnegative(X,Y),!.
negative(X,Y):-not(xpositive(X,Y)),ask(X,Y). ask(X,Y):-
write(X,\ readln(Reply), remember(X,Y,Reply).
9
remember(X,Y,y):-asserta(xpositive(X,Y)). remember(X,Y,n):-asserta(xnegative(X,Y)),fail. clear_facts:-retract(xpositive(_,_)),fail. clear_facts:-retract(xnegative(_,_)),fail.
clear_facts:-write(\
animal_is(cheetah):- it_is(mammal), it_is(carnivore),
positive(has,tawny_color), positive(has,black_spots). animal_is(tiger):- it_is(mammal), it_is(carnivore),
positive(has,tawny_color), positive(has,black_stripes). 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).
10
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). animal_is(shark):- it_is(mammal), it_is(carnivore), positive(has,teeth), positive(has,sharp_teeth), positive(can,swim), positive(does,well_swim). it_is(mammal):-
positive(has,hair). it_is(mammal):-
positive(does,give_milk). it_is(mammal):- positive(has,teeth). it_is(mammal):- positive(can,swim). it_is(bird):-
positive(has,feathers). it_is(bird):-
positive(does,fly), positive(does,lay_eggs). it_is(carnivore):-
positive(does,eat_meat).
11
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).
12