人工智能实验报告大全.doc
- 文档编号:233637
- 上传时间:2022-10-07
- 格式:DOC
- 页数:84
- 大小:1.14MB
人工智能实验报告大全.doc
《人工智能实验报告大全.doc》由会员分享,可在线阅读,更多相关《人工智能实验报告大全.doc(84页珍藏版)》请在冰豆网上搜索。
人工智能课内实验报告
(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
1
实验1:
猴子摘香蕉问题的VC编程实现
一、实验目的
(1)熟悉谓词逻辑表示法;
(2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。
二、编程环境
VC语言
三、问题描述
房子里有一只猴子(即机器人),位于a处。
在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。
房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。
如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。
要求通过VC语言编程实现猴子摘香蕉问题的求解过程。
图1猴子摘香蕉问题
四、源代码
#include
unsignedinti;
voidMonkey_Go_Box(unsignedcharx,unsignedchary)
{
printf("Step%d:
monkey从%c走到%c\n",++i,x,y);//x表示猴子的位置,y为箱子的位置
}
voidMonkey_Move_Box(charx,chary)
{
printf("Step%d:
monkey把箱子从%c运到%c\n",++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("********智能1501班**********\n");
printf("********06153034************\n");
printf("********刘少鹏**************\n");
printf("请用abc来表示猴子箱子香蕉的位置\n");
printf("Monkey\tbox\tbanana\n");
scanf("%c",&Monkey);
getchar();
printf("\t");
scanf("%c",&Box);
getchar();
printf("\t\t");
scanf("%c",&Banana);
getchar();
printf("\n操作步骤如下\n");
if(Monkey!
=Box)
{
Monkey_Go_Box(Monkey,Box);
}
if(Box!
=Banana)
{
Monkey_Move_Box(Box,Banana);
}
Monkey_On_Box();
Monkey_Get_Banana();
printf("\n");
getchar();
}
五、实验结果相关截图
六、心得体会
通过本次实验,我初步了学会了使用VC的新建工程,并且进行简单的程序编写。
此外我还学会如何使用一些谓词来解决生活中的一些简单问题,并且用VC编程给出具体的操作步骤,感觉对VC编程有了新的认识。
在实验中我也遇到过许多问题,比如在我写完代码进行编译时总是会出现一个错误“ fatalerrorC1010:
在查找预编译头时遇到意外的文件结尾,是否忘记了向源中添加“#include‘stdafx.h’”关于这个错误我我问了几个同学得不出答案后,我决定通过上网查找,最终找到了解决方法,需要在该项目的每一个cpp结尾的文件属性中设置不使用预编译头即可。
在这个过程中也锻炼了自己解决问题的能力。
人工智能课内实验报告
实验2:
编程实现简单动物识别系统的知识表示
学院:
自动化学院
班级:
智能1501
姓名:
刘少鹏(33)
学号:
06153034
日期:
2017-3-1310:
15-12:
00
实验2:
编程实现简单动物识别系统的知识表示
一、实验目的
1、理解和掌握产生式知识表示方法;
2、能够通过VC编程语言实现产生式系统的规则库。
二、实验内容
1、以动物识别系统的产生式规则为例;
2、用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。
三、实验步骤
1、确定需要识别的动物及其属性
本次实验的简单动物识别系统总共能识别7种动物,即:
老虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟和信天翁。
2、建立识别七种动物识别系统的规则
3、选定编程语言并确定综合数据库和规则库结构
(1)选用C语言作为编程语言
(2)综合数据库的建立
(3)规则库的建立
四、程序源代码
#include
#include
usingnamespacestd;
structRULES
{
intcount;
charpre[255];
charback[255];
intmark;
};
voidcheck();
RULESr[100]={
{1,"有毛发","哺乳动物",0}, //所有规则静态数据库
{1,"有奶","哺乳动物",0},
{1,"有羽毛","鸟",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,"反刍","哺乳动物",0}
};
intnumber;
intm;
intcat=15;
inta;
intlength; //输入的事实长度
stringf[255]; //输入的事实数组
voidinput()
{
while
(1)
{
cat++;
cout<<"number"< cin>>r[cat].count; cout<<"输入事实,两种以上的事实请在每个事实后加上‘&’符号"< cin>>r[cat].pre; cout<<"输入结果"< cin>>r[cat].back; r[cat].mark=0; while (1) { cout<<"输入“1”继续添加规则,输入“2”查看规则库"< intp; cin>>p; if(p==1) { input(); } else { if(p==2) { check(); } else { cout<<"输入错误,重新输入"< } } } } } voiddelate() { cout<<"输入要删除的条数"< intbar; cin>>bar; for(intt=0;t<=cat;t++) { r[bar-1]=r[bar]; bar++; } cat--; check(); } voidcheck() { cout< for(inti=0;i<=cat;i++) { cout< } cout< while (1) { cout<<"输入“1”继续添加规则,输入“3”删除选定的规则"<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 实验 报告 大全
![提示](https://static.bdocx.com/images/bang_tan.gif)