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