动物专家系统实验报告(共8页).doc

上传人:飞****2 文档编号:14206868 上传时间:2022-05-03 格式:DOC 页数:8 大小:101KB
返回 下载 相关 举报
动物专家系统实验报告(共8页).doc_第1页
第1页 / 共8页
动物专家系统实验报告(共8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《动物专家系统实验报告(共8页).doc》由会员分享,可在线阅读,更多相关《动物专家系统实验报告(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上江南大学物联网工程学院实验报告课程名称 人工智能 实验名称 动物专家系统 实验日期 2016-4-20 班级 计科1305 姓名 游思睿 学号 实验报告要求 1实验名称 2实验要求 3实验环境 4实验步骤 5实验体会 一、 实验目的: 基本了解专家系统的原理和定义具体专家系统程序实现。 二、 实验内容: 动物识别系统 该系统是用来识别7种动物利用列举的足够多的特征,组成15条规则来正确的把各种动物区别开来。1) 规则规则1:如果:动物有毛发则:该动物是哺乳动物规则2:如果:动物有奶则:该单位是哺乳动物规则3:如果:该动物有羽毛则:该动物是鸟规则4:如果:动物会飞,且会

2、下蛋则:该动物是鸟规则5:如果:动物吃肉则:该动物是肉食动物规则6:如果:动物有犬齿,且有爪,且眼盯前方则:该动物是食肉动物规则7:如果:动物是哺乳动物,且有蹄则:该动物是有蹄动物规则8:如果:动物是哺乳动物,且是反刍动物则:该动物是有蹄动物规则9:如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点则:该动物是豹规则10:如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹则:该动物是虎规则11:如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类则:该动物是长颈鹿规则12:如果:动物有黑条纹,且是有蹄类动物则:该动物是斑马规则13:如果:动物是鸟,且不会飞,且有长脖子,且

3、长腿,且有黑白两色 则:该动物是鸵鸟规则14:如果:动物是鸟,且会游泳,且不会飞,且有黑白两色 则:该动物是企鹅规则15:如果:动物是鸟,且善飞, 则:该动物是信天鸽2) 综合数据库 综合数据库为事实库,主要用来存放问题求解过程中的各种当前信息,包括原始事实,中间结论及最终结论,中间结论又可作为下一步推理的事实,综合数据库的内容是不断变化的。3) 推理机构1 知识库中再无可运用的知识。2 经推理已求得了问题的解。三、 实验环境 VS2010四、 实验步骤(对照截图具体说明,尽量详细) #include #include int main(int argc, char* argv) printf

4、(-人工智能-n); printf(-动物专家识别系统-n); printf(Version 1.0n); printf(nnn); printf(现在开始识别:nn); int x1; int x2; int x3; int x4; /哺乳动物判断 int a1, a2; printf(Q1:有毛发吗?n1:YESn0:NOn); scanf(%d, &a1); /printf(%d,a1); printf(Q2:有奶吗?n1:YESn0:NOn); scanf(%d, &a2); / printf(%d,a2); printf(nnn初步结果:n); if (a1 = 1 & a2 = 1

5、) printf(-是哺乳动物-nn); x1 = 1; else printf(-不是哺乳动物-nn); x1 = 0; printf(nn); /鸟判断 int b1, b2, b3; printf(Q3:有羽毛吗?n1:YESn0:NOn); scanf(%d, &b1); printf(Q4:会飞吗?n1:YESn0:NOn); scanf(%d, &b2); printf(Q5:会下蛋吗?n1:YESn0:NOn); scanf(%d, &b3); printf(nnn初步结果:n); if (b1 = 1) printf(-是鸟-nn); x2 = 1; else if (b2 =

6、 1 & b3 = 1) printf(-是鸟-nn); x2 = 1; else printf(-不是鸟-nn); x2 = 0; printf(nn); /食肉动物判断 int c1, c2, c3, c4; printf(Q6:吃肉吗?n1:YESn0:NOn); scanf(%d, &c1); printf(Q7:有犬齿吗?n1:YESn0:NOn); scanf(%d, &c2); printf(Q8:有爪吗?n1:YESn0:NOn); scanf(%d, &c3); printf(Q9:眼盯前方吗?n1:YESn0:NOn); scanf(%d, &c4); printf(nnn

7、初步结果:n); if (c1 = 1) printf(-是食肉动物-nn); x3 = 1; else if (c2 = 1 & c3 = 1 & c3 = 1) printf(-是食肉动物-nn); x3 = 1; else printf(-不是食肉动物-nn); x3 = 0; printf(nn); /有蹄类动物判断 int d1, d2; printf(Q10:有蹄吗?n1:YESn0:NOn); scanf(%d, &d1); printf(Q11:反刍吗?n1:YESn0:NOn); scanf(%d, &d2); printf(nnn初步结果:n); if (d1 = 1 &

8、x1 = 1) printf(-是有蹄类动物-nn); x4 = 1; else if (d2 = 1 & x1 = 1) printf(-是有蹄类动物-nn); x4 = 1; else printf(-不是有蹄类动物-nn); x4 = 0; printf(nnnn); printf(下面进行详细判断:nn); int n1, n2, n3, n4, n5, n6, n7, n8; printf(Q12:是黄褐色吗?n1:YESn0:NOn); scanf(%d, &n1); printf(Q13:身上有暗斑点?n1:YESn0:NOn); scanf(%d, &n2); printf(Q

9、14:有黑色条纹吗?n1:YESn0:NOn); scanf(%d, &n3); printf(Q15:有长脖子吗?n1:YESn0:NOn); scanf(%d, &n4); printf(Q16:有长腿吗?n1:YESn0:NOn); scanf(%d, &n5); printf(Q17:善飞吗?n1:YESn0:NOn); scanf(%d, &n6); printf(Q18:有黑白二色吗?n1:YESn0:NOn); scanf(%d, &n7); printf(Q19(最后一个问题):会游泳吗?n1:YESn0:NOn); scanf(%d, &n8); printf(nn); pr

10、intf(最终结果:n); /r9 if (x1 = 1 & x2 = 0 & x3 = 1 & x4 = 0 & n1 = 1 & n2 = 1 & n3 = 0 & n4 = 0 & n5 = 0 & n6 = 0 & n7 = 0 & n8 = 0) printf(-该动物是金钱豹-); /r10 else if (x1 = 1 & x2 = 0 & x3 = 1 & x4 = 0 & n1 = 1 & n2 = 0 & n3 = 1 & n4 = 0 & n5 = 0 & n6 = 0 & n7 = 0 & n8 = 0) printf(-该动物是虎-); /r11 else if (

11、x1 = 1 & x2 = 0 & x3 = 0 & x4 = 1 & n1 = 0 & n2 = 1 & n3 = 0 & n4 = 1 & n5 = 1 & n6 = 0 & n7 = 0 & n8 = 0) printf(-该动物是长颈鹿-); /r12 else if (x1 = 1 & x2 = 0 & x3 = 0 & x4 = 1 & n1 = 0 & n2 = 0 & n3 = 1 & n4 = 0 & n5 = 0 & n6 = 0 & n7 = 0 & n8 = 0) printf(-该动物是斑马-); /r13 else if (x1 = 0 & x2 = 1 & x3

12、= 0 & x4 = 0 & n1 = 0 & n2 = 0 & n3 = 0 & n4 = 1 & n5 = 1 & n6 = 0 & n7 = 1 & n8 = 0) printf(-该动物是鸵鸟-); /r14 else if (x1 = 0 & x2 = 1 & x3 = 0 & x4 = 0 & n1 = 0 & n2 = 0 & n3 = 0 & n4 = 0 & n5 = 0 & n6 = 0 & n7 = 1 & n8 = 1) printf(-该动物是企鹅-); /r15 else if (x1 = 0 & x2 = 1 & x3 = 0 & x4 = 0 & n1 = 0

13、& n2 = 0 & n3 = 0 & n4 = 0 & n5 = 0 & n6 = 1 & n7 = 0 & n8 = 0) printf(-该动物是信天翁-); else printf(我操,没见过,你丫去火星找找吧); printf(nnnnn); getchar(); getchar(); printf(判断完毕,按任意键退出n); return (EXIT_SUCCESS); 五、 实验体会 动物专家系统,我经历了几次修改,原本的设计是利用数组存储各种格则,然后把每次推理的规则都存入一个6位的数组,因为最长的推理都只需要6条规则就能推出。但我想了很久都没弄明白规则直接跳转的数据转换,能做到按照每个动物事实的顺序推倒就没问题,但是顺序一旦出错正确的推到下一条规则。教师评价 优良 中及格不及格教师签名日期专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁