收藏 分销(赏)

人工智能实验一.doc

上传人:xrp****65 文档编号:7422753 上传时间:2025-01-03 格式:DOC 页数:6 大小:137.31KB 下载积分:10 金币
下载 相关 举报
人工智能实验一.doc_第1页
第1页 / 共6页
人工智能实验一.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
实验一 PROLOG语言编程 一、实验目的 1.加深学生对逻辑程序运行机理的理解。 2.掌握PROLOG语言的特点、熟悉其编程环境。 3.为今后人工智能程序设计做好准备。 二、预习要求 1.复习PROLOG语言的语法。 2.熟悉PROLOG的语言环境。 3.阅读一些PROLOG的程序。 三、实验要求 1.用PROLOG语言编程。 四、实验内容 1、编写一个描述亲属关系的PROLOG程序,然后再给予出一些事实数据,建立一个小型演绎数据库。 提示:可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他所属关系。 domains name=symbol. predicates mother(name,name). father(name,name). grandfather(name,name). grandmother(name,name). sister(name,name). aunt(name,name). goal grandmother(a,X),write("X=",X),nl, father(b,Y),write("Y=",Y),nl, sister(d,Z),write("Z=",Z),nl, aunt(d,T),write("T=",T). clauses mother(a,c). mother(a,d). mother(c,g). mother(c,f). father(b,c). father(b,d). father(e,g). father(e,f). grandfather(X,Z):-father(X,Y),father(Y,Z). grandmother(X,Z):-mother(X,Y),mother(Y,Z). sister(X,Y):-mother(Z,X),mother(Z,Y). aunt(X,Y):-mother(Z,Y),sister(Z,X). 2、编写一个路径查询程序,使其能输出图中所有路径。 提示:程序中的事实描述了下面的有向图,规则是图中两节点间通路的定义。 a b c d e domains point=symbol predicates road(point,point). path(point,point). goal path(X,Y),write(X,"-->",Y),nl,fail. clauses road(a,b). road(a,c). road(b,e). road(b,d). road(c,d). road(d,e). path(X,Y):-road(X,Y). path(X,Y):-road(X,Z),road(Z,Y),not(road(X,Y)). 3、一个雇主在发出招聘广告之后,收到了大量的应聘申请。为了从中筛选出不量的候选人,该雇主采用下列判据:申请者必须会打字、开车,并且住在伦敦。 (a)用Prolog规则表述这个雇主的选择准则。 (b)用Prolog事实描述下列申请者的情况: 史密斯住在剑桥,会开车但不会打字。 布朗住在伦敦,会开车也会打字。 简住在格拉斯哥,不会开车但会打字。 埃文斯住在伦敦,会开车也会打字。 格林住在卢顿,会开车也会打字。 (c)要求Prolog提供一个候选人名单。 domains people=symbol.skill=symbol. predicates ziliao(people,skill,skill,skill). goal ziliao(X,london,car,type),write("X=",X),nl,fail. clauses ziliao(smith,jianqiao,car,nottype). ziliao(brown,london,car,type). ziliao(jane,glasg,nocar,type). ziliao(elven,london,car,type). ziliao(green,ludun,car,type). 4、实现递归谓词remove(X,Y,Z),它用于从表Y中除去所有整型数X的倍数值后得到新表Z。例如,对于询问 ?- remove(2,[3,4,5,6,7,8,9,10],Z). 的回答为: Z=[3,5,7,9] DOMAINS num=integer lists=num* PREDICATES remove(num,lists,lists). CLAUSES remove(X,[H|T],Z):- H mod X =0, remove(X,T,Z). remove(X,[H|T],Z):- H mod X <>0,remove(X,T,Z1),Z=[H|Z1]. remove(X,[],[]). 五、 实验总结 1. 通过本次实验,进一步加深了对逻辑程序运行机理的理解。 2. 通过本次实验,进一步掌握了PROLOG语言的特点、熟悉了编程环境。 3. prolog语言最大的特点是逻辑性强,语言规则简单。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服