16年人工智能实验指导书资料.docx
- 文档编号:25614044
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:9
- 大小:20.07KB
16年人工智能实验指导书资料.docx
《16年人工智能实验指导书资料.docx》由会员分享,可在线阅读,更多相关《16年人工智能实验指导书资料.docx(9页珍藏版)》请在冰豆网上搜索。
16年人工智能实验指导书资料
人工智能实验指导书
适用专业:
计算机科学与技术
制定人:
应用教研室
实验一熟悉实验环境………………………………………第1页
实验二N!
及Fibonacci序列问题…………………………第4页
实验三梵塔问题……………………………………………第5页
实验四雇佣问题……………………………………………第8页
实验一熟悉实验环境(2学时)
一、实验目的
1、了解PROLOG解释器;
2、了解PROLOG语言中常量、变量的表示方法;
3、了解利用PROLOG进行事实库、规则库的编写方法;
二、实验要求
1、熟悉Prolog运行环境,包括硬件与软件环境;
2、学习示例程序,分析其功能;
3、写出Example1、Example11、Example15示例程序的功能;
4、利用PROLOG进行事实库、规则库的编写,并在此基础上进行简单的询问;
三、实验设备
网络计算机,Turboprolog教学软件。
四、实验内容及步骤
一)实验内容:
1、熟悉Turboprolog的运行环境,包括所用的机器的硬件与软件环境。
2、学习使用Turboprolog,包括进入Prolog主程序、编辑源程序、修改环境目录、退出等基本操作。
3、学习Turboprolog的简单程序结构,掌握分析问题、询问解释技巧。
4、了解PROLOG语言中常量、变量的表示方法;
5、利用PROLOG进行事实库、规则库的编写,并在此基础上进行简单的询问;
二)实验步骤:
1、启动Windowsxp/win7操作环境。
2、打开prolog.exe,进入prolog开发主界面。
3、选择Files项,打开下拉菜单,选择Load项,选择要打开的示例程序,注意,必须输入完整的路径,形如:
d:
\exampl1.pro,选择Example1示例程序,再选择Edit项,可以进行编辑源程序。
4、
4、编辑之后,可以选择Run项,执行程序,注意询问时,变量必须首字母大写,比如:
likes(Who,tennis).并分析程功能。
5、仿前例,运行friend、Example11、Example15,分析程序功能。
6、退出,选择Quit项,可以退出TurboProlog程序,返回到Windows环境。
五、源程序
Example1:
domains
person,activity=symbol
predicates
likes(person,activity)
clauses
likes(ellen,tennis).
likes(john,football).
likes(tom,baseball).
likes(eric,swimming).
likes(mark,tennis).
likes(bill,X)iflikes(tom,X).
friend:
教材226prolog例子
predicates/*谓词段,对要用的谓词名和参数进行说明*/
likes(symbol,symbol)
friend(symbol,symbol)
clauses/*子句段,存放所有的事实和规则*/
likes(bell,sports)./*前4行是事实*/
likes(mary,music).
likes(mary,sports).
likes(jane,smith).
friend(john,X):
-likes(X,sports),likes(X,music).
Example11:
domains
namelist=name*
name=symbol
predicates
member(name,namelist).
clauses
member(Name,[Name|_]).
member(Name,[_|Tail])ifmember(Name,Tail).
Example15:
domains
name=symbol
predicates
father(name,name)
everybody
clauses
father(leonard,katherine).
father(carl,jason).
father(carl,marilyn).
everybodyif
father(X,Y),
write(X,"is",Y,"'sfather\n")andfail.
实验二N!
及Fibonacci序列问题(2学时)
一、实验目的
掌握Turboprolog软件编程使用方法;
掌握Prolog程序的各域段含义;
初步学习分析、运用递归方法解决问题。
二、实验设备
网络计算机,Turboprolog教学软件。
三、实验内容及步骤
一)Fibonacci序列问题描述:
数字的Fibonacci序列是个正整数序列,序列头两个数均为1,其余数为其前两个数相加得到,该序列排列如下:
1,1,2,3,5,8,13,21,34,55……
Fibonacci序列通式为:
F1=1
F2=1
Fn=Fn-1+Fn-2
二)实验内容:
1、进一步熟悉Turboprolog的运行环境,程序调试的方法;
2、初步掌握递归原理,了解问题递归的详细过程。
3、理解递归停止条件对整个递归过程的作用。
4、写出求N!
及Fibonacci序列问题的Prolog程序。
三)实验步骤:
1、启动prolog编辑环境,运行N!
程序,并自己动手编写求Fibonacci序列源程序;
2、运行程序,分析结果;
3、尝试修改程序达到同样的目的。
实验三梵塔问题(2学时)
一、实验目的
1、掌握PROLOG编制递归程序的方法:
边界条件与递归部分的设计;
2、掌握Prolog程序的各域段含义;
3、学会分析、运用递归方法解决问题。
二、实验要求
1、分析汉诺塔问题,找出问题本身存在的递归性,编制程序;
2、显示汉诺塔问题中圆盘的移动次序;
3、归纳出圆盘数目与移动步骤之间的数学关系;
4、分析递归问题的实质。
三、实验设备
网络计算机,Turboprolog教学软件。
四、实验内容及步骤
一)问题描述:
如上图,目的是把左边的所有盘子移到右边的杆子上。
一次只能移动一个盘子,你可以使用中间的杆子作为临时存放盘子的地方。
在移动的过程中,小盘子必须放在大盘子之上。
二)分析问题:
如果盘子只有两三个,是很容易解决的。
但是随着盘子数目的增加,问题就变得非常难解了。
事实上,已经通过数学证明过了,最少的移动次数是2
,n为盘子的数目。
最早提出这个问题的人设定的盘子数目为64,这就是说需要2
=184********709551615次移动,假设计算机每秒钟能够计算10,000,000(一千万)次,那也需要58494年,所以你千万不要试图使用此程序来解较大的数。
让我们来看看如何用递归来解决这个问题:
如果只有一个盘子,直接移过去就行了,这是递归的边界条件。
如果要移动N个盘子,就要分三步走:
1、把N-1个盘子移动到中间的杆子上(把右边的杆子作为临时存放盘子的位置)。
2、把最后一个盘子直接移到右边的杆子上。
3、最后把中间杆子上的盘子移到右边的杆子上(把左边的杆子作为临时存放盘子的位置)。
上面第一、三步用到了递归。
我们看到,通过递归把N个盘子的问题变成了两个N-1个盘子的问题。
如此下去,最后就变成了2
个一个盘子的问题了,这也就是说问题被解决了。
三)实验内容:
1、分析汉诺塔问题,找出问题本身存在的递归性。
2、分析递归原理,熟悉问题递归的详细过程。
3、编写求梵塔问题的Prolog程序。
4、显示汉诺塔问题中圆盘的移动次序。
5、更改圆盘数量,了解问题解决的递归过程。
四)实验步骤:
1、启动prolog编辑环境,编辑hanoi源程序;
2、运行程序,分析结果;
3、重复比较圆盘数目,根据其求解过程得到圆盘数量与步骤数目之间的规律。
归纳并理解问题递归的实质。
实验四雇佣问题(2学时)
一、实验目的
1、进一步掌握PROLOG编写的方法;
2、理解系统谓词fail在程序中的作用。
二、实验要求
1、分析问题,找出问题本身存在的递归性,合理使用系统谓词。
2、编写出Prolog程序。
三、实验设备
网络计算机,Turboprolog教学软件。
四、实验内容及步骤
一)雇佣问题描述:
一个雇主在发出招聘广告之后,收到了大量的应聘申请。
为了从中筛选出不量的候选人,该雇主采用下列判据:
申请者必须会打字、开车,并且住在伦敦。
(a)用Prolog规则表述这个雇主的选择准则。
(b)用Prolog事实描述下列申请者的情况:
史密斯住在剑桥,会开车但不会打字。
布朗住在伦敦,会开车也会打字。
简住在格拉斯哥,不会开车但会打字。
埃文斯住在伦敦,会开车也会打字。
格林住在卢顿,会开车也会打字。
(c)要求Prolog提供一个候选人名单。
2)分析问题及编写程序:
domains
people,skill=symbol
predicates
ziliao(people,skill,skill,skill)
clauses
ziliao(smith,jianqiao,car,nottype).
ziliao(brown,london,car,type).
ziliao(jane,glasg,notcar,type).
ziliao(elven,london,car,type).
ziliao(green,lundun,car,type).
goal
ziliao(X,london,car,type),write("X=",X),nl,fail.
三)实验内容:
1、分析该问题的实质以及其中使用的系统谓词;
2、理解编写prolog程序的方法。
四)实验步骤
1、启动prolog编辑环境,编辑雇佣问题源程序;
2、运行程序,分析结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 人工智能 实验 指导书 资料