《人工智能及其应用》实验指导书 下载本文

《人工智能及其应用》实验指导书

《人工智能及其应用》

实验指导书

浙江工业大学计算机科学与技术学院—人工智能课程组

2011年9月

《人工智能及其应用》实验指导书

前 言

本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。

全书共分为八个实验:1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。

本实验指导书包括两个部分。第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。

由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。

人工智能课程组

2011年9月

第II页

《人工智能及其应用》实验指导书

目录

实验教学大纲................................................................................................................ 1 实验一 产生式系统实验............................................................................................ 3 实验二 模糊推理系统实验........................................................................................ 5 实验三 A*算法实验I ................................................................................................ 9 实验四 A*算法实验II ............................................................................................. 12 实验五 遗传算法实验I ........................................................................................... 14 实验六 遗传算法实验II .......................................................................................... 18 实验七 基于神经网络的模式识别实验.................................................................. 20 实验八 基于神经网络的优化计算实验................................................................... 24

第III页

《人工智能及其应用》实验指导书

实验教学大纲

一、学时:16学时,一般安排在第9周至第16周。

二、主要仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。 三、实验项目及教学安排

序号

实验名称

实验 平台

1 2

产生式系统应用 模糊推理系统应用

VC++ Matlab

设计知识库,实现系统识别或分类等。

1)设计洗衣机的模糊控制器; 2)设计两车追赶的模糊控制器。

3 4 5 6 7

A*算法应用I A*算法应用II 遗传算法应用I 遗传算法应用II 基于神经网络的模式识别

VC++ VC++ Matlab VC++ Matlab

设计与实现求解N数码问题的A*算法。

设计与实现求解迷宫问题的A*算法。

1)求某一函数的最小值; 2)求某一函数的最大值。 设计与实现求解不同城市规模的TSP问题的遗传算法。 1)基于BP神经网络的数字识别设计;

2)基于离散Hopfiel神经网络的联想记忆设计。

8

基于神经网络的优化计算

VC++

设计与实现求解TSP问题的连续Hopfield神经网络。 2

综合

课内

2

验证

课内

2

综合

课内

2

验证

课内

2

综合

课内

2

综合

课内

2

验证

课内

实验内容

学时 2

类型 设计

教学 要求 课内

四、实验成绩评定

实验课成绩单独按五分制评定。凡实验成绩不及格者,该门课程就不及格。学生的实验成绩应以平时考查为主,一般应占课程总成绩的50%,其平时成绩又要以实验实际操作的优劣作为主要考核依据。对于实验课成绩,无论采取何种方式进行考核,都必须按实验课的目的要求,以实际实验工作能力的强弱作为评定成绩的主要依据。

评定各级成绩时,可参考以下标准:

1

《人工智能及其应用》实验指导书

(一)优秀

能正确理解实验的目的要求,能独立、顺利而正确地完成各项实验操作,会分析和处理实验中遇到的问题,能掌握所学的各项实验技能,能较好地完成实验报告及其它各项实验作业,有一定创造精神和能力。有良好的实验室工作作风和习惯。 (二)良好

能理解实验的目的和要求,能认真而正确地完成各项实验操作,能分析和处理实验中遇到的一些问题。能掌握所学实验技能的绝大部分,对难点较大的操作完成有困难。能一般完成实验报告和其它实验作业。有较好的实验习惯和工作作风。

(三)中等

能粗浅理解实验目的要求,能认真努力进行各项实验操作,但技巧较差。能分析和处理实验中一些较容易的问题,掌握实验技能的大部分。有30%掌握得不好。能一般完成各项实验作业和报告。处理问题缺乏条理。工作作风较好。能认真遵守各项规章制度。学习努力。 (四)及格

只能机械地了解实验内容,能一般按图、或按实验步骤“照方抓药”完成实验操作,能完成60%所学的实验技能,有些虽作但不准确。遇到问题常常缺乏解决的办法,在别人启发下能作些简单处理,但效果不理想。能一般完成实验报告,能认真遵守实验室各项规章制度,工作中有小的习惯性毛病(如工作无计划,处理问题缺乏条理)。 (五)不及格

盲目地“照方抓药”,只掌握50%的所学实验技能。有些实验虽能作,但一般效果不好,操作不正确。工作忙乱无条理。一般能遵守实验室规章制度,但常有小的错误。实验报告较多的时候有结果,遇到问题时说不明原因,在教师指导下也较难完成各项实验作业。或有些小聪明但不努力,不求上进。

2

《人工智能及其应用》实验指导书

实验一 产生式系统实验

一、实验目的:

熟悉一阶谓词逻辑和产生式表示法,掌握产生式系统的运行机制,以及基于规则推理的基本方法。 二、实验内容

运用所学知识,设计并编程实现一个小型人工智能系统(如分类、诊断、预测等类型)。 三、实验条件:

产生式系统实验程序,如下图1所示。

图1 产生式系统实验程序界面

四、实验要求

1. 具体应用领域自选,具体系统名称自定;但所做系统绝对不能雷同。 2. 用一阶谓词逻辑和产生式规则作为知识表示,利用如图1所示的产生式系统实验程序,建立知识库,分别运行正、反向推理。

3

《人工智能及其应用》实验指导书

3. 系统完成后,提交实验报告。 五、实验步骤:

1. 基于如图1所示的产生式系统实验程序,设计并实现一个小型人工智能系统:

1)系统设置,包括设置系统名称和系统谓词,给出谓词名及其含义。 2)编辑知识库,通过输入规则或修改规则等,完成整个规则库的建立。 3)建立事实库(综合数据库),输入多条事实或结论。

4)运行推理,包括正向推理和反向推理,给出相应的推理过程、事实区和规则区。

2. 撰写实验报告。 六、实验报告

下面是实验报告的基本内容和书写格式。

递交的报告文件名:班级_学号_姓名_实验名称

———————————————————————

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验内容 三、实验步骤 四、实验结果

1. 系统名称及谓词定义 2. 系统知识库

3. 系统正、反向推理过程、事实区和规则区。 五、实验总结

———————————————————————

4

《人工智能及其应用》实验指导书

实验二 模糊推理系统实验

一、实验目的

理解模糊逻辑推理的原理及特点,熟练应用模糊推理,了解可能性理论。 二、实验原理

模糊推理所处理的事物自身是模糊的,概念本身没有明确的外延,一个对象是否符合这个概念难以明确地确定,模糊推理是对这种不确定性,即模糊性的表示与处理。模糊逻辑推理是基于模糊性知识(模糊规则)的一种近似推理,一般采用Zadeh提出的语言变量、语言值、模糊集和模糊关系合成的方法进行推理。 三、实验条件

Matlab 7.0 的Fuzzy Logic Tool。

四、实验内容及要求

1. 设计洗衣机洗涤时间的模糊控制。已知人的操作经验为:

“污泥越多,油脂越多,洗涤时间越长”;

“污泥适中,油脂适中,洗涤时间适中”; “污泥越少,油脂越少,洗涤时间越短”。

要求:

(1)假设污泥、油脂、洗涤时间的论域分别为[0,100]、[0,100]和[0,120],设计相应的模糊推理系统,给出输入、输出语言变量的隶属函数图,模糊控制规则表和推论结果立体图。

?60,y(油脂)?70,(2)假定当前传感器测得的信息为x0(污泥)采用面积重0心法反模糊化,给出模糊推理结果,并观察模糊推理的动态仿真环境,给出其动态仿真环境图。

提示:模糊控制规则如下表1所示,其中SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗涤时间很短)、S(洗涤时间短)、M(洗涤时间中等)、L(洗涤时间长)、VL(洗涤时间很长)。

图1 洗衣机的模糊控制规则表

x y z SD NG VS SD MG M

5

《人工智能及其应用》实验指导书

SD MD MD MD LD LD LD LG NG MG LG NG MG LG L S M L M L VL

2.假设两汽车均为理想状态,即为油门控制输入。

Y(s)4,Y为速度,U?2U(s)s?2?0.7?2s?4(1)设计模糊推理系统控制2号汽车由静止启动,追赶200m外时速90km的1号汽车并与其保持50m的距离。

(2)在25时刻1号汽车速度改为时速110km时,仍与其保持50m距离。 (3)在35时刻1号汽车速度改为时速70km时,仍与其保持50m距离。 要求:

(1)如下图1所示,设计两输入一输出的模糊推理系统作为2号汽车的模糊

?,输出为1号汽车的油门控制u,采控制器,其中输入为误差e和误差的变化e用面积等分法反模糊化,给出输入、输出语言变量的隶属函数图,模糊控制规则

表,推论结果立体图和模糊推理的动态仿真环境图。

1 号 车+2 号 车—相对距离e30mu模糊推理系统dedt

图1 两车追赶的模糊控制系统框图

(2)用SIMULINK仿真两车追赶的模糊控制系统,给出目标车(1号汽车)的速度曲线图,以及追赶车(2号汽车)的速度曲线图和与目标车(1号汽车)相对距离变化图。

6

《人工智能及其应用》实验指导书

.提示:模糊控制规则如下表2所示,其中re?e?e2,??tg,r 、?和

e2.油门控制u的论域分别为[0,1]、[-3,3]和[-1,1],r的隶属函数如图2所示。

表2 模糊控制规则表

?\\r PB PM ZE NM NB

NB ZE ZE ZE ZE ZE ZE NM PM PM NM NM PB NB PB PB NB NB

图2 r的隶属函数图

五、实验报告要求:

1. 按照实验要求,给出相应结果。

2.分析隶属度、模糊关系和模糊规则的相互关系。

7

《人工智能及其应用》实验指导书

下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验内容 三、实验结果

按照实验要求,给出相应结果。 四、实验总结

1. 分析隶属度、模糊关系和模糊规则的相互关系。 2. 总结实验心得体会

——————————————————————————————————

8

《人工智能及其应用》实验指导书

实验三 A*算法实验I

一、实验目的

熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。 二、实验原理

A*算法是一种启发式图搜索算法,其特点在于对估价函数的定义上。对于一般的启发式图搜索,总是选择估价函数f值最小的节点作为扩展节点。因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,可考虑每个节点n的估价函数值为两个分量:从起始节点到节点n的实际代价g(n)以及从节点n到达目标节点的估价代价h(n),且h(n)?h*(n),h*(n)为n节点到目的结点的最优路径的代价。

八数码问题是在3×3的九宫格棋盘上,摆有8个刻有1~8数码的将牌。棋盘中有一个空格,允许紧邻空格的某一将牌可以移到空格中,这样通过平移将牌可以将某一将牌布局变换为另一布局。针对给定的一种初始布局或结构(目标状态),问如何移动将牌,实现从初始状态到目标状态的转变。如下图1表示了一个具体的八数码问题求解。

图1 八数码问题的求解

三、实验内容

1. 参考A*算法核心代码,以8数码问题为例实现A*算法的求解程序(编程语言不限),要求设计两种不同的估价函数。

2. 设置相同的初始状态和目标状态,针对不同的估价函数,求得问题的解,并比较它们对搜索算法性能的影响,包括扩展节点数、生成节点数等。 3. 设置与上述2相同的初始状态和目标状态,用宽度优先搜索算法(即令估计代价h(n)=0的A*算法)求得问题的解,以及搜索过程中的扩展节点数、生成节点数。

*4. 参考A*算法核心代码,实现A*算法求解15数码问题的程序,设计两种不同的估价函数,然后重复上述2和3的实验内容。 5. 提交实验报告和源程序。

9

《人工智能及其应用》实验指导书

四、实验报告要求

1. 分析不同的估价函数对A*算法性能的影响。

2. 根据宽度优先搜索算法和A*算法求解8、15数码问题的结果,分析启发式搜索的特点。

下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验原理 三、实验结果

按照实验内容,把结果填入表1。

表1 不同启发函数h(n)求解8数码问题的结果比较

不在位数 初始状态 目标状态 最优解 123804765 扩展节点数 生成节点数 运行时间 启发函数h(n) 123804765 0 123804765 *表2 不同启发函数h(n)求解15数码问题的结果比较

不在位数 初始状态 目标状态 最优解 扩展节点数 生成节点数 运行时间 启发函数h(n) 0 10

《人工智能及其应用》实验指导书

四、实验总结

1. 画出A*算法求解N数码问题的流程图 2. 完成实验报告要求1和2。 3. 总结实验心得体会

——————————————————————————————————

11

《人工智能及其应用》实验指导书

实验四 A*算法实验II

一、实验目的

熟悉和掌握A*算法实现迷宫寻路功能,要求掌握启发式函数的编写以及各类启发式函数效果的比较。 二、实验原理

A*(A-Star)算法是一种静态路网中求解最短路最有效的方法。公式表示为:f(n)=g(n)+h(n),其中f(n)是节点n从初始点到目标点的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到目标节点最佳路径的估计代价。保证找到最短路径(最优解的)条件,关键在于估价函数h(n)的选取:估价值h(n)小于等于n到目标节点的距离实际值h*(n),这种情况下,搜索的点数多,搜索范围大,效率低,但能得到最优解。如果估价值大于实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。

寻路问题常见于各类游戏中角色寻路、三维虚拟场景中运动目标的路径规划、机器人寻路等多个应用领域。迷宫寻路问题是在以方格表示的地图场景中,对于给定的起点、终点和障碍物(墙),如何找到一条从起点开始避开障碍物到达终点的最短路径。

假设在一个n*m的迷宫里,入口坐标和出口坐标分别为(1,1)和(5,5),每一个坐标点有两种可能:0或1,其中0表示该位置允许通过,1表示该位置不允许通过。

如地图:

0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 最短路径应该是

A B 0 0 0 1 C 1 0 1 E D 1 1 1 F 1 J K L G H I 1 M

即: (1,1)-(1,2)-(2,2)-(3,2)-(3,1)-(4,1)-(5,1)-(5,2)-(5,3)-(4,3)-(4,4)-(4,5)-(5,5)

12

《人工智能及其应用》实验指导书

三、实验内容

1.参考迷宫求解的核心代码,观察求解过程与思路,画出用A*算法求解迷宫最短路径的流程图。

2.设置不同的地图,以及不同的初始状态和目标状态,记录A*算法的求解结果,包括最短路径、扩展节点数、生成节点数和算法运行时间。

3.对于相同的初始状态和目标状态,设计不同的启发式函数,比较不同启发式函数对迷宫寻路速度的提升效果,包括扩展节点数、生成节点数和算法运行时间。

4.提交实验报告和源程序。 四、实验报告要求:

1.画出A*算法求解迷宫最短路径问题的流程图。

2.试分析不同启发式函数h(n)对迷宫寻路求解的速度提升效果。 3.分析A*算法求解不同规模迷宫最短路径问题的性能。 下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验原理 三、实验结果

按照实验内容,给出相应结果。 四、实验总结

1. 完成实验报告要求2和3。 2. 总结实验心得体会

——————————————————————————————————

13

《人工智能及其应用》实验指导书

实验五 遗传算法实验I

一、实验目的

熟悉和掌握遗传算法的原理、流程和编码策略,并利用遗传求解函数优化问题,理解求解流程并测试主要参数对结果的影响。 二、实验原理

遗传算法 ( Genetic Algorithms, GA )是基于生物界自然选择和基因遗传学原理的一种广为应用的、高效的随机搜索算法,20世纪60年代由美国的密执根大学的Holland教授首先提出。该算法将优化问题看作是自然界中生物的进化过程,通过模拟大自然中生物进化过程中的遗传规律,来达到寻优的目的。近年来,遗传算法已广泛地应用于作业调度与排序、可靠性设计、车辆路径选择与调度、成组技术、设备布置与分配、交通问题等等。

用遗传算法求解优化问题,首先对优化问题的解进行编码,编码后的一个解称为一个染色体,组成染色体的元素称为基因。一个群体由若干个染色体组成,染色体的个数称为群体的规模。在遗传算法中用适应度函数表示环境,它是已编码的解的函数,是一个解适应环境程度的评价。当适应度函数确定后,自然选择规律以适应度函数值的大小来决定一个染色体是否继续生存下去的概率。生存下来的染色体成为种群,它们中的部分或全部以一定的概率进行交叉、变异,从而得到下一代群体。 三、实验条件

Matlab 7.X 的遗传算法工具箱。

四、实验内容:

1.用遗传算法求解下列函数的最大值,设定求解精度到15位小数。

6.452(x?0.125y)(cos(x)?cos(2y))2f(x,y)??3.226y220.8?(x?4.2)?2(y?7)x?[0,10],y?[0,10]1)给出适应度函数(Fitness Function)的M文件(Matlab中要求适应度函数最小化)。

2)设计及选择上述问题的编码、选择操作、交叉操作、变异操作以及控制参数等,填入表1,给出最佳适应度(Best fitness)和最佳个体(Best individual)图。

14

《人工智能及其应用》实验指导书

表1 遗传算法参数的选择 编码 编码方式(population type) 种群规模(population size) 种群参数 初始种群的个体取值范围(Initial range) 个体选择概率分配策略(对应Fitness scaling) 选择操作 个体选择方法(Selection function) 最佳个体保存 优良个体保存数量(Elite count) 交叉概率(Crossover fraction) 交叉操作 交叉方式(Crossover function) 变异操作 变异方式(Mutation function) 最大迭代步数(Generations) 最大运行时间限制(Time limit) 停止参数 最小适应度限制(Fitness limit) 停滞代数(Stall generations) 停滞时间限制(Stall time limit) 3)使用相同的初始种群(Use random state from previous run),设置不同的种群规模(population size),例如5、20和100,初始种群的个体取值范围(Initial range)为[0;1],其他参数同表1,然后求得相应的最佳适应度(Best fitness)、平均适应度(Mean fitness)和最佳个体(Best individual),填入下表2,分析种群规模对算法性能的影响。

表2 不同的种群规模的GA运行结果 最佳适应度 平均适应度 x 种群规模 5 20 100 最佳个体 y *4) 设置种群规模(population size)为20,初始种群的个体取值范围(Initial range)为[0;10],选择不同的选择操作、交叉操作和变异操作,其他参数同表1,然后独立运行算法10次,完成下表3,并分析比较采用不同的选择策略、交叉策略和变异策略的算法运行结果。

表3不同的选择策略、交叉策略和变异策略的算法运行结果 遗传算法参数设置(gaoptimset) 1 2 个体选择概率Rank(排序) √ √ @fitscalingrank 分配 FitnessScalingProportional(比率) Fcn @fitscalingprop 选择操作 Roulette(轮盘赌选择) √ √ @selectionroulette 个体选择 SelectionFcn Tournament(竞标赛选择) @selectiontournament √ 单点交叉 @crossoversinglepoint 交叉操作 CrossoverFcn 两点交叉 @crossovertwopoint √ √ √ Uniform(均匀变异)@mutationuniform 变异操作 MutationFcn Gaussian(高斯变异)@mutationgaussian

15

3 √ √ √ √ 4 √ √ √ √ 《人工智能及其应用》实验指导书

最好适应度 最差适应度 平均适应度 备注: 1:

options=gaoptimset('PopulationSize',20,'PopInitRange',[0;10],'FitnessScalingFcn',@fitscalingrank,'SelectionFcn',@selectionroulette,'CrossoverFcn',@crossoversinglepoint,'MutationFcn',@mutationuniform)

2.用遗传算法求解下面一个Rastrigin函数的最小值,设定求解精度到15位小数。

f(x1,x2)?20?x12?x22?10(cos2?x1?cos2?x2)

1)给出适应度函数的M文件(Matlab中要求适应度函数最小化)。

2)设计上述问题的编码、选择操作、交叉操作、变异操作以及控制参数等,填入表4,并画出最佳适应度(Best fitness)和最佳个体(Best individual)图。

表4 遗传算法参数的选择 编码 编码方式(population type) 种群规模(population size) 种群参数 初始种群的个体取值范围(Initial range) 个体选择概率分配策略(对应Fitness scaling) 选择操作 个体选择方法(Selection function) 最佳个体保存 优良个体保存数量(Elite count) 交叉概率(Crossover fraction) 交叉操作 交叉方式(Crossover function) 变异操作 变异方式(Mutation function) 最大迭代步数(Generations) 最大运行时间限制(Time limit) 停止参数 最小适应度限制(Fitness limit) 停滞代数(Stall generations) 停滞时间限制(Stall time limit) 3)设置种群的不同初始范围,例如[1;1.1]、[1;100]和[1;2],画出相应的最佳适应度值(Best fitness)和平均距离(Distance)图,比较分析初始范围及种群多样性对遗传算法性能的影响。

4)设置不同的交叉概率(Crossover fraction=0、0.8、1),画出无变异的交叉(Crossover fraction=1)、无交叉的变异(Crossover fraction=0)以及交叉概率为0.8时最佳适应度值(Best fitness)和和平均距离(Distance)图,分析交叉和变异操作对算法性能的影响。

16

《人工智能及其应用》实验指导书

五、实验报告要求:

1.画出遗传算法的算法流程图。 2.根据实验内容,给出相应结果。

3. 总结遗传算法的特点,并说明适应度函数在遗传算法中的作用。 下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验原理 三、实验结果

按照实验内容,给出实验结果以及结果分析。 四、实验总结

1. 完成实验报告要求3。 2. 总结实验心得体会

——————————————————————————————————

17

《人工智能及其应用》实验指导书

实验六 遗传算法实验II

一、实验目的

熟悉和掌握遗传算法的原理、流程和编码策略,理解求解TSP问题的流程并测试主要参数对结果的影响,掌握遗传算法的基本实现方法。 二、实验原理

旅行商问题,即TSP问题(Traveling Salesman Problem)是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,n个城市之间的相互距离已知,他必须选择所要走的路径,路经的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。

用图论的术语来说,假设有一个图g=(v,e),其中v是顶点集,e是边集,设d=(dij)是由顶点i和顶点j之间的距离所组成的距离矩阵,旅行商问题就是求出一条通过所有顶点且每个顶点只通过一次的具有最短距离的回路。TSP问题是一个典型的组合优化问题,该问题可以被证明具有NPC计算复杂性,其可能的路径数目与城市数目n是成指数型增长的,所以一般很难精确地求出其最优解,本实验采用遗传算法求解。

遗传算法的基本思想正是基于模仿生物界遗传学的遗传过程。它把问题的参数用基因代表,把问题的解用染色体代表(在计算机里用二进制码表示),从而得到一个由具有不同染色体的个体组成的群体。这个群体在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代。后代随机化地继承了父代的最好特征,并也在生存环境的控制支配下继续这一过程。群体的染色体都将逐渐适应环境,不断进化,最后收敛到一个最适应环境的类似个体,即得到问题最优的解。 三、实验内容

1、参考实验系统给出的遗传算法核心代码,用遗传算法求解不同规模(例如10个城市,20个城市,100个城市)的TSP问题,把结果填入表1。

表1 遗传算法求解不同规模的TSP问题的结果 最好适应度 最差适应度 平均适应度 城市规模 10 20 100 平均运行时间 2、对于同一个TSP问题(例如10个城市),设置不同的种群规模(例如10,20,100)、交叉概率(0,0.5,1)和变异概率(0,0.5,1),把结果填入表2。 3、设置种群规模为100,交叉概率为0.85,变异概率为0.15,然后增加1种变异策略(例如相邻两点互换变异、逆转变异或插入变异等)和1种个体选择概

18

《人工智能及其应用》实验指导书

率分配策略(例如按线性排序或者按非线性排序分配个体选择概率)用于求解同一TSP问题(例如10个城市),把结果填入表3。

表2 不同的种群规模、交叉概率和变异概率的求解结果 交叉概率 变异概率 最好适应最差适应平均适应度 度 度 0.85 0.15 0.85 0.15 0.85 0.15 0 0.15 0.5 0.15 1 0.15 0.85 0 0.85 0.5 0.85 1 种群规模 10 20 100 100 100 100 100 100 100 平均运行时间 表3 不同的变异策略和个体选择概率分配策略的求解结果 变异策略 个体选择概率分配 最好适应度 最差适应度 平均适应度 平均运行时间 两点互换 按适应度比例分配 两点互换 按适应度比例分配 4、提交实验报告和源程序。 四、实验报告要求:

1、画出遗传算法求解TSP问题的流程图。

2、分析遗传算法求解不同规模的TSP问题的算法性能。

3、对于同一个TSP问题,分析种群规模、交叉概率和变异概率对算法结果的影响。

4、增加1种变异策略和1种个体选择概率分配策略,比较求解同一TSP问题时不同变异策略及不同个体选择分配策略对算法结果的影响。 下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验原理 三、实验结果

按照实验内容,给出相应结果。 四、实验总结

1. 完成实验报告要求2, 3和4。 2. 总结实验心得体会

——————————————————————————————————

19

《人工智能及其应用》实验指导书

实验七 基于神经网络的模式识别实验

一、实验目的

理解BP神经网络和离散Hopfield神经网络的结构和原理,掌握反向传播学习算法对神经元的训练过程,了解反向传播公式。通过构建BP网络和离散Hopfield网络模式识别实例,熟悉前馈网络和反馈网络的原理及结构。 二、实验原理

BP学习算法是通过反向学习过程使误差最小,其算法过程从输出节点开始,反向地向第一隐含层(即最接近输入层的隐含层)传播由总误差引起的权值修正。BP网络不仅含有输入节点和输出节点,而且含有一层或多层隐(层)节点。输入信号先向前传递到隐节点,经过作用后,再把隐节点的输出信息传递到输出节点,最后给出输出结果。

离散Hopfield神经网络的联想记忆过程分为学习和联想两个阶段。在给定样本的条件下,按照Hebb学习规则调整连接权值,使得存储的样本成为网络的稳定状态,这就是学习阶段。联想是指在连接权值不变的情况下,输入部分不全或者受了干扰的信息,最终网络输出某个稳定状态。

三、实验条件

Matlab 7.X 的神经网络工具箱:在Matlab 7.X 的命令窗口输入nntool,然后在键盘上输入Enter键,即可打开神经网络工具箱。 四、实验内容

1. 针对教材P243例8.1,设计一个BP网络结构模型(63-6-9),并以教材图8.5 为训练样本数据,图8.6为测试数据。

(1)从Matlab工作空间导入(Import)训练样本数据(inputdata,outputdata)和测试数据(testinputdata),然后新建一个神经网络(New Network),选择参数如下表1,给出BP神经网络结构图。

表1 BP网络结构模型的各项参数设置 Network Name(神经网络名称) Network Type(神经网络类型) Feed-forward backprop(前馈反向传播) Input ranges(输入信息范围) 来自训练样本的输入数据(inputdata) Training function(训练函数) TRAINGD(梯度下降BP算法) Performance function(性能函数) MSE(均方误差) 2 Number of layers(神经网络层数)

20

《人工智能及其应用》实验指导书

Layer1(第1层)的Number of neurons (神经元个数) Layer1(第1层)的Transfer Function (传递函数) Layer2(第2层)的Number of neurons (神经元个数) Layer2(第2层)的Transfer Function (传递函数) 6 TANSIG(双曲正切S型函数) 2 LOGSIG(S型函数) (2)输入训练样本数据(inputdata,outputdata),随机初始化连接权(Initialize Weights),给出BP神经网络训练成功后的误差变化曲线图,训练参数设置如表2所示。

表2 BP网络训练参数

训练次数(epochs) 训练时间(time) 训练目标(goal) 学习率(lr) 最大确认失败次数(max_fail) 最小性能梯度(min_grad) 两次显示之间的训练步数(show) 1000 Inf 0 0.3 5 1e-025 25 (3)选择不同的训练函数,例如TRAINGDM(梯度下降动量BP算法)、TRAINLMM(Levenberg-Marquardt BP训练函数),然后输入训练样本数据(inputdata,outputdata),训练参数设置如表2所示,设置相同的初始连接权(Revert Weights),观察不同BP训练算法的学习效果,给出各训练算法下的误差变化曲线图。

(4)在上述3个训练好的BP神经网络中,选择训练误差最小的一个网络,并给出训练后的连接权值和偏置,然后输入测试数据(testinputdata)进行仿真(Simulate),并把训练和测试的结果都导出到工作空间,给出训练后的输出结果和输出误差,以及测试后的输出结果和输出误差。

(5)针对Training function(训练函数)为TRAINGD的BP网络,然后设置不同的学习率(lr),例如0.01、0.1、0.5、1,观察TRAINGD训练算法的学习效果,给出各学习率下的误差变化曲线图。 2. 已知字符点阵为 2 ? 2 模式,两组训练数据为 a ( 1) ? ?1 0 ?T ( 大写字母 L )1 1a(2)??0101?(小写字母l)

T

21

《人工智能及其应用》实验指导书

图1 训练数据

大写字母L 小写字母l

设计一个能够存储这两个字符的离散Hopfield神经网络,要求: (1)给出相应的离散Hopfield神经网络结构图; (2)计算连接权值及阈值(阈值可设为 0); (3)输入下列测试数据

t(1)??1101?TTt(2)??0011? 图2 测试数据

给出网络最终输出的稳定状态。 五、实验报告要求:

1. 按照实验内容,给出相应结果。

2.分析比较采用梯度下降训练算法的BP网络学习率的变化对于训练结果的影响。

3. 分析比较BP网络和离散Hopfield网络在模式识别方面的异同点。 下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验原理

22

《人工智能及其应用》实验指导书

三、实验结果

按照实验内容,给出相应结果。 四、实验总结

1. 完成实验报告要求2。 2. 总结实验心得体会

——————————————————————————————————

23

《人工智能及其应用》实验指导书

实验八 基于神经网络的优化计算实验

一、实验目的:

掌握连续Hopfield神经网络的结构和运行机制,理解连续Hopfield神经网络用于优化计算的基本原理,掌握连续Hopfield神经网络用于优化计算的一般步骤。

二、实验原理

连续Hopfield神经网络的能量函数的极小化过程表示了该神经网络从初始状态到稳定状态的一个演化过程。如果将约束优化问题的目标函数与连续Hopfield神经网络的能量函数对应起来,并把约束优化问题的解映射到连续Hopfield神经网络的一个稳定状态,那么当连续Hopfield神经网络的能量函数经演化达到最小值时,此时的连续Hopfield神经网络的稳定状态就对应于约束优化问题的最优解。

三、实验条件:

VC++6.0。

四、实验内容:

1、参考求解TSP问题的连续Hopfield神经网络源代码,给出15个城市和20个城市的求解结果(包括最短路径和最佳路线),分析连续Hopfield神经网络求解不同规模TSP问题的算法性能。

2、对于同一个TSP问题(例如15个城市的TSP问题),设置不同的网络参数,分析不同参数对算法结果的影响。

3、上交源代码。

24

《人工智能及其应用》实验指导书

五、实验报告要求:

1、画出连续Hopfield神经网络求解TSP问题的流程图。 2、根据实验内容,给出相应结果及分析。

3、总结连续Hopfield神经网络和遗传算法用于TSP问题求解时的优缺点。 下面是实验报告的基本内容和书写格式。

实验名称

班级: 学号: 姓名:

一、实验目的 二、实验原理 三、实验结果

按照实验内容,给出相应结果。 四、实验总结

1. 完成实验报告要求1和3。 2. 总结实验心得体会

——————————————————————————————————

25