中南大学人工智能实验报告_002Word文档下载推荐.docx

上传人:wj 文档编号:4017236 上传时间:2023-05-02 格式:DOCX 页数:24 大小:668.45KB
下载 相关 举报
中南大学人工智能实验报告_002Word文档下载推荐.docx_第1页
第1页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第2页
第2页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第3页
第3页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第4页
第4页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第5页
第5页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第6页
第6页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第7页
第7页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第8页
第8页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第9页
第9页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第10页
第10页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第11页
第11页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第12页
第12页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第13页
第13页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第14页
第14页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第15页
第15页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第16页
第16页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第17页
第17页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第18页
第18页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第19页
第19页 / 共24页
中南大学人工智能实验报告_002Word文档下载推荐.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

中南大学人工智能实验报告_002Word文档下载推荐.docx

《中南大学人工智能实验报告_002Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《中南大学人工智能实验报告_002Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。

中南大学人工智能实验报告_002Word文档下载推荐.docx

2,0,3

4.Lowestcostfirst

类似于BFS,但在搜索结点时,并不按照队列的顺序进行搜索,而选取队列中与起始结点距离最近的结点进行搜索。

2,0,3

5.bestfirst

最佳优先搜索通过扩展最有可能到达目标节点的节点,根据指定的规则,探索一个图。

6.层次深度优先

令k=1,进行k层的深度优先搜索,如果没有找到目标,则k+1,进行k+1层的深度优先搜索,以此类推。

7.A*算法

A*[1] 

 

(A-Star)算法是一种静态路网中求解最短路最有效的直接搜索方法。

公式表示为:

f(n)=g(n)+h(n),

其中f(n)是从初始点经由节点n到目标点的估价函数,

g(n)是在状态空间中从初始节点到n节点的实际代价,

h(n)是从n到目标节点最佳路径的估计代价。

保证找到最短路径(最优解的)条件,关键在于估价函数f(n)的选取:

估价值h(n)<

=n到目标节点的距离实际值,这种情况下,搜索的点数多,搜索范围大,效率低。

但能得到最优解。

并且如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行,此时的搜索效率是最高的。

如果估价值>

实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。

8.修改源代码中的估价函数

对于一个启发式算法来说,他的搜索顺序依赖于估价函数的定义,而估价函数中启发函数部分h的定义比较主观,容易对搜索造成比较大的影响。

因此,如果我们修改关于八数码问题的源代码,将估价函数中的曼哈顿距离改为欧式距离,结果可能会改变。

修改前

修改后(将启发函数由曼哈顿距离改为欧氏距离)

由上面的2个结果可以看出,当未做修改前,我们的算法可以通过5步搜索得出结果,当把曼哈顿距离改为欧氏距离之后,算法尝试了561次搜索,直到内存不够,也没能得出结果。

可见估价函数对于整个搜索的影响力。

第二次实验:

推理技术

1.实验说明

产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。

在产生式系统中,论域的知识分为两部分:

用事实表示静态知识;

用产生式规则表示推理过程和行为。

2.实验内容

下面以一个具体的动物识别专家系统模型来说明其原理。

建立该专家系统的代码:

规则库

事实库

该动物是哺乳动物<

-该动物有毛发.

-该动物有奶.

该动物是鸟<

-该动物有羽毛.

-该动物会飞&

会下蛋.

该动物是食肉动物<

-该动物吃肉.

-该动物有犬齿&

有爪&

眼盯前方.

该动物是有蹄类动物<

-该动物是哺乳动物&

有蹄.

是嚼反刍动物.

该动物是金钱豹<

是食肉动物&

是黄褐色&

身上有暗斑点.

该动物是虎<

身上有黑色条纹.

该动物是长颈鹿<

-该动物是有蹄类动物&

有长脖子&

有长腿&

该动物是斑马<

该动物是鸵鸟<

-该动物是鸟&

不会飞&

有黑白二色.

该动物是企鹅<

会游泳&

该动物是信天翁<

善飞.

%会游泳.%--该动物是企鹅

%不会飞.

%有黑白二色.

%该动物是鸟.

%--------%--该动物是鸟

%该动物会飞.

%会下蛋.

%----该动物是金钱豹<

%该动物有毛发.

%是食肉动物.

%是黄褐色.

%身上有暗斑点.

%----该动物是虎<

该动物是哺乳动物.

是食肉动物.

是黄褐色.

%----该动物是长颈鹿<

%该动物是有蹄类动物.

%有长脖子.

%有长腿.

实现逆向推理过程(该动物是鸟):

将该事实(该动物是鸟)与规则库进行匹配,与“该动物是鸟<

-该动物有羽毛.”和“该动物是鸟<

会下蛋”这两条规则匹配,于是得到这两个结论,将它们加入用于推理的事实中,继续与规则库匹配,发现没有能够继续匹配的规则了,于是推理终止。

过程如下

我尝试对规则库进行修改,将“该动物是鸟<

会下蛋.”改为了“该动物是鸟<

会下蛋&

有屁股.”,果然发现得到的结果改变了

后来我又尝试自己建立规则库

规则库代码如下:

%file:

动物识别系统规则库.pl

该动物是人<

-该动物会说话.

-该动物知羞耻.

该动物有毛发<

-该动物等级高.

-该动物不是鱼.

该动物不是鱼<

-该动物不会游泳.

%------动物识别系统事实集:

%----%--该动物是人

%会说话.

%知羞耻

%---%该动物有毛发

%该动物等级高

%该动物不是鱼

%---%该动物不是鱼

%该动物不会游泳

实验自己生成的产生式系统(逆向推理“该动物有毛发”),得到如下结

由“该动物有毛发”推出了“该动物等级高”和“该动物不是鱼”,进而推出了“该动物不会游泳”。

可见这个产生式系统是符合要求的。

第三次实验:

神经网络

1.实验内容

1.1多数赞成表决器的应用

网络拓扑图

所使用的训练数据集:

数据类型:

(输入节点0,输入节点1,输入节点2,输入

节点5)

(0,0,0,0)(0,0,1,0)(0,1,1,1)(1,0,0,0)(1,0,1,1)(1,1,0,1)(1,1,1,1)

反复对这个网络训练的结果:

训练一次时的总误差1.68

训练五十次时的误差0.52

训练一百次时的误差0.11

训练一百五十次时的误差0.05

训练两百次时的误差0.03

可见随着不断的训练,误差越来越小,也就是说网络越来越能满足功能的要求,下面是误差随训练次数的变化图。

1.2异或问题的实现

网络拓扑图

(输入节点0,输入节点1,输入节点4)

用于训练的数据集:

(0,0,0)(0,1,0)(1,0,1)

对网络进行训练的结果:

训练1次的误差0.018

训练50次的误差0.010

训练100次的误差0.010

训练150次的误差0.010

训练200次的误差0.010

误差测试如下图

可以发现,和多数赞成表决器的BP网络一样,这个BP网络经过训练,误差也在不断减小。

单层的神经网络无法实现异或问题,但是含有中间层的BP网络却可以很好的解决异或问题。

最终得到的网络结构如下

功能测试:

我们输入结点1和0(异或),得到相应输出0.9574(近似为1)

我们输入结点0和0,得到相应输出0.0638(近似为0)

可见是可以实现异或功能的

2.感知器实现逻辑‘与’功能

2.1感知器实现逻辑‘与’功能的学习算法

单层感知器,即只有一层处理单元的感知器。

感知器结构如下图所示:

感知器结构

表1:

与运算的真值表

x1x2y

000

010

100

111

分界线的方程(w1x1+w2x2-T=0)

可以为:

0.5x1+0.5x2-0.75=0

输入为kx1、kx2,输出为yk。

当kx1和kx2均为1时,yk为1,否则yk为0。

2.2具体代码(用matlab编写):

functionyu();

closeall;

rand('

state'

sum(100*clock))

X=[-100;

-101;

-110;

-111]'

;

d=[0001];

h=0.1;

p=4;

epoch=100;

T=0.1;

W=rand(1,3);

W

(1)=T;

W1=[];

W2=[];

err=[];

k=0;

fori=1:

epoch

s=0;

forj=1:

p

net(j)=W*X(:

j);

o(j)=(net(j)>

=0);

W=W+h*(d(j)-o(j))*X(:

j)'

s=s+abs(d(j)-o(j));

end

err=[errs];

k=k+1;

W1=[W1W

(2)];

W2=[W2W(3)];

ifs==0,

break

end

end

figure

(1)

subplot(3,1,1)

x=1:

k;

plot(x,err,'

b-'

xlabel('

迭代次数'

ylabel('

error'

title('

误差的收敛曲线'

subplot(3,1,2)

plot(x,W1,'

r-'

W1'

权值W1的变化过程'

subplot(3,1,3)

plot(x,W2,'

y-'

W2'

权值W2的变化过程'

figure

(2)

holdon

gridon

x1=-2:

4;

x2=(T-W

(1)*x1)/W

(2);

plot(x1,x2,'

b--'

x1'

x2'

样本分布及分界线'

x=[0011];

y=[0101];

plot(x,y,'

b*'

);

M=[000;

010;

100;

111];

fprintf('

\n'

display(['

与运算的结果'

])

Thefinalerroris:

'

num2str(s)])

Theepochis:

num2str(k)])

ThefinalWis:

num2str(W

(2))'

'

num2str(W(3))])

ThefinalTis:

num2str(T)])

theresultis:

])display(['

'

x2'

y'

display(num2str(M))

2.3实验结果:

程序运行的结果

可见仅当x1、x2输入均为1时输出y才为1,实现了“与”功能。

得到的图表

误差的收敛曲线和迭代次数

样本分布及分界线

2.4总结和讨论:

①单层感知器的结构与功能都比较简单,所以在解决实际问题时很少被采用,但在神经网络中具有重要的意义,是研究其他网络的基础而

且较易学习和理解,适合与作为学习神经网络的起点。

②单层感知器的局限性:

仅对线性可分问题具有分类能力,不能解决

‘异或’问题。

③使用二值变换函数和连续变换函数对单层感知器产生的影响:

误差

的收敛曲线、权值W1、W2的变化不同。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

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

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