《人工智能及其应用》实验指导书.docx
- 文档编号:3775452
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:27
- 大小:145.57KB
《人工智能及其应用》实验指导书.docx
《《人工智能及其应用》实验指导书.docx》由会员分享,可在线阅读,更多相关《《人工智能及其应用》实验指导书.docx(27页珍藏版)》请在冰豆网上搜索。
《人工智能及其应用》实验指导书
《人工智能及其应用》
实验指导书
浙江工业大学计算机科学与技术学院—人工智能课程组
2011年9月
前言
本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。
本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。
全书共分为八个实验:
1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。
每个实验包括有:
实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。
本实验指导书包括两个部分。
第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。
由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。
人工智能课程组
2011年9月
实验教学大纲
一、学时:
16学时,一般安排在第9周至第16周。
二、主要仪器设备及运行环境:
PC机、VisualC++6.0、Matlab7.0。
三、实验项目及教学安排
序号
实验名称
实验
平台
实验内容
学时
类型
教学
要求
1
产生式系统应用
VC++
设计知识库,实现系统识别或分类等。
2
设计
课内
2
模糊推理系统应用
Matlab
1)设计洗衣机的模糊控制器;
2)设计两车追赶的模糊控制器。
2
验证
课内
3
A*算法应用I
VC++
设计与实现求解N数码问题的A*算法。
2
综合
课内
4
A*算法应用II
VC++
设计与实现求解迷宫问题的A*算法。
2
综合
课内
5
遗传算法应用I
Matlab
1)求某一函数的最小值;
2)求某一函数的最大值。
2
验证
课内
6
遗传算法应用II
VC++
设计与实现求解不同城市规模的TSP问题的遗传算法。
2
综合
课内
7
基于神经网络的模式识别
Matlab
1)基于BP神经网络的数字识别设计;
2)基于离散Hopfiel神经网络的联想记忆设计。
2
验证
课内
8
基于神经网络的优化计算
VC++
设计与实现求解TSP问题的连续Hopfield神经网络。
2
综合
课内
四、实验成绩评定
实验课成绩单独按五分制评定。
凡实验成绩不及格者,该门课程就不及格。
学生的实验成绩应以平时考查为主,一般应占课程总成绩的50%,其平时成绩又要以实验实际操作的优劣作为主要考核依据。
对于实验课成绩,无论采取何种方式进行考核,都必须按实验课的目的要求,以实际实验工作能力的强弱作为评定成绩的主要依据。
评定各级成绩时,可参考以下标准:
(一)优秀
能正确理解实验的目的要求,能独立、顺利而正确地完成各项实验操作,会分析和处理实验中遇到的问题,能掌握所学的各项实验技能,能较好地完成实验报告及其它各项实验作业,有一定创造精神和能力。
有良好的实验室工作作风和习惯。
(二)良好
能理解实验的目的和要求,能认真而正确地完成各项实验操作,能分析和处理实验中遇到的一些问题。
能掌握所学实验技能的绝大部分,对难点较大的操作完成有困难。
能一般完成实验报告和其它实验作业。
有较好的实验习惯和工作作风。
(三)中等
能粗浅理解实验目的要求,能认真努力进行各项实验操作,但技巧较差。
能分析和处理实验中一些较容易的问题,掌握实验技能的大部分。
有30%掌握得不好。
能一般完成各项实验作业和报告。
处理问题缺乏条理。
工作作风较好。
能认真遵守各项规章制度。
学习努力。
(四)及格
只能机械地了解实验内容,能一般按图、或按实验步骤“照方抓药”完成实验操作,能完成60%所学的实验技能,有些虽作但不准确。
遇到问题常常缺乏解决的办法,在别人启发下能作些简单处理,但效果不理想。
能一般完成实验报告,能认真遵守实验室各项规章制度,工作中有小的习惯性毛病(如工作无计划,处理问题缺乏条理)。
(五)不及格
盲目地“照方抓药”,只掌握50%的所学实验技能。
有些实验虽能作,但一般效果不好,操作不正确。
工作忙乱无条理。
一般能遵守实验室规章制度,但常有小的错误。
实验报告较多的时候有结果,遇到问题时说不明原因,在教师指导下也较难完成各项实验作业。
或有些小聪明但不努力,不求上进。
实验一产生式系统实验
一、实验目的:
熟悉一阶谓词逻辑和产生式表示法,掌握产生式系统的运行机制,以及基于规则推理的基本方法。
二、实验内容
运用所学知识,设计并编程实现一个小型人工智能系统(如分类、诊断、预测等类型)。
三、实验条件:
产生式系统实验程序,如下图1所示。
图1产生式系统实验程序界面
四、实验要求
1.具体应用领域自选,具体系统名称自定;但所做系统绝对不能雷同。
2.用一阶谓词逻辑和产生式规则作为知识表示,利用如图1所示的产生式系统实验程序,建立知识库,分别运行正、反向推理。
3.系统完成后,提交实验报告。
五、实验步骤:
1.基于如图1所示的产生式系统实验程序,设计并实现一个小型人工智能系统:
1)系统设置,包括设置系统名称和系统谓词,给出谓词名及其含义。
2)编辑知识库,通过输入规则或修改规则等,完成整个规则库的建立。
3)建立事实库(综合数据库),输入多条事实或结论。
4)运行推理,包括正向推理和反向推理,给出相应的推理过程、事实区和规则区。
2.撰写实验报告。
六、实验报告
下面是实验报告的基本内容和书写格式。
递交的报告文件名:
班级_学号_姓名_实验名称
———————————————————————
实验名称
班级:
学号:
姓名:
一、实验目的
二、实验内容
三、实验步骤
四、实验结果
1.系统名称及谓词定义
2.系统知识库
3.系统正、反向推理过程、事实区和规则区。
五、实验总结
———————————————————————
实验二模糊推理系统实验
一、实验目的
理解模糊逻辑推理的原理及特点,熟练应用模糊推理,了解可能性理论。
二、实验原理
模糊推理所处理的事物自身是模糊的,概念本身没有明确的外延,一个对象是否符合这个概念难以明确地确定,模糊推理是对这种不确定性,即模糊性的表示与处理。
模糊逻辑推理是基于模糊性知识(模糊规则)的一种近似推理,一般采用Zadeh提出的语言变量、语言值、模糊集和模糊关系合成的方法进行推理。
三、实验条件
Matlab7.0的FuzzyLogicTool。
四、实验内容及要求
1.设计洗衣机洗涤时间的模糊控制。
已知人的操作经验为:
“污泥越多,油脂越多,洗涤时间越长”;
“污泥适中,油脂适中,洗涤时间适中”;
“污泥越少,油脂越少,洗涤时间越短”。
要求:
(1)假设污泥、油脂、洗涤时间的论域分别为[0,100]、[0,100]和[0,120],设计相应的模糊推理系统,给出输入、输出语言变量的隶属函数图,模糊控制规则表和推论结果立体图。
(2)假定当前传感器测得的信息为
,采用面积重心法反模糊化,给出模糊推理结果,并观察模糊推理的动态仿真环境,给出其动态仿真环境图。
提示:
模糊控制规则如下表1所示,其中SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗涤时间很短)、S(洗涤时间短)、M(洗涤时间中等)、L(洗涤时间长)、VL(洗涤时间很长)。
图1洗衣机的模糊控制规则表
x
y
z
SD
NG
VS
SD
MG
M
SD
LG
L
MD
NG
S
MD
MG
M
MD
LG
L
LD
NG
M
LD
MG
L
LD
LG
VL
2.假设两汽车均为理想状态,即
,Y为速度,U为油门控制输入。
(1)设计模糊推理系统控制2号汽车由静止启动,追赶200m外时速90km的1号汽车并与其保持30m的距离。
(2)在25时刻1号汽车速度改为时速110km时,仍与其保持30m距离。
(3)在35时刻1号汽车速度改为时速70km时,仍与其保持30m距离。
要求:
(1)如下图1所示,设计两输入一输出的模糊推理系统作为2号汽车的模糊控制器,其中输入为误差e和误差的变化
,输出为1号汽车的油门控制u,采用面积等分法反模糊化,给出输入、输出语言变量的隶属函数图,模糊控制规则表,推论结果立体图和模糊推理的动态仿真环境图。
图1两车追赶的模糊控制系统框图
(2)用SIMULINK仿真两车追赶的模糊控制系统,给出目标车(1号汽车)的速度曲线图,以及追赶车(2号汽车)的速度曲线图和与目标车(1号汽车)相对距离变化图。
提示:
模糊控制规则如下表2所示,其中
,r、
和油门控制u的论域分别为[0,1]、[-3,3]和[-1,1],r的隶属函数如图2所示。
表2模糊控制规则表
NB
ZE
PB
PB
ZE
NM
NB
PM
ZE
PM
PB
ZE
ZE
PM
PB
NM
ZE
NM
NB
NB
ZE
NM
NB
图2r的隶属函数图
五、实验报告要求:
1.按照实验要求,给出相应结果。
2.分析隶属度、模糊关系和模糊规则的相互关系。
下面是实验报告的基本内容和书写格式。
实验名称
班级:
学号:
姓名:
一、实验目的
二、实验内容
三、实验结果
按照实验要求,给出相应结果。
四、实验总结
1.分析隶属度、模糊关系和模糊规则的相互关系。
2.总结实验心得体会
——————————————————————————————————
实验三A*算法实验I
一、实验目的
熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。
二、实验原理
A*算法是一种启发式图搜索算法,其特点在于对估价函数的定义上。
对于一般的启发式图搜索,总是选择估价函数f值最小的节点作为扩展节点。
因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,可考虑每个节点n的估价函数值为两个分量:
从起始节点到节点n的实际代价g(n)以及从节点n到达目标节点的估价代价h(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.提交实验报告和源程序。
四、实验报告要求
1.分析不同的估价函数对A*算法性能的影响。
2.根据宽度优先搜索算法和A*算法求解8、15数码问题的结果,分析启发式搜索的特点。
下面是实验报告的基本内容和书写格式。
实验名称
班级:
学号:
姓名:
一、实验目的
二、实验原理
三、实验结果
按照实验内容,把结果填入表1。
表1不同启发函数h(n)求解8数码问题的结果比较
启发函数h(n)
不在位数
0
初始状态
目标状态
123804765
123804765
123804765
最优解
扩展节点数
生成节点数
运行时间
*表2不同启发函数h(n)求解15数码问题的结果比较
启发函数h(n)
不在位数
0
初始状态
目标状态
最优解
扩展节点数
生成节点数
运行时间
四、实验总结
1.画出A*算法求解N数码问题的流程图
2.完成实验报告要求1和2。
3.总结实验心得体会
——————————————————————————————————
实验四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到目标节点的距离实际值
,这种情况下,搜索的点数多,搜索范围大,效率低,但能得到最优解。
如果估价值大于实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。
寻路问题常见于各类游戏中角色寻路、三维虚拟场景中运动目标的路径规划、机器人寻路等多个应用领域。
迷宫寻路问题是在以方格表示的地图场景中,对于给定的起点、终点和障碍物(墙),如何找到一条从起点开始避开障碍物到达终点的最短路径。
假设在一个n*m的迷宫里,入口坐标和出口坐标分别为(1,1)和(5,5),每一个坐标点有两种可能:
0或1,其中0表示该位置允许通过,1表示该位置不允许通过。
如地图:
00000
10101
00111
01000
00010
最短路径应该是
AB000
1C101
ED111
F1JKL
GHI1M
即:
(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)
三、实验内容
1.参考迷宫求解的核心代码,观察求解过程与思路,画出用A*算法求解迷宫最短路径的流程图。
2.设置不同的地图,以及不同的初始状态和目标状态,记录A*算法的求解结果,包括最短路径、扩展节点数、生成节点数和算法运行时间。
3.对于相同的初始状态和目标状态,设计不同的启发式函数,比较不同启发式函数对迷宫寻路速度的提升效果,包括扩展节点数、生成节点数和算法运行时间。
4.提交实验报告和源程序。
四、实验报告要求:
1.画出A*算法求解迷宫最短路径问题的流程图。
2.试分析不同启发式函数h(n)对迷宫寻路求解的速度提升效果。
3.分析A*算法求解不同规模迷宫最短路径问题的性能。
下面是实验报告的基本内容和书写格式。
实验名称
班级:
学号:
姓名:
一、实验目的
二、实验原理
三、实验结果
按照实验内容,给出相应结果。
四、实验总结
1.完成实验报告要求2和3。
2.总结实验心得体会
——————————————————————————————————
实验五遗传算法实验I
一、实验目的
熟悉和掌握遗传算法的原理、流程和编码策略,并利用遗传求解函数优化问题,理解求解流程并测试主要参数对结果的影响。
二、实验原理
遗传算法(GeneticAlgorithms,GA)是基于生物界自然选择和基因遗传学原理的一种广为应用的、高效的随机搜索算法,20世纪60年代由美国的密执根大学的Holland教授首先提出。
该算法将优化问题看作是自然界中生物的进化过程,通过模拟大自然中生物进化过程中的遗传规律,来达到寻优的目的。
近年来,遗传算法已广泛地应用于作业调度与排序、可靠性设计、车辆路径选择与调度、成组技术、设备布置与分配、交通问题等等。
用遗传算法求解优化问题,首先对优化问题的解进行编码,编码后的一个解称为一个染色体,组成染色体的元素称为基因。
一个群体由若干个染色体组成,染色体的个数称为群体的规模。
在遗传算法中用适应度函数表示环境,它是已编码的解的函数,是一个解适应环境程度的评价。
当适应度函数确定后,自然选择规律以适应度函数值的大小来决定一个染色体是否继续生存下去的概率。
生存下来的染色体成为种群,它们中的部分或全部以一定的概率进行交叉、变异,从而得到下一代群体。
三、实验条件
Matlab7.X的遗传算法工具箱。
四、实验内容:
1.用遗传算法求解下列函数的最大值,设定求解精度到15位小数。
1)给出适应度函数(FitnessFunction)的M文件(Matlab中要求适应度函数最小化)。
2)设计及选择上述问题的编码、选择操作、交叉操作、变异操作以及控制参数等,填入表1,给出最佳适应度(Bestfitness)和最佳个体(Bestindividual)图。
表1遗传算法参数的选择
编码
编码方式(populationtype)
种群参数
种群规模(populationsize)
初始种群的个体取值范围(Initialrange)
选择操作
个体选择概率分配策略(对应Fitnessscaling)
个体选择方法(Selectionfunction)
最佳个体保存
优良个体保存数量(Elitecount)
交叉操作
交叉概率(Crossoverfraction)
交叉方式(Crossoverfunction)
变异操作
变异方式(Mutationfunction)
停止参数
最大迭代步数(Generations)
最大运行时间限制(Timelimit)
最小适应度限制(Fitnesslimit)
停滞代数(Stallgenerations)
停滞时间限制(Stalltimelimit)
3)使用相同的初始种群(Userandomstatefrompreviousrun),设置不同的种群规模(populationsize),例如5、20和100,初始种群的个体取值范围(Initialrange)为[0;1],其他参数同表1,然后求得相应的最佳适应度(Bestfitness)、平均适应度(Meanfitness)和最佳个体(Bestindividual),填入下表2,分析种群规模对算法性能的影响。
表2不同的种群规模的GA运行结果
种群规模
最佳适应度
平均适应度
最佳个体
x
y
5
20
100
*4)设置种群规模(populationsize)为20,初始种群的个体取值范围(Initialrange)为[0;10],选择不同的选择操作、交叉操作和变异操作,其他参数同表1,然后独立运行算法10次,完成下表3,并分析比较采用不同的选择策略、交叉策略和变异策略的算法运行结果。
表3不同的选择策略、交叉策略和变异策略的算法运行结果
遗传算法参数设置(gaoptimset)
1
2
3
4
选择操作
个体选择概率分配
FitnessScalingFcn
Rank(排序)
@fitscalingrank
√
√
√
Proportional(比率)
@fitscalingprop
√
个体选择
SelectionFcn
Roulette(轮盘赌选择)
@selectionroulette
√
√
√
Tournament(竞标赛选择)
@selectiontournament
√
交叉操作
CrossoverFcn
单点交叉@crossoversinglepoint
√
√
√
两点交叉@crossovertwopoint
√
变异操作
MutationFcn
Uniform(均匀变异)@mutationuniform
√
√
√
Gaussian(高斯变异)@mutationgaussian
√
最好适应度
最差适应度
平均适应度
备注:
1:
options=gaoptimset('PopulationSize',20,'PopInitRange',[0;10],'FitnessScalingFcn',@fitscalingrank,'SelectionFcn',@selectionroulette,'CrossoverFcn',@crossoversinglepoint,'MutationFcn',@mutationuniform)
2.用遗传算法求解下面一个Rastrigin函数的最小值,设定求解精度到15位小数。
1)给出适应度函数的M文件(Matlab中要求适应度函数最小化)。
2)设计上述问题的编码、选择操作、交叉操作、变异操作以及控制参数等,填入表4,并画出最佳适应度(Bestfitness)和最佳个体(Bestindividual)图。
表4遗传算法参数的选择
编码
编码方式(populationtype)
种群参数
种群规模(populationsize)
初始种群的个体取值范围(Initialrange)
选择操作
个体选择概率分配策略(对应Fitnessscaling)
个体选择方法(Selectionfunction)
最佳个体保存
优良个体保存数量(Elitecount)
交叉操作
交叉概率(Crossoverfraction)
交叉方式(Crossoverfunction)
变异操作
变异方式(Mutationfunction)
停止参数
最大迭代步数(Generations)
最大运行时间限制(Timelimit)
最小适应度限制(Fitnesslimit)
停滞代数(Stallgenerations)
停滞时间限制(Stalltimelimit)
3)设置种群的不同初始范围,例如[1;1.1]、[1;100]和[1;2],画出相应的最佳适应度值(Bestfitness)和平均距离(Distance)图,比较分析初始范围及种群多样性对遗传算法性能的影响。
4)设置不同的交叉概率(Crossoverfraction=0、0.8、1),画出无变异的交叉(Crossoverfraction=1)、无交叉的变异(Crossoverfraction=0)以及交叉概率为0.8时最佳适应度值(Bestfitness)和和平均距离(Distance)图,分析交叉和变异操作对算法性能的影
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能及其应用 人工智能 及其 应用 实验 指导书