《面向对象语言》课程教学资源(PPT课件讲稿)第5章 Prolog基础

第二部分:第5章 Prolog基础 第5章Pro|og基础 本章介绍学习关于 Prolog编程最基本的内容,包括Horn子句、 Prolog推理 机、程序控制、 Prolog算符等。 ● Visual Prolog是面向对象的、严格类型化的和模式检验的。在编写 Visual log程序时,必须掌握这些内容。但在这里,我们将集中于编写代码这 个核心问题,也就是说,编写这些代码时暂时不考虑类、类型和模式。 我们将使用包含在Vsua| Prolog6中的PIE例子。PIE是一个经典的 Prolog 解释器,通过使用它,可以学会和试验 Prolog程序,而不必关心类、类型 等方面的知识。 ●内容是基于使用 Build6004或以后的 Visual Prolog6版本,否则,PIE应 用程序将不会像我们描述的这样工作。这个编译号可以在VDE的Abou对话 框中找到 2004.11.3 A|程序设计
2004.11.3 AI程序设计 1 第二部分:第5章 Prolog基础 第5章 Prolog基础 ⚫ 本章介绍学习关于Prolog编程最基本的内容,包括Horn子句、Prolog推理 机、程序控制、Prolog算符等。 ⚫ Visual Prolog是面向对象的、严格类型化的和模式检验的。在编写Visual Prolog程序时,必须掌握这些内容。但在这里,我们将集中于编写代码这 个核心问题,也就是说,编写这些代码时暂时不考虑类、类型和模式。 ⚫ 我们将使用包含在Visual Prolog 6中的PIE例子。PIE是一个经典的Prolog 解释器,通过使用它,可以学会和试验Prolog程序,而不必关心类、类型 等方面的知识。 ⚫ 内容是基于使用Build 6004或以后的Visual Prolog 6版本,否则,PIE应 用程序将不会像我们描述的这样工作。这个编译号可以在VDE的About对话 框中找到

第二部分:第5章 Prolog基础 第5章Pro|og基础 5.1Hon子句逻辑 52 Prolog推理机 5.3扩展家庭定理 54 Prolog是一种编程语言 5.5程序控制 6 Prolog算符 本章小结与习题 2004.11.3 A|程序设计
2004.11.3 AI程序设计 2 第二部分:第5章 Prolog基础 第5章 Prolog基础 5.1 Horn子句逻辑 5.2 Prolog推理机 5.3 扩展家庭定理 5.4 Prolog是一种编程语言 5.5 程序控制 5.6 Prolog算符 本章小结与习题

第二部分:第5章 Prolog基础 5.1Horn子句逻辑 ● Visual prolog和其他用语都是基于Horn子句逻辑的。Horn子句逻 辑是对事物及其相互关系进行推理的形式系统 ●在自然语言中,我们可以这样表达一个陈述句 John是Bi的父亲 ●这里我们涉及两个实体,John和BⅢ,以及他们之间的关系,即一 个是另一个的父亲。在Horn子句逻辑中,可以这样形式化地表述上 面的陈述句: father( Bill John") 上面的 father是带有两个参量的一个谓词或关系,它表示第二个人 是第一个人的父亲 2004.11.3 A|程序设计
2004.11.3 AI程序设计 3 第二部分:第5章 Prolog基础 5.1 Horn子句逻辑 ⚫ Visual Prolog和其他用语都是基于Horn子句逻辑的。Horn子句逻 辑是对事物及其相互关系进行推理的形式系统。 ⚫ 在自然语言中,我们可以这样表达一个陈述句: John是Bill 的父亲. ⚫ 这里我们涉及两个实体,John和Bill,以及他们之间的关系,即一 个是另一个的父亲。在Horn子句逻辑中,可以这样形式化地表述上 面的陈述句: father(“Bill”, “John”). ⚫ 上面的father是带有两个参量的一个谓词或关系,它表示第二个人 是第一个人的父亲

第二部分:第5章 Prolog基础 5.1Horn子句逻辑 ●像“John是B的父亲”这样的陈述称为事实,而“X是Z的祖父, 如果X是Y的父亲且Y是Z的父亲”称为规则 ●我们可以用事实和规则来形成定理,一个定理是事实和规则的集合, 让我们陈述一个小定理 father(" Bill", John). father Pam"Bill") grandFather(Person, Grand Father) father(Person, Father) father(Father, GrandFather) 2004.11.3 A|程序设计
2004.11.3 AI程序设计 4 第二部分:第5章 Prolog基础 5.1 Horn子句逻辑 ⚫ 像“John是Bill 的父亲”这样的陈述称为事实,而“X是Z的祖父, 如果X是Y的父亲且Y是Z的父亲”称为规则。 ⚫ 我们可以用事实和规则来形成定理,一个定理是事实和规则的集合, 让我们陈述一个小定理: father("Bill", "John"). father("Pam", "Bill"). grandFather(Person, GrandFather) :- father(Person, Father), father(Father, GrandFather)

第二部分:第5章 Prolog基础 5.1Horn子句逻辑 ●这个定理的作用是回答这样一些问题: ●John是Sue的父亲吗? ●谁是Pam的父亲? ●John是Pam的祖父吗? 这些问题称为目标(goa)。它们可以这样形式化表述: .?father( Sue, John") .?father("Pam",X) 0?- grand Father( Pam, John") 2004.11.3 A|程序设计
2004.11.3 AI程序设计 5 第二部分:第5章 Prolog基础 5.1 Horn子句逻辑 ⚫ 这个定理的作用是回答这样一些问题: ⚫ John是Sue的父亲吗? ⚫ 谁是Pam的父亲? ⚫ John是Pam的祖父吗? ⚫ ... ⚫ 这些问题称为目标(goal)。它们可以这样形式化表述: ⚫ ?- father("Sue", "John"). ⚫ ?- father("Pam", X). ⚫ ?- grandFather("Pam", "John")

第二部分:第5章 Prolog基础 5.1Horn子句逻辑 ●这些问题被称为目标子句( goal clause)或简称为目标(goa)。 事实( facts)、规则( rules)及目标( goals)合起来称为Horn 子句,因此得名Horn子句逻辑。 个 Prolog程序是一个定理和目标的集合。当程序开始时,它试图 使用定理,为目标找到一个解。 2004.11.3 A|程序设计 6
2004.11.3 AI程序设计 6 第二部分:第5章 Prolog基础 5.1 Horn子句逻辑 ⚫ 这些问题被称为目标子句(goal clause)或简称为目标(goal)。 事实(facts)、规则(rules)及目标(goals)合起来称为Horn 子句,因此得名Horn子句逻辑。 ⚫ 一个Prolog程序是一个定理和目标的集合。当程序开始时,它试图 使用定理,为目标找到一个解

第二部分:第5章 Prolog基础 5.2 Prolog推理机 ●PIE( Prolog inference Engine),即 Prolog推理机,随Vsua Prolog6一起提供。 ●在开始之前,必须先安装和建立PIE 1)在 Windows开始菜单中选择“安装例子”,( Start-> Visual Prolog 6->Install Examples) 2)用VDE打开PIE项目,且运行该程序。 2004.11.3 A|程序设计
2004.11.3 AI程序设计 7 第二部分:第5章 Prolog基础 5.2 Prolog推理机 ⚫ PIE (Prolog Inference Engine),即Prolog推理机,随Visual Prolog 6一起提供。 ⚫ 在开始之前,必须先安装和建立PIE 1) 在Windows开始菜单中选择“安装例子” ,(Start -> Visual Prolog 6 -> Install Examples)。 2) 用VDE打开PIE项目,且运行该程序

第二部分:第5章 Prolog基础 5.2 Prolog推理机 ●当程序启动后,其情形如下图5.1所示。 Prolog Inference Engine x File Edit Engine Window Help 口日+曲居茴画■? og Ro eady Use OnlineHelp to see descriptions To load example files choose File\Consult menu entry Type your predicate calls here like write[ Hello world!]. <Set Caret here and press Enter 图5.1 Prolog 推理机 Ready Stack: 2396 Heap:196608 2004.11.3 A|程序设计 8
2004.11.3 AI程序设计 8 第二部分:第5章 Prolog基础 5.2 Prolog推理机 ⚫ 当程序启动后,其情形如下图5.1所示。 图5.1 Prolog 推理机

第二部分:第5章 Prolog基础 5.2 Prolog推理机 ●选择菜单File->NeW,键入前面的父亲子句和祖父子句,如图5.2 所示。 FILE4 PRO 5:57 Insert Indent father("Bill,john") father ("Pam,"Bill) grandFather(Person, GrandFather): father(Father, GrandFather), father(Person, Father). 图5.2子句代码 2004.11.3 A|程序设计
2004.11.3 AI程序设计 9 第二部分:第5章 Prolog基础 5.2 Prolog推理机 ⚫ 选择菜单File -> New,键入前面的父亲子句和祖父子句,如图5.2 所示。 图5.2 子句代码

第二部分:第5章 Prolog基础 5.2 Prolog推理机 ●当编辑器窗口激活时,选择 Engine→> Reconsult,将会把文件装 入到推理机。在对话框中,还将得到这样一个消息: Reconsulted from:.... pie Exe FILE4 PRO 无论用编辑器如何装入,其内容都不会保存到文件之中。如果想要 保存内容,必须使用菜单命令File->Save。 ●菜单Fle-> Consult不管文件是否因编辑而打开,都会装载磁盘文 件中的内容。 旦查阅过定理,就可以回答各种目标 2004.11.3 A|程序设计 10
2004.11.3 AI程序设计 10 第二部分:第5章 Prolog基础 5.2 Prolog推理机 ⚫ 当编辑器窗口激活时,选择Engine -> Reconsult,将会把文件装 入到推理机。在对话框中,还将得到这样一个消息: Reconsulted from: ....\pie\Exe\FILE4.PRO ⚫ 无论用编辑器如何装入,其内容都不会保存到文件之中。如果想要 保存内容,必须使用菜单命令File -> Save。 ⚫ 菜单File -> Consult不管文件是否因编辑而打开,都会装载磁盘文 件中的内容。 ⚫ 一旦查阅过定理,就可以回答各种目标
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《面向对象语言》课程教学资源(PPT课件讲稿)第4章 Visual Prolog概述.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第3章 A编程基础.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第2章 知识表示方法.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第1章 人工智能概述.ppt
- 《面向对象语言》课程教学资源(讲稿)表14-3内部谓词简述.doc
- 《面向对象语言》课程教学资源(讲稿)class predicates.doc
- 《面向对象语言》课程教学资源(PPT课件讲稿)主目录.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)附录 术语表.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第15章 与其他编程语言接口.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第14章 内部论域、谓词和常量.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第13章 编译单元.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第12章 Visual Prolog程序元素.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第11章 Visual Prolog数据元素.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第10章 Visual Prolog语言元素.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第9章 编码风格.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第8章 编写CGI程序.ppt
- 《面向对象语言》课程教学资源(PPT课件讲稿)第7章 Visual Prolog编程.ppt
- 同济大学计算机系:《小波分析与应用》讲义(宣国荣).ppt
- 《网络工程师模拟试卷》(附答案).doc
- 《网络工程师模拟试卷》(附答案).doc
- 《面向对象语言》课程教学资源(PPT课件讲稿)第6章 类与对象.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第一章 Java的类.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第七章 Java线程(多线程).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第三章 Java事件(事件处理).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第九章 分布式对象技术体系(1/2).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第九章 分布式对象技术体系(2/2).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第二章 Java小程序小应用.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第五章 Java显示AWT(构成用户界面的窗口环境).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第八章 Java网络功能.ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第六章 Java流(数据流的运用).ppt
- 北京大学计算机系:《Java》课程讲义(PPT课件)第四章 Java异常处理.ppt
- 《CAXA2000电子图板教程》ppt电子课件.ppt
- 《电子商务的技术基础》第四章(4-1) 国际互联网.ppt
- 北京邮电大学自动化学院:《数据结构》第一章 绪论(杨福兴).ppt
- 北京邮电大学自动化学院:《数据结构》第一章(1-1)什么是数据结构.ppt
- 北京邮电大学自动化学院:《数据结构》第七章 图.ppt
- 北京邮电大学自动化学院:《数据结构》第三章 栈和队列.ppt
- 北京邮电大学自动化学院:《数据结构》第九章 排序.ppt
- 北京邮电大学自动化学院:《数据结构》第二章 线性表.ppt
- 北京邮电大学自动化学院:《数据结构》第五章 数组和广义表.ppt