胡崔亮——人工智能实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工智能课程报告
——安徽农业大学经济技术学院专业:计算机科学与技术
年级:08级
姓名:胡崔亮
学号:08538034
成绩:
2011-11-05
实验名称:人工智能程序设计
——少量动物识别专家系统
本程序用于识别豹子、老虎、鸟、长颈鹿、斑马等七种动物的一个实验专家系统。通过本程序的编制理解PROLOG的运行机制及推理规则,同时对专家系统有初步的了解。源程序代码如下:database
xpositive(symbol,symbol).
xnegative(symbol,symbol).
predicates
run
animal_is(symbol)
it_is(symbol)
positive(symbol,symbol)
negative(symbol,symbol)
clear_facts
remember(symbol,symbol,symbol)
ask(symbol,symbol)
clauses
run:-animal_is(X),!,write("\nyour animal may be a(n)",X),
nl,nl,clear_facts.
run:-write("\n unable to determine what"),
write("\n your animal is\n\n"),clear_facts.
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,"is",Y,"\n"),readln(Reply),
remember(X,Y,Reply).
remember(X,Y,yes):-assertz(xpositive(X,Y)).
remember(X,Y,no):-assertz(xnegative(X,Y)),fail.
clear_facts:-retract(xpositive(_,_)),fail.
clear_facts:-retract(xnegative(_,_)),fail.
clear_facts:-write("\n\nplease press the space bar to Exit"),readchar(_).
animal_is(cheetah):-it_is(mammal),it_is(carnivore),positive(has,tawn y_color),positive(has,black_spots).
animal_is(tiger):-it_is(mammal),it_is(carnivore),positive(has,tawny_c olor),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). 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).
it_is(mammal):-positive(has,hair).
it_is(mammal):-positive(does,give_milk).
it_is(bird):-positive(has,feather).
it_is(bird):-positive(does,fly),positive(does,lay_eggs).
it_is(carnivore):-positive(does,eat_eat).
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(has,chew_cud).
谓词解释:
Xpositive肯定数据库——记录yes选项的谓词,xnegative否定数据库——记录no选项的谓词。Cheetah:豹子mammal:哺乳动物carnivore:食肉动物tawny_color:黄褐色black_spots:黑斑点black_stripes:斑纹giraffe:长颈鹿ungulate:有蹄的zebra:斑马ostrich:驼鸟penguin:企鹅give_milk:哺乳feather:羽毛
lay_eggs:下蛋eat_eat:食肉pointed_teeth:犬齿claws:爪子hooves:蹄chew_cud:咀嚼
运行结果:在交互窗口下输入RUN,根据你要识别的动物特征选择yes或no。
假定要识别的动物是长颈鹿,运行结果如下: