- 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对表的基本操作
表在Prolog中很重要,下面里举一下对它的基本操作(都是书上的)
先定义
domains
element = integer
array = element*
这样的好处是,可以轻松的改掉基本的element为别的类型,如symbol,而不用去该谓词里的定义
append——最有用的谓词
predicates
append(array,array,array)
append(H,T,R)定义了这样一种关系,由H和T连接得到表R
具体规则
clauses
append([],T,T).
append(T,[],T). % 说明空表是单位元
append([X|H],T,[X|R]):-
append(H,T,R).
最后一个表达式是关键的,它体现了对表的一种处理方式--添加新元素X到R中——和递归的思想:
要把表[X,...]和[Y,...]连成R,可以先把X放到R的表头,再递归的把第一个表剩下的部分和第二个表联成R剩下的部分!(好像说的不太清楚?)
然后可以试几个例子
goal
append([1,2],[3,4],X),write(X),nl,
append([1,2],Y,[1,2,3,4]),write(Y),nl,
append(Z,[3,4],[1,2,3,4]),write(Z),nl,
append(H,T,[1,2,3,4]),write(H,T),nl, %加个fail试试
readln(Q).
size——求表的大小
可以定义为函数
predicates
integer size(array)
clauses
size([],0). % 函数的返回之定义为最有一个变量,空表的长度为0
size([X|H],RETURN):-
RETURN = size(H) + 1.
就可以了。
goal
X = size([]),write(X),nl,
Y = size([1,2,3]),write(Y),nl,
readln(Q).
reverse——表得倒序
predicates
reverse(array,array)
clauses
reverse([],[]).
reverse(H,[X|T]):-
append(R,[X],H),
reverse(R,T).
最有一句还可以这样:
reverse([X,Y|H],T):-
reverse([Y|H],R),
append(R,[X],T).
goal
测试:
reverse([],X),write(X),nl,
reverse([1,2,3,4],Y),write(Y),nl,
readln(Q).
delete——删除表中指定元素
predicates
delete(element,array,array)
delete(X,H,R)是删除表H中的元素X得到表R
clauses
利用append
delete(X,H,R):-
append(M,[X|N],H),
append(M,N,R).
goal
测试:
delete(1,[1],X),write(X),nl,
delete(2,[1,2,3,4],Y),write(Y),nl,
readln(Q).
permutation——表中元素的排列
predicates
permutation(array,array)
permutation(H,T)将得到表H中原素的一种排列到表T
clause
您可能关注的文档
最近下载
- 智能交通产业园项目可行性研究报告.pptx VIP
- 【初中竞赛资料】2016年全国初中数学联赛通知.pdf VIP
- 产业园项目可行性研究报告.pptx VIP
- 成都高新区党工委管委会部门所属事业单位及法定机构公开选调(聘)优秀干部人才笔试模拟试题及答案解析.docx VIP
- 成都高新区党工委管委会部门所属事业单位及法定机构公开选调(聘)优秀干部人才笔试备考题库及答案解析.docx VIP
- 窗帘安装师傅劳务合同5篇.docx VIP
- 第三代半导体数字产业园项目可行性研究报告.pptx VIP
- 成都高新区党工委管委会部门所属事业单位及法定机构公开选调(聘)优秀干部人才笔试参考题库附答案解析.docx VIP
- 新疆专业技术人员管理平台业务操作指南.PDF VIP
- 生态修复项目阶段性成果的绩效评估体系构建.docx VIP
文档评论(0)