当前位置:文档之家› 人工智能导论实验指导书

人工智能导论实验指导书

人工智能导论实验指导书
人工智能导论实验指导书

实验一 感知器的MATLAB 仿真

感知器(Pereceptron)是一种特殊的神经网络模型,是由美国心理学家F.Rosenblatt 于1958年提出的,一层为输入层,另一层具有计算单元,感知器特别适合于简单的模式分类问题,也可用于基于模式分类的学习控制和多模态控制中。

一、感知器神经元模型

感知器神经元通过对权值的训练,可以使感知器神经元的输出能代表对输入模式进行的分类,图1.1为感知器神经元模型。

图1.1 感知器神经元模型

感知器神经元的每一个输入都对应于一个合适的权值,所有的输入与其对应权值的加权和作为阀值函数的输入。由于阀值函数的引入,从而使得感知器可以将输入向量分为两个区域,通常阀函数采用双极阶跃函数,如:

??

?<≥=0

,00

,1)(x x x f (1.1) 而感知器神经元模型的实际输出为

??

?

??-=∑-=R i i i b x w f o 1 (1.2)

其中b 为阀值

二、感知器的网络结构

图1.2所描述的是一个简单的感知器网络结构,输入层有R 个输入,Q 个输出,通过权值w ij 与s 个感知器神经元连接组成的感知器神经网络。

根据网络结构,可以写出感知器处理单元对其输入的加权和操作,即:

∑==R

j j ij i p w n 1

(1.3)

而其输出a i 为

a i =f (n i +

b i ) (1.4)

由式2.1易知

?

??<+≥+=000

1i i i i i b n b n a (1.5)

则当输入n i +b i 大于等于0,即有n i ≥-b i 时,感知器的输出为1;否则输出为0。

上面所述的单层感知器神经网络是不可能解决线性不可分的输入向量分类问题,也不能推广到一般的前向网络中去。为解决这一问题,我们可以设计多层感知器神经网络以实现任意形状的划分。

图1.3描述了一个双层感知器神经网络。其工作方式与单层感知器网络一样,只不过是增加了一层而已,具体的内容这里不做讨论。

三、感知器神经网络的学习规则

感知器的学习规则主要是通过调整网络层的权值和阀值以便能够地网络的输入向量进行正确的分类。

P 1

S ×1

图1.2 感知器神经网络结构

P 1 图1.3 感知器神经网络结构

如图1.2所示的输入向量P、输出和量a和目标向量为t的感知器神经网络,感知器的学习规则是根据以下输出矢量a可能出现的几种情况未进行参与调整的:

1)如果第i个神经元的输出是正确的,即有a i=t1,则与第i个神经元联接的权值和阀值保持不变。

2)如果第i个神经元的输出是不正确,应该有两种情况。

i)实际输出为0,而理想输出为1,即有a i=0,而t i=1,则所有的输入j 对权值和阀值进行调整,修正值Δw1j=p j,Δb j=1。

ii)实际输出为1,而期望输出为0,即有a i=1,而t i=0,则对所有的输入j进行权值和阀值调整,Δw1j=-p j,Δb i=-1。

基于感知器误差e=t-a,感知器学习规则可望写为:

Δw1j=e i·p j

可以证明当前输入样本来自线性可分的模式时,上述学习算法在有限步同收敛,这时所得的权值能对所有样本正确分类,这一结论被称为感知器收敛定理。

四、感知器神经网络的训练

要使前向神经网络模型实现某种功能,必须对它进行训练,让它逐步学会要做的事情,并把所学到的知识记忆在网络的权值中。感知器神经网络的训练是采用由一组样本组成的集合来进行。在训练期间,将这些样本重复输入,通过调整权值使感知器的输出达到所要求的理想输出。感知器的训练主要是反复对感知器神经网络进行仿真和学习,最终得到最优的网络阀值和权值。

我们可以用以下方法训练网络:

1)确定我们所解决的问题的输入向量P、目标向量t,并确定各向量的维数,以及网络结构大小、神经元数目。假定我们采用图2.2的网络结构。

2)初始化:权值向量w和阀值向量b分别赋予[-1,+1]之间的随机值,并且给出训练的最大次数。

3)根据输入向量P、最新权值向量w和阀值向量b,计算网络输出向量a。

4)检查感知器输出向量与目标向量是否一致,或者是否达到了最大的训练次数,如果是则结束训练,否则转入(5)。

5)根据感知器学习规则调查权向量,并返回3)。

五、重要的感知器神经网络函数的使用方法

对于感知器的初始化、训练、仿真,在MA TLABP神经网络工具箱中分别提供了init( ), trainp( )和sim( )函数。

1.初始化函数init( )

感知器初始化函数init( )可得到R个输入,S个神经元数的感知器层的权值和阀值,其调用格式为:

[w,b]=init(R,S)

另外,也可以利用输入向量P和目标向量t来初始化。

[w,b]=init(p,t)

在介绍trainp( )函数前,让我们先介绍一下训练的控制参数tp。

tp=[disp_freq max_epoch]

其中disp_freq指定两次显示间训练次数,缺省值为1;map_epoch指定训练的最大次数,缺省值为100。

2. 训练函数trainp( )

调用训练函数trainp( )函数后又得到新的权值矩阵,阀值向量以及误差te。trainp( )函数所需要的输入变量为:输入向量P、目标向量t以及网络的初始权值和阀值,训练的控制参数tp。调用格式为:

[w,b,te]=trainp(w,b,p,t,tp)

由于函数trainp( )并不能保证感知器网络所得到的网络权值和阀值达到要求。因此,在训练完后,要用下列验证语句验证一下。

a=sim(p, w, b);

if all(a= =t),disp( ′It works!′),end

假如网络不能成功运行,就可以继续运用trainp( )函数对网络进行训练。经足够的训练后,网络仍达不到要求,那么就应当认真分析一下,感知器网络是否适合于这个问题。

3.仿真函数sim( )

sim( )函数主要用于计算网络输出。它的调用比较简单。 a=sim(p,w,b)

六、感知器神经网络应用举例

为了便于消化与理解感知器神经网络的四个问题,下面将给出一个具体的问题进行分析,问题的描述如下:

两种蠓虫Af 和Apf 已由生物学家W.L.Grogan 与w. w. Wirth(1981)根据它们触角长度和翼长中以区分。见表1.1中9Af 蠓和6只Apf 蠓的数据。根据给出的触角长度和翼长可识别出一只标本是Af 还是Apf 。

1.给定一只Af 或者Apf 族的蒙,你如何正确地区分它属于哪一族? 2.将你的方法用于触角长和翼中分别为(1.24,1.80)、(1.28,1.84)、(1.40,2.04)的三个标本

表1.1

输入向量为:

p=[1.24 1.36 1.38 1.378 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30;1.72 1.74 1.64 1.82 1.90 1.70 1.70 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96 ]

目标向量为:

图形显示,目标值1对应的用“+”、目标值0对应的用“o ”来表示:

plotpv(p ,t)

为解决该问题,利用函数newp 构造输入量在[0,2.5]之间的感知器神经网络模型:

net=newp([0 2.5;0 2.5],1) 初始化网络:

net=init(net)

利用函数adapt调整网络的权值和阀值,直到误差为0时训练结束:[net, y, e]=adapt(net, p, t)

训练结束后可得如图1.5的分类方式,可见感知器网络将样本正确地分成两类:

图1.5 网络训练结果

感知器网络训练结束后,可以利用函数sim进行仿真,解决实际的分类问题:

p1=[1.24;1.80]

a1=sim(net,p1)

p2=[1.28;1.84]

a2=sim(net,p2)

p3=[1.40;2.04]

a3=sim(net,p3)

网络仿真结果为:

a1=0 a2=0 a3=0

实验二线性神经网络的MATLAB实现线性神经网络是最简单的一种神经元网络,由一个或多个线性神经元构成。1959年,美国工程师B.widrow和M.Hoft提出自适应线性元件(Adaptive linear element,简称Adaline)是线性神经网络的最早典型代表。它是感知器的变化形式,尤其在修正权矢量的方法上进行了改进,不仅提高了训练收敛速度,而且提高了训练精度。线性神经网络与感知器神经网络的主要不同之处在于其每个神经元的传递函数为线性函数,它允许输出任意值,而不是象感知器中只能输出0或1。此外,线性神经网络一般采用Widrow-Hoff (简称W-H)学习规则或者最小场方差(Least mean Square,简称LMS)规则来调整网络的权值和阀值。

线性神经网络的主要用途是线性逼近一个函数表达式,具有联想功能。另外,它还适用于信号处理滤波、预测、模式识别和控制等方面。

一、线性神经元模型

线性神经元可以训练学习一个与之对应的输入/输出函数关系,或线性逼近任意一个非线性函数,但它不能产生任何非线性的计算特性。

图2.1描述了一个具有R个输入的由纯线性函数组成的线性神经元。

图2.1 线性神经元模型

由于线性神经网络中神经元的传递函数为线性函数,其输入与输出之间是简单的比例关系:

a=g(w*p,b)

其中函数g(x)为线性函数。

二、线性神经网络结构

如图2.2描述了一个由S 个神经元相并联形成一层网络,这种网络也称为Madaline 网络。

W -H 学习规则只能训练单层的线性神经网络,但这并不是什么严重问题。因为对线性神经网络而言,完全可以设计出一个性能完全相当的单层线性神经网络。

三、线性神经学习网络的学习规则

前面我们提到过,线性神经网络采用W -H 学习规则。W -H 学习规则是Widrow 是Hoft 提出的用来求得权值和阀值的修正值的学习规则。

首先要定义一个线性网络的输出误差函数:

E(w,b)=

21(t ―a)2=2

1

(t ―w*p)2 2.1 由式2.1可看出,线性网络具有抛物线型误差函数所形成的误差表面。所以只有一个误差最小值。通过W -H 学习规则来计算权值和偏差的变化,并使网络的误差平方和最小化,总能够训练一个网络的误差趋于最小值。这可通过沿着相对于误差平方和最速下降方向连续调整网络的权值和阀值来实现。根据梯度下降法,权矢量的修正值正比于当前位置上E (w,b )的梯度,对于第i 输出节点为:

j i i ij

ij p a t w E

w )(-=??-=?ηη

2.2 或表示为:

P

1 S ×1

图2.2 线性神经元网络

j i ij p w ηδ=? 2.3

i i b ηδ=? 2.4

这里δi 定义为第i 个输出节点的误差:

δi =t i ―a i 2.5

式2.3称为W -H 学习规则。W -H 学习规则的权值变化量正比于网络的输出误差及网络的输入向量。它不需求导数,所以算法简单,又具有收敛速度快和精度高的优点。

式2.3中的 称为学习率,学习率的选取可以适当防止学习过程中产生振荡,提高收敛速度和精度。

四、线性神经网络训练

首先给线性神经网络提供输入向量P ,计算线性网络层的输出向量a ,并求得误差e=t ―a ;

然后比较输出的误差平方和是否小于期望的误差平方和,如果是,则停止训练;否则,采用W -H 规则调整权值和阀值,反复进行。

如果经过训练网络不能达到期望目标,可以继续对网络进行训练。经过足够的训练后,网络还是达不到要求。那么就仔细地分析一下, 所要解决的问题,是否适合于线性神经网络。

五、重要线性神经网络函数的使用方法

在MA TLAB 神经网络工具箱中提供了基于线性神经网络的初始化函数initlin( )、设计函数solvelin( )、仿真函数simulin( )以及训练函数trainwh 和adaptwh 。下面我们将分别介绍多种函数的使用方法。

1.初始化函数initlin( )

函数initlin( )对线性神经网络初始化时,将权值和阀值取为绝对值很小的数。其使用格式

[w,b]=initlin(R,S)

R 为输入数,S 为神经元数。

另外,R 和S 也可用输入向量P 和目标向量t 来代替,即 [w,b]=initlin(p,t) 2.设计函数solvelin( )

与大多数其它神经网络不同,只要已知其输入向量P和目标向量t,就可以直接设计出线性神经网络使得线性神经网络的权值矩阵误差最小。其调用命令如下:

[w,b]=solve lin(p,t);

3.仿真函数simulin( )

函数simulin( )可得到线性网络层的输出

a=simulin(p,w,b)

其中a为输出向量,b为阀值向量

4.训练函数trainwh 和adaptwh( )

线性神经网络的训练函数有两种:trainwh( )和adaptwh( )。其中函数trainwh可以对线性神经网络进行离线训练;而函数adaptwh( ) 可以对线性神经网络进行在线自适应训练。

利用trainwh( )函数可以得到网络的权矩阵w,阀值向量b,实际训练次数te 以及训练过程中网络的误差平方和lr。

[w,b,te,lr]=trainwh(w,b,p,t,tp)

输入变量中训练参数tp为:

·tp(1)指定两次更新显示间的训练次数,其缺省值为25;

·tp(2)指定训练的最大次数,其缺省值为100;

·tp(3)指定误差平方和指标,其缺省值为0.02;

·tp(4)指定学习速率,其缺省值可由maxlinlr( )函数(此函数主要用于计算采用W-H规则训练线性网络的最大的稳定的分辨率)得到。

而利用函数adaptwh( )可以得到网络的输出a、误差e、权值矩阵w和阀值向量b。

[a,e,w,b]=adaptwh(w,b,p,t,lr)

输入变量lr为学习速率,学习速率lr 为可选参数,其缺省值为1.0。

另外,函数maxlinlr( )的调用格式为:

lr=maxlinlr(p);

六、线性神经网络的应用举例

为了理解线性神经网络的理论及其应用问题,下面给出一个实际问题进

行分析,设计一个线性神经网络,用于信号仿真及信号预测。

首先输入信号样本为:

time=1:0.0025:5;

p=sin(sin(time)*time*10);

目标信号为:

t=p*2+2;

图形显示样本信号的规律为:

plot(time, p, time, t, ’---’)

title(‘Input and Target Signals’)

xlabel(‘Time’)

ylabel(‘Input__ Target__’)

图2.3 样本信号

利用输入样本信号和理想输出进行线性神经网络初始化:[w,b]=initlin(p,t)

然后利用函数adaptwh对构造的网络进行训练,

lr=0.01;[a, e, w, b]=adaptwh(w, b, p, t, lr)

其中lr为学习率,a为网络的输出,e为误差。

仿真结果与目标信号对比分析:

plot(time, a, time, t, ‘--’)

title(‘Output and Target Signals’)

xlabel(‘Time’);ylabel(‘Output__ Target__’)

图2.4 仿真结果与目标信号对比分析误差分析:

plot(time,e)

hold on;plot([min(time) max(time)],[0 0],':r') xlabel('Time');ylabel('Error')

图2.5 误差分析

实验三 BP 神经网络的MATLAB 实现

感知器神经网络模型和线性神经网络模型虽然对人工神经网络的发展起了很大的作用,它们的出现也曾掀起了人们研究神经网络的热潮。但它们有许多不足之处。人们也曾因此失去了对神经网络研究的信心,但rumelhart 、mcclellard 和他们的同事洞悉到网络信息处理的重要性,并致力于研究并行分布信息处理方法,探索人类认知的微结构,于1985年发展了BP 网络的学习算法。从而给人工神经网络增添了活力,使其得以全面迅速地恢复发展起来。

BP 网络是一种多层前馈神经网络,其神经元的激励函数为S 型函数,因此输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。由于其权值的调整是利用实际输出与期望输出之差,对网络的各层连接权由后向前逐层进行校正的计算方法,故而称为反向传播(Back-Propogation )学习算法,简称为BP 算法。BP 算法主要是利用输入、输出样本集进行相应训练,使网络达到给定的输入输出映射函数关系。算法常分为两个阶段:第一阶段(正向计算过程)由样本选取信息从输入层经隐含层逐层计算各单元的输出值;第二阶段(误差反向传播过程)由输出层计算误差并逐层向前算出隐含层各单元的误差,并以此修正前一层权值。BP 网络主要用于函数逼近、模式识别、分类以及数据压缩等方面。

一、BP 网络的网络结构

BP 网络通常至少有一个隐含层,如图3.1所示的是一个具有R 个输入

感知器与线性神经元的主要差别在于激励函数上:前者是二值型的,而

后者是线性的。BP 网络除了在多层网络上与已介绍过的模型有不同外,其

图3.1 具有一个隐含层的BP 网络结构

P 1

主要差别也表现在激励函数上。

图3.2所示的两种S 型激励函数的图形,可以看到f (· )是连续可微的单调递增函数,这种激励函数的输出特性比较软,其输出状态的取值范围为[0,1]或者[-1,+1],其硬度可以由参数λ来调节。函数的输入输出关系表达式如下所示:

双极型的S 型激励函数:)

ex p(12

)(net net f λ-+=

, f(net)∈(-1,1)

单极型的S 型激励函数:)

ex p(11

)(net net f λ-+=

, f(net)∈(0,1)

图3.2 sigmoid 型函数图形

对于多层网络,这种激励函数所划分的区域不再是线性划分,而是由一个非线性的超平面组成的区域。

因为S 型函数具有非线性的大系数功能。它可以把输入从负无穷到正无穷大的信号变换成-1到+1之间输出,所以采用S 型函数可以实现从输入到输出的非线性映射。

二、BP 网络学习规则

BP 网络最为核心的部分便是网络的学习规则。用BP 算法训练网络时有两种方式:一种是每输入一样本修改一次权值;另一种是批处理方式,即使组成一个训练周期的全部样本都依次输入后计算总的平均误差。这里我们主要探讨的是后一种方式。

下面我们给出两层网络结构示意简图4.3,并以此探讨BP 算法。 BP 网络的学习过程主要由以下四部分组成: 1)输入样本顺传播

输入样本传播也就是样本由输入层经中间层向输出层传播计算。这一过程主要是

输入样本求出它所对应的实际输出。

① 隐含层中第i 个神经元的输出为

111111,,2,1s i b p w f a R j i j ij i Λ=???

?

??+=∑= (3.1)

② 输出层中第k 个神经元的输出为:

2211222,2,1,1s i b a w f a k S i i

ki k

Λ=???

?

??+=∑= (3.2)

其中f 1(·), f 2 (·)分别为隐含层的激励函数。 2)输出误差逆传播

在第一步的样本顺传播计算中我们得到了网络的实际输出值,当这些实际的输出值与期望输出值不一样时,或者说其误差大于所限定的数值时,就要对网络进行校正。

首先,定义误差函数

E (w ,b )=2

21

)(212k k s k a t -∑= (3.3)

其次,给出权值的变化 ① 输出层的权值变化

从第i 个输入到第k 个输出的权值为:

i ki ki

ki a w E

w 122??=??-=?δηη

(3.4) 其中:

'2f e k ki =δ (3.5)

k k k a l e 2-= (3.6)

② 隐含层的权值变化

从第j 个输入到第i 个输出的权值为:

101<

j

ij ij

ij p w E

w (η为学习系数)

(3.7)

其中:

'1f e i ij ?=δ (3.8)

ki ki s k i w e 212

?=∑=δ (3.9)

由此可以看出:①调整是与误差成正比,即误差越大调整的幅度就越大。②调整量与输入值大小成比例,在这次学习过程中就显得越活跃,所以与其相连的权值的调整幅度就应该越大,③调整是与学习系数成正比。通常学习系数在0.1~0.8之间,为使整个学习过程加快,又不会引起振荡,可采用变学习率的方法,即在学习初期取较大的学习系数随着学习过程的进行逐渐减小其值。

最后,将输出误差由输出层经中间层传向输入层,逐层进行校正。 3)循环记忆训练

为使网络的输出误差尽可能的小,对于BP 网络输入的每一组训练样本,一般要经过数百次甚至上万次的反复循环记忆训练,才能使网络记住这一样本模式。

这种循环记忆训练实际上就是反复重复上面介绍的输入模式正向传播和输出误差逆传播过程。

4)学习结束的检验

当每次循环记忆结束后,都要进行学习是否结束的检验。检验的目的主要是检查输出误差是否已经符合要求。如果小到了允许的程度,就可以结束整个学习过程,否则还要进行循环训练。

三、BP 网络的训练

对BP 网络进行训练时,首先要提供一组训练样本,其中每个样本由输入样本和输出对组成。当网络的所有实际输出与其理想输出一致时,表明训练结束。否则,通过修正权值,使网络的实际输出与理想输出一致。

实际上针对不同具体情况,BP网络的训练有相应的学习规则,即不同的最优化算法,沿减少理想输出与实际输出之间误差的原则,实现BP网络的函数逼近、向量分类和模式识别。以图3.3为例来说明BP网络训练的主要过程。

图3.3 含一个隐含层的BP网络结构

首先:网络初始化,构造合理的网络结构(这里我们采用图4.3的网络结构),取可调参数(权和阀值)为[-1,1]上服从均匀分布随机数,并取定期望误差、最大循环次数和修正权值的学习率的初始值。

其次,利用相应的BP网络学习规则对网络进行训练,求得权值修正后的误差平方和。

最后,检查网络误差平方和是否降低到期望误差之下,若是,训练结束,否则继续。

四、重要BP神经网络函数的使用方法

函数initff( )和simuff可以用来初始化和仿真不超过三层的前馈型网络。函数trainbp( )、trainbpx( )、trainlm( )可用来训练BP网络。其中trainlm( )的训练速度最快,但它需要更大的存储空间,也就是说它是以空间换取了时间;trainbpx( )的训练速度次之;trainlm( )最慢。

1.初始化函数initff( )

函数initff( )的主要功能就是对至多三层的BP网络初始化。其使用格式有多种,现列如下:

[w,b]=initff(p, s, f)

[w1, b1, w2, b2]=initff(p, s1, f1, s2, f2)

[w1, b1, w2, b2, w3, b3]=initff(p, s1, f1, f2, s3, f3)

[w, b]=initff(p, s, t)

[w1,b1,w2,b2]=initff(p, s1, f1, s2, t)

[w1, b1, w2, b2, w3, b3]=initff(p, s1, f1, s2, f2, s3, t)

[w, b]=initff(p, s, f)可得到s个神经元的单层神经网络的权值和阀值,其中p为输入向量,f为神经元的激励函数。

BP网络有一个特点很重要,即p中的每一行中必须包含网络期望输入的最大值和最小值,这样才能合理地初始化权值和阀值。

2.仿真函数simuff( )

BP网络是由一系列网络层组成,每一层都从前一层得到输入数据,函数simuff( )可仿真至多三层前馈型网络。对于不同的网络层数,其使用格式为:

a=simuff(p, w1, b1, f1)

a=simuff(p, w1, b1, f1, w2, b2, f2)

a=simuff(p, w1, b1, f1, w2, b2, f2, w3, b3, f3)

以上三式分别为单层、双层和三层网络结构的仿真输出。

3.训练函数

关于前面所提到的几种BP网络训练函数,在这里只介绍其中之一:trainbp( )。

函数trainbp( )利用BP算法训练前馈型网络。trainbp( )函数可以训练单层、双层和三层的前馈型网络,其调用格式分别为:

[w, b, te, tr]=trainbp(w, b, f′,p, t, tp)

[w1, b1, w2, b2, te, tr]=trainbp(w1,b1, f1′,w2, b2, f2′,p, t, tp)

[w1,b1,w2,b2,w3,b3,te,tr]=trainbp(w1, b1, f1′,w2, b2, f2′,w3, b3, f3′,p, t, tp)

可选训练参数tp内的四个参数依次为:

·tp(1)指定两次显示间的训练次数,其缺省值25;

·tp(2)指定训练的最大次数,其缺省值100;

·tp(3)指定误差平方和指标,其缺省值0.02;

·tp(4)指定学习速率,其缺省值0.01;

只有网络误差平方和降低到期望误差之下,或者达到了最大训练次数,网络才停止学习。学习速率指定了权值与阀值的更新比例,较小学习速率会导致学习时间较长,但可提高网络权值收敛效果。

五、BP网络的应用举例

BP网络的函数逼近举例:设计一个BP网络,其隐含层神经元的激励函数为双曲正切函数,输出层神经元的激励函数为线性函数,学习样本为21组单输入矢量,理想输出为相应的单输出矢量。

输入矢量为:

p=-1:0.1:1;

理想输出矢量为:

t=[-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201];

输入输出的函数关系曲线:

plot(p,t)

xlabel('Input')

ylabel('Output')

图3.4 输入输出关系

利用输入和理想输出进行BP神经网络初始化:

[w1,b1,w2,b2]=initff(p,5,'tansig',t,'purelin')

利用函数trainbp对构造的BP网络进行训练:

df=10

me=8000

eg=0.02

lr=0.01

tp=[df me eg lr]

[w1,b1,w2,b2,ep,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)

其中df指定两次显示间的训练次数,其缺省值25;me指定训练的最大次数,其缺省值100;eg指定误差平方和指标,其缺省值0.02;lr指定学习速率,其缺省值0.01;

训练结果与理想输出对比分析:

图3.5 训练结果与理想输出对比分析

网络的训练过程中,网络收敛效果一定程度上要受网络初始化的初始值的影响,实际输出和理想输出的误差的变化情况可以反映网络学习的效果,这一点可以通过如图3.6反映:

ploterr(tr, eg)

其中tr为网络学习的循环次数。

人工智能导论doc

西安交通大学 “人工智能导论”课程教学大纲 英文名称:Introduction to Artificial Intelligence 课程编码:COMP3022 学时:32 学分:2 适用对象:自动控制专业 先修课程:离散数学、数据结构、概率统计 使用教材及参考书: 蔡自兴,徐光祐。人工智能及其应用,第三版,本科生用书。清华大学出版社,2003。 廉师友人工智能技术导论(第二版),西安电子科技大学出版社,2002。 一、课程性质、目的和任务 通过本课程的学习,使学生了解人工智能的研究范畴、应用领域和发展方向,掌握该学科的基本概念、原理和方法,对主要技术及应用有一定掌握,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。 学习人工智能的知识表示方法和搜索推理技术,包括状态空间法、问题归约法、谓词逻辑法、语义网络法、盲目搜索、启发式搜索、规则演绎算法和产生式系统等。讨论高级知识推理,涉及非单调推理和各种不确定推理方法。探讨人工智能的新研究领域,如神经计算、进化计算和人工生命等。 二、教学基本要求 三、教学内容及要求 第一章绪论 (2学时) 人工智能概念和发展

人工智能的主要研究和应用领域; 人工智能研究的不同学派 国内外人工智能研究情况和新进展第二章知识表示方法(6学时) 知识与知识表示的概念 一阶谓词逻辑表示法 产生式表示法 语义网络表示法 框架表示法 脚本表示法 过程表示法 面向对象表示法 第三章逻辑推理(6学时) 推理的基本概念 推理的逻辑基础 自然演绎推理 归结演绎推理 基于规则的演绎推理 第四章搜索策略(6学时) 搜索的基本概念 状态空间的盲目搜索 状态空间的启发式搜索 与/或树的搜索 博弈树的搜索 第五章高级求解技术(6学时) 不确定推理的概念和基础

人工智能实验报告大全

人工智能实验报告大 全

人工智能课内实验报告 (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)

人工智能导论试卷一答案 (上海交大)

一、选择题答案1、b 2、A 3、A 二、填空题答案 1、在修正的A算法中,fm的含义是到当前为止,扩展的节点中,f的最大值 2、对任意节点n,设m是n的子节点,当h满足条件h(n)-h(m) ≤ C(n, m), h(t) = 0时,称h是单调的。 三、问答题答案 第1题 答:当问题有解时,A*算法总是找到问题的最优解结束。如果h函数定义的不合理,则当扩展一个节点时,不一定就找到了从初始节点到该节点的最优路径,对于这样的节点,就有可能被多次扩展。特别是如果这样的节点处于问题的最优解路径上时,则一定会被多次扩展。解决的方法一是对h函数的定义给出限制,使得h满足单调性。对于满足单调性条件的h,则一定不会出现重复扩展节点问题。二是对A*算法加以改进,使用修正的A*算法进行搜索,则可以减少重复扩展节点问题。 第2题 答:回溯搜索策略与深度有限搜索策略最大的不同是深度有限搜索策略属于图搜索,而回溯搜索则不是图搜索。在回溯搜索中,只保留了从初始节点到当前节点的搜索路径。而深度优先搜索,则保留了所有的已经搜索过的路径。 第3题 答:化子句集如下:

归结树如下: 修改证明树:

得到问题的解答:R(h(f(g(c, a)))) 第4题 第5题 答:搜索图如图所示,其中括号内标出的是节点的f值,圆圈内的数字是扩展的次序。F(16) 得到的解路径为:S-B-F-J-T 第6题 答:如下的知识可以帮助求解该问题: (1)序列中,偶数在偶数位置,奇数在奇数位置; (2)第五个数为5。 综合数据库:

用一个1到9的序列表示:N = {x},其中x为1到9的数字之一。规则集: r1: IF len(N)=4 THEN {x}∪{5} r2: IF len(N)为偶数and n=In(1, 3, 7, 9) THEN {x}∪{n} r3: IF len(N)为奇数and n=In(2, 4, 6, 8) THEN {x}∪{n} 其中len(N)为求序列的长度,In(a, b, c, d)为取a、b、c、d之一。初始状态:{} 结束条件:得到的序列N前i个数组成的整数能被i整除。

《人工智能导论》课程研究报告总结

《人工智能导论》课程研究报告题目:BP神经网络的非线性函数拟合 班级:自动化1303班 姓名:汪洋、房亮、彭正昌、蔡博、刘航、范金祥 学号: 2016年1月1日

目录 第一章人工智能相关介绍 1.1人工神经网络与matlab (3) 1.2人工神经网络的研究背景和意义 (3) 1.3神经网络的发展与研究现状 (4) 1.4神经网络的应用 (5) 第二章神经网络结构及BP神经网络 (5) 2.1神经元与网络结构 (5) 2.2 BP神经网络及其原理 (9) 2.3 BP神经网络的主要功能 (11) 第三章基于matlab的BP神经网络的非线性函数拟合 3.1运用背景 (5) 3.2模型建立 (9) 3.3MatLab实现 (11) 参考文献 (15) 附录 (17)

人工智能相关介绍 1.1人工神经网络与matlab 人工神经网络(Artificial Neural Networks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科。 神经网络具有非线性自适应的信息处理能力,克服了传统人工智能方法对于直觉的缺陷,因而在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。神经网络与其他传统方法相组合,将推动人工智能和信息处理技术不断发展。近年来,神经网络在模拟人类认知的道路上更加深入发展,并与模糊系统、遗传算法、进化机制等组合,形成计算智能,成为人工智能的一个重要方向。 MATLAB是一种科学与工程计算的高级语言,广泛地运用于包括信号与图像处理,控制系统设计,系统仿真等诸多领域。为了解决神经网络问题中的研究工作量和编程计算工作量问题,目前工程领域中较为流行的软件MATLAB,提供了现成的神经网络工具箱(Neural Network Toolbox,简称NNbox),为解决这个矛盾提供了便利条件。神经网络工具箱提供了很多经典的学习算法,使用它能够快速实现对实际问题的建模求解。在解决实际问题中,应用MATLAB 语言构造典型神经网络的激活传递函数,编写各种网络设计与训练的子程序,网络的设计者可以根据需要调用工具箱中有关神经网络的设计训练程序,使自己能够从烦琐的编程中解脱出来,减轻工程人员的负担,从而提高工作效率。 1.2 人工神经网络的研究背景和意义 人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 人工神经网络就是模拟人思维的一种方式,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。 近年来通过对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点:(1)通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。(2)争取构造出尽可能与人脑具有相似功能的计算机,即神经网络计算机。(3)研究仿照脑神

人工智能实验报告

《人工智能》课外实践报告 项目名称:剪枝法五子棋 所在班级: 2013级软件工程一班 小组成员:李晓宁、白明辉、刘小晶、袁成飞、程小兰、李喜林 指导教师:薛笑荣 起止时间: 2016-5-10——2016-6-18

项目基本信息 一、系统分析 1.1背景

1.1.1 设计背景 智力小游戏作为人们日常休闲娱乐的工具已经深入人们的生活,五子棋更成为了智力游戏的经典,它是基于AI的αβ剪枝法和极小极大值算法实现的人工智能游戏,让人们能和计算机进行对弈。能使人们在与电脑进行对弈的过程中学习五子棋,陶冶情操。并且推进人们对AI的关注和兴趣。 1.1.2可行性分析 通过研究,本游戏的可行性有以下三方面作保障 (1)技术可行性 本游戏采用Windows xp等等系统作为操作平台,使用人工智能进行算法设计,利用剪枝法进行编写,大大减少了内存容量,而且不用使用数据库,便可操作,方便可行,因此在技术上是可行的。 (2)经济可行性 开发软件:SublimText (3)操作可行性 该游戏运行所需配置低、用户操作界面友好,具有较强的操作可行性。 1.2数据需求 五子棋需要设计如下的数据字段和数据表: 1.2.1 估值函数:

估值函数通常是为了评价棋型的状态,根据实现定义的一个棋局估值表,对双方的棋局形态进行计算,根据得到的估值来判断应该采用的走法。棋局估值表是根据当前的棋局形势,定义一个分值来反映其优势程度,来对整个棋局形势进行评价。本程序采用的估值如下: 状态眠二假活三眠三活二冲四假活三活三活四连五 分值 2 4 5 8 12 15 40 90 200 一般来说,我们采用的是15×15的棋盘,棋盘的每一条线称为一路,包括行、列和斜线,4个方向,其中行列有30路,两条对角线共有58路,整个棋盘的路数为88路。考虑到五子棋必须要五子相连才可以获胜,这样对于斜线,可以减少8路,即有效的棋盘路数为72路。对于每一路来说,第i路的估分为E(i)=Ec(i)-Ep(i),其中Ec(i)为计算机的i路估分,Ep(i)为玩家的i路估分。棋局整个形势的估值情况通过对各路估分的累加进行判断,即估值函数: 72 F(n)= Σ E(i) i=1 1.2.2 极小极大值算法: 极大极小搜索算法就是在博弈树在寻找最优解的一个过程,这主要是一个对各个子结点进行比较取舍的过程,定义一个估值函数F(n)来分别计算各个终结点的分值,通过双方的分值来对棋局形势进行分析判断。以甲乙两人下棋为例,甲为max,乙为min。当甲走棋时,自然在博弈树中寻找最大点的走法,轮到乙时,则寻找最小点的走法,如此反复,这就是一个极大极小搜索过程,以此来寻找对机器的最佳走法。

《人工智能导论》课程期末考试试卷二 答案 (上海交大)

一、选择题答案1、A2、A 二、填空题答案 1、基于规则的正向演绎系统使用的条件是(1)事实表达式是任意形式(2)规则形式为L→W或L1∨L2→W,其中L为单文字,W为任意形(3)目标公式为文字析取形 2、基于规则的逆向演绎系统使用的条件是(1)事实表达式是文字合取形(2)规则形式为W→L 或W→L1∧L2 ,其中L为单文字,W为任意形(3)目标公式为任意形式 3、归结法中,可以通过修改证明树的方法得到问题的解答。 三、问答题答案 第1题答:

得解图:

第2题 第3题 答:综合数据库: (m1, m5, m9, b) 设从河的左岸到右岸,其中m1, m5,m9分别表示过河时间需要1分钟,5分钟和9分钟的人,在河左岸的人数。b=1表示船在左岸,b=0表示船在右岸。规则集: 初始状态:(2, 1, 1, 1) 结束状态:(0, 0, 0, 0) h函数:h(n) = m - b,其中m为在左岸的人数,b为船是否在左岸。 对于任意两个节点ni和nj,其中nj是ni的子节点。 当ni中b=1时,则nj中b=0,因此:max(h(ni)-h(j))=(m-1)-(m-1)=0, 而C(ni, nj)最小为1, 因此h(ni)-h(nj)

因此该h函数满足单调性条件。所以h满足A*条件。 第4题 答:对事实和规则进行skolem化: (1)(s) ~P(a) (2)(s)(P(g(s))) P(g(s)) (3)(x)(s)(y)((P(s)∧Q(b,x,s))→H(y) (P(s)∧Q(b,c,s))→H(f(s)) (4)(x)(s)(Q(b,x,s)→Q(b,x,g(s))) Q(b,x,s)→Q(b,x,g(s)) (5)(x)(s)(y)(~P(s)→Q(b,x,y)) ~P(s)→Q(b,x,h(x, s)) 经变量换名后,有事实和规则如下: ~P(a) P(g(s1)) r1: (P(s2)∧Q(b,c,s2))→H(f(s2)) r2: Q(b,x3,s3)→Q(b,x3,g(s3)) r3: ~P(s4)→Q(b,x4,h(x4, s4)) 用对偶形式对目标skolem 化: (x)H(x) H(x) 演绎图如下图(这里只给出了一个一致解图)。

公需公需科目3人工智能导论答案

公需科目3 人工智能导论答案 1、(单选,4分) 当前最流行的深度学习属于() A、连接主义 B、符号注意 C、行为主义 D、经验主义 答案:A 2、(单选,4分) AI是()的英文缩写 A、Automatic?Intelligence B、Artificial Intelligence C、Automatice?Information D、Artifical?Information 答案:B 3、(单选,4分) 下列哪个不是人工智能的研究领域() A、机器学习 B、图像处理 C、自然语言处理 D、编译原理 答案:D

4、(单选,4分) ()最早提出了机器智能的测试模型,并提出了人工智能的含义 A、爱因斯坦 B、霍金 C、波尔 D、图灵 答案:D 5、(单选,4分) 人工智能的目的是让机器能够( ),以实现某些脑力劳动的机械化。 A、具有完全的智能 B、和人脑一样考虑问题 C、完全代替人 D、模拟、延伸和扩展人的智能 答案:D 6、(单选,4分) 下列关于人工智能的叙述不正确的有( ) A、人工智能技术它与其他科学技术相结合极大地提高了应用技术的智能化水平。 B、人工智能是科学技术发展的趋势。 C、因为人工智能的系统研究是从上世纪五十年代才开始的,非常新,所以十分重要。 D、人工智能有力地促进了社会的发展。 答案:C 7、(单选,4分) 自然语言理解是人工智能的重要应用领域,下面列举中的()不是它要实现的目标。 A、理解别人讲的话。 B、对自然语言表示的信息进行分析概括或编辑。 C、欣赏音乐。

D、机器翻译。 答案:C 8、(单选,4分) 一般来讲,下列语言不常直接用于人工智能开发的是()。 A、Python B、Go C、R D、汇编语言 答案:D 9、(单选,4分) 确定性知识是指()知识。 A、可以精确表示的 B、正确的 C、在大学中学到的知识 D、能够解决问题的 答案:A 10、(单选,4分) 阿尔法狗打败柯洁,用的是() A、人工思维 B、机器思维 C、人工智能 D、博弈论 答案:C 11、(单选,4分) 下列( )不属于艾莎克.阿莫西夫提出的“机器人三定律”内容? A、机器人不得伤害人,或任人受到伤害而无所作为

《人工智能导论》教学大纲.

《人工智能导论》教学大纲 大纲说明 课程代码:3235042 总学时:32学时(讲课32学时) 总学分:2学分 课程类别:限制性选修 适用专业:计算机科学与技术,以及有关专业 预修要求:C程序设计语言,数据结构 课程的性质、目的、任务: 人工智能是计算机科学中涉及研究、设计和应用智能机器的一个分支。本课程是计算机科学与技术,以及有关专业重要的专业方向与特色模块课程之一。通过本课程的开设,使学生对人工智能的发展概况、基本原理和应用领域有初步了解,对主要技术及应用有一定掌握,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。 课程教学的基本要求: 人工智能的研究论题包括计算机视觉、规划与行动、多Agent系统、语音识别、自动语言理解、专家系统和机器学习等。这些研究论题的基础是通用和专用的知识表示和推理机制、问题求解和搜索算法,以及计算智能技术等。要求学生掌握这些研究论题的基础知识。 人工智能还提供一套工具以解决那些用其它方法难以解决,甚至无法解决的问题。这些工具包括启发式搜索和规划算法,知识表示和推理形式,机器学习技术,语音和语言理解方法,计算机视觉和机器人学等。要求学生掌握利用其中的重要工具解决给定问题的基本方法。大纲的使用说明: 通过适当调节教学内容和学时安排,减少有关章节学时和增加专家系统这一章的学时,本大纲亦可作为《人工智能与专家系统》的课程教学大纲。 大纲正文 第一章绪论学时:2学时(讲课2学时)了解人类智能与人工智能的含义,人工智能的发展和应用领域;理解人工智能的内涵。 本章讲授要点:在介绍人工智能概念的基础上,使学生了解本课程所涉知识的重要意义,以及人工智能的应用现状和应用前景。

(完整word版)哈工大人工智能导论实验报告

人工智能导论实验报告 学院:计算机科学与技术学院 专业:计算机科学与技术 2016.12.20

目录 人工智能导论实验报告 (1) 一、简介(对该实验背景,方法以及目的的理解) (3) 1. 实验背景 (3) 2. 实验方法 (3) 3. 实验目的 (3) 二、方法(对每个问题的分析及解决问题的方法) (4) Q1: Depth First Search (4) Q2: Breadth First Search (4) Q3: Uniform Cost Search (5) Q4: A* Search (6) Q5: Corners Problem: Representation (6) Q6: Corners Problem: Heuristic (6) Q7: Eating All The Dots: Heuristic (7) Q8: Suboptimal Search (7) 三、实验结果(解决每个问题的结果) (7) Q1: Depth First Search (7) Q2: Breadth First Search (9) Q3: Uniform Cost Search (10) Q4: A* Search (12) Q5: Corners Problem: Representation (13) Q6: Corners Problem: Heuristic (14) Q7: Eating All The Dots: Heuristic (14) Q8: Suboptimal Search (15) 自动评分 (15) 四、总结及讨论(对该实验的总结以及任何该实验的启发) (15)

人工智能导论课参考答案第2章

第2章知识表示方法部分参考答案 2.8设有如下语句,请用相应的谓词公式分别把他们表示出来: (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。 解:定义谓词 P(x):x是人 L(x,y):x喜欢y 其中,y的个体域是{梅花,菊花}。 将知识用谓词表示为: (?x )(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花)) (2) 有人每天下午都去打篮球。 解:定义谓词 P(x):x是人 B(x):x打篮球 A(y):y是下午 将知识用谓词表示为: (?x )(?y) (A(y)→B(x)∧P(x)) (3)新型计算机速度又快,存储容量又大。 解:定义谓词 NC(x):x是新型计算机 F(x):x速度快 B(x):x容量大 将知识用谓词表示为: (?x) (NC(x)→F(x)∧B(x)) (4) 不是每个计算机系的学生都喜欢在计算机上编程序。 解:定义谓词 S(x):x是计算机系学生 L(x, pragramming):x喜欢编程序 U(x,computer):x使用计算机 将知识用谓词表示为: ?(?x) (S(x)→L(x, pragramming)∧U(x,computer)) (5)凡是喜欢编程序的人都喜欢计算机。 解:定义谓词 P(x):x是人 L(x, y):x喜欢y 将知识用谓词表示为: (?x) (P(x)∧L(x,pragramming)→L(x, computer))

2.9用谓词表示法求解机器人摞积木问题。设机器人有一只机械手,要处理的世界有一张桌子,桌上可堆放若干相同的方积木块。机械手有4个操作积木的典型动作:从桌上拣起一块积木;将手中的积木放到桌之上;在积木上再摞上一块积木;从积木上面拣起一块积木。积木世界的布局如下图所示。 图机器人摞积木问题 解:(1) 先定义描述状态的谓词 CLEAR(x):积木x上面是空的。 ON(x, y):积木x在积木y的上面。 ONTABLE(x):积木x在桌子上。 HOLDING(x):机械手抓住x。 HANDEMPTY:机械手是空的。 其中,x和y的个体域都是{A, B, C}。 问题的初始状态是: ONTABLE(A) ONTABLE(B) ON(C, A) CLEAR(B) CLEAR(C) HANDEMPTY 问题的目标状态是: ONTABLE(C) ON(B, C) ON(A, B) CLEAR(A) HANDEMPTY (2) 再定义描述操作的谓词 在本问题中,机械手的操作需要定义以下4个谓词: Pickup(x):从桌面上拣起一块积木x。 Putdown(x):将手中的积木放到桌面上。 Stack(x, y):在积木x上面再摞上一块积木y。 Upstack(x, y):从积木x上面拣起一块积木y。 其中,每一个操作都可分为条件和动作两部分,具体描述如下:

2019公需科目《人工智能导论》答案

请选择答案。 1、(单选,4分) 当前最流行的深度学习属于() A、连接主义 B、符号注意 C、行为主义 D、经验主义 答案:A 2、(单选,4分) AI是()的英文缩写 A、Automatic?Intelligence B、Artificial Intelligence C、Automatice?Information D、Artifical?Information 答案:B 3、(单选,4分) 下列哪个不是人工智能的研究领域() A、机器学习 B、图像处理 C、自然语言处理 D、编译原理 答案:D 4、()最早提出了机器智能的测试模型,并提出了人工智能的含义 A、爱因斯坦 B、霍金 C、波尔 D、图灵 答案:D

5、(单选,4分) 人工智能的目的是让机器能够( ),以实现某些脑力劳动的机械化。 A、具有完全的智能 B、和人脑一样考虑问题 C、完全代替人 D、模拟、延伸和扩展人的智能 答案:D 6、(单选,4分) 下列关于人工智能的叙述不正确的有( ) A、人工智能技术它与其他科学技术相结合极大地提高了应用技术的智能化水平。 B、人工智能是科学技术发展的趋势。 C、因为人工智能的系统研究是从上世纪五十年代才开始的,非常新,所以十分重要。 D、人工智能有力地促进了社会的发展。 答案:C 7、(单选,4分) 自然语言理解是人工智能的重要应用领域,下面列举中的()不是它要实现的目标。 A、理解别人讲的话。 B、对自然语言表示的信息进行分析概括或编辑。 C、欣赏音乐。 D、机器翻译。 答案:C 8、(单选,4分) 一般来讲,下列语言不常直接用于人工智能开发的是()。 A、Python B、Go C、R

2020公需科目《人工智能导论》答案

冯?诺依曼计算机的五个组成部分不包括() A、运算器 B、控制器 C、处理器 D、存储器 答案:C 2、(单选,10分) 以下对强人工智能的描述不准确的是() A、机器具有类人或者超越人的智慧 B、人脑与AI界限模糊 C、计算机可表现出不低于人类智能水平的外部智能行为 D、计算机与人类特征连结 答案:C 3、(单选,10分) 当前主流人工智能研究的三个重要特征不包括:() A、关注智能体的外部行为,而不是产生该行为的内部过程 B、关注如何模拟人类纯粹智能活动,而不是脑力活动 C、将人工智能问题视为计算问题,通过数学建模进行求解 D、最终目标是得到能够适应人类生存环境的智能体 答案:C 4、(单选,10分) 以下哪个方法不属于检测人工智能的手段() A、威诺格拉德模式挑战 B、机器的标准化测试 C、物理图灵测试 D、中国餐馆测试 答案:D 5、(单选,10分) 2016年3月15日,AlphaGo首次战胜的人类围棋世界冠军是:() A、李世石 B、柯洁 C、古力 D、樊麾 答案:A

以下哪个部件不是AlphaGo的组成部分() A、策略网络 B、评估网络 C、蒙特卡罗树搜算法 D、纳什均衡博弈算法 答案:D 7、(单选,10分) AlphaGo的评估网络的设计思想源于() A、机器学习 B、增强学习 C、深度学习 D、无监督学习 答案:B 8、(单选,10分) AlphaGo的策略网络所采用的学习算法模型是() A、深度卷积神经网络 B、循环神经网络 C、递归神经网络 D、深度博弈网络 答案:A 9、(单选,10分) 以AlphaGo为代表的智能博弈机器人是典型的强人工智能。 A、正确 B、错误 答案:B 10、(单选,10分) 图灵测试与人工智能研究的最终目标都是得到可以通过图灵测试的计算机。 A、正确 B、错误 答案:B

人工智能实验报告

计算机科学与技术1341901301 敏 实验一:知识表示方法 一、实验目的 状态空间表示法是人工智能领域最基本的知识表示方法之一,也是进一步学习状态空间搜索策略的基础,本实验通过牧师与野人渡河的问题,强化学生对知识表示的了解和应用,为人工智能后续环节的课程奠定基础。 二、问题描述 有n个牧师和n个野人准备渡河,但只有一条能容纳c个人的小船,为了防止野人侵犯牧师,要求无论在何处,牧师的人数不得少于野人的人数(除非牧师人数为0),且假定野人与牧师都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出小船来回次数最少的最佳方案。 三、基本要求 输入:牧师人数(即野人人数):n;小船一次最多载人量:c。 输出:若问题无解,则显示Failed,否则,显示Successed输出一组最佳方案。用三元组(X1, X2, X3)表示渡河过程中的状态。并用箭头连接相邻状态以表示迁移过程:初始状态->中间状态->目标状态。 例:当输入n=2,c=2时,输出:221->110->211->010->021->000 其中:X1表示起始岸上的牧师人数;X2表示起始岸上的野人人数;X3表示小船现在位置(1表示起始岸,0表示目的岸)。 要求:写出算法的设计思想和源程序,并以图形用户界面实现人机交互,进行输入和输出结果,如: Please input n: 2 Please input c: 2 Successed or Failed?: Successed Optimal Procedure: 221->110->211->010->021->000 四、算法描述 (1)算法基本思想的文字描述;

2019公需科目计算智能+人工智能导论答案

D、人造机器人 答案:C PEAS分别是指哪些组件? A、性能/环境/执行器/传感器 B、传感器/性能/环境/执行器 C、环境/执行器/传感器/性能 D、传感器/环境/执行器/性能 答案:A 智能体程序分别有哪些类型?() A、感知智能体/决策智能体/学习智能体/规划智能体 B、简单反射型智能体/基于模型的反射型智能体/基于目标的智能体/基于效用的智能体 C、机器人/软件/硬件/算法 D、类人智能体/类动物智能体 答案:B 智能体使用什么组件来获得环境信息?() A、执行器 B、CPU C、传感器 D、条件--行动规律 答案:C 基于模型的反射型智能体的核心组件比简单反射型智能体多了什么?() A、执行器 B、传感器 C、CPU D、世界模型 答案:D 基于目标的智能体比基于模型的反射型智能体多了什么组件?() A、CPU B、世界模型 C、目标 D、环境 答案:C 可以把效用想象成什么?() A、效果 B、能源 C、金钱 D、智能体 答案:C 基于效用的智能体比基于目标的智能体多了什么核心组件?() A、世界模型 B、CPU C、效用评估 D、金钱

答案:C 哪个例子是强链接?() A、收音机听到的一个人 B、微博上的陌生朋友 C、亲人 D、同事 答案:CD 一个图表示为G = (V, E),其中V是指?() A、一个点 B、一条边 C、边集合 D、点集合 答案:D 局部信息相似性链路预测的优势是什么?() A、精准 B、速度快 C、符合实际场景 D、包含节点属性 答案:B 下面哪个是全局信息预测算法?() A、Common neighBors (CN) B、JACCArD (JC) C、ADAmiC-ADAr (AA) D、PAgeRAnk 答案:D 谷歌搜索引擎的算法基本框架是?() A、Common neighBors (CN) B、JACCArD (JC) C、ADAmiC-ADAr (AA) D、PAgeRAnk 答案:D PAgeRAnk中,参数Oj是指() A、所有网页的数量 B、从网页引出去的链接的数量 C、指向网页的链接的数量 D、可调参数 答案:B 一个好的学习训练模型应该是?() A、在训练时最小化错误率(提高在训练集上的准确率) B、模型应该简单(防止过拟合) C、将模型函数正则化 D、可以利用已知的数据特性,例如稀疏、低秩等 答案:ABCD 正则化是为了什么?

人工智能导论1-4章作业

《人工智能导论》作业(1-4章) 1.人工智能有哪几个主要的学派?各学派的基本理论框架和主要研究方向有何不同?2.用谓词逻辑方法表述下面问题积木世界的问题。 (定义谓词、描述状态、定义操作、给出操作序列) 3.请给出下列描述的语义网络表示: 1)11月5日,NBA常规赛火箭主场对阵小牛,火箭107-76大胜小牛。 2)张老师从9月至12月给自动化专业学生教授《自动控制原理》。李老师从10至12月 给计算机专业学生教授《操作系统原理》。 3)树和草都是植物;树和草都有根和叶;水草是草,生活在水中;果树是树,会结果; 苹果树是果树,结苹果。 4.请用相应谓词公式描述下列语句: 1)有的人喜欢足球、有的人喜欢篮球;有的人既喜欢足球又喜欢篮球。 2)喜欢编程的同学都喜欢计算机。 3)不是每个自控系的学生都喜欢编程。 4)有一个裁缝,他给所有不自己做衣服的人做衣服。 5)如果星期六不下雨,汤姆就会去爬山。 5.什么是谓词公式的解释?对于公式?x ?y (P(x)→Q(f(x),y)) D={1,2,3} 分别给出使公式为真和假的一种解释。 6.什么是合一?求出下面公式的最一般合一: P(f(y), y, x) P(x, f(a),z)。 7.把下面谓词公式化为子句集 ?x ?y (P(x,y)∨Q(x,y))→R(x,y)) ?x (P(x) →?y(P(y)∧R(x,y))

?x (P(x)∧?y(P(y) →R(x,y))) 8.证明下面各题中,G是否是F的逻辑结论? F1: ?x (P(x) →?y(Q(y)→L(x,y))) F2: ?x (P(x)∧?y(R(y) →L(x,y))) G: ?x (R(x) →~Q(x)) F1: ?z (~B(z)→?y(D(z,y)∧C(y))) F2: ?x (E(x)∧A(x)∧?y (D(x,y) →E(y))) F3: ?y(E(y) →~B(y)) G: ?z (E(z) ∧C(z)) 9.已知:John, Mike, Sam是高山俱乐部成员。 高山俱乐部成员都是滑雪运动员或登山运动员(也可以都是)。 登山运动员不喜欢雨。 滑雪运动员都喜欢雪。 凡是Mike喜欢的,John就不喜欢。 凡是Mike 不喜欢的,John就喜欢。 Mike喜欢雨和雪。 问:高山俱乐部是否有一个成员,他是登山运动员,但不是滑雪运动员?如果有,他是谁?10.为什么说归结式是其亲本子句的逻辑结论? 11.何为完备的归结策略?有哪些归结策略是完备的? 12.何谓搜索?有哪些常用的搜索方法?盲目搜索与启发式搜索的根本区别是什么?13.用状态空间法表示问题时,什么是问题的解?什么是最优解?在图搜索算法中,OPEN 表和CLOSED表的作用是什么?f(x)有何不同含义? 14.宽度优先搜索和深度优先搜索有何不同?在何种情况下,宽度优先搜索优于深度优先搜索,何种情况反之? 15.什么是启发式搜索,g(x)与h(x)各有什么作用?A*算法的限制条件是什么?

《人工智能导论》试卷

一、填空: 1.人工智能的研究途径有(1)、(2)和行为模拟。 2.任意列举人工智能的四个应用性领域(3)、(4)、(5)、(6)。 3.人工智能的基本技术包括(7)、(8)、(9)归纳技术、联想技术。 4.谓词逻辑是一种表达能力很强的形式语言,其真值的特点和命题逻辑的区别是 (10)。 5.谓词逻辑中,重言式(tautlogy)的值是(11)。 6.设P是谓词公式,对于P的任何论域,存在P为真的情况,则称P为(12)。 7.在著名的医疗专家系统MYCIN中规定,若证据A的可信度CF(A)=0,则意味 着13 ,CF(A)=-1,则意味着(14),CF(A)=1,则意味着(15)。 8.谓词公式G是不可满足的,当且仅当对所有的解释(16)。 9.谓词公式与其子句集的关系是(17)。 10.利用归结原理证明定理时,若得到的归结式为(18),则结论成立。 11.若C1=┐P∨Q,C2=P∨┐Q,则C1和C2的归结式R(C1,C2)= (19)。 12.若C1=P(x) ∨Q(x),C2=┐P(a) ∨R(y),则C1和C2的归结式R(C1,C2)= (20)。 13.有谓词公式G,置换δ,则G·ε= (21),δ·ε= (22)。 14.有子句集S={P(x),P(y)},其MGU= (23)。 15.在归结原理中,几种常见的归结策略并且具有完备性的是(24),(25),(26)。 16.状态图启发式搜索算法的特点是(27)。 17.广度优先搜索算法中,OPEN表的数据结构实际是一个(28),深度优先搜索算 法中,OPEN表的数据结构实际是一个(29)。 18.产生式系统有三部分组成(30),(31)和推理机。其中推理可分为(32)和 (33)。 19.专家系统的结构包含人机界面、(34),(35),(36),(37)和解 释模块。

《人工智能导论》试卷A(答案)

2006~2007学年第2学期考试A 卷 参考答案 一、1. 符号主义,连接主义,行为主义 3.状态,操作符 4.一套规则,一个控制策略 5.人工神经元网络 6.将误差信号沿原来的连接通路返回,通过修改各层神经元的连接权值,使误差信号减至最小 7.空子句 8.Q 9. L→W 或L1∨L2→W,L 为单文字 10.继承,匹配 11.图灵 12. 13. 14. 零均方差的高斯随机 二、CBCDCCADAB 三、1. (1)自然语言理解 (2)人工神经元网络 数据库智能检索 智能控制 专家咨询系统 智能调度和指挥 定理机器证明 智能决策支持系统 博弈 知识发现和数据发掘 机器人学 分布式人工智能 自动程序设计 组合调度问题 感知问题 2.

3.构成:略 特征:(1)能较好的模拟人的形象思维。 (2)具有大规模并行协同处理能力。 (3)具有较强的学习能力。 (4)具有较强的容错能力和联想能力。 (5)是一个大规模自组织、自适应的非线性动力系统。 4.遗传算法是一种随机搜索算法。该算法将优化问题看作是自然界生物的进化过程。模拟大自然生物进化的遗传规律来达到寻优的目的。 5.设A(x):想出国留学 P(x):欲穷千里目 Q(x):更上一层楼 (1)?x(~A(x)) (2)(?x)(Q(x) P(x)) 四、1. 得到的解路径为:S-B-F-J-T 2.启发式搜索图:

状态空间图:

3.

4.证明: R1:所有不贫穷且聪明的人都快乐:?x(~Poor(x)∧Smart(x)→Happy (x)) R2:那些读书的人是聪明的:?x(read(x)→Smart(x)) R3:约翰能读书且不贫穷:read(John)∧ ~Poor(John) R4:快乐的人过着幸福的生活:?x(Happy(x)→Blest(x)) 结论:约翰过着幸福的生活的否定:~ Blest(John) 将上述谓词公式转化为子句集并进行归结如下: 由R1可得子句: Poor(x)∨~Smart(x)∨Happy(x) 由R2可得子句: ~read(y)∨Smart(y) 由R3可得子句: read(John) ~Poor(John) 由R4可得子句: ~ Happy(z)∨Blest(z) 由结论的否定可得子句: ~ Blest(John) 根据以上6条子句,归结如下: ~ Happy(John)⑤⑥ John/z Poor(John)∨~Smart(John)⑦① John/x ~Smart(John)⑧④ ~ read(John)⑨② John/y □⑩③ 由上可得原命题成立。

人工智能导论实验

人工智能导论 实验报告 姓名:蔡鹏 学号:1130310726 实验一

一、实验内容 有如下序列,试把所有黑色格移到所有白色格的右边,黄色格代表空格,黑色格和白色格可以和距离不超过三的空格交换。 二、实验代码 #include #include #include #define N 10 #define inf 9999 int g=999; void tree_gener(struct node *fn,struct node *root); struct node { char seq[7]; int f,g,n; struct node *sn[N]; }; struct stack { int num; struct node *n[50]; }; void Enstack(struct node *sn,struct stack *S) { S->n[S->num]=sn; S->num++; } struct node *Destack(struct stack *S) { S->num--; return S->n[S->num]; } void find_min_f(struct node *root) { int i; struct node *n,*min; struct stack S; S.num=0; min=root;

Enstack(root,&S); while(S.num!=0) { n=Destack(&S); if(n->f < min->f) { min=n; } for(i=0;in;i++) { Enstack(n->sn[i],&S); } } tree_gener(min,root); if(g>min->g) { printf("seq:%c %c %c %c %c %c %c | g:%d \n",min->seq[0],min->seq[1],min->seq[2],min->seq[3],min->seq[4],min->seq[5],min->seq[6],min->g); } g=min->g; } void swap(struct node *sn,struct node *fn,int n,int m) { int i; for(i=0;i<7;i++) { sn->seq[i]=fn->seq[i]; } sn->seq[n]=fn->seq[m]; sn->seq[m]=fn->seq[n]; } int calcu_h(char seq[]) { int m=0,n=0,i; for(i=0;i<7;i++) { if(seq[i]=='B') { m++; } if(seq[i]=='W')

相关主题
文本预览
相关文档 最新文档