《人工智能》实验指导书.docx
《《人工智能》实验指导书.docx》由会员分享,可在线阅读,更多相关《《人工智能》实验指导书.docx(16页珍藏版)》请在冰豆网上搜索。
《人工智能》实验指导书
适用专业:
计算机科学与技术
信息管理与系统
信息科学与计算
一、学时与学分
总学时:
48;总学分:
4;实验学时:
16;实验学分:
1
二、实验课的任务、性质与目的
本实验课程是计算机专业、信息管理与系统学生的一门专业课程,通过实验软件环境提供的大量演示性、验证性和开发设计性实验,帮助学生更好地熟悉和掌握人工智能的基本原理和方法;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对人工智能的相关理论有更深刻的认识。
三、基本原理
本实验涉及人工智能的经典理论和方法,以及计算智能的部分分支和实现方法,主要包括以下内容:
1.产生式系统实验
2.搜索策略实验
3.神经网络实验
4.自动规划实验
四、实验方式与基本要求
本实验目的是使学生进一步加深对人工智能的基本原理和方法的认识,通过实践了解人工智能的实现手段。
实验方式:
1.实验共16学时;
2.由指导教师讲解实验的基本要求,提示算法的基本思想;
3.实验一人一组,独立完成实验的演示、验证和开发设计;
4.学生在完成预习报告后才能进入实验室进行实验。
五、实验项目的设置与内容提要
实验名称
实验目的
内容简介
1产生式系统实验
熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法
主要包括产生式系统的正、反向推理、基于逻辑的搜索等10余个相关演示性、验证性和开发性设计实验。
2搜索策略实验
熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。
主要包括盲目式、启发式搜索类的10余个相关演示性、验证性和开发性设计实验。
3神经网络实验
理解反向传播网络的结构和原理,掌握反向传播算法对神经元的训练过程,了解反向传播公式。
通过构建BP网络实例,熟悉前馈网络的原理及结构。
主要包括以BP网为代表的ANN的验证性实验及设计性实验。
并包括用BP网解决一些非线性问题的典型设计实验(如异或问题、布尔代数及非线性函数模拟等)
4自动规划实验
理解自动规划的基本原理,掌握为活动实体(人、组织、机器)设计合理的行为、按时间顺序的活动序列等基本技术。
主要包括积木世界的机器人行动规划的几个相关实验
六、考核方式与评分办法
1.学生每次做完实验要进行登记;
2.实验结束后学生应在规定时间内提交实验报告及实验结果分析等;
3.指导教师对每份实验报告进行批改、评分并将成绩登录在册。
不符合实验要求的重做;
4.该课程所有实验结束后,指导教师根据学生的实验及报告给出考核成绩,作为平时成绩的重要组成部分。
目录
实验一等费用(代价驱动)搜索算法的实现5
实验二 梵塔问题实验6
实验三 化为子句集的九步法实验8
实验四 子句消解实验10
实验五 移动机器人的路径规划与行为决策实验12
实验六模糊假言推理器实验15
实验七A*算法实验17
实验一等费用(代价驱动)搜索算法的实现
一、目的和要求
1、通过实验加深对盲目搜索特例--代价驱动算法的理解。
2、 可以用PHP语言以B/S模式来编程实现;也可用你所熟悉的编程语言来实现。
二、实验内容
1、 熟悉了解代价驱动算法;
2、对给定的推销员旅行图,编程实现求解最短路径;
3、最好能动态演示open表、closed表的变化情况;
三、分析与讨论
记下在设计过程中所出现的问题,分析讨论出现的原因。
实验二 梵塔问题实验
一、实验目的:
熟悉和掌握问题规约法的原理、实质和规约过程;理解规约图的表示方法。
二、实验原理
从目标(要解决的问题)出发逆向推理,先把问题分解为子问题和子-子问题,直至最后把初始问题归约为一个平凡的本原问题集合,然后解决较小的问题。
对所有本原问题的解答就意味着原始问题的解决。
三、实验条件:
1.梵塔问题系统实验程序。
2.IE5.0以上,可以上Internet。
四、实验内容:
1.演示已有的梵塔问题(默认程序例程),可以更改圆盘数量,了解问题解决的归约过程。
2.分析归约机理,熟悉问题规约的详细过程。
3.自己建造一个梵塔问题归约系统,然后根据归约原理进行逆向推理,得到本原问题集合。
通过解决这些本原问题,最终求解问题。
五、实验步骤:
1.开始演示。
进入三圆盘实例程序,点击“play”按钮开始演示程序,观察其求解步骤,“Stop”按钮可停止演示,“Speed+”、“Speed-”按钮可增减演示速度。
2.改变圆盘数量。
点击“Renew”按钮,通过“Number+”和“Number-”改变圆盘数量,再次点击“play”按钮。
3.重复演示、比较,根据其求解过程得到圆盘数量与步骤数目之间的规律。
归纳并理解问题归约的实质。
4.自己建立一个梵塔问题求解难题,利用归约法进行问题分解。
5.画出其问题规约图。
六、实验结论:
1.圆盘数目与移动步骤之间的数学关系。
2.根据自己所建梵塔问题,画出问题规约图,得到子问题集,列出求解过程。
3.分析问题规约的实质。
实验三化为子句集的九步法实验
一、实验目的:
理解和掌握消解原理,熟悉谓词公式化为子句集的九个步骤,理解消解推理规则,能把任意谓词公式转换成子句集。
二、实验原理
消解是可用于一定的子句公式的重要推理规则,任一谓词演算公式可以化成一个子句集。
通过九步法消解可以从这两个父辈子句推导出一个新子句。
九步法消解包括消去蕴涵符号、减否定符辖域、对变量标准化、消去存在量词、化为前束型、化为合取范式、消去全程量词、消去合取符、更换变量名,依次变换即可得到子句集。
三、实验条件:
1子句集转换演示程序。
2IE5.0以上,可以上Internet。
四、实验内容:
理解消解原理,熟悉谓词公式转换成子句集的步骤。
五、实验步骤:
1对默认谓词公式进行转换。
进入演示程序,点击“语法检查”,再依次点击消解过程的九个步骤按钮,得到消解结果。
2自定义消解目标。
点击“清除”删除默认公式,利用界面键盘输入新的消解目标,用“大写字母”、“小写字母”按键进行输入中的字母变换。
3语法检查。
点击“语法检查”检查输入谓词公式的语法错误。
如无错误,则依次点击步骤按钮进行消解。
4重复运行2、3步,熟悉消解原理和消解过程。
六、实验报告要求:
1了解每一步消解的规则和原则。
2给出一个谓词公式消解的详细过程和结果。
3分析消解原理的特点和原理。
实验四子句消解实验
一、实验目的:
理解含有变量的子句如何使用消解规则,掌握子句消解的原理和规则,能熟练进行任意两个子句的消解,了解消解推理的某些常用规则。
二、实验原理:
对子句集进行消解推理,得到相应的结论。
为了对含有变量的子句使用消解规则,我们必须找到一个置换,作用于父辈子句使其含有互补文字。
消解两个子句时,可能有一个以上的消解式,不过,在任何情况下最多有有限个消解式。
三、实验条件
1子句消解推理演示程序。
2IE5.0以上,可以上Internet。
四、实验内容:
1运行并观察演示实例。
2输入新的子句,检查消解结果。
3根据消解过程理解消解原理和常用规则。
五、实验步骤:
1.默认示例演示。
进入演示实例,点击“演示实例1”,然后点击“开始消解”,得到消解结果。
2.分别运行“演示实例2”和“演示实例3”,观察消解结果,理解常用消解规则的应用。
3.自定义消解子句。
点击“系统重置”按钮,再通过键盘与两个按钮“~”与“∨”输入合法的子句,点击“加入子句集”加入子句集,点击“开始消解”,观察消解结果。
4.重复步骤3,多次输入不同子句进行消解,熟悉消解过程。
六、实验结论:
1熟悉消解过程,理解子句消解规则。
2给出自己输入的待消解子句、消解结果和详细过程。
实验五移动机器人的路径规划与行为决策实验
一、实验目的:
熟悉移动机器人的信息处理流程,了解、比较基于行为主义和符号主义的人工智能方法在机器人中的应用特点和效果,以及结合两者的规划与决策方式。
二、实验原理
规划是一种问题求解技术,它从某个特定的问题状态出发,寻求一系列行为动作,并建立一个操作序列,直到求得目标状态为止。
简而言之,规划是一个行动过程的描述。
一个总规划可以含有若干个子规划。
三、实验仪器设备:
硬件:
AmigoBot移动机器人一台(附无线串行信号和图像信号传输装置各一套),计算机一台(附图像采集卡、声卡),实验环境(木制围栏、障碍物若干)
软件:
Windows98or2000,AmigoEyes,AmigoMapper,AmigoColbert
四、实验内容:
1.了解AmigoBot移动机器人的传感器和驱动器工作情况;
2.观察机器人的反射式避障行为;
3.编程控制机器人路径,观察行为并比较其避障效果;
4.观察混合式方法的导航效果,分析行为决策和规划在系统中的作用;
5.分析根据先验地图规划路径的导航系统的优缺点。
五、实验步骤:
1将机器人的无线串行信号和图像信号传输装置分别与计算机串口1和图像输入口相连。
2开机。
3打开AmigoBot电源,启动机器人自检程序,观察左右驱动轮和超声距离传感器特征。
4启动AmigoEyes程序,将机器人控制端口设为Com1,点击connect,连接机器人与计算机控制程序。
5点击wander,观察机器人漫游时的避障行为以及超声距离传感器和视觉传感器信号,总结其行为特点,点击停止按钮或Disconnect停止机器人运动。
6启动AmigoColbert程序,测试控制语句对机器人行为的作用效果,包括move,turnto(deg),turn(deg),speed,rotate,stop等语句,编写程序控制机器人走方形和圆形路径。
7在环境中放置2个障碍物,编写一段程序控制机器人由一起点至一终点,途中绕过障碍物,在机器人运行过程中变动障碍物位置,观察机器人行为。
8启动AmigoMapper程序,按实际尺寸绘制上一环境的地图。
9在AmigoEyes程序中导入上述地图,保持环境与地图一致,选择不同起点和终点,观察导航效果;变动障碍物位置,观察机器人行为。
实验数据:
1.步骤7和步骤9的初始环境地图以及变化后的环境示意图。
2.步骤6、7、9中的机器人运行轨迹图。
3.步骤6和步骤7的控制程序清单。
实验报告要求:
对提交的实验结果进行分析:
1.总结步骤5中机器人的行为特点。
2.描述步骤7中的前后行为,分析原因。
3.描述步骤9中的前后行为,分析原因,并与步骤7中的行为进行比较。
4.总结规划与反射式行为决策在系统中的作用。
试分析根据先验地图规划路径的导航系统的优缺点。
实验六模糊假言推理器实验
一、实验目的:
理解模糊逻辑推理的原理及特点,熟练应用模糊推理,了解可能性理论。
通过实例比较模糊推理与不确定性推理的实质区别。
二、实验原理
模糊推理所处理的事物自身是模糊的,概念本身没有明确的外延,一个对象是否符合这个概念难以明确地确定模糊推理是对这种不确定性,即模糊性的表示与处理。
模糊逻辑推理是基于模糊性知识(模糊规则)的一种近似推理,一般采用Zadeh提出的语言变量、语言值、模糊集和模糊关系合成的方法进行推理。
通过定义前项、后项和事实不同的模糊集合,模糊推理可以得到不同的计算结论。
三、实验条件:
1模糊假言推理器演示程序;
2IE5.0以上版本,能连通Internet。
四、实验内容:
1使用推理器多次推理;
2自己输入的规则和模糊集,进行运算推理;
3通过实例分析模糊推理与不确定性推理的实质区别。
五、实验步骤:
1运行默认推理。
进入演示程序,点击“开始运算”运行默认规则,连续点击“计算下一步”,观察文本框中的输出结果。
2增加新规则。
点击“添加规则”可增加新的推理逻辑,在左边文本框中依次输入规则的前项、后项和事实。
3设置模糊集合。
点击“自定义模糊集”可以设置规则的前项、后项和事实的模糊集,并点击“确认”。
4运行自定义规则。
输入完所有自定义模糊规则后,点击“开始运算”运行自定义规则,连续点击“计算下一步”,观察文本框中的输出结果。
5按钮“重新开始”可以进行再一次模糊推理。
其它可参考帮助文件。
六、实验报告要求:
1隶属度、模糊关系和模糊规则的相互关系。
2模糊假言推理过程。
3自定义规则及其推理结果。
4分析模糊假言推理与不确定推理的的本质区别。
实验七A*算法实验
一、实验目的:
熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。
二、实验原理:
A*算法是一种有序搜索算法,其特点在于对估价函数的定义上。
对于一般的有序搜索,总是选择f值最小的节点作为扩展节点。
因此,f是根据需要找到一条最小代价路径的观点来估算节点的,所以,可考虑每个节点n的估价函数值为两个分量:
从起始节点到节点n的代价以及从节点n到达目标节点的代价。
三、实验条件:
1N数码难题演示程序。
2IE5.0以上,可以上Internet。
四、实验内容:
1分别以8数码和15数码为例实际求解A*算法。
2画出A*算法求解框图。
3分析估价函数对搜索算法的影响。
4分析A*算法的特点。
五、实验步骤:
1开始演示。
进入N数码难题演示程序,可选8数码或者15数码,点击“选择数码”按钮确定。
第一次启动后,点击两次“缺省”或者“随机”按钮,才会出现图片。
2点击“缺省棋局”,会产生一个固定的初始节点。
点击“随机生成”,会产生任意排列的初始节点。
3算法执行。
点击“连续执行”则程序自动搜索求解,并演示每一步结果;点击“单步运行”则每次执行一步求解流程。
“运行速度”可自由调节。
4观察运行过程和搜索顺序,理解启发式搜索的原理。
在下拉框中选择演示“15数码难题”,点击“选择数码”确定选择;运行15数码难题演示实例。
5算法流程的任一时刻的相关状态,以算法流程高亮、open表、close表、节点静态图、当前扩展节点移动图等5种形式在按钮上方同步显示,便于深入学习理解A*算法。
6根据程序运行过程画出A*算法框图。
其它可参考帮助文件。
六、实验报告要求:
1A*算法流程图和算法框图。
2试分析估价函数的值对搜索算法速度的影响。
3根据A*算法分析启发式搜索的特点。