人工智能与专家系统课程设计解读_人工智能课程设计
人工智能与专家系统课程设计解读由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“人工智能课程设计”。
目录
1.设计任务 1.1 设计题目 1.2设计要求 1.3设计任务 2.方案设计 2.1原理
2.2 具体设计方法 3.系统实施
3.1 系统开发环境 3.2系统主要功能介绍 3.3处理流程图 3.4 核心源程序 3.5系统运行结果 4.开发心得
4.1设计存在的问题
4.2进一步改进提高的设想 4.3经验和体会 5.参考文献 1.设计任务 1.1 设计题目
在一个3*3的方棋盘上放置着1,2,3,4,5,6,7,8八个数码,每个数码占一格,且有一个空格。这些数码可以在棋盘上移动,该问题称八数码难题或者重排九宫问题。
1.2 设计要求
其移动规则是:与空格相邻的数码方格可以移入空格。现在的问题是:对于指定的初始棋局和目标棋局,给出数码的移动序列。
1.3 设计任务
利用人工智能的图搜索技术进行搜索,解决八数码问题来提高在推理中的水平,同时进行新方法的探讨。
2.方案设计 2.1 原理
八数码问题是个典型的状态图搜索问题。搜索方式有两种基本的方式,即树式搜索和线式搜索。搜索策略大体有盲目搜索和启发式搜索两大类。盲目搜索就是无“向导”的搜索,启发式搜索就是有“向导”的搜索。
2.2 具体设计方法
启发式搜索
由于时间和空间资源的限制,穷举法只能解决一些状态空间很小的简单问题,而对于那些大状态空间的问题,穷举法就不能胜任,往往会导致“组合爆炸”。所以引入启发式搜索策略。启发式搜索就是利用启发性信息进行制导的搜索。它有利于快速找到问题的解。由八数码问题的部分状态图可以看出,从初始节点开始,在通向目标节点的路径上,各节点的数码格局同目标节点相比较,其数码不同的位置个数在逐渐减少,最后为零。所以,这个数码不同的位置个数便是标志一个节点到目标节点距离远近的一个启发性信息,利用这个信息就可以指导搜索。即可以利用启发信息来扩展节点的选择,减少搜索范围,提高搜索速度。
启发函数设定。对于八数码问题,可以利用棋局差距作为一个度量。搜索过程中,差距会逐渐减少,最终为零,为零即搜索完成,得到目标棋局。
3.系统实施
3.1 系统开发环境
Windows操作系统、SQL Server 200X
3.2 系统主要功能介绍
该搜索为一个搜索树。为了简化问题,搜索树节点设计如下: struct Che//棋盘
3.4 核心源程序
#include “stdio.h” #include “stdlib.h” #include “time.h” #include “string.h” #include #include using namespace std;
const int N=3;//3*3棋盘
const int Max_Step=30;//最大搜索深度
enum Direction{None,Up,Down,Left,Right};//方向 struct Che//棋盘 { int cell[N][N];//数码数组
int Value;//评估值
Direction BelockDirec;//所屏蔽方向
struct Che * Parent;//父节点 };
//打印棋盘
void PrintChe(struct Che *TheChe){ printf(“----------n”);for(int i=0;i
printf(“t”);
for(int j=0;j
{
printf(“%dt”,TheChe->cell[i][j]);
}
printf(“n”);} printf(“tttt差距:%dn”,TheChe->Value);}
break;case Left:
t_j++;
if(t_j>=N)
AbleMove=false;
break;case Right:
t_j--;
if(t_j
AbleMove=false;
break;};if(!AbleMove)//不可以移动则返回原节点
{
return TheChe;}
if(CreateNewChe){
NewChe=new Che();
for(int x=0;x
{
for(int y=0;y
NewChe->cell[x][y]=TheChe->cell[x][y];
} } else
NewChe=TheChe;NewChe->cell[i][j]=NewChe->cell[t_i][t_j];NewChe->cell[t_i][t_j]=0;
return NewChe;}
//初始化一个初始棋盘
struct Che * RandomChe(const struct Che * TheChe)
p=NULL;queue Queue1;Queue1.push(Begin);//搜索
do{
p1=(struct Che *)Queue1.front();
Queue1.pop();
for(int i=1;i
{
Direction Direct=(Direction)i;
if(Direct==p1->BelockDirec)//跳过屏蔽方向
continue;
p2=MoveChe(p1,Direct,true);//移动数码
if(p2!=p1)//数码是否可以移动
{
Appraisal(p2,Target);//对新节点估价
if(p2->ValueValue)//是否为优越节点
{
p2->Parent=p1;
switch(Direct)//设置屏蔽方向,防止往回推
{
case Up:p2->BelockDirec=Down;break;
case Down:p2->BelockDirec=Up;break;
case Left:p2->BelockDirec=Right;break;
case Right:p2->BelockDirec=Left;break;
}
Queue1.push(p2);//存储节点到待处理队列
if(p2->Value==0)//为0则,搜索完成{
p=p2;
i=5;
}
}
else
{
//打印
if(T){
/*把路径倒序*/
Che *p=T;
stackStack1;
while(p->Parent!=NULL)
{
Stack1.push(p);
p=p->Parent;
}
printf(“搜索结果:n”);
while(!Stack1.empty())
{
PrintChe(Stack1.top());
Stack1.pop();
}
printf(“n完成!”);}else
printf(“搜索不到结果.深度为%dn”,Max_Step);
scanf(“%d”,T);} 3.5 系统运行结果
4.开发心得
4.1 设计存在的问题
完全能解决简单的八数码问题,但对于复杂的八数码问题还是无能为力。4.2 进一步改进提高的设想
可以改变数码规模(N),来扩展成N*N的棋盘,即扩展为N数码问题的求解过程。
2、内存泄漏。由于采用倒链表的搜索树结
05.参考文献
[1]王汝传.计算机图形学[M].北京:人民邮电出版社,1999:123-130.[2]刘榴娣,刘明奇,党长民.实用数字图像处理[M].北京:北京理工大学出版,2000:12-25..[3]丁兆海.Delphi基础教程[M].北京:电子工业出版社,1999.[4]王小华.Delphi 5程序设计与控件参考[M].北京:电子工业出版社,1999:70-120.[5]赵子江.多媒体技术基础[M].北京:机械工业出版社,2001:118-130.[6]段来盛,郑城荣,曹恒.Delphi实战演练[M].北京:人民邮政出版社,2002:80-95.读书的好处
1、行万里路,读万卷书。
2、书山有路勤为径,学海无涯苦作舟。
3、读书破万卷,下笔如有神。
4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文
5、少壮不努力,老大徒悲伤。
6、黑发不知勤学早,白首方悔读书迟。——颜真卿
7、宝剑锋从磨砺出,梅花香自苦寒来。
8、读书要三到:心到、眼到、口到
9、玉不琢、不成器,人不学、不知义。
10、一日无书,百事荒废。——陈寿
11、书是人类进步的阶梯。
12、一日不读口生,一日不写手生。
13、我扑在书上,就像饥饿的人扑在面包上。——高尔基
14、书到用时方恨少、事非经过不知难。——陆游
15、读一本好书,就如同和一个高尚的人在交谈——歌德
16、读一切好书,就是和许多高尚的人谈话。——笛卡儿
17、学习永远不晚。——高尔基
18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向
19、学而不思则惘,思而不学则殆。——孔子
20、读书给人以快乐、给人以光彩、给人以才干。——培根
姓名:万伟学号:1120100924人工智能与专家系统感想人工智能(Artificial Intelligence) ,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系......
河南城建学院《 人工智能 》实验报告实验名称:__实验四 名称实现一个基于产生式系统的小型专家系统(动物识别) 成绩: 专业班级: 0814112 学号: 081411202 姓名: xxxxxxxxxxxx 实 验......
《人工智能导论》课程报告课题名称: 五子棋姓名: X X 学号:114304xxxx 课题负责人名(学号): X X114304xxxx 同组成员名单(学号、角色): x x1143041325 XXX1143041036 指导教师: 张......
人工智能与电子商务2013年6月16日人工智能在电子商务中的应用摘要:人工智能技术和电子商务的飞速发展推动了全球科技经济领域的进步,基于人工智能技术的电子商务更趋向完美和......
人工智能课程设计报告课 程:人工智能课程设计报告班 级: 姓 名: 学 号: 指导教师:赵曼 2015年11月人工智能课程设计报告人工智能课程设计报告课程背景人工智能(Artificial I......
