《人工智能》实验指导书
人工智能实验指导书
⼈⼯智能实验指导书《⼈⼯智能》实验指导书计算机科学与技术系⽬录实验⼀Turbo Prolog系统认识实验(2学时) (2)实验⼆求N!及Fibonacci序列问题实验(3学时) (5)实验三梵塔问题实验(3学时) (6)实验四装错信封问题(4学时) (9)实验五⼩型专家系统设计与实现(4学时) (12)实验⼀Turbo Prolog系统认识实验(2学时)⼀、实验⽬的1、了解PROLOG解释器;2、了解PROLOG语⾔中常量、变量的表⽰⽅法;3、了解利⽤PROLOG进⾏事实库、规则库的编写⽅法;4、了解利⽤PROLOG中的谓词asserta和retract进⾏数据管理。
⼆、实验要求1、熟悉Prolog运⾏环境,包括硬件与软件环境;2、学习⽰例程序,分析其功能;3、写出Example 1、Example 11、Example 15⽰例程序的功能;4、利⽤PROLOG进⾏事实库、规则库的编写,并在此基础上进⾏简单的询问;5、练习利⽤PROLOG中的谓词asserta和retract进⾏数据管理。
三、实验设备⽹络计算机,Turbo prolog教学软件。
四、实验内容及步骤⼀)实验内容:1、熟悉Turbo prolog的运⾏环境,包括所⽤的机器的硬件与软件环境。
2、学习使⽤Turbo prolog,包括进⼊Prolog主程序、编辑源程序、修改环境⽬录、退出等基本操作。
3、学习Turbo prolog的简单程序结构,掌握分析问题、询问解释技巧。
4、了解PROLOG语⾔中常量、变量的表⽰⽅法;5、利⽤PROLOG进⾏事实库、规则库的编写,并在此基础上进⾏简单的询问;1、启动Windows操作环境。
2、打开⽬录,执⾏prolog应⽤程序,启动Turbo prolog,并按空格键(SPACE)集成开发环境。
3、选择Setup项,打开下拉菜单,选择Directories项,将⼯作⽬录进⾏修改,按Esc键退出,选择Save Configuration项,保存修改。
《人工智能及其应用》实验指导书
《人工智能及其应用》实验指导书浙江工业大学计算机科学与技术学院—人工智能课程组2011年9月前言本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。
本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。
全书共分为八个实验:1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。
每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。
本实验指导书包括两个部分。
第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。
由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。
人工智能课程组2011年9月目录实验教学大纲 (1)实验一产生式系统实验 (3)实验二模糊推理系统实验 (5)实验三A*算法实验I (9)实验四A*算法实验II (12)实验五遗传算法实验I (14)实验六遗传算法实验II (18)实验七基于神经网络的模式识别实验 (20)实验八基于神经网络的优化计算实验 (24)实验教学大纲一、学时:16学时,一般安排在第9周至第16周。
二、主要仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。
三、实验项目及教学安排序号实验名称实验平台实验内容学时类型教学要求1 产生式系统应用VC++ 设计知识库,实现系统识别或分类等。
2 设计课内2 模糊推理系统应用Matlab 1)设计洗衣机的模糊控制器;2)设计两车追赶的模糊控制器。
2 验证课内3 A*算法应用I VC++ 设计与实现求解N数码问题的A*算法。
2 综合课内4 A*算法应用II VC++ 设计与实现求解迷宫问题的A*算法。
《人工智能》实 验 指 导
《人工智能导论》课程实验大纲实验学时:8 课程总学时:46适用专业:计算机科学与技术、软件工程实验项目数:1开课教研室(系):计算机工程大纲执笔人:廉师友一、课程实验的基本理论和目的《人工智能导论》课程主要讲述搜索与问题求解、知识表示与推理、机器学习与知识发现、专家系统、Agent系统、智能化网络和智能程序设计等。
其中专家系统及其设计与实现,涉及该课程的大部分内容,如知识表示与推理、搜索与问题求解、专家系统和智能程序设计等,而且实践性和应用性都很强。
因此,该课程将专家系统设计与实现作为一个上机实验项目,以加深学生对课程内容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力和独立分析问题、解决问题的能力。
二、课程实验的基本要求1.实验前,要认真阅读实验指导书,明确实验目的、内容、方法、步骤和目标;2.自选具体的应用领域,白拟具体的系统名称,但内容绝对不能雷同;3.所实现的专家系统必须上机运行演示;4.提交实验报告。
三、实验项目的设置、内容和学时分配实验项目:1个实验题目:小型专家系统设计与实现(具体应用领域由学生自选,具体系统名称由学生自定。
)实验内容:知识获取与表示、知识库组建、推理机选择/编制、系统调试与测试。
实验学时:8学时四、实验课的考核方法与评分办法采用实验过程考查、实验结果验收和实验报告评阅相结合的考核方法,综合评定实验成绩。
其具体评分标准如下:1.实验准备(所需数据、程序、图形等)20分;2.实验过程(态度、操作、处理问题能力等)20分;3.实验结果(正确性、可用性、创新性等)40分;4.实验报告(格式、内容(翔实、无误)、叙述等)20分;满分共计100分。
审定人: 批准人:。
人工智能技术实验指导书
人工智能技术实验指导书实验背景本实验指导书旨在帮助学生深入了解人工智能技术的基础原理及应用方法。
通过本实验,学生将能掌握人工智能技术的基本概念、算法和编程技能,为未来在人工智能领域的研究和研究打下坚实基础。
实验目的本实验旨在培养学生的人工智能算法设计和编程能力,提高学生对人工智能技术的理解和应用能力。
实验内容实验一:人工智能算法基础- 研究人工智能算法的基本概念和分类;- 掌握常见的人工智能算法原理和实现方法;- 利用Python编程语言实现简单的人工智能算法。
实验二:机器研究算法实践- 掌握机器研究算法的基本原理和应用方法;- 研究使用机器研究库进行数据预处理和算法训练;- 利用已有数据集,实现一个简单的机器研究算法模型。
实验三:深度研究算法应用- 理解深度研究算法的基本原理和结构;- 研究使用深度研究框架进行神经网络模型的设计和训练;- 实现一个简单的深度研究算法应用案例。
实验要求- 学生应具备基本的编程能力,熟悉Python编程语言;- 学生应具备基本的数学和统计知识,对概率和线性代数有一定了解;- 学生应具备良好的逻辑思维能力和问题解决能力。
实验评估- 实验报告:学生需按要求书写并提交实验报告,内容包括实验目的、方法、实验结果和分析等;- 实验成绩:根据实验报告和实验结果,对学生的实验成果进行综合评估。
实验资源- 教材:提供相关的教材和参考书籍,供学生参考和研究;- 软件工具:提供相应的编程环境和开发工具,供学生进行实验操作和编程实现。
实验安排- 实验时间:本实验预计需要3周的时间完成;- 实验地点:学生可以自行选择合适的实验地点进行实验。
注意事项- 学生在进行实验时,应遵守实验室规定和安全操作流程;- 学生在编写实验报告时,应保证报告内容真实可信。
参考资料- 《人工智能导论》- 《机器研究实战》- 《深度学习》。
《人工智能及其应用》实验指导书
《人工智能及其应用》实验指导书浙江工业大学计算机科学与技术学院—人工智能课程组2011年9月前言本实验是为了配合《人工智能及其应用》课程的理论学习而专门设置的。
本实验的目的是巩固和加强人工智能的基本原理和方法,并为今后进一步学习更高级课程和信息智能化技术的研究与系统开发奠定良好的基础。
全书共分为八个实验:1.产生式系统实验;2.模糊推理系统实验;3.A*算法求解8数码问题实验;4.A*算法求解迷宫问题实验;5.遗传算法求解函数最值问题实验;6.遗传算法求解TSP问题实验;7.基于神经网络的模式识别实验;8.基于神经网络的优化计算实验。
每个实验包括有:实验目的、实验内容、实验条件、实验要求、实验步骤和实验报告等六个项目。
本实验指导书包括两个部分。
第一个部分是介绍实验的教学大纲;第二部分是介绍八个实验的内容。
由于编者水平有限,本实验指导书的错误和不足在所难免,欢迎批评指正。
人工智能课程组2011年9月目录实验教学大纲 (1)实验一产生式系统实验 (4)实验二模糊推理系统实验 (7)实验三A*算法实验I (12)实验四A*算法实验II (15)实验五遗传算法实验I (17)实验六遗传算法实验II (23)实验七基于神经网络的模式识别实验 (26)实验八基于神经网络的优化计算实验 (31)实验教学大纲一、学时:16学时,一般安排在第9周至第16周。
二、主要仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。
三、实验项目及教学安排序号实验名称实验平台实验内容学时类型教学要求1产生式系统应用VC++设计知识库,实现系统识别或分类等。
2设计课内2模糊推理系统应用Matlab1)设计洗衣机的模糊控制器;2)设计两车追赶的模糊控制器。
2验证课内3A*算法应用I VC++设计与实现求解N数码问题的A*算法。
2综合课内4A*算法应用II VC++设计与实现求解迷宫问题的A*算法。
2综合课内5遗传算法应用I Matlab1)求某一函数的最小值;2)求某一函数的最大值。
人工智能实验指导书
贵州大学计算机科学与技术学院计算机科学与技术科系本科生《人工智能》实验指导书/实验教学大纲王以松2012年目录实验一人工智能冲浪 (3)实验二SAT求解描述性问题 (4)实验三Prolog基本编程环境 (6)实验四ASP描述性问题求解 (10)参考资料: (12)实验一人工智能冲浪1、实验目的了解人工智能的定义/讨论,研究内容,研究进展以及相关的重要人物和有影响的事件。
2、实验原理通过网络搜索引擎,例如google,baidu,yahoo等,以关键词在网络上搜索相关内容。
3、实验内容搜索如下内容:1)人工智能的定义与讨论,特别是wiki百科在这方面的讨论.2)人工智能研究方向/领域,以及本领域中有重大影响力的论文1-2篇,例如在citeseer上的被引用次数最多.3)Turing奖获得者中,人工智能领域的专家,例如McCarthy, Pearl, Newell, Simon, Feigenbaum等,他们的获奖理由/在人工智能方面的突出贡献.4)IBM Deep Blue, Watson;Checker;Big Dog(Boston Dynamics)4、实验描述及要求选择其中一个实验内容,整理形成一个AI的主题介绍。
5、实验步骤无要求.6、参考程序无.实验二SAT求解描述性问题1、实验目的通过学习并使用一个SAT求解器,例如MiniSat,了解Satisfiability描述性问题求解方法。
了解SAT求解器的研发现状。
2、实验原理把给定的问题表达成逻辑公式CNF形式,使得其模型对应问题的解。
经过翻译后,输入给SAT求解器,并将其输出结果解释后输出,从而读出问题的一个解。
3、实验内容1)选用一个SAT求解器,例如MiniSat等。
2)搜索公开的SAT的benchmark/测试用例,就图着色等问题生成CNF公式,或随机生成CNF公式。
3)调用SAT求解器,例如MiniSat,计算其模型。
4)输出对应问题的解。
人工智能实验指导书
华清学院软件工程专业人工智能实验指导书西安建筑科技大学信控学院目录第1章课程简介,实验项目及学时安排 (1)第2章实验设备简介 (2)第3章人工智能课程实验 (47)实验一熟悉Visual Prolog 软件开发平台 (47)实验二使用Visual Prolog求解Fibonacci序列问题 (49)实验三使用Visual Prolog求解梵塔问题 (50)实验四使用Visual Prolog求解装错信封问题 (51)第1章课程简介,实验项目及学时安排一.课程简介人工智能、专家系统、决策支持系统、智能机器、神经网络等等,都是近几年来国内外计算机界十分活跃的研究领域;它们是计算机科学、控制论、信息论、神经生物学、心理学、语言学等多学科相互渗透发展起来的综合性学科。
把它们反映到教学活动之中,可开拓学生的视野,了解计算机的新兴发展方向,对实现“宽专业、厚基础”的培养目标十分必要。
通过本课程的学习,将向学生介绍人工智能、专家系统、知识工程的发展简历、核心课题和具体应用领域;讲授知识的有关基本概念和知识的各种逻辑表示方法、常用的计算机问题求解搜索策略;学习智能系统的组成结构和开发工具、方法,掌握小型智能系统的构造原理和调试方法。
因此,《人工智能实验》的主要目的是使学生达到3个层次的实验训练要求:1. 加深理解人工智能的基本概念和方法,掌握一种智能型系统开发软件——Visual Prolog的基本安装、配置及其使用方法。
2. 结合课程内容,掌握使用Visual Prolog完成小规模人工智能程序设计的一般过程和方法。
3.在上述实验的基础上,达到巩固并加深对人工智能基本原理和概念的理解。
4.通过实验,培养学生的自主意识、动手能力、查阅文献能力、思维能力、想象能力和表达能力。
二.实验项目及学时安排第2章 Visual Prolog 语言介绍Prolog是英文“PROgramming in LOGic”的缩写。
其主要思想就是用逻辑进行程序设计。
人工智能导论实验指导书
实验一 感知器的MATLAB 仿真感知器(Pereceptron)是一种特殊的神经网络模型,是由美国心理学家F.Rosenblatt 于1958年提出的,一层为输入层,另一层具有计算单元,感知器特别适合于简单的模式分类问题,也可用于基于模式分类的学习控制和多模态控制中。
一、感知器神经元模型感知器神经元通过对权值的训练,可以使感知器神经元的输出能代表对输入模式进行的分类,图1.1为感知器神经元模型。
图1.1 感知器神经元模型感知器神经元的每一个输入都对应于一个合适的权值,所有的输入与其对应权值的加权和作为阀值函数的输入。
由于阀值函数的引入,从而使得感知器可以将输入向量分为两个区域,通常阀函数采用双极阶跃函数,如:⎩⎨⎧<≥=0,00,1)(x x x f (1.1) 而感知器神经元模型的实际输出为⎪⎭⎫⎝⎛-=∑-=R i i i b x w f o 1 (1.2)其中b 为阀值二、感知器的网络结构图1.2所描述的是一个简单的感知器网络结构,输入层有R 个输入,Q 个输出,通过权值w ij 与s 个感知器神经元连接组成的感知器神经网络。
根据网络结构,可以写出感知器处理单元对其输入的加权和操作,即:∑==Rj j ij i p w n 1(1.3)而其输出a i 为a i =f (n i +b i ) (1.4)由式2.1易知⎩⎨⎧<+≥+=0001i i i i i b n b n a (1.5) 则当输入n i +b i 大于等于0,即有n i ≥-b i 时,感知器的输出为1;否则输出为0。
上面所述的单层感知器神经网络是不可能解决线性不可分的输入向量分类问题,也不能推广到一般的前向网络中去。
为解决这一问题,我们可以设计多层感知器神经网络以实现任意形状的划分。
图1.3描述了一个双层感知器神经网络。
其工作方式与单层感知器网络一样,只不过是增加了一层而已,具体的内容这里不做讨论。
三、感知器神经网络的学习规则感知器的学习规则主要是通过调整网络层的权值和阀值以便能够地网络的输入向量进行正确的分类。
人工智能实验指导书+作业展示
《人工智能技术导论》实验指导书西北工业大学计算机学院目录一实验纲要 (1)二上机要求 (2)三实验内容 (3)实验一图搜索与问题求解 (3)实验1.1 启发式搜索 (3)实验1.2 A*算法搜索 (9)实验1.3 其他应用问题 (12)实验二产生式系统推理 (14)实验三TSP问题的遗传算法实现 (20)四实验报告模板 (27)人工智能实验一实验报告 (27)人工智能实验二实验报告 (28)人工智能实验三实验报告 (29)附件1 TSP问题的遗传算法程序模板 (30)附件2 学生作业作品展示 (35)一实验纲要一实验教学的目的、任务与要求将人工智能基础理论应用于实际问题的解决当中,加深学生对所学知识的理解,提高学生的实际动手能力。
二实验项目内容1图搜索策略实验用启发式搜索方法/A*算法求解重排九宫问题/八数码问题。
2产生式系统的推理以动物识别系统为例,实现基于产生式规则的推理系统。
3 TSP问题的遗传算法实现以N个结点的TSP问题为例,用遗传算法加以求解。
三参考教材人工智能技术导论-第3版,廉师友编著,西安电子科技大学出版社,2007。
四使用主要仪器设备说明在Windows2000/XP上,选用Java/C/C++/Matlab等语言进行实现。
五实验考核实验为12学时,分4次课完成。
每个实验题目在课堂上分别按百分制给出。
其中包括课堂纪律、程序运行结果、课堂回答问题及实验报告成绩等。
实验课总成绩为3个实验题目的平均成绩。
实验课要求学生提前预习,上课时需向辅导老师提交预习报告,报告格式和内容不作过多要求,只需简要说明自己本次实验的大体思想。
预习报告形式不限,电子版或手写版均可。
1 考核方法由各班辅导老师当堂检查源程序和运行结果,并提问相关问题,课堂上给出成绩并记录。
每个题目完成后把源代码和实验报告提交,由辅导老师检查实验报告并给出报告成绩。
2 评分标准每个实验题目根据以下标准进行考核:1)考勤分20分。
人工智能实验指导书
《人工智能》实验指导书1.实验目的培养学生利用人工智能技术解决简单实际问题的能力。
2. 实验设备或环境硬件设备:微机。
软件环境:操作系统Windows XP,开发工具Microsoft Visual C++ 6.0、Visual Prolog5.2、Matlab6.5,等。
3. 实验内容(1).在Visual C++环境(或者其他高级编程语言)下,利用状态空间法解决两个简单的走迷宫游戏问题。
(2).了解Visual Prolog人工智能编程语言,编写和调试一些简单的Prolog程序。
(3).在Matlab环境下,初步掌握人工神经网络的一些常用模型的基本使用方法.4.实验步骤(1).编写、调试程序。
(2).运行若干个实例。
(3).编写实验报告。
5. 考核要求或实验报告要求每位学生独立完成编程与实验报告,在机房抽查同学的程序。
少量同学需要做口头报告与演示程序。
实验报告的格式见附件。
附件:《人工智能》课程实验报告模板说明:1、模板的斜体文字是编写提纲,正式报告中不用保留。
2、必须在理解教材和上课内容的基础上,自己独立完成本报告。
不要拷贝教材中的文字与流程图。
3、提交的实验报告包括本报告与程序源代码,每位同学以自己的学号名字为文件名,压缩后提交。
例如,1912xxxx张三.zip/rar。
4、在机房抽查同学的程序。
在课堂上,要求部分同学口头讲解报告和演示程序。
以下是报告的模板正文利用状态空间法解决走迷宫游戏问题学号姓名完成时间______________1.迷宫游戏简介(用文字描述迷宫游戏问题)2.迷宫游戏问题的状态空间法表示(利用课程介绍的状态空间法来描述迷宫游戏问题,针对矩形迷宫,定义相应的状态与操作符)3.迷宫游戏问题的盲目搜索技术概述(介绍宽度和深度优先搜索算法的基本原理和流程图)(算法复杂性分析:时间与空间复杂性(选做))(师范班同学可以不做深度优先搜索算法)4.迷宫游戏问题的启发式搜索技术(给出你所采用估价函数,并介绍算法的基本原理和流程图)5.例子及分析对于算法的运行过程,需要记录下列信息:起始状态、目标状态、所走的步数及其对应操作符、生成的状态总数(OPEN表和CLOSED 表的大小)、搜索CPU时间(毫秒)等。
人工智能技术实验指导书
人工智能技术实验指导书目录前言 (1)实验一刺激响应Agent实验 (2)实验二能计划的Agent实验(一) (4)实验三能计划的Agent实验(二) (6)实验四双Agent博弈实验(一) (7)实验五双Agent博弈实验(二) (9)实验六谓词逻辑与归结原理实验(一) (11)实验七谓词逻辑与归结原理实验(二) (13)实验八学习Agent实验 (15)前言人工智能技术实验是为了结合研究生人工智能理论课程的学习而开设的一门实践教学课程,要求学生通过本课程的学习巩固并进一步深入理解理论学习所介绍的人工智能的基本原理与方法,掌握人工智能一些主要技术的实现方法,提高人工智能程序的设计和使用程序设计语言实际编程的能力。
学习本课程要求学生掌握程序设计基本知识和至少一种程序设计语言,学过人工智能原理。
本实验指导书中共有八个实验,涵盖了人工智能的一些基本技术,包括能对周围环境进行探测并做出响应的刺激响应Agent实验;能在解空间中进行搜索,寻找问题求解方法的能计划的Agent实验;能够在游戏中与对手较量的双Agent博弈实验;能够进行逻辑推理的谓词逻辑与归结原理实验;能够进行学习和优化的学习Agent实验等。
其中,实验三、实验五、实验七相对于实验二、实验四、实验六要复杂一些,可供学生根据自己的基础和程序设计能力选做。
实验指导书对每个实验首先提出了实验目的和要求,主要指出通过实验所要掌握的人工智能的基本技术;然后简单介绍与该实验相关的人工智能技术的基本知识,以便读者回忆和复习人工智能原理的有关内容,为完成实验做好准备;最后给出了实验内容和进行方式,具体给出实际的应用环境和要解决的问题以及对程序功能的要求。
实验一刺激响应Agent实验实验目的与要求目的:掌握产生式系统的结构和设计方法,了解刺激响应Agent的工作原理。
要求:设计生活在一个二维网格世界中的“人工蚂蚁”的模拟程序。
基本知识刺激响应(stimulus-response)Agent指的是没有内部状态而只是对所感知到的环境刺激给出简单反应的机器。
人工智能实验指导书(2019年秋季版许建华编)
《人工智能》实验指导书(2019年秋季版)南京师范大学计算机科学与技术学院供2019年秋季学期选修“人工智能”课程本科生使用1.实验目的培养学生利用人工智能技术解决简单实际问题的能力。
2. 实验设备或环境硬件设备:微机。
软件环境:操作系统Windows,开发工具Microsoft Visual C++ 6.0(或者其他高级语言)、Visual Prolog5.2、Matlab,等。
3. 实验内容(1).在Visual C++环境(或者其他高级编程语言)下,利用状态空间法解决简单的智力游戏问题。
(2).了解Visual Prolog人工智能编程语言,编写和调试一些简单的Prolog程序。
(3).在Matlab环境下,初步掌握人工神经网络的一些常用模型的基本使用方法.4.实验步骤(1).编写、调试程序。
(2).运行若干个实例。
(3).编写实验报告。
5. 考核要求或实验报告要求每位学生独立完成编程与实验报告,在机房抽查同学的程序。
少量同学需要做口头报告与演示程序。
实验报告的格式见附件。
附件:《人工智能》课程实验报告模板说明:1、模板的斜体文字是编写提纲,正式报告中不用保留。
2、必须在理解教材和上课内容的基础上,自己独立完成本报告。
不要拷贝教材中的文字与流程图。
3、提交的实验报告包括本报告与程序源代码,每位同学以自己的学号名字为文件名,压缩后提交。
例如,1917xxxx张三.zip/rar。
4、在机房抽查同学的程序。
在课堂上,要求部分同学口头讲解报告和演示程序。
以下是报告的模板正文利用状态空间法解决走迷宫游戏问题学号姓名完成时间2019年11月15日1.迷宫游戏简介(用文字描述迷宫游戏问题)2.迷宫游戏问题的状态空间法表示(利用课程介绍的状态空间法来描述迷宫游戏问题,针对矩形迷宫,定义相应的状态与操作符)3.迷宫游戏问题的盲目搜索技术概述(介绍宽度和深度优先搜索算法的基本原理和流程图)(算法复杂性分析:时间与空间复杂性(选做))4.迷宫游戏问题的启发式搜索技术(给出你所采用估价函数,并介绍算法的基本原理和流程图)5.例子及分析对于算法的运行过程,需要记录下列信息:起始状态、目标状态、所走的步数及其对应操作符、生成的状态总数(OPEN表和CLOSED 表的大小)、搜索CPU时间(毫秒)等。
人工智能实验指导书-1
人工智能导论实验指导一、实验整体要求(包括进度、实验预习和报告要求、结果形式、考核等)共分两个实验,12学时内完成,每次3学时,共4次上机。
每个实验相当于一个大作业,锻炼学生运用知识解决实际问题的能力,对所学知识有更深刻的理解。
要求提交源代码,运行结果和相关文档(包括核心算法)。
由实验老师逐一检查考核,占考试成绩的20%。
二、(有关说明:软/硬环境、实验基本方法、调试和测试工具的使用等)在Windows2000/XP环境下,语言可以采用C/C++/JAVA/Matlab等。
实验室提供相关软件可由学生根据需要安装。
三、实验内容实验_图搜索策略1.实验目的(说明本次实验应对那些知识达到何种认知程度,如了解/掌握)(1)加深对各种图搜索策略概念的理解;(2)进一步了解启发式搜索;(3)比较并分析各种图搜索策略的异同°2.实验预习内容(1)了解重排九宫问题、一字棋游戏、八皇后问题;(2)各种图搜索算法及剪枝技术等。
3.实验内容和步骤结合第二章内容,以一字棋游戏,八皇后问题,重排九宫问题等为例,分组编程演示其搜索策略.题目:b 以重排九宫问题为例演示各种搜索策略的搜索过程,要求程序具有一定的普适性,重点是要把算法描述清楚。
6学时2,对博弈感兴趣的同学可选做一字棋游戏的实现。
4.实验总结及思考总结出各种搜索策略的特点和区别。
实验二产生式系统的推理1.实验目的(说明本次实验应对那些知识达到何种认知程度,如了解、掌握等)理解并掌握基于规则系统的表示与推理。
2.实验预习内容第五章产生式系统3.实验内容和步骤1.内容:结合第五章内容,以动物识别系统(或货物袋装系统)为例,实现基于规则的系统构造实验.6学时。
2.要求:1)根据输入的规则,正确地识别所能识别的动物。
2)能完成正向和/或反向推理我们假设计算机的视觉系统可以识别毛发、羽毛、奶、犬齿、爪、蹄、颜色等等基本的事实。
一个动物识别专家系统的产生式如下:R1:若某动物有奶,则它是哺乳动物。
《人工智能》实验指导书(2004)
《人工智能课程实验》指导书一、《人工智能课程实验》的必备知识●“消解原理”和“合一算法”是人工智能的重要基本原理和方法之一,要求学生重点掌握和理解它们的核心内容,并且能够融会贯通。
●专家系统的核心部件是知识库和推理机,能够较灵活地模拟特定领域的专家解决问题,是AI中发展较成熟的一个应用领域。
要求学生熟练掌握专家系统的结构、工作原理、开发方法和开发工具,能够开发简单的专家系统。
●LISP是函数型语言,PROLOG 是逻辑型语言,这两种语言是重要的AI语言。
要求学生认识函数型语言和逻辑型语言的特点,初步掌握两种语言的基本用法。
●具备上机编辑、调试、测试程序的基本方法和技巧。
二、《人工智能课程实验》的方法提示不少学生在上机实习时,总觉得无从下手,做起来特别费劲。
实际上,实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种方法和技术大多可从教科书中找到,因此,需要首先正确理解和熟练掌握书本中的相关知识,仔细体会,融会贯通。
只有通过反复实践的过程才能真正掌握所学知识。
通过分析、设计、编码、调试等各环节的训练,才能深刻理解、牢固掌握所用到的一些技术和方法。
三、《人工智能课程实验》的软/硬件环境硬件环境:IBM-PC系列,●主机PII/266以上。
●内存128M以上。
●VGA或分辨率更高的监视器。
●Microsoft鼠标或兼容的定点设备。
软件环境:Windows2000环境下,安装以下软件:●LISP系统软件。
●PROLOG系统软件。
四、《人工智能课程实验》的步骤课程实验共18学时,要求完成以下三个题目:实习一消解原理(6学时)步骤1:通过课堂学习和课后练习,熟练掌握“消解原理”的核心内容。
步骤2:学会用LISP或PROLOG语言编程。
步骤3:“消解原理”算法的设计与分析。
步骤4:用LISP或PROLOG语言编写实现“消解原理”算法的程序。
步骤5:上机编辑、调试程序,反复进行,直到程序通过为止。
实习二表达式合一算法(3学时)步骤1:通过课堂学习和课后练习,熟练掌握“合一算法”的核心内容。
人工智能实验指导书
人工智能及应用实验指导书前言《人工智能及应用》课程实验的目的是为了配合课堂教学,进一步强化对人工制能的不同实现途径的理解。
实验的任务是要结合相关的人工智能语言平台(PROLOG语言),熟练掌握和深入理解课堂教学内容。
帮助学生更好地学习本课程,理解和掌握人工智能算法设计与实现所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计等各环节的训练,使学生深刻理解、牢固掌握所用到的一些原理与技术。
实验中的内容和教科书的内容是密切相关的,在反复实践的过程中才能掌握。
使学生在掌握抽象人工智能理论的基础之上学到更多可操作性很强的智能算法技术及实践经验。
目录实验一 Prolog语言及逻辑程序设计 (1)实验二搜索策略实验 (3)实验三专家系统实验 (6)实验一 Prolog语言及逻辑程序设计一、实验目的加深学生对逻辑程序运行机理的理解,使学生掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。
1、熟悉PROLOG语言编程环境的使用;2、了解PROLOG语言中常量、变量的表示方法;3、了解利用PROLOG进行事实库、规则库的编写方法。
二、实验环境计算机,Visual PROLOG教学软件。
三、预习要求实验前应阅读实验指导书,了解实验目的、预习PROLOG语言的相关知识。
四、实验内容1、学习使用Visual PROLOG,包括进入PROLOG主程序、编辑源程序、修改环境目录、退出等基本操作。
2、在Visual prolog集成环境下调试运行简单的Visual PROLOG程序。
3、编写一个描述亲属关系的PROLOG程序,然后再给出一些事实数据,建立一个小型演绎数据库。
可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他亲属关系。
4、修改教材2.2节例2.9的程序,使其能输出图中所有路径(path)。
五、实验方法和步骤1、启动Windows 操作环境。
人工智能 实验指导
《人工智能》课程实验指导书课程代码:H0404X课程编号:09120042适用对象:计算机科学与技术专业指导教师:肖晓明魏世勇实验内容实验一产生式系统实验实验二移动机器人的路径规划与行为决策实验实验三梵塔问题实验实验四 A*算法实验实验五化为子句集的九步法实验实验六子句消解实验实验七模糊假言推理器实验实验八 BP网络实验实验九贝叶斯网络实验实验一产生式系统实验(必修,2学时)一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。
二、实验原理产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。
在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。
三、实验条件:1.产生式系统实验程序。
2.IE5.0以上,可以上Internet。
四、实验内容:1.对已有的产生式系统(默认的例子)进行演示,同时可以更改其规则库或(和)事实库,进行正反向推理,了解其推理过程和机制。
2.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。
这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。
五、实验步骤:1.定义变量,包括变量名和变量的值。
2.建立规则库,其方法是,(a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。
重复操作,可输入多条条件;(b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。
选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。
重复以上两步,完成整个规则库的建立。
3.建立事实库(总数据库):建立过程同步骤2。
重复操作,可输入多条事实。
4.然后按“开始”或“单步”按钮即可。
此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(5)否定目标的否证在用于产生空子句的代换下为真。 如何把前提或公理化为子句形式是进行归结的前提, 其过程包含 如下步骤: (1)消去蕴涵符号 用~ P∨Q 替换 P→Q (2)减少否定符号的辖域 每个否定符号~ 最多只作用在一个谓词符号上 (3)对变量标准化 每个变量仅受一个量词作用 (4)消去存在量词 若存在量词前没有全称量词, 则直接消去; 否则, 要 Skolem。 化。 (5)化为前束范式 前束范式:一个公式,如果量词均非否定地出现在公式 最前面,其辖域延伸到整个公式的末尾,且在公式中仅含 有联结词~ ,∨,∧,则称此种形式为前束范式。 前束范式 = (前缀) (6)化母式为合取范式 (7)消去全称量词 (8)消去连接词符号∧ 用{A,B}替代(A∧B) (9)将分离的变元归一化 (母式)
(4)控制机制 (5)状态空间图 (6)程序清单 (7)实验结果讨论 a. 你采用何种策略来控制产生式系统的搜索? b.你能否对产生式系统进行改进,若能请把你的想法写下来。
实验三 归结原理
一、实验目的 熟悉和掌握归结原理的基本思想和基本方法, 通过实验培养学生 利用逻辑方法表示知识, 并掌握采用机器推理来进行问题求解的基本 方法。 二、实验要求 1.先熟悉归结原理的基本思想和归结否证的步骤; 2.用 C、C++、JAVA 或 Prolog 语言编程实现实验内容; 3.利用所学的知识及实验结果,来完成实验报告的各项内容。 三、实验背景知识 归结是一种应用于谓词演算中的定理证明技术,从 60 年代中期 开始,它就成为人工智能问题求解研究的一个组成部分。归结原理描 述了如何用最少的合一次数在一个子句数据库中发现矛盾的方法。 归 结否证定理证明的方法是,对所要证明的命题取反,把它加到一个已 知为真的公里集中,然后用归结推理规则证明这将导致一个矛盾,一 旦定理证明程序证明了否定目标与已知的公理集合不一致, 就能推导 出原来的目标与公理集是一致的。这就证明了该定理。 归结否证包含以下步骤: (1)把前提或公理转换成子句形式; (2)把求证目标的否定的子句形式加到公理集合中; (3)对所有这些子句进行归结,产生它们的逻辑结果子句; (4)用产生空子句的方法来得出矛盾;
四、实验内容 问题描述:四对夫妇中,王结婚时,周送了礼;周和钱是同一排 球队的队员; 李的爱人是陈的爱人的表哥; 陈夫妇与邻居吵架时, 徐、 周、吴的爱人都去助战;李、徐、周结婚前住在同一宿舍,试用归结 原理求王、周、钱、陈、李、徐、吴、孙几人谁和谁是夫妇。 五、问题 (1)利用逻辑表达式对问题的前提和结论进行描述。 (2)将前提和结论的否定化为子句形式。 (3)写出问题的子句集形式。 (4)利用归结原理对问题进行求解,写出求解过程。 (5)编写程序进行问题求解,列出程序清单。 (6)写出实验结果。 (7)实验结果讨论:你在实验中采用的归结策略是何种策略,能否 有该进?如何改进?
2. 启发式搜索过程的特性 (1)可采纳性 当一个搜索算法在最短路径存在的时候能保证能找到它, 我们就 称该算法是可采纳的。所有 A*算法都是可采纳的。 (2)单调性 一个启发函数 h 是单调的,如果 a) 对所有的状态 ni 和 nj,其中 nj 是 ni 的子孙,h(ni )- h(nj ) ≤cost(ni,nj ),其中 cost(ni,nj )是从 ni 到 nj 实际代价。 b) 目标状态的启发函数值为 0,即 h(Goal)=0.
(6)实验结果讨论 a. 你所采用的估价函数f(n) = g(n) + h(n)中,g(n)和h(n)的主要作用是 什么? b. 结合本实验举例说明不同启发策略对实验的效果有何影响? c. 若问题的初始状态是随机产生的,你的实验程序应该如何改进?
实验二 基于产生式系统的问题求解
一、实验目的: 熟悉和掌握产生式系统的构成和运行机制, 掌握基于规则推理的 基本方法和技术。 二、实验方法: 1.先熟悉产生式系统的基本概念; 2.用 C、C++或 JAVA 语言编程实现实验内容。 三、实验背景知识: 产生式系统 (Production system) 首先由波斯特 (Post) 于 1943 年提出的产生式规则(Production rule)而得名,他们用这种规则 对符号串进行置换运算,后来,美国的纽厄尔和西蒙利用这个原理建 立了一个人类的认知模型(1965 年) ,同年,斯坦福大学利用产生式 系统结构设计出第一个专家系统 DENDRAL。 产生式系统用来描述若干个不同的以一个基本概念为基础的系 统。这个基本概念就是产生式规则或产生式条件和操作对象的概念。 在产生式系统中,论域的知识分为两部份: (1)事实:用于表示静态知识,如事物、事件和它们之间的关 系; (2)规则:用于表示推理过程和行为
具有单调性的启发式搜索算法在对状态进行扩展时能保证所有被扩 展的状态的f值是单调递增(不减) 。 (3)信息性 比较两个启发策略h1和h2,如果对搜索空间中的任何一个状态n 都有h1(n) ≤h2(n),就说h2比h1具有更多的信息性。 一般而言,若搜索策略h2比h1有更多的信息性,则h2比h1考察的 状态要少。但必须注意的是更多信息性需要更多的计算时间,从而有 可能抵消减少搜索空间所带来的益处。
《 人工智能 》 实验指导书
专业 年级 姓名 学号 指导老师 实验室 使用日期
实验一 启发式搜索
一、实验目的: 熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用 A 算法求解九宫问题,理解求解流程和搜索顺序。 二、实验方法: 1.先熟悉启发式搜索算法; 2.用 C、C++或 JAVA 三、实验背景知识: 1.估价函数 在对问题的状态空间进行搜索时, 为提高搜索效率需要和被解问 题的解有关的大量控制性知识作为搜索的辅助性策略。 这些控制信息 反映在估价函数中。 估价函数的任务就是估计待搜索节点的重要程度, 给这些节点排 定次序。估价函数可以是任意一种函数,如有的定义它是节点 x 处于 最佳路径的概率上,或是 x 节点和目标节点之间的距离等等。在此, 我们把估价函数 f(n)定义为从初始节点经过 n 节点到达目标节点的最 小代价路径的代价估计值,它的一般形式是: f(n) = g(n) + h(n) 其中 g(n)是从初始节点到节点 n 的实际代价,g(n)可以根据生成 的搜索树实际计算出来;h(n)是从 n 到目标节点的最佳路径的代价估 计,h(n)主要体现了搜索的启发信息。 语言编程实现实验内容。
(3)操作:执行规则的操作部分,经过修改以后,当前数据库 将被修改。 四、实验内容: 问题描述:用基于产生式系统的方法求解传教士和野人问题 有 N 个传教士和 N 个野人来到河边准备渡河,河岸有一条船, 每次至多可供 K 个乘渡,问传教士为了安全起见,应如何规划摆渡 方案,使得任何时刻,河岸两边以及船上的野人数目总是不超过传教 土的数目,即求解传教士和野人从左岸全部摆渡到右岸的过程中,任 何时刻满足 M(传教士数)≥C(野人数)和 M+C≤K 的摆渡方案。 五、问题 (1)问题状态的表示 (2)数据库描述 (3)规则库的描述
3.常用的启发式搜索算法 (1)局部择优搜索算法(瞎子爬山法) 瞎子爬山法是最简单的启发式算法之一。该算法在搜索过程中 扩展当前节点并估价它的子节点。最优的子节点别选择并进一步扩
展;该子节点的兄弟节点和父节点都不再被保留。当搜索到达一种状 态,该状态比它的所有子状态都要好,则搜索停止。因此,该算法的 估价函数可表示为f(n) = h(n)。 在一个限定的环境下,瞎子爬山法可能会极大的提高搜索的效 率,但是对整个搜索空间而言,可能得不到全局最优解。 (2)最好优先搜索法(有序搜索法) 该算法的估价函数采用f(n) = g(n) + h(n),在搜索过程中算法使 用OPEN表和CLOSE表来记录节点信息:OPEN表中保留所有已生成 而未考察的节点;CLOSE表中保留所有已访问过的节点。算法在每 一次搜索过程中都会对OPEN表中的节点按照每个节点的f值进行排 序,选择f值最小节点进行扩展。算法的描述如下: ① 把起始节点S放到OPEN表中,计算f(S),并把其值与节点S联 系起来。 ② 若OPEN是个空表,则算法失败退出,无解。 ③ 从OPEN表中选择一个f值最小的节点i。结果有几个节点合 格,当其中有一个为目标节点时,则选择此目标节点,否则就选择其 中任一个节点作为节点i 。 ④ 把节点i从OPEN表中移出,并把它放入到CLOSED的扩展节点 表中。 ⑤ 若节点i是个目标节点,则成功退出,求得一个解。 ⑥ 扩展i,生成其全部后继节点。对i的每个后继节点j: (a)计算f(j)。
(ii) 从j指向i,而不是指向它的父辈节点。 (iii) 若节点j在CLOSED表中,则把它移回OPEN表。 ⑦ 转向②。 四、实验内容: 问题描述:用启发式搜索方法求解下列九宫问题
2 1 7 五、问题
8 6
3 4 5
1 8 7
2
3 4
6
5
(1)状态表示的数据结构 (2)状态扩展规则的表示 (3)搜索产生的状态空间图 (4)OPEN表和CLOSE表变化过程 (5)程序清单
(b)如果j既不在OPEN表中,也不在CLOSED表中,则用估价 函数f将其添加到OPEN表。从j加一指向其父辈节点i的 指针,以便一旦找到目标节点时记住一个解答路径。 (c)如果j已则OPEN表中或CLOSED表Байду номын сангаас, 则比较刚刚对j计算 过的f值和前面计算过的该节点在表中的f的值。 若新的 f值较小,则 (i) 以此值取代旧值。
一个产生式系统由三个部分组成,如图所示:
(1)总数据库:用来存放与求解问题有关的数据以及推理过程 环境的当前状态的描述。 (2)产生式规则库:主要存放问题求解中的规则。(3)控制策 略: 其作用是说明下一步应该选用什么规则, 也就是说如何应用规则。
总数据库
规则库
控制策略
通常从选择规则到执行操作分三步: (1)匹配:把当前数据库和规则的条件部分相匹配。如果两者 完全匹配,则把这条规则称为触发规则。 (2)冲突解决:当有一个以上的规则条件部分和当前数据库相 匹配时,就需要解决首先使用哪一条规则——冲突解决。 1)专一性排序:如果某一规则的条件部分比另一条规则的条 件部分所规定的情况更为专门,则这条规则有较高的优先权。 2)规则排序:如果规则编排顺序就表示了启用的优先级,则 称之为排序。 3)数据排序:把规则条件部分的所有条件按优先级次序编排