《人工智能技术导论》课程教学资源(PPT课件讲稿)第2章 逻辑程序设计语言

第2章逻辑程序设计语言 第2章逻辑程序设计语言 21基本 PROLOG 2,2 Turbo Prolog程序设计 习题二 BACK
第 2 章 逻辑程序设计语言 第 2 章 逻辑程序设计语言 2.1 基本PROLOG 2.2 Turbo PROLOG程序设计 习题二

第2章逻辑程序设计语言 21基本 PROLOG 2.1.1PROL0G的语句 事实(fact) 格式[HTSS]〈谓词名〉(〈项表〉) 其中谓词名是以小写英文字母打头的字母、数字、下 划线等组成的字符串,项表是以逗号隔开的项序列。 PROLOG 中的项包括由常量或变量表示的简单对象以及函数、结构和 表等,即事实的形式是一个原子谓词公式
第 2 章 逻辑程序设计语言 2.1 基本PROLOG 2.1.1 PROLOG的语句 1. 事实(fact) 格式[HTSS] 〈谓词名〉(〈项表〉). 其中谓词名是以小写英文字母打头的字母、 数字、 下 划线等组成的字符串, 项表是以逗号隔开的项序列。 PROLOG 中的项包括由常量或变量表示的简单对象以及函数、 结构和 表等, 即事实的形式是一个原子谓词公式

第2章逻辑程序设计语言 例如: student(john) like(mary, music) 就是 PROLOG中的两个合法事实。 可以看出,在这里事实就是Homn子句逻辑中的无条件子句, 但形式略有不同
第 2 章 逻辑程序设计语言 例如: student(john). like(mary,music). 就是PROLOG中的两个合法事实。 可以看出, 在这里事实就是Horn子句逻辑中的无条件子句, 但形式略有不同

第2章逻辑程序设计语言 功能一般表示对象的性质或关系 例如上面的两个事实就分别表示“约翰是学生”和 玛丽喜欢音乐” 作为特殊情形,一个事实也可以只有谓词名而无参量。 例如: abc repeat 等也是允许的
第 2 章 逻辑程序设计语言 功能 一般表示对象的性质或关系。 例如上面的两个事实就分别表示“约翰是学生”和 “玛丽喜欢音乐” 。 作为特殊情形, 一个事实也可以只有谓词名而无参量。 例如: abc. repeat. 等也是允许的

第2章逻辑程序设计语言 2规则(rule) 格式〈谓词名〉(〈项表〉)-〈谓词名〉(〈项表〉){,〈谓 词名〉(〈项表〉)} 其中“:"号表示“if"(也可以直接写为,其左部的谓词 是规则的结论(亦称为头),右部的谓词是规则的前提(亦称为体) }表示零次或多次重复,逗号表示and(逻辑与),即规则的形式 是一个逻辑蕴含式 例如: bird(x): -animal(X),has(X, feather) grandfather(X,Y): -father(X, Z), father(Z,Y) 就是 PROLOG的合法规则
第 2 章 逻辑程序设计语言 2. 规则(rule) 格式〈谓词名〉(〈项表〉):-〈谓词名〉(〈项表〉){,〈谓 词名〉(〈项表〉)}. 其中“ :-”号表示“if”(也可以直接写为if), 其左部的谓词 是规则的结论(亦称为头), 右部的谓词是规则的前提(亦称为体), { }表示零次或多次重复, 逗号表示and(逻辑与), 即规则的形式 是一个逻辑蕴含式。 例如: bird(X):-animal(X),has(X,feather). grandfather(X,Y):-father(X,Z),father(Z,Y). 就是PROLOG的合法规则

第2章逻辑程序设计语言 功能一般表示对象间的因果关系、蕴含关系或对应关系 例如,上面的第一条规则就表示“如果X是动物,并且Ⅹ有 羽毛,则Ⅹ是鸟”;第二条规则就表示“X是Y的祖父,如果存 在Z,X是Z的父亲并且Z又是Y的父亲” 作为特殊情形,规则中的谓词也可以只有谓词名而无参量。 例如: run:-start, stepl(X), step2(X), end 也是一个合法规则
第 2 章 逻辑程序设计语言 功能 一般表示对象间的因果关系、 蕴含关系或对应关系。 例如, 上面的第一条规则就表示“如果X是动物, 并且X有 羽毛, 则X是鸟” ; 第二条规则就表示“X是Y的祖父, 如果存 在Z, X是Z的父亲并且Z又是Y的父亲” 。 作为特殊情形, 规则中的谓词也可以只有谓词名而无参量。 例如: run:-start,step1(X),step2(X),end. 也是一个合法规则

第2章逻辑程序设计语言 3.问题( question) 格式?-〈谓词名〉(〈项表〉){,〈谓词名〉(〈项表〉)} 例如: student(john) -like(mary, X) 就是两个合法的问题。 可以看出,这里的问题也就是Horn子句逻辑中的目标子句, 只是形式略有不同。 功能问题表示用户的询问,它就是程序运行的目标 问题可以与规则及事实同时一起给出,也可以在程序运行 时临时给出 例如,上面的第一个问题的意思是“约翰是学生吗?”,第 个问题的意思是“玛玛丽喜欢谁?
第 2 章 逻辑程序设计语言 3. 问题(question) 格式 ?-〈谓词名〉(〈项表〉){,〈谓词名〉(〈项表〉)}. 例如: ? -student(john). ? -like(mary,X). 就是两个合法的问题。 可以看出, 这里的问题也就是Horn子句逻辑中的目标子句, 只是形式略有不同。 功能 问题表示用户的询问, 它就是程序运行的目标。 问题可以与规则及事实同时一起给出, 也可以在程序运行 时临时给出。 例如, 上面的第一个问题的意思是“约翰是学生吗?” , 第 二个问题的意思是“玛玛丽喜欢谁 ?

第2章逻辑程序设计语言 212 PROLOG的程序 PROLOG程序一般由一组事实、规则和问题组成。问题 是程序执行的起点,称为程序的目标。例如下面就是一个 PROLOG程序 likes(bell, sports) likes(mary, music) likes(mary, sports) likes(jane, smith) friendgjohn, X): -likes(X, reading), likes(X, music) friendgjohn, X): -likes(X, sports), likes(X, music) ?-friendgjohn,Y)
第 2 章 逻辑程序设计语言 2.1.2 PROLOG的程序 PROLOG程序一般由一组事实、 规则和问题组成。 问题 是程序执行的起点, 称为程序的目标。 例如下面就是一个 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)

第2章逻辑程序设计语言 可以看出,这个程序中有四条事实、两条规则和一个问题 其中事实、规则和问题都分行书写。规则和事实可连续排列 在一起,其顺序可随意安排,但同一谓词名的事实或规则必须集 中排列在一起。问题不能与规则及事实排在一起,它作为程序 的目标要么单独列出,要么在程序运行时临时给出。 这个程序的事实描述了一些对象(包括人和事物)间的关系 而规则则描述了john交朋友的条件,即如果一个人喜欢读书并 且喜欢音乐(或者喜欢运动和喜欢音乐,则这个人就是john的朋 友(当然,这个规则也可看作是john朋友的定义);程序中的问题 是“约翰的朋友是谁?
第 2 章 逻辑程序设计语言 可以看出, 这个程序中有四条事实、 两条规则和一个问题。 其中事实、规则和问题都分行书写。 规则和事实可连续排列 在一起, 其顺序可随意安排, 但同一谓词名的事实或规则必须集 中排列在一起。 问题不能与规则及事实排在一起, 它作为程序 的目标要么单独列出, 要么在程序运行时临时给出。 这个程序的事实描述了一些对象(包括人和事物)间的关系; 而规则则描述了john交朋友的条件, 即如果一个人喜欢读书并 且喜欢音乐(或者喜欢运动和喜欢音乐), 则这个人就是john的朋 友(当然, 这个规则也可看作是john朋友的定义);程序中的问题 是“约翰的朋友是谁?”

第2章逻辑程序设计语言 当然, PROLOG程序中的目标可以变化,也可以含有多个语 句(上例中只有一个)。如果有多个语句,则这些语句称为子目标 例如对上面的程序,其问题也可以是
第 2 章 逻辑程序设计语言 当然, PROLOG程序中的目标可以变化, 也可以含有多个语 句(上例中只有一个)。如果有多个语句, 则这些语句称为子目标。 例如对上面的程序
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安电子科技大学:《数据库系统 DataBase System》课程教学资源(PPT课件讲稿)Unit 3 SQL.ppt
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第4章 有限域(第五版).pptx
- 清华大学:《计算机导论》课程电子教案(PPT教学课件)第3章 计算机基础知识.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第六版,PPT课件讲稿)第六章 应用层.pptx
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第6章 用数组处理批量数据.pptx
- 西安电子科技大学:《数据库系统 DataBase System》课程教学资源(PPT课件讲稿)Unit 2 The Relational Model.ppt
- 西安电子科技大学:《Mobile Programming》课程PPT教学课件(Android Programming)Lecture 2 Intro to Java Programming.pptx
- 《计算机网络》课程教学资源(考试大纲)计算机网络考试大纲.doc
- 《数据结构与算法》课程教学资源(PPT课件讲稿)第三章 树 3.1 树的有关定义.ppt
- 西安培华学院:《微机原理》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 《单片机原理及应用》课程PPT教学课件(C语言版)第4章 C51程序设计入门(单片机C语言及程序设计).ppt
- 《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第四章 VB的基本语句.pps
- 哈尔滨工业大学:再探深度学习词向量表示(PPT课件讲稿)Advanced word vector representations(主讲人:李泽魁).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)文件系统.ppt
- 华北科技学院:数字视频教学软件与制作(PPT课件讲稿)数字视频编辑软件Premiere 6.5(主讲:于文华).ppt
- Introduction to Convolution Neural Networks(CNN)and systems.pptx
- 《编译原理》课程教学资源(PPT课件讲稿)第八章 代码生成.ppt
- 《数字图像处理》课程PPT教学课件(讲稿)第四章 点运算.ppt
- 《计算机系统安全》课程教学资源(PPT课件讲稿)第七章 公开密钥设施PKI Public key infrastructure.ppt
- 《密码学》课程教学资源(PPT课件讲稿)第10章 密码学的新方向.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第六章 查找.ppt
- 上海交通大学:云安全(PPT讲稿)Cloud Security.pptx
- 《计算机网络》课程教学大纲(适用专业:信息与计算科学).pdf
- 江苏大学:《面向对象建模技术》课程教学资源(PPT课件讲稿)第2章 用例图.ppt
- 《网络营销实务》课程教学资源(PPT课件讲稿)第二章 网络营销环境分析.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第七章 搜索结构第七章 搜索结构.ppt
- 丽水职业技术学院:《电子商务实训》课程教学资源(PPT课件讲稿)电子商务交易模式之“B2B”——电子合同模式.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第六章 电子商务支付技术.ppt
- 浙江长征职业技术学院:计算机信息管理专业课程教学大纲汇编.doc
- 北京林业大学:《深度学习》课程PPT教学课件(Deep Learning)第二章 神经网络与优化方法(主讲:孙钰).pptx
- 《Advanced Artificial Intelligence》课程PPT教学课件(高级人工智能)Lecture 5 Neural Networks.pptx
- 《Advanced Artificial Intelligence》课程PPT教学课件(高级人工智能)Lecture 3 Decision Tree.pptx
- 《Advanced Artificial Intelligence》课程PPT教学课件(高级人工智能)Lecture 6 Convolutional Neural Network.pptx
- 《操作系统》课程教学资源(PPT课件讲稿)文件管理 File Management.ppt
- 《操作系统 Operating System》课程电子教案(PPT课件讲稿)第一章 简介.ppt
- 《计算机辅助设计——Photoshop制图》课程标准.pdf
- 河南中医药大学(河南中医学院):《计算机网络》课程教学资源(PPT课件讲稿)第六章 应用层.ppt
- 河南中医药大学:《网络技术实训》课程教学资源(PPT课件讲稿)第4讲 网络管理实训内容(上).pptx
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第8讲 数据库恢复技术.ppt
- 新乡学院:《数据库原理》课程电子教案(PPT课件)第3章 关系数据库.ppt