人工智能实验一_人工智能实验

2020-02-28 其他范文 下载本文

人工智能实验一由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“人工智能实验”。

人工智能技术基础

PROLOG语言编程练习

实验报告

一、实验目的:

加强对逻辑程序运行机能的理解,更好地掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。

二、实验要求:

(1)程序自选,但必须是描述某种逻辑关系的小程序。(2)跟踪程序的运行过程,理解逻辑程序的特点。

(3)对原程序可作适当修改,以便熟悉程序的编辑、编译和调试过程。

三、实验内容:

在Turbo PROLOG或Visual Prolog集成环境下调试运行简单的PROLOG程序,如描述亲属关系的PROLOG程序或其他小型演绎数据库程序等。

四、实验结果:

(1)验证题1源程序 domains d=integer predicates not_(D,D)and_(D,D,D)or_(D,D,D)xor(D,D,D)clauses not_(1,0).not_(0,1).and_(0,0,0).and_(0,1,0).and_(1,0,0).and_(1,1,1).or_(0,0,0).or_(0,1,1).or_(1,0,1).or_(1,1,1).xor(Input1,Input2,Output):-

not_(Input1,N1),/*(1,0)*/

not_(Input2,N2),/*(0,1)*/

and_(Input1,N2,N3),and_(Input2,N1,N4),or_(N3,N4,Output).(2)验证题2源程序 predicates student(integer,string,real)grade goal grade.clauses student(1,“zhang”,90.2).student(2,“li”,95.5).student(3,“wang”,96.4).grade:-write(“Please input name:”),readln(Name),student(_,Name,Score),nl,write(Name,“grade is”,Score).grade:-write(“Sorry,the student cannot find!”).(3)验证题3源程序 domains n,f=integer predicates factorial(n,f)goal readint(I), factorial(I,F), write(I,“!=”,F).clauses factorial(1,1).factorial(N,Res):-

N>0,N1=N-1,factorial(N1,FacN1),Res=N*FacN1.(4)验证题4源程序 domains s=symbol predicates p(s)p1(s)p2(s)p3(s)p4(s)p5(s,s)p11(s)p12(s)p31(s)goal p(X),write(“the x is ”,X).clauses p(a1):-p1(b),p2(c).p(a2):-p1(b),p3(d),p4(e).p(a3):-p1(b),p5(f,g).p1(b):-p11(b1),p12(b2).p3(d):-p31(d1).p2(c1).p4(e1).p5(f,g).p11(b1).p12(b2).p31(d11).(5)验证题5源程序 domains name=symbol age =integer predicates player(name,age)match(name,name)clauses player(peter, 9).player(paul, 10).player(chris, 9).player(susan, 9).match(X,Y):-player(X,9), player(Y,9), XY.match(X,Y):-!, player(X,9), player(Y,9), XY.match(X,Y):-player(X,9),!, player(Y,9), XY.match(X,Y):-player(X,9), player(Y,9),!, XY.match(X,Y):-player(X,9), player(Y,9), XY,!.在外部Goal: match(X,Y)条件下,“分别”采用以上各match谓词,观察对应的执行结果如下:

(a)

(b)

(c)

(d)

(e)

五、实验总结

(1)实验中出现的问题

a、做完验证题一,用load加载已改为.PRO格式的验证题二文本,加载不成功。b、由于验证题五需要在外部Goal: match(X,Y)条件下,“分别”采用以上各match谓词,观察对应的执行结果。我采用建立一个源程序文本,load加载进去,修改删除五次match谓词结构,结果第一次编辑运行完,第二次load加载,还是第一次修改后的结果。

(2)对问题的解决方法 a、验证题一运行验证完后,加以保存,再进行load加载下一验证实验。

b、由于在进行第二个match谓词验证之前,对第一个match谓词运行的结果进行了保存,所以第二次load加载是第一个保存后的结果。为了减少不必要的麻烦分别建立了五个独立.PRO文本。分别load加载后,实验运行成功。(3)心得体会

本次实验,课上基本都有提到,课上的理论推理知识较易掌握,实验是对课上理论知识的实践,进一步的夯实。在实验前,认真阅读了实验指导,加以课上老师的指点,实验完成的十分顺利。

通过本次上机实验,使自己对PROLOG语言集成环境下调试运行,有了一定的掌握,目前所接触到的语言的调试运行都大同小异。掌握一门新语言,除了掌握理论知识外,上机实验,多动脑分析代码,多动手调试运行代码十分重要。对于工科类学生深知实践对工作学习的重要性。

《人工智能实验一.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
人工智能实验一
点击下载文档
相关专题 人工智能实验 人工智能 人工智能实验 人工智能
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文