- 1
- 0
- 约1万字
- 约 42页
- 2019-11-03 发布于天津
- 举报
第2章 逻辑程序设计语言PROLOG
2.1 基本PROLOG
2.2 Turbo PROLOG程序设计
; 2.1 基本PROLOG
2.1.1 PROLOG的语句
1. 事实(fact)
格式 〈谓词名〉(〈项表〉).
student(john).
like(mary,music).
abc.
repeat.
功能 一般表示对象的性质或关系。 ; 2. 规则(rule)
格式 〈谓词名〉(〈项表〉):-〈谓词名〉(〈项表〉){,〈谓词名〉(〈项表〉)}.
bird(X):-animal(X),has(X,feather).
grandfather(X,Y):-
father(X,Z),father(Z,Y).
run:-start,step1(X),step2(X),end.
功能 一般表示对象间的因果关系、蕴含关系或对应关系。 ; 3. 问题(question)
格式 ?-〈谓词名〉(〈项表〉){,〈谓词名〉(〈项表〉)}.
? -student(john).
? -like(mary,X).
功能 问题表示用户的询问, 它就是程序运行的目标。 ;
?-likes(mary,X).
或
?-likes(mary,music).
或
?-friend(X,Y).
或
?-likes(bell,sports),
likes(mary,music),
friend(john,X).;2.1.3 PROLOG程序的运行机理
1. 自由变量与约束变量
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(″ob1″,X,Y)
;3. 回溯
所谓回溯, 就是在程序运行期间, 当某一个子目标不能满足(即谓词匹配失败)时,控制就返回到前一个已经满足的子目标(如果存在的话), 并撤消其有关变量的约束值, 然后再使其重新满足。 成功???, 再继续满足原子目标。如果失败的子目标前再无子目标, 则控制就返回到该子目标的上一级目标(即该子目标谓词所在规则的头部)使它重新匹配。回溯也是PROLOG的一个重要机制。 ; likes(bell,sports).
likes(mary,music).
likes(mary,sports).
likes(jane,smith).
friend(john,X):-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.2 Turbo PROLOG程序设计
2.2.1 程序结构
/* 〈 注 释〉 *
您可能关注的文档
最近下载
- 蓝色精美简约风网页设计师个人简历通用Word模板.docx VIP
- YS∕T 649-2018 铜及铜合金挤制棒.pdf
- 2016河南省建筑定额电子版excel版.pdf VIP
- 车辆实时位置查询解决方案.docx VIP
- 上汽通用别克-威朗-产品使用说明书-15S 自动进取型 18MY-SGM7152DAAB-2018年款上汽通用别克威朗用户手册1.pdf VIP
- Panasonic松下电梯门机AAD03040D-OL调试资料.pdf
- 【精选】中国人文地理综合区划_方创琳_刘海猛.pdf VIP
- 重难点04 隐圆模型(定义型、直角型、等弦对等角、四点共圆)-2025年中考数学答题技巧与模板构建(全国通用)(解析版).docx VIP
- 红色场馆育人赋能大中小学思政课实践教学一体化建设路径研究.docx VIP
- 人教版九年级数学上册专题04圆中的重要模型-四点共圆模型(原卷版+解析).docx VIP
原创力文档

文档评论(0)