人工智能实验报告大全

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工智能课内实验报告

(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-8 10:15-12:00

实验1:猴子摘香蕉问题的VC编程实现

一、实验目的

(1)熟悉谓词逻辑表示法;

(2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。

二、编程环境

VC语言

三、问题描述

房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过VC语言编程实现猴子摘香蕉问题的求解过程。

图1 猴子摘香蕉问题

四、源代码

#include

unsigned int i;

void Monkey_Go_Box(unsigned char x, unsigned char y)

{

printf("Step %d:monkey从%c走到%c\n", ++i, x, y);//x表示猴子的位置,y为箱子的位置

}

void Monkey_Move_Box(char x, char y)

{

printf("Step %d:monkey把箱子从%c运到%c\n", ++i, x, y);//x表示箱子的位置,y为香蕉的位置

}

void Monkey_On_Box()

{

printf("Step %d:monkey爬上箱子\n", ++i);

}

void Monkey_Get_Banana()

{

printf("Step %d:monkey摘到香蕉\n", ++i);

}

void main()

{

unsigned char Monkey, Box, Banana;

printf("********智能1501班**********\n");

printf("********06153034************\n");

printf("********刘少鹏**************\n");

printf("请用a b c来表示猴子箱子香蕉的位置\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编程有了新的认识。在实验中我也遇到过许多问题,比如在我写完代码进行编译时总是会出现一个错误“ fatal error C1010: 在查找预编译头时遇到意外的文件结尾,是否忘记了向源中添加“#include ‘stdafx.h’”关于这个错误我我问了几个同学得不出答案后,我决定通过上网查找,最终找到了解决方法,需要在该项目的每一个cpp结尾的文件属性中设置不使用预编译头即可。在这个过程中也锻炼了自己解决问题的能力。

人工智能课内实验报告

实验2:编程实现简单动物识别系统的知识表示

学院:自动化学院

班级:智能1501

姓名:刘少鹏(33)

学号: 06153034

日期: 2017-3-13 10:15-12:00

实验2:编程实现简单动物识别系统的知识表示

一、实验目的

1、理解和掌握产生式知识表示方法;

2、能够通过VC编程语言实现产生式系统的规则库。

二、实验内容

1、以动物识别系统的产生式规则为例;

2、用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。

三、实验步骤

1、确定需要识别的动物及其属性

本次实验的简单动物识别系统总共能识别7种动物,即:老虎、金钱豹、斑马、长颈鹿、企鹅、鸵鸟和信天翁。

2、建立识别七种动物识别系统的规则

3、选定编程语言并确定综合数据库和规则库结构

(1)选用C语言作为编程语言

(2)综合数据库的建立

(3)规则库的建立

四、程序源代码

#include

#include

using namespace std;

struct RULES

{

int count;

char pre[255];

char back[255];

int mark;

};

void check();

RULES r[100] = {

{ 1,"有毛发","哺乳动物",0 }, //所有规则静态数据库

{ 1,"有奶","哺乳动物",0 },

{ 1,"有羽毛","鸟",0 },

{ 2,"会飞&下蛋&","鸟",0 },

{ 1,"吃肉","食肉动物",0 },

相关文档
最新文档