逻辑程序设计语言PROLOG

逻辑程序设计语言PROLOG

ID:38477692

大小:379.05 KB

页数:42页

时间:2019-06-13

逻辑程序设计语言PROLOG_第1页
逻辑程序设计语言PROLOG_第2页
逻辑程序设计语言PROLOG_第3页
逻辑程序设计语言PROLOG_第4页
逻辑程序设计语言PROLOG_第5页
资源描述:

《逻辑程序设计语言PROLOG》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章逻辑程序设计语言PROLOG2.1基本PROLOG2.2TurboPROLOG程序设计2.1基本PROLOG2.1.1PROLOG的语句1.事实(fact)格式〈谓词名〉(〈项表〉).student(john).like(mary,music).abc.repeat.功能一般表示对象的性质或关系。2.规则(rule)格式〈谓词名〉(〈项表〉):-〈谓词名〉(〈项表〉){,〈谓词名〉(〈项表〉)}.bird(X):-animal(X),has(X,feather).grandfather(X,Y):-father(X,Z),fath

2、er(Z,Y).run:-start,step1(X),step2(X),end.功能一般表示对象间的因果关系、蕴含关系或对应关系。3.问题(question)格式?-〈谓词名〉(〈项表〉){,〈谓词名〉(〈项表〉)}.?-student(john).?-like(mary,X).功能问题表示用户的询问,它就是程序运行的目标。2.1.2PROLOG的程序PROLOG程序一般由一组事实、规则和问题组成。问题是程序执行的起点,称为程序的目标。likes(bell,sports).likes(mary,music).likes(mary,spor

3、ts).likes(jane,smith).friend(john,X):-likes(X,reading),likes(X,music).friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y).?-likes(mary,X).或?-likes(mary,music).或?-friend(X,Y).或?-likes(bell,sports),likes(mary,music),friend(john,X).2.1.3PROLOG程序的运行机理1.自由变量与约束变

4、量2.匹配合一两个谓词可匹配合一,是指两个谓词的名相同,参量项的个数相同,参量类型对应相同,并且对应参量项还满足下列条件之一:(1)如果两个都是常量,则必须完全相同。(2)如果两个都是约束变量,则两个约束值必须相同。(3)如果其中一个是常量,一个是约束变量,则约束值与常量必须相同。(4)至少有一个是自由变量。考虑下面的各组谓词是否可匹配合一?pre1(″ob1″,″ob2″,Z)pre1(″ob1″,″ob3″,Y)pre1(″ob1″,″ob2″,Z)pre1(″ob1″,X,″ob3″)pre1(″ob1″,″ob2″,Z)pre1(

5、″ob1″,X,Y)3.回溯所谓回溯,就是在程序运行期间,当某一个子目标不能满足(即谓词匹配失败)时,控制就返回到前一个已经满足的子目标(如果存在的话),并撤消其有关变量的约束值,然后再使其重新满足。成功后,再继续满足原子目标。如果失败的子目标前再无子目标,则控制就返回到该子目标的上一级目标(即该子目标谓词所在规则的头部)使它重新匹配。回溯也是PROLOG的一个重要机制。likes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X)

6、:-likes(X,reading),likes(X,music).friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y).则求解目标为friend(john,Y).新目标likes(X,reading),likes(X,music).2.2TurboPROLOG程序设计2.2.1程序结构/*〈注释〉*/〈编译指令〉constants〈常量说明〉domains〈域说明〉database〈数据库说明〉predicates〈谓词说明〉goal〈目标语句〉cla

7、uses〈子句集〉例如果把上节的例子程序作为TurboPROLOG程序,则应改写为:DOMAINSname=symbolPREDICATESlikes(name,name).friend(name,name)GOALfriend(john,Y),write(″Y=″,Y).CLAUSESlikes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).friend(john,X):-likes(X,sports),likes(X,music).fr

8、iend(john,X):-likes(X,reading),likes(X,m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。