ImageVerifierCode 换一换
格式:DOCX , 页数:129 ,大小:951.87KB ,
资源ID:66622      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-66622.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能实验报告大全.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

人工智能实验报告大全.docx

1、人工智能课内实验报告(8次)学院:自动化学院班级:智能1501姓名:刘少鹏(34)学号:06153034课内实验1:猴子摘香蕉问题的VC编程实现1课内实验2:编程实现简单动物识别系统的知识表示5课内实验3:盲目搜索求解8数码问题18课内实验4:回溯算法求解四皇后问题33课内实验5:编程实现一字棋游戏37课内实验6:字句集消解实验46课内实验7:简单动物识别系统的产生式推理66课内实验8:编程实现D-S证据推理算法78人工智能课内实验报告实验1:猴子摘香蕉问题的VC编程实现学院:自动化学院班级:智能1501姓名:刘少鹏(33)学号:06153034日期:2017-3-810:15-12:00实验

2、1:猴子摘香蕉问题的VC编程实现1、实验目的(1)熟悉谓词逻辑表示法;(2)掌握人工智能谓词逻辑中的经典例子猴子摘香蕉问题的编程实现。二、编程环境VC语言3、问题描述房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过VC语言编程实现猴子摘香蕉问题的求解过程。图1猴子摘香蕉问题4、源代码#includeunsignedinti;voidMonkey_Go_Box(unsignedcharx,unsignedchary)prin

3、tf(Step %d:monkey从%c走到%cn, +i,x,y);/x表示猴子的位置,y为箱子的位置voidMonkey_Move_Box(charx,chary)printf(Step %d:monkey把箱子从%c运到%cn, +i,x,y);/x表示箱子的位置,y为香蕉的位置voidMonkey_On_Box()printf(Step %d:monkey爬上箱子n, +i);voidMonkey_Get_Banana()printf(Step %d:monkey摘到香蕉n, +i);voidmain()unsignedcharMonkey, Box, Banana;printf(*智

4、能1501班*n);printf(*06153034*n);printf(*刘少鹏*n);printf(请用a b c来表示猴子箱子香蕉的位置n);printf(Monkeytboxtbananan);scanf(%c, &Monkey);getchar();printf(t);scanf(%c, &Box);getchar();printf(tt);scanf(%c, &Banana);getchar();printf(n操作步骤如下n);if(Monkey != Box)Monkey_Go_Box(Monkey, Box);if(Box != Banana)Monkey_Move_Box(

5、Box, Banana);Monkey_On_Box();Monkey_Get_Banana();printf(n);getchar();5、实验结果相关截图六、心得体会通过本次实验,我初步了学会了使用VC的新建工程,并且进行简单的程序编写。此外我还学会如何使用一些谓词来解决生活中的一些简单问题,并且用VC编程给出具体的操作步骤,感觉对VC编程有了新的认识。在实验中我也遇到过许多问题,比如在我写完代码进行编译时总是会出现一个错误“fatal error C1010:在查找预编译头时遇到意外的文件结尾,是否忘记了向源中添加“#includestdafx.h”关于这个错误我我问了几个同学得不出答案

6、后,我决定通过上网查找,最终找到了解决方法,需要在该项目的每一个cpp结尾的文件属性中设置不使用预编译头即可。在这个过程中也锻炼了自己解决问题的能力。人工智能课内实验报告实验2:编程实现简单动物识别系统的知识表示学院:自动化学院班级:智能1501姓名:刘少鹏(33)学号:06153034日期:2017-3-1310:15-12:00实验2:编程实现简单动物识别系统的知识表示一、实验目的1、理解和掌握产生式知识表示方法;2、能够通过VC编程语言实现产生式系统的规则库。二、实验内容1、以动物识别系统的产生式规则为例;2、用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。3

7、、实验步骤1、确定需要识别的动物及其属性本次实验的简单动物识别系统总共能识别7种动物,即:老虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟和信天翁。2、建立识别七种动物识别系统的规则3、选定编程语言并确定综合数据库和规则库结构(1)选用C语言作为编程语言(2)综合数据库的建立(3)规则库的建立四、程序源代码#include#includeusingnamespacestd;structRULESintcount;charpre255;charback255;intmark;voidcheck();RULESr100 = 1,有毛发,哺乳动物,0 ,/所有规则静态数据库 1,有奶,哺乳动物,0 , 1,有

8、羽毛,鸟,0 , 2,会飞&下蛋&,鸟,0 , 1,吃肉,食肉动物,0 , 3,有锋利的牙齿&有爪&眼睛盯着前方&,食肉动物,0 , 2,哺乳动物&有蹄&,有蹄类哺乳动物,0 , 2,哺乳动物&反刍&,有偶蹄类哺乳动物,0 , 4,哺乳动物&食肉动物&黄褐色&有暗斑&,金钱豹,0 , 4,哺乳动物&食肉动物&黄褐色&黑色条纹&,老虎,0 , 4,有蹄类哺乳动物&有长脖子&有长腿&有暗斑&,长颈鹿,0 , 2,有蹄类哺乳动物&黑条纹&,斑马,0 , 5,鸟&不会飞&有长脖子&有长腿&黑白色&,鸵鸟,0 , 4,鸟&不会飞&会游泳&黑白色&,企鹅,0 , 2,鸟&会飞&,信天翁,0 , 1,反刍,

9、哺乳动物,0 ;intnumber;intm;intcat = 15;inta;intlength;/输入的事实长度stringf255;/输入的事实数组voidinput()while(1)cat+;coutnumberrcat.count;cout输入事实,两种以上的事实请在每个事实后加上&符号rcat.pre;cout输入结果rcat.back;rcat.mark = 0;while(1)cout输入“1”继续添加规则,输入“2”查看规则库p;if(p = 1)input();elseif(p = 2)check();elsecout输入错误,重新输入endl;voiddelate()c

10、out输入要删除的条数bar;for(intt = 0; t = cat; t+)rbar - 1=rbar;bar+;cat-;check();voidcheck()coutendl规则库如下endl;for(inti = 0; i = cat; i+)couti + 1.由ri.pre可得ri.backendl;coutendl;while(1)cout输入“1”继续添加规则,输入“3”删除选定的规则m;if(m = 1)input();elseif(m = 3)delate();intfind_rule(ints)/查找规则库中是否还有可使用的规则for(inti = 0; i = 15

11、; i+)s=s*ri.mark;/coutfind_rule结果sendl;returns;intcompare1(RULESr)/当前提条件为1时intj = 0, i = 1;stringstr, str2;str=r.pre;while(i = length)if(fi=str)str2=r.back;flength + 1=str2;/加入事实库length+;/事实库的长度加1r.mark = 1;/标记规则已使用过break;elsei+;returnr.mark;intcompare2(RULESr)/前提条件不为1stringb10;stringstr, str2;inti,

12、 j = 1, num = 0;inta = 0;str=r.pre;for(i = 0; i != 10; +i)/转换数组bi=;for(i = 0; i != str.length(); +i)if(str.at(i) !=&)bj+=str.at(i);elsej+;i = 1;while(i =r.count)for(j = 1; j != length + 1; j+)if(fj=bi)a += 1;i+;if(a =r.count)str2=r.back;flength + 1=str2;/加入事实库length+;/事实库的长度加1r.mark = 1;/标记规则已使用过ret

13、urnr.mark;voidresult()inti = 1, m = 0;while(i !=length + 1)if(fi=金钱豹)cout该动物是金钱豹endl;m = 1;break;elseif(fi=老虎)cout该动物是老虎endl;m = 1;break;elseif(fi=长颈鹿)cout该动物是长颈鹿endl;m = 1;break;elseif(fi=斑马)cout该动物是斑马endl;m = 1;break;elseif(fi=鸵鸟)cout该动物是鸵鸟endl;m = 1;break;elseif(fi=企鹅)cout该动物是企鹅endl;m = 1;break;e

14、lseif(fi=信天翁)cout信天翁endl;m = 1;break;elsei+;if(m = 0)cout没有符合的动物,请确认特征,重新输入endl;voididetify()inti = 0, u = 0;if(find_rule(u) = 0)/如果规则库中还有未使用的规则/cout还有未使用的规则endl;intnum = length;while(i16)/从第一条规则开始遍历if(ri.mark = 0)/如果该条规则未使用if(ri.count = 1)/该条规则前提数为1u = compare1(ri);if(u = 1)ri.mark = 1;if(ri.mark =

15、 1)cout使用规则i + 1;cout且加入的新事实为ri.backendl;elseu = compare2(ri);if(u = 1)ri.mark = 1;if(ri.mark = 1)cout使用规则i + 1;cout且加入的新事实为ri.backendl;if(i = 15)if(num != length)i =0;num = length;elsei = 16;elsei+;elsecout所有的规则都已使用endl;result();/*主函数*/voidmain()cout*智能1501班*endl;cout*06153034*endl;cout*刘少鹏*endl;co

16、ut进行动物识别请输入7endl;cout进行规则库操作请输入8a;while(a = 8)while(1)cout添加规则输入1,查看已有规则输入2m;if(m = 1)input();elseif(m = 2)check();elsecout输入错误请重新输入endl;if(a = 7)intu = 0;cout请输入动物的特征数length;cout请输入动物的特征endl;for(inti = 1; i fi;idetify();system(pause);5、实验结果相关截图1、程序总体结构2、规则库操作查看规则库3、规则库操作添加规则添加袋鼠规则4、规则库操作删除规则删除袋鼠规则5

17、、动物识别识别长颈鹿六、心得体会通过本次实验我深刻的理解和掌握产生式知识表示方法,并且能够通过VC编程语言实现产生式系统的规则库。本次实验我同样遇到许多问题,我通过自己查阅资料,与同学们讨论,逐步的将自己的问题解决,在这个过程中提高了我的问题解决能力。最后因为本次实验只有对数据库有清楚的掌握,同时熟悉规则才能合理编程,因此我在平时的学习中应当加大数据库与数据结构的学习力度,提高自己的编程能力。人工智能课内实验报告实验3:盲目搜索求解八数码问题学院:自动化学院班级:智能1501姓名:刘少鹏(33)学号:06153034日期:2017-03-3010:15-12:00人工智能课内实验3:盲目搜索求

18、解8数码问题1、实验目的(1)熟悉人工智能系统中的问题求解过程;(2)熟悉状态空间中的盲目搜索策略;(3)掌握盲目搜索算法,重点是宽度优先搜索和深度优先搜索算法。2、实验要求用VC语言编程,采用宽度优先搜索和深度优先搜索方法,求解8数码问题3、实验内容(1)采用宽度优先算法,运行程序,要求输入初始状态假设给定如下初始状态S02 8 31 6 47 0 5和目标状态Sg2 1 64 0 87 5 3验证程序的输出结果,写出心得体会。(2)对代码进行修改(选作),实现深度优先搜索求解该问题提示:每次选扩展节点时,从数组的最后一个生成的节点开始找,找一个没有被扩展的节点。这样也需要对节点添加一个是否

19、被扩展过的标志。4源代码及实验结果截图(1)实验源代码#include #include Typedef struct Node intnum9; /棋盘状态int deepth; /派生的深度g(n)int diffnum; /不在位的数目h(n)int value; /耗散值f(n)=g(n)+h(n)struct Node * pre;struct Node * next;struct Node * parent;numNode; /* - end of struct numNode - */int origin9; /棋盘初始状态int target9; /棋盘目标状态int numN

20、ode_num, total_step;numNode *open, *close; /Open表和Close表numNode *create_numNode()return (numNode *)malloc(sizeof(numNode);numNode *open_getfirst(numNode *head); /返回第一项,并从Open表中删除void open_insert(numNode *head, numNode *item); /向Open表中按序插入新节点void close_append(numNode *head, numNode *item); /向Close表中插

21、入新节点int expand(numNode *item); /扩展节点int print_result(numNode *item); /打印结果numNode*copy_numNode(numNode *orgin);char isNewNode(numNode *open, numNode *close, int num9); /是否在Open表或Close表中void print_num(int num9); /打印棋盘状态int diff(int num9); /求不在位棋子的个数void init(); /初始化,获得棋盘初始状态和目标状态void swap(int *a, int

22、 *b);int operate(intnum, int op);void free_list(numNode *head);/* Name:主函數/* Description:程序入口int main(int argc, char *argv)/初始化Open表和Close表printf(*智能1501*n);printf(*刘少鹏*n);printf(*06153034*n);open = create_numNode();close = create_numNode();open-pre = open-next = close-pre = close-next = NULL;init()

23、; /由用户输入初始和目标状态/初始化初始节点numNode *p1;p1 = create_numNode();p1-parent = NULL;p1-deepth = 0;int i = 0;for (i = 0; inumi = origini;open_insert(open, p1);numNode_num = 1;p1 = open_getfirst(open);while (p1 != NULL)close_append(close, p1);if (expand(p1)return EXIT_SUCCESS;p1 = open_getfirst(open);printf(No

24、solution!n);return EXIT_SUCCESS; /* - end of function main - */void init()while (1)printf(Please input opriginal status:nFor example:123456780 stands forn1 2 3n4 5 6n78 0n);char temp10;scanf(%s, &temp);int i = 0;for (i = 0; i= 0 & tempi - 0 = 8; i+)origini = tempi - 0;printf(Please input target status:n);scanf(%s, &temp);int

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2