资源描述:
《第六章 逻辑程序设计语言ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/7/29程序设计语言范型ProgrammingLanguagesParadigms教师:张荣华计算机科学与技术学院华北电力大学第六章逻辑程序设计语言第一部分理论基础2逻辑程序设计理论基础第一部分第一部分介绍3内容逻辑程序设计概述知识表示简介谓词演算知识的利用逻辑程序设计概述逻辑程序设计语言(说明性语言)Prolog是唯一广泛使用的逻辑程序设计语言;易于表达人的思维,主要应用于专家系统、规划、自然语言理解、机器定理证明等人工智能相关问题的求解。区别于命令式语言和函数式语言,逻辑式语言都支持说明性程序设计风范;根据问题约束的高层描述来构建程
2、序;告诉计算机“什么是真的”和“需要做什么”,而不是“怎样做”;允许程序员集中精力对待求解问题(一个封闭的世界)的描述,而不是写一些诸如“下一步做什么”之类的底层算法指令。逻辑程序设计概述【例】:水平线与垂直线问题。使用两个谓词:vertical/2和horizontal/2vertical(line(point(X,Y),point(X,Z))).horizontal(line(point(X,Y),point(Z,Y))).vertical(line(point(1,1),point(1,3))).yes事实查询/目标horizontal(
3、line(point(1,1),point(2,Y))).Y = 1 ;nohorizontal(line(point(2,3),P)).P = point(_G434,3) ;no逻辑程序设计概述【例】求解以下六个英语单词的纵横字谜问题。abalone,abandon,anagram,connect,elegant,enhance事实规则逻辑程序设计概述aabloneanagramocnnectaadneeeathneaadnbonleeatngnehnecaaaoeaarmcnet查询/目标内容逻辑程序设计概述知识表示简介谓词演算知识
4、的利用知识表示简介物理符号系统假设(Simon)推论一:既然人具有智能,那么他(她)就一定是个物理符号系统。推论二:既然计算机是一个物理符号系统,它就一定能够表现出智能。推论三:既然人是一个物理符号系统,计算机也是一个物理符号系统,那么我们就能够用计算机来模拟人的活动。物理符号系统假设的意义明确地揭示了人工智能研究所依赖的一些根本假定;为早期人工智能的发展奠定了理论基础;知识表示简介知识表示的目的不仅仅是为了把知识用数据结构的形式存储在计算机中,而更重要的是能够方便且正确地运用和管理知识。知识表示方法(知识表示语言)一阶谓词逻辑表示法产生式表示法
5、语义网络表示法框架表示法脚本表示法面向对象表示法等等……知识表示简介如何评价知识表示语言的优劣?表现力(expressiveness)和效率(efficiency)是评价知识表示语言的主要尺度。效率和表现力达到最佳平衡时智能系统设计者的一个主要任务。例:数组表示的自然性和高效性。图基因在转位期中的数字图像知识表示简介知识表示语言应该具备的功能:①处理定性的知识。②可以从一系列事实和规则中推断出新的知识。③既可以表示特殊情况,又可以表示一般原则。④捕捉复杂的语义内涵。⑤允许元级推理。知识表示简介①处理定性的知识例:考虑如何组织如图所示桌子上的积木。
6、谓词演算(Predicatecalculus):clear(c)clear(a)ontable(a)ontable(b)on(c,b)cube(b)cube(a)pyramid(c)图积木世界知识表示简介②可以从一系列事实和规则中推断出新的知识根据对世界的描述推断出新知识的能力是智能体的一个关键特征。例:对于积木世界,判断一块积木是否clear知识表示简介③既可以表示特殊情况,又可以表示一般原则为了使智能系统尽可能通用,知识表示语言应支持变量注意:逻辑式程序设计语言中的变量不同于命令式语言中的变量的含义。没有赋值的概念;变量通过合一(匹配)操作可
7、以与任何东西匹配。知识表示简介④捕捉复杂的语义内涵很多人工智能问题需要大量结构化的相互关联的知识。例:蓝鸟的描述:“蓝鸫是一种小的蓝颜色的鸟,鸟是一种有羽毛的会飞行的脊椎动物。”蓝鸟的语义网络描述知识表示简介⑤允许元级推理元知识:“对自己知道什么的知识”构成的一种更高层次的知识。一个智能系统不仅必须知道外界事物,而且还要认识到自己知道什么。不仅要求解决问题而且还要解释出它是如何求解的以及为什么做出某个决策。例如:西尔勒的“中文屋子问题”(ChineseRoomProblem)知识表示简介麦克德莫特(McDermott1981)成功编写基于知识的程
8、序的关键是选取一种合适的表示工具。①AI更关心定性的问题求解而不是定量问题求解;②AI更关心推理而不是演算;③AI更关心如何组织庞大的数