- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一 PROLOG语言编程
一、实验目的
1.加深学生对逻辑程序运行机理的理解。
2.掌握PROLOG语言的特点、熟悉其编程环境。
3.为今后人工智能程序设计做好准备。
二、预习要求
1.复习PROLOG语言的语法。
2.熟悉PROLOG的语言环境。
3.阅读一些PROLOG的程序。
三、实验内容
1、编写一个描述亲属关系的PROLOG程序,然后再给予出一些事实数据,建立一个小型演绎数据库。
提示:可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他所属关系。
2、编写一个路径查询程序,使其能输出图中所有路径。
提示:程序中的事实描述了下面的有向图,规则是图中两节点间通路的定义。
3、一个雇主在发出招聘广告之后,收到了大量的应聘申请。为了从中筛选出不量的候选人,该雇主采用下列判据:申请者必须会打字、开车,并且住在伦敦。
(a)用Prolog规则表述这个雇主的选择准则。
(b)用Prolog事实描述下列申请者的情况:
史密斯住在剑桥,会开车但不会打字。
布朗住在伦敦,会开车也会打字。
简住在格拉斯哥,不会开车但会打字。
埃文斯住在伦敦,会开车也会打字。
格林住在卢顿,会开车也会打字。
(c)要求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,Z),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、编写一个路径查询程序,使其能输出图中所有路径。
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).
zilia
文档评论(0)