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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全书共分为六个实验:1.A*算法求解 8 数码问题;2. 利用α-β搜索过程的 博弈树搜索算法编写一字棋游戏;3.线性分类器的设计实现;4.感知器算法的设 计实现;5.SVM 线性分类器的设计实现;6.卷积神经网络 CNN 框架的设计实现。 每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验 报告等六个项目。
图 1 八数码问题的求解
三、实验内容
1. 参考 A*算法核心代码(见附件 1),以 8 数码问题为例实现 A*算法的求解程序(编程 语言不限),要求设计两种不同的估价函数。
2. 设置相同的初始状态和目标状态,针对不同的估价函数,求得问题的解,并比较它们 对搜索算法性能的影响,包括扩展节点数、生成节点数等。
本实验指导书包括两个部分。第一个部分是介绍实验的教学大纲;第二部分 是介绍六个实验的内容。
由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。
人工智能课程组 2018 年 4 月
第 II 页
《人工智能及其应用》实验指导书
目录 实验教学大纲................................................................................................................ 1 实验一 A*算法求解 8 数码问题...............................................................................3 实验二 利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 ................……..5 实验三 Fisher 线性分类器的设计实现.....................................................................7 实验四 感知器算法的设计实现..............................................................................10 实验五 SVM 分类器的设计实现............................................................................12 实验六 卷积神经网络 CNN 框架的设计实现 .......................................................16
5
《人工智能及其应用》实验指导书
2.3 α -β剪枝算法
上述的极小极大分析法,实际是先生成一棵博弈树,然后再计算其倒推值,至使极小极 大分析法效率较低。于是在极小极大分析法的基础上提出了α-β 剪枝技术。
α -β 剪枝技术的基本思想或算法是,边生成博弈树边计算评估各节点的倒推值,并且 根据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的子节点,即相当于剪去了博 弈树上的一些分枝,从而节约了机器开销,提高了搜索效率。
5. 提交实验报告和源程序。 四、实验报告要求
1. 分析不同的估价函数对 A*算法性能的影响。 2. 根据宽度优先搜索算法和 A*算法求解 8、15 数码问题的结果,分析启发式搜索的特 点。
3
《人工智能及其应用》实验指导书
下面是实验报告的基本内容和书写格式。 实验名称
一、实验目的
二、实验原理
三、实验结果
" 的棋盘很简单,是一个 3×3 的格子,很像中国文字中的"井"字,所以得名"井字棋"。"井 字棋"游戏的规则与"五子棋"十分类似,"五子棋"的规则是一方首先五子连成一线就胜利; "井字棋"是一方首先三子连成一线就胜利。
井字棋(英文名 Tic-Tac-Toe) 井字棋的出现年代估计已不可考,西方人认为这是由古罗马人发明的;但我们中国人 认为,既然咱们都发明了围棋、五子棋,那发明个把井字棋自然是不在话下。这些纯粹是口 舌之争了,暂且不提。
评定各级成绩时,可参考以下标准: (一)优秀 能正确理解实验的目的要求,能独立、顺利而正确地完成各项实验操作,会 分析和处理实验中遇到的问题,能掌握所学的各项实验技能,能较好地完成实验
1
《人工智能及其应用》实验指导书
报告及其它各项实验作业,有一定创造精神和能力。有良好的实验室工作作风和 习惯。
(二)良好 能理解实验的目的和要求,能认真而正确地完成各项实验操作,能分析和处 理实验中遇到的一些问题。能掌握所学实验技能的绝大部分,对难点较大的操作 完成有困难。能一般完成实验报告和其它实验作业。有较好的实验习惯和工作作 风。 (三)中等 能粗浅理解实验目的要求,能认真努力进行各项实验操作,但技巧较差。能 分析和处理实验中一些较容易的问题,掌握实验技能的大部分。有 30%掌握得不 好。能一般完成各项实验作业和报告。处理问题缺乏条理。工作作风较好。能认 真遵守各项规章制度。学习努力。 (四)及格 只能机械地了解实验内容,能一般按图、或按实验步骤“照方抓药”完成实验 操作,能完成 60%所学的实验技能,有些虽作但不准确。遇到问题常常缺乏解决 的办法,在别人启发下能作些简单处理,但效果不理想。能一般完成实验报告, 能认真遵守实验室各项规章制度,工作中有小的习惯性毛病(如工作无计划,处 理问题缺乏条理)。 (五)不及格 盲目地“照方抓药”,只掌握 50%的所学实验技能。有些实验虽能作,但一般 效果不好,操作不正确。工作忙乱无条理。一般能遵守实验室规章制度,但常有 小的错误。实验报告较多的时候有结果,遇到问题时说不明原因,在教师指导下 也较难完成各项实验作业。或有些小聪明但不努力,不求上进。
索算法。
设计与实现线性可分的两类分 2
类问题。 利用感知器算法实现多类分类 2
问题的设计与实现。
1)SVM 分类器设计框架;
4
2)SVM 分类器的应用。 1) 卷积神经网络 CNN 的设计 4
框架;
2) 基于 CNN 网络的数字识别
设计
类型 设计 设计
设计 设计 综合 综合
教学 要求 课内 课内
课内 课内 课内 课内
第 III 页
《人工智能及其应用》实验指导书
实验教学大纲
一、学时:16 学时,第 8 周至第 15 周。 二、主要仪器设备及运行环境:PC 机、Visual C++ 6.0、Matlab 7.0。 三、实验项目及教学安排
序号
实验名称
实验
平台
1 A*算法求解 8 数 VC++
码问题 2 利用α-β搜索过 VC++
程的博弈树搜索
算法编写一字棋
游戏 3 Fisher 线性分类 Matlab
器的设计实现
4 感知器算法的设 Matlab 计实现
5 SVM 分类器的 设计实现
Matlab
6 卷积神经网络
Matlab
CNN 框架的设计
实现
实验内容

时 设计与实现求解 N 数码问题的 2
A*算法 设计与实现一字棋的博弈树搜 2
启发函数 h(n)
不在位数
0
扩展节点数 生成节点数 运行时间
四、实验总结 1. 画出 A*算法求解 N 数码问题的流程图 2. 完成实验报告要求 1 和 2。 3. 总结实验心得体会 4. 提交完整实验程序
—————————————————————————————————
4
《人工智能及其应用》实验指导书
按照实验内容,把结果填入表 1。
表 1 不同启发函数 h(n)求解 8 数码问题的结果比较
启发函数 h(n)
不在位数
0
初始状态
目标状态
123804765
123804765
123804765
最优解
扩展节点数 生成节点数 运行时间
初始状态 目标状态 最优解
*表 2 不同启发函数 h(n)求解 15 数码问题的结果比较
的行、列或对角线的总数)-e(那些仍为 MIN 空着的完全的行、列或对角线的总数) (2) 若 P 是 MAX 必胜的棋局,则 e(P)=+∞ (实际上赋了 60)。 (3) 若 P 是 B 必胜的棋局,则 e(P)=-∞ (实际上赋了-20)。 比如 P 如下图示,则 e(P)=5-4=1
需要说明的是,+∞赋 60,-∞赋-20 的原因是机器若赢了,则不 论玩家下一步是否会赢,都会走这步必赢棋。
具体的剪枝方法如下: (1) 对于一个与节点 MIN,若能估计出其倒推值的上确界 β,并且这个 β 值不大于 MIN 的父节点(一定是或节点)的估计倒推值的下确界 α,即 α≥β,则就不必再扩展该 MIN 节点的其余子节点了(因为这些节点的估值对 MIN 父节点的倒推值已无任何影响了)。这一 过程称为 α 剪枝。 (2) 对于一个或节点 MAX,若能估计出其倒推值的下确界 α,并且这个 α 值不小于 MAX 的父节点(一定是与节点)的估计倒推值的上确界 β,即 α≥β,则就不必再扩展该 MAX 节点的其余子节点了(因为这些节点的估值对 MAX 父节点的倒推值已无任何影响 了)。这 一过程称为 β 剪枝。 从算法中看到: (1) MAX 节点(包括起始节点)的 α 值永不减少; (2) MIN 节点(包括起始节点)的 β 值永不增加。 在搜索期间,α 和 β 值的计算如下: (1) 一个 MAX 节点的 α 值等于其后继节点当前最大的最终倒推值。 (2) 一个 MIN 节点的 β 值等于其后继节点当前最小的最终倒推值。
五.实验报告 实验报告独立成册,包括封页及所有实验报告内容,具体要求见附件 0. 最
终实验报告提交至邮箱:cathy_huanyang@hotmail.com.
2
《人工智能及其应用》实验指导书
实验一 A*算法求解 8 数码问题
一、实验目的 熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用 A*算法求解 N 数码难
四、实验成绩评定
实验课成绩单独按五分制评定。凡实验成绩不及格者,该门课程就不及格。 学生的实验成绩应以平时考查为主,应占课程总成绩的 20%,其平时成绩又要以 实验实际操作的优劣作为主要考核依据。对于实验课成绩,无论采取何种方式进 行考核,都必须按实验课的目的要求,以实际实验工作能力的强弱作为评定成绩 的主要依据。
题,理解求解流程和搜索顺序。
二、实验原理 A*算法是一种启发式图搜索算法,其特点在于对估价函数的定义上。对于一般的启发
式图搜索,总是选择估价函数 f 值最小的节点作为扩展节点。因此,f 是根据需要找到一条 最小代价路径的观点来估算节点的,所以,可考虑每个节点 n 的估价函数值为两个分量:从 起始节点到节点 n 的实际代价 g(n)以及从节点 n 到达目标节点的估价代价 h(n),且
2.2 极小极大分析法 设有九个空格,由 MAX,MIN 二人对弈,轮到谁走棋谁就往空格上放一只自己的棋子,
谁先使自己的棋子构成"三子成一线"(同一行或列或对角线全是某人的棋子),谁就取得了胜 利。 用圆圈表示 MAX,用叉号代表 MIN。
比如左图中就是 MAX 取胜的棋局。
估价函数定义如下: 设棋局为 P,估价函数为 e(P)。 (1) 若 P 对任何一方来说都不是获胜的位置,则 e(P)=e(那些仍为 MAX 空着的完全
《人工智能及其应用》实验指导书
《人工智能及其应用》 实验指导书
青岛大学计算机科学与技术学院 2018 年 4 月
《人工智能及其应用》实验指导书
前言
本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。本 实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高 级课程和信息智能化技术的研究与系统开发奠定良好的基础。
h(n) ≤ h * (n) , h * (n) 为 n 节点到目的结点的最优路径的代价。
八数码问题是在 3×3 的九宫格棋盘上,摆有 8 个刻有 1~8 数码的将牌。棋盘中有一 个空格,允许紧邻空格的某一将牌可以移到空格中,这样通过平移将牌可以将某一将牌布 局变换为另一布局。针对给定的一种初始布局或结构(目标状态),问如何移动将牌,实 现从初始状态到目标状态的转变。如下图 1 表示了一个具体的八数码问题求解。
3. 设置与上述 2 相同的初始状态和目标状态,用宽度优先搜索算法(即令估计代价 h(n) =0 的 A*算法)求得问题的解,以及搜索过程中的扩展节点数、生成节点数。
*4. (选做)参考 A*算法核心代码,实现 A*算法求解 15 数码问题的程序,设计两种 不同的估价函数,然后重复上述 Βιβλιοθήκη Baidu 和 3 的实验内容。
实验二 利用α-β搜索的博弈树算法编写一字棋游戏
一、 实验目的
理解和掌握博弈树的启发式搜索过程,能够用选定的编程语言实现简单的博弈游戏。 (1) 学习极大极小搜索及α-β 剪枝。 (2) 利用学到的算法实现一字棋
二、 实验原理
2.1 游戏规则 "一字棋"游戏(又叫"三子棋"或"井字棋"),是一款十分经典的益智小游戏。"井字棋
相关文档
最新文档