人工智能实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《人工智能》实验指导书
计算机科学与技术系
目录
实验一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进行事实库、规则库的编写,并在此基础上进行简单的询
问;
6、利用PROLOG中的谓词asserta和retract进行数据管理。
二)实验步骤:
1、启动Windows操作环境。
2、打开目录,执行prolog应用程序,启动Turbo prolog,并按空格键
(SPACE)集成开发环境。
3、选择Setup项,打开下拉菜单,选择Directories项,将工作目录进行
修改,按Esc键退出,选择Save Configuration项,保存修改。
4、选择Files项,打开下拉菜单,选择Load项,选择要打开的示例程序,
选择Example 1示例程序,再选择Edit项,可以进行编辑源程序。
5、编辑之后,可以选择Run项,执行程序,可以在Dialog窗口进行询问,
即外部目标的执行,并分析程序之功能。
6、仿前例,运行Example 11、Example 15,分析程序功能。
7、退出,选择Quit项,可以退出Turbo Prolog程序,返回到Windows环
境。
五、源程序
Example 1:
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) if likes(tom,X).
Example 11:
domains
namelist = name*
name = symbol
predicates
member(name,namelist).
clauses
member(Name,[Name|_]).
member(Name,[_|Tail]) if member(Name,Tail).
Example 15:
domains
name = symbol
predicates
father(name,name)
everybody
clauses
father(leonard,katherine).
father(carl,jason).
father(carl,marilyn).
everybody if
father(X,Y),
write(X," is ",Y,"'s father\n") and fail.
实验二求N!及Fibonacci序列问题实验(3学时)
一、实验目的
掌握Turbo prolog软件编程使用方法;
掌握Prolog程序的各域段含义;
初步学习分析、运用递归方法解决问题。
二、实验设备
网络计算机,Turbo prolog教学软件。
三、实验内容及步骤
一)Fibonacci序列问题描述:
数字的Fibonacci序列是个正整数序列,序列头两个数均为1,其余数为其前两个数相加得到,该序列排列如下:
1,1,2,3,5,8,13,21,34,55……
Fibonacci序列通式为:
F
1
=1
F
2
=1
F n =F
n-1
+F
n-2
二)实验内容:
1、进一步熟悉Turbo prolog的运行环境,程序调试的方法;
2、初步掌握递归原理,了解问题递归的详细过程。
3、理解递归停止条件对整个递归过程的作用。
4、写出求N!及Fibonacci序列问题的Prolog程序。
三)实验步骤:
1、启动prolog编辑环境,编辑求N!及Fibonacci序列源程序;
2、运行程序,分析结果;
3、尝试修改程序达到同样的目的。