人工智能导论IntroductiontoArtificialIntelligence备课讲稿.pptVIP

  • 1
  • 0
  • 约1万字
  • 约 42页
  • 2019-11-03 发布于天津
  • 举报

人工智能导论IntroductiontoArtificialIntelligence备课讲稿.ppt

第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 程序结构 /* 〈 注 释〉 *

文档评论(0)

1亿VIP精品文档

相关文档