动物识别专家系统设计文档_第1页
动物识别专家系统设计文档_第2页
动物识别专家系统设计文档_第3页
动物识别专家系统设计文档_第4页
动物识别专家系统设计文档_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

动物识别专家系统

设计文档一、设计目的1.理解并掌握基于规则系统的表示与推理2.学会编写小型的生产式系统,理解正向推理和反向推理的过程以及两者的区别二、系统描述这是一个用来识别老虎(tiger)、金钱豹(cheetah)、斑马(zebra)、长颈鹿(giraffe)、企鹅(penguin)、鸵鸟(ostrich)和信天翁(albatross)等七种动物的产生式ES。共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。三、运行环境PC机、Visualprolog四、系统分析由上述规则可看出,虽然该系统是用来识别七种动物的,但在规则库中并没有简单地只设计七条规则,而是设计了15条,其基本方法是,首先根据一些比较简单的条件,如“有毛发”、“有羽毛”、“会飞”等条件将动物粗略分成哺乳动物、鸟、食肉动物三大类,然后随着条件的增加,逐步缩小分类范围,最后给出分别识别七种动物的规则。用此规则可形成各种动物的推理网络。图1为有关“长颈鹿”的规则形成的正向推理网络,同理可画出其它动物的推理网络。图1有关“长颈鹿”的规则形成的(正向)推理网络

在推理网络中,最高节点如“长颈鹿”为结论(正向推理)或假设(反向推理)节点。在正向推理情况下,该节点没有输出线,当推理到本节点时,推理就结束;中间节点既有输入线,又有输出线,如节点“哺乳动物”,当推理到中间节点时,系统会自动将此中间结果存入综合数据库;终端节点也称为事实节点,如节点“长脖子”、“有毛发”等,这些节点没有输入线,该事实是否为真可通过人机接口询问用户,然后加入综合数据库中。图2动物识别系统的推理链结构善五、系统结构图2动物识别系统的推理链结构善五、系统结构图3专家系统原理图本系统采用产生式结构,它包含三个主要部分:知识库、综合数据库和推理机。⑴知识库。在本系统当中,知识库中的知识用产生式规则来表示。本系统能够识别7种动物,知识库中共有以下15条规则:r1:IF该动物有毛发THEN该动物是哺乳动物r2:IF该动物有奶THEN该动物是哺乳动物r3:IF该动物有羽毛THEN该动物是鸟r4:IF该动物会飞AND会下蛋THEN该动物是鸟r5:IF该动物吃肉THEN该动物是食肉动物r6:IF该动物有犬齿AND有爪AND眼盯前方THEN该动物是食肉动物r7:IF该动物是哺乳动物AND有蹄THEN该动物是有蹄类动物r8:IF该动物是哺乳动物AND嚼反刍THEN该动物是有蹄类动物r9:IF该动物是哺乳动物AND食肉AND是黄褐色AND有黑色斑点,THEN该动物是金钱豹r10:IF该动物是哺乳动物AND食肉AND是黄褐色AND有黑色条纹,THEN该动物是虎r11:IF该动物是有蹄类动物AND有长脖子AND有长腿AND有暗斑点THEN该动物是长颈鹿r12:IF该动物是有蹄类动物AND有黑色条纹THEN该动物是斑马r13:IF该动物是鸟AND不会飞AND有长脖子AND有长腿AND有黑白色THEN该动物是鸵鸟r14:IF该动物是鸟AND不会飞AND会游泳AND有黑白色THEN该动物是企鹅r15:IF该动物是鸟AND善飞THEN该动物是信天翁⑵综合数据库。综合数据库用来存放问题求解过程中各种当前信息,例如问题的原始事实中间结论及最终结论,它的内容是动态和不断变化的。⑶推理机。在本系统中,我们采用正向推理,并且是精确推理。推理过程如图3所示。图4正向推理流程图六、PROLOG源程序#"classmainopencore严下面芮谓词说明打►-databasexpasitive(syrnbDlfsymbo-l).xnegative(symbolfsymbol)・p■「已dicatesclasslnfoico-re::cla&slnfo・%©shortClassinformationpredicate・%@detailThispredicaterepresentsinfomationpredicateofthisclass・%@endpredicatesrun:core::runnable・►-『im・animal_is(symbol)・it_i5(syrnbal)・pesitive(symbolfsymbo-lj・negative(symbol,symbol)・clear_facts・『eeemberfsymbo-lrsymbol〕・ask(symbolsymbol)・endclassmainimplementmainopencoreconstantsclassName="main".classVersion="".■clausesclasslnfa(classNamerclassVersionj.严下面为推理过程打clausesrun:-animal_is(X)?!fwriteC"\nTheanimalmaybea(n)w?X)rn\fclear_facts・run:・writ已「\门Unaibl已todeterminewhattheanimalis\n")?clear_facts-positive(Xfy)::-xpositive(Xfy)f!・positiv已(XfY):-门ot(:xri已gativ巳(X/Y))andask(X,Y)-ri已gative(Xfy):-xnegative(XrY)rLnegative(X?Y):-not(xpositive(X.Y))andask(Xfy)・ask(XRY):-write(XitwpYr"\nw).readln(Reply)rremembeir(X/YfReply)・rem已eb已r(X/¥):-assertz(xpositive(X/Y))・remember(X,Y^na):-assertz(xnegative(X?Y))^fail.clear_facts:■「已tract(xpositive(_f_))rfaiLclear_facts:-retract(xnegative))rfail.cl已a^factsi-writet1"\n\nPleasepressthespacebartoExit")?r已3idc:haiir(_)・严下面芮推理机提供知识Witjsfmammalji-positivefhas^hair).itJsfmammalJi-positivefdoeSjigiv^rnilk).it_is(bird):-positive(has^feathers)・it_is(bird):-positive(does^fly)andpo-sitive(doesrIay_eggs)・it_is(carnivore):-pasitiv已〔do&sfeat_meat)・itjsfcarnivor已:i:・positiv已〔has^point已d_t已已th)andpo-sitiv已(hai吕cInwe)andpositiv已(ha吕forw已rrl_巳¥es)・it_is(ungulate):-it_i5(inamrnal)andpositive(has,hqqvs^)・it_i£(ungulate):-it_i5(inarnrnal)andpositive(dues,chew_cud)・animal_is(ch已已t3h):-it_is(E3EE3l;iandit_is(carnivore)andpasitive(hasrtawny_co-lor)andpo-sitive(hasfblack_spots)・animal_is(tiger):-it_is(mammal)andit_is(carnivore)andpositive(hasrtawny_color)andpositive(hasrblack_stripes).animal_is(giraffe):-it_is(ungulate)andpo-sitive(hasJong_neck)andpo-sitive(hasfIo-ng_l已gs)andpositive(hasfdark_spotejanimal_is(zebra):-it_is(ungulate)andpositive(hasfblack_stripe^)・anirnal_is(ostrich):-it_is(bird)andpositive(hasfIo-ng_neck)andpositive(hasJong_legs)andnegative(does^fIy〕・animal_is(penguin):-it_i5(bird)andpo-sitive(doesfswim)andnegative(daesffIy)andpositive(hasfblack_and_whit已_color)・animal_is(aIbatro-ss):-it_is(bird)andpositive(dQ&s,fly_well).endimplementmaingoalmainEixe:^run(main::run).七、C++源程序及运行结果C++代码详见Animalidentification.cpp运行结果:・D:试三三F\人工智能\动物识SU#家至統\AnimRideritification.exe格賞合珀不略i至间腿入中长插1W-论鸟性产结•叩失失聂-kr」ppp己己己1W备星——鸟

・D:试三三F\人工智能\动物识SU#家至統\AnimRideritification.exe格賞合珀不略i至间腿入中长插1W-论鸟性产结•叩失失聂-kr」ppp己己己1W备星——鸟

it.即物■俪鸟动-,T.宀E內•士口.EJT.<II-£t己:|败败败功为匹续ii己-&-&津-——酉-三3三-7^一匹匹欝匹匹匹匹匹匹匹咂10K11K吨迹朋震二忙-TT--,...'H-一-〕TJ-1~J-TJ一i—r1~J__1~J_1~・•_1~J_1~・•_J_1~・•一0123-U...—Iy'斗123~R12456r-c091111-R-规规霸规规规规规规规规规规半:|=|回I—Wdentification.exete点En斑,暗曲子>g有腿合综到物入动■I-nJ~1论甫帝U事.H,盘一合到训入类插蹄论有岛:毂失失一己莓己己肴匹冊匹匹匹匹匹黑匹匹匹匹匹匹匹0EH...■121CO456713456C0911-f^4--^4-^规规规规^Mi■f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论