《人工智能实验指导.doc》由会员分享,可在线阅读,更多相关《人工智能实验指导.doc(19页珍藏版)》请在三一办公上搜索。
1、人工智能实验指导课程代码:H0404X适用对象:计算机科学与技术专业指导教师:魏世勇、陈白帆、李仪实验内容实验一 产生式系统实验实验二 移动机器人的路径规划与行为决策实验实验三 梵塔问题实验实验四 A*算法实验实验五 化为子句集的九步法实验实验六 子句消解实验实验七模糊假言推理器实验实验八 BP网络实验实验九 贝叶斯网络实验实验一 产生式系统实验(必修,2学时)一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。二、实验原理产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。在产生式系统中,论域的知识分为两部分:用事实
2、表示静态知识;用产生式规则表示推理过程和行为。三、实验条件:1. 产生式系统实验程序。2. IE5.0以上,可以上Internet。四、实验内容:1. 对已有的产生式系统(默认的例子)进行演示,同时可以更改其规则库或(和)事实库,进行正反向推理,了解其推理过程和机制。2. 自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。五、实验步骤:1. 定义变量,包括变量名和变量的值。2. 建立规则库,其方法是,(a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量
3、名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。重复操作,可输入多条条件;(b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。重复以上两步,完成整个规则库的建立。3. 建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。4. 然后按“开始”或“单步”按钮即可。此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。其他的可参见其帮助文件。六、实验结论:包括做实验的目的、方法、过程等,具体要写成实验报告,如下图所示(见下页
4、)。附:产生式系统实验报告表姓名年级班级指导老师日期实验目的推理方法 正向推理 反向推理建立规则库建立事实库预测结果实验过程及结果(注意观测规则的匹配过程和方法)备注(原因等)学生结论指导老师意见实验二 移动机器人的路径规划与行为决策实验(必修,2学时)一、实验目的:熟悉移动机器人的信息处理流程,了解、比较基于行为主义和符号主义的人工智能方法在机器人中的应用特点和效果,以及结合两者的规划与决策方式。二、实验原理规划是一种问题求解技术,它从某个特定的问题状态出发,寻求一系列行为动作,并建立一个操作序列,直到求得目标状态为止。简而言之,规划是一个行动过程的描述。一个总规划可以含有若干个子规划。三、
5、实验仪器设备:硬件:AmigoBot移动机器人一台(附无线串行信号和图像信号传输装置各一套),计算机一台(附图像采集卡、声卡),实验环境(木制围栏、障碍物若干)软件:Windows 98 or 2000, AmigoEyes, AmigoMapper, AmigoColbert四、实验内容:1. 了解AmigoBot移动机器人的传感器和驱动器工作情况;2. 观察机器人的反射式避障行为;3. 编程控制机器人路径,观察行为并比较其避障效果;4. 观察混合式方法的导航效果,分析行为决策和规划在系统中的作用;5. 分析根据先验地图规划路径的导航系统的优缺点。五、实验步骤:1 将机器人的无线串行信号和图
6、像信号传输装置分别与计算机串口1和图像输入口相连。2 开机。3 打开AmigoBot电源,启动机器人自检程序,观察左右驱动轮和超声距离传感器特征。4 启动AmigoEyes程序,将机器人控制端口设为Com1,点击connect,连接机器人与计算机控制程序。5 点击wander,观察机器人漫游时的避障行为以及超声距离传感器和视觉传感器信号,总结其行为特点,点击停止按钮或Disconnect停止机器人运动。6 启动AmigoColbert程序,测试控制语句对机器人行为的作用效果,包括move, turn to (deg), turn (deg), speed, rotate, stop等语句,编写
7、程序控制机器人走方形和圆形路径。7 在环境中放置2个障碍物,编写一段程序控制机器人由一起点至一终点,途中绕过障碍物,在机器人运行过程中变动障碍物位置,观察机器人行为。8 启动AmigoMapper程序,按实际尺寸绘制上一环境的地图。9 在AmigoEyes程序中导入上述地图,保持环境与地图一致,选择不同起点和终点,观察导航效果;变动障碍物位置,观察机器人行为。实验数据:1. 步骤7和步骤9的初始环境地图以及变化后的环境示意图。2. 步骤6、7、9中的机器人运行轨迹图。3. 步骤6和步骤7的控制程序清单。实验报告要求:对提交的实验结果进行分析:1. 总结步骤5中机器人的行为特点。2. 描述步骤7
8、中的前后行为,分析原因。3. 描述步骤9中的前后行为,分析原因,并与步骤7中的行为进行比较。4. 总结规划与反射式行为决策在系统中的作用。试分析根据先验地图规划路径的导航系统的优缺点。实验三 梵塔问题实验(选修,2学时)一、实验目的:熟悉和掌握问题规约法的原理、实质和规约过程;理解规约图的表示方法。二、实验原理从目标(要解决的问题)出发逆向推理,先把问题分解为子问题和子-子问题,直至最后把初始问题归约为一个平凡的本原问题集合,然后解决较小的问题。对所有本原问题的解答就意味着原始问题的解决。三、实验条件:1. 梵塔问题系统实验程序。2. IE5.0以上,可以上Internet。四、实验内容:1.
9、 演示已有的梵塔问题(默认程序例程),可以更改圆盘数量,了解问题解决的归约过程。2. 分析归约机理,熟悉问题规约的详细过程。3. 自己建造一个梵塔问题归约系统,然后根据归约原理进行逆向推理,得到本原问题集合。通过解决这些本原问题,最终求解问题。五、实验步骤:1. 开始演示。进入三圆盘实例程序,点击“play”按钮开始演示程序,观察其求解步骤,“Stop”按钮可停止演示,“Speed+”、“Speed-”按钮可增减演示速度。2. 改变圆盘数量。点击“Renew”按钮,通过“Number+”和“Number-”改变圆盘数量,再次点击“play”按钮。3. 重复演示、比较,根据其求解过程得到圆盘数量
10、与步骤数目之间的规律。归纳并理解问题归约的实质。4. 自己建立一个梵塔问题求解难题,利用归约法进行问题分解。5. 画出其问题规约图。六、实验结论:1. 圆盘数目与移动步骤之间的数学关系。2. 根据自己所建梵塔问题,画出问题规约图,得到子问题集,列出求解过程。3. 分析问题规约的实质。实验四 A*算法实验(选修,2学时)一、实验目的:熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。二、实验原理:A*算法是一种有序搜索算法,其特点在于对估价函数的定义上。对于一般的有序搜索,总是选择f值最小的节点作为扩展节点。因此,f是根据需要找到一条最小代价路
11、径的观点来估算节点的,所以,可考虑每个节点n的估价函数值为两个分量:从起始节点到节点n的代价以及从节点n到达目标节点的代价。三、实验条件:1 N数码难题演示程序。2 IE5.0以上,可以上Internet。三、实验内容:1 分别以8数码和15数码为例实际求解A*算法。2 画出A*算法求解框图。3 分析估价函数对搜索算法的影响。4 分析A*算法的特点。四、实验步骤:1 开始演示。进入N数码难题演示程序,可选8数码或者15数码,点击“选择数码”按钮确定。第一次启动后,点击两次“缺省”或者“随机”按钮,才会出现图片。2 点击“缺省棋局”,会产生一个固定的初始节点。点击“随机生成”,会产生任意排列的初
12、始节点。3 算法执行。点击“连续执行”则程序自动搜索求解,并演示每一步结果;点击“单步运行”则每次执行一步求解流程。“运行速度”可自由调节。4 观察运行过程和搜索顺序,理解启发式搜索的原理。在下拉框中选择演示“15数码难题”,点击“选择数码”确定选择;运行15数码难题演示实例。5 算法流程的任一时刻的相关状态,以算法流程高亮、open表、close表、节点静态图、当前扩展节点移动图等5种形式在按钮上方同步显示,便于深入学习理解A*算法。6 根据程序运行过程画出A*算法框图。其它可参考帮助文件。五、实验报告要求:1 A*算法流程图和算法框图。2 试分析估价函数的值对搜索算法速度的影响。3 根据A
13、*算法分析启发式搜索的特点。实验五 化为子句集的九步法实验(选修,2学时)一、实验目的:理解和掌握消解原理,熟悉谓词公式化为子句集的九个步骤,理解消解推理规则,能把任意谓词公式转换成子句集。二、实验原理消解是可用于一定的子句公式的重要推理规则,任一谓词演算公式可以化成一个子句集。通过九步法消解可以从这两个父辈子句推导出一个新子句。九步法消解包括消去蕴涵符号、减否定符辖域、对变量标准化、消去存在量词、化为前束型、化为合取范式、消去全程量词、消去合取符、更换变量名,依次变换即可得到子句集。三、实验条件:1 子句集转换演示程序。2 IE5.0以上,可以上Internet。 四、实验内容:理解消解原理
14、,熟悉谓词公式转换成子句集的步骤。五、实验步骤:1 对默认谓词公式进行转换。进入演示程序,点击“语法检查”,再依次点击消解过程的九个步骤按钮,得到消解结果。2 自定义消解目标。点击“清除”删除默认公式,利用界面键盘输入新的消解目标,用“大写字母”、“小写字母”按键进行输入中的字母变换。3 语法检查。点击“语法检查”检查输入谓词公式的语法错误。如无错误,则依次点击步骤按钮进行消解。4 重复运行2、3步,熟悉消解原理和消解过程。 六、实验报告要求:1 了解每一步消解的规则和原则。2 给出一个谓词公式消解的详细过程和结果。3 分析消解原理的特点和原理。实验六 子句消解实验(选修,2学时)一、实验目的
15、:理解含有变量的子句如何使用消解规则,掌握子句消解的原理和规则,能熟练进行任意两个子句的消解,了解消解推理的某些常用规则。二、实验原理:对子句集进行消解推理,得到相应的结论。为了对含有变量的子句使用消解规则,我们必须找到一个置换,作用于父辈子句使其含有互补文字。消解两个子句时,可能有一个以上的消解式,不过,在任何情况下最多有有限个消解式。三、实验条件1 子句消解推理演示程序。2 IE5.0以上,可以上Internet。四、实验内容:1 运行并观察演示实例。2 输入新的子句,检查消解结果。3 根据消解过程理解消解原理和常用规则。五、实验步骤:1. 默认示例演示。进入演示实例,点击“演示实例1”,
16、然后点击“开始消解”,得到消解结果。2. 分别运行“演示实例2”和“演示实例 3”,观察消解结果,理解常用消解规则的应用。3. 自定义消解子句。点击“系统重置”按钮,再通过键盘与两个按钮“”与“”输入合法的子句,点击“加入子句集”加入子句集,点击“开始消解”,观察消解结果。4. 重复步骤3,多次输入不同子句进行消解,熟悉消解过程。六、实验结论:1 熟悉消解过程,理解子句消解规则。2 给出自己输入的待消解子句、消解结果和详细过程。实验七模糊假言推理器实验(选修,2学时)一、实验目的:理解模糊逻辑推理的原理及特点,熟练应用模糊推理,了解可能性理论。通过实例比较模糊推理与不确定性推理的实质区别。二、
17、实验原理模糊推理所处理的事物自身是模糊的,概念本身没有明确的外延,一个对象是否符合这个概念难以明确地确定模糊推理是对这种不确定性,即模糊性的表示与处理。模糊逻辑推理是基于模糊性知识(模糊规则)的一种近似推理,一般采用Zadeh提出的语言变量、语言值、模糊集和模糊关系合成的方法进行推理。通过定义前项、后项和事实不同的模糊集合,模糊推理可以得到不同的计算结论。三、实验条件:1 模糊假言推理器演示程序;2 IE5.0以上版本,能连通Internet。四、实验内容:1 使用推理器多次推理;2 自己输入的规则和模糊集,进行运算推理;3 通过实例分析模糊推理与不确定性推理的实质区别。五、实验步骤:1 运行
18、默认推理。进入演示程序,点击“开始运算”运行默认规则,连续点击“计算下一步”,观察文本框中的输出结果。2 增加新规则。点击“添加规则”可增加新的推理逻辑,在左边文本框中依次输入规则的前项、后项和事实。3 设置模糊集合。点击“自定义模糊集”可以设置规则的前项、后项和事实的模糊集,并点击“确认”。4 运行自定义规则。输入完所有自定义模糊规则后,点击“开始运算”运行自定义规则,连续点击“计算下一步”,观察文本框中的输出结果。5 按钮“重新开始”可以进行再一次模糊推理。其它可参考帮助文件。六、实验报告要求:1 隶属度、模糊关系和模糊规则的相互关系。2 模糊假言推理过程。3 自定义规则及其推理结果。4
19、分析模糊假言推理与不确定推理的的本质区别。实验八 BP网络实验(选修,2学时)一、实验目的:理解反向传播网络的结构和原理,掌握反向传播算法对神经元的训练过程,了解反向传播公式。通过构建BP网络实例,熟悉前馈网络的原理及结构。二、实验原理反向传播(BP)算法是一种计算单个权值变化引起网络性能变化值的较为简单的方法。BP算法过程从输出节点开始,反向地向第一隐含层(即最接近输入层的隐含层)传播由总误差引起的权值修正。BP网络不仅含有输入节点和输出节点,而且含有一层或多层隐(层)节点。输入信号先向前传递到隐节点,经过作用后,再把隐节点的输出信息传递到输出节点,最后给出输出结果。三、实验条件:1 BP网
20、络演示程序。2 IE5.0以上版本,能连通Internet。四、实验内容:1 通过BP网络各项参数的不同设置,观察BP算法的学习效果。2 观察比较BP网络各项参数变化对于训练结果的影响。五、实验步骤:1 设置各层神经元个数设置。用户点击下拉列表框选择输入、隐含、输出各层神经元个数,其中隐含层神经元个数自动设为输入层神经元个数(n)的2n+1个,然后再点击“确定”按钮,就可以看到所设置BP神经网络示意图以及系统随机生成默认的各层权值。2 学习参数设置,用户点击或拖动各滚动条分别设置样本误差、系统误差、学习速率、动量因子、迭代次数参数值。3 各层权值设置,如果用户使用系统随机生成默认的各层权值,则
21、进行第4步。用户或选中“自定义权”单选框自定义权各层权,在权值设置文本域设置权值后,单击其后“确定”按钮。或双击下方列表框选项,相应权值会在权值设置文本域出现,则进行该权值修改后,单击其后“确定”按钮,修改后的权值会成功地列表框的原位修改。后两种方式均会成功地激活“确定”按钮。4 学习样本设置,单文本域中出现“入层”字样表示在单文本域中设置输入层神经元信号向量。单文本域中出现“出层”字样表示在单文本域中设置输出层神经元信号向量。当输入已完成一个或一个以上模式对,“已设置完”单选框会成功地激活,如选中,则“校正网络”按钮会成功地激活。样本列表框也具有如步3的双击修改功能。5 “校正网络”按钮成功
22、地激活后,单击“校正网络”按钮,进行网络学习。当学习完成后,“较正结果如下:”列表框显示校正学习后的结果,用户可通过察看“学习”是否满意。如满意,则设置测试样本,进行测试“学习”效果。如不满意,则可(重新设置初始权值、或学习样本等方式)让网络重新“学习”。六、实验结论:1 BP网络的基本结构及BP算法的训练过程。2 试述阈值函数和权值变化对BP网络推理结果的影响。实验九 贝叶斯网络实验(选修,2学时)一、实验目的:了解不确定性推理的原理和特点,理解贝叶斯网络的推理原理。二、实验原理:贝叶斯网络是一种模拟人类推过程中因果关系的不确定性处理模型,其网络拓扑结构是一个有向无环图(DAG),它的节点用
23、随机变量或命题来标识,认为有直接关系的命题或变量则用弧来连接。通过建立推理规则知识库,设置前提条件和证据可信度,经过贝叶斯推理,得到结论及其可信度。三、实验条件1 贝叶斯推理网络演示程序。2 IE5.0以上版本,能连通Internet。四、实验内容:1 建立贝叶斯网络,包括建立推理规则知识库和前提条件的可信度。2 实际演示贝叶斯推理过程。五、实验步骤:1 建立推理规则知识库。规则知识是通过点击“下条知识”按钮,将规则知识逐条加入规则知识库列表框中。2 当规则知识库建立完成后,点击“建库完毕”按钮,表示用户所建立的规则知识库的大小已确定下来。规则知识库的最大规模不能超过100条。3 建立规则知识前提条件的可信度,用户可以从“证据可信度”的下拉列表框中挑选规则知识前提条件,输入相应的可信度。4 通过点击“下条证据可信度”按钮,将规则知识逐条加入前提条件可信度列表框。当规则知识前提条件的可信度建立完成后,点击“证据完毕”按钮。此时用户可以看到“开始推理”按钮被激活,则表示用户可以进行推理。5 用户点击“开始推理”按钮后,可以看到生成的贝叶斯网络推理示意图以及在“推理结果如下”文本框中最后结论的后验概率值。六、实验报告要求:1 建立的知识库和规则库内容。2 贝叶斯推理网络的推理结果。3 试论述贝叶斯推理网络的推理机制及特点。