第六章-逻辑程序设计语言PPT文档格式.ppt
《第六章-逻辑程序设计语言PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《第六章-逻辑程序设计语言PPT文档格式.ppt(89页珍藏版)》请在冰豆网上搜索。
![第六章-逻辑程序设计语言PPT文档格式.ppt](https://file1.bdocx.com/fileroot1/2022-10/2/efe71a6f-b6ac-403d-b36e-c47358147203/efe71a6f-b6ac-403d-b36e-c473581472031.gif)
abalone,abandon,anagram,connect,elegant,enhance,事实,规则,第一部分理论基础,第六章-8,逻辑程序设计概述,a,a,b,l,o,n,e,a,n,a,g,r,a,m,o,c,n,n,e,c,t,a,a,d,n,e,e,e,a,t,h,n,e,a,a,d,n,b,o,n,l,e,e,a,t,n,g,n,e,h,n,e,c,a,a,a,o,e,a,a,r,m,c,n,e,t,查询/目标,第一部分理论基础,第六章-9,内容,逻辑程序设计概述知识表示简介谓词演算知识的利用,第一部分理论基础,第六章-10,知识表示简介,物理符号系统假设(Simon)推论一:
既然人具有智能,那么他(她)就一定是个物理符号系统。
推论二:
既然计算机是一个物理符号系统,它就一定能够表现出智能。
推论三:
既然人是一个物理符号系统,计算机也是一个物理符号系统,那么我们就能够用计算机来模拟人的活动。
物理符号系统假设的意义明确地揭示了人工智能研究所依赖的一些根本假定;
为早期人工智能的发展奠定了理论基础;
第一部分理论基础,第六章-11,知识表示简介,知识表示的目的不仅仅是为了把知识用数据结构的形式存储在计算机中,而更重要的是能够方便且正确地运用和管理知识。
知识表示方法(知识表示语言)一阶谓词逻辑表示法产生式表示法语义网络表示法框架表示法脚本表示法面向对象表示法等等,第一部分理论基础,第六章-12,知识表示简介,如何评价知识表示语言的优劣?
表现力(expressiveness)和效率(efficiency)是评价知识表示语言的主要尺度。
效率和表现力达到最佳平衡时智能系统设计者的一个主要任务。
例:
数组表示的自然性和高效性。
图基因在转位期中的数字图像,第一部分理论基础,第六章-13,知识表示简介,知识表示语言应该具备的功能:
处理定性的知识。
可以从一系列事实和规则中推断出新的知识。
既可以表示特殊情况,又可以表示一般原则。
捕捉复杂的语义内涵。
允许元级推理。
第一部分理论基础,第六章-14,知识表示简介,处理定性的知识例:
考虑如何组织如图所示桌子上的积木。
谓词演算(Predicatecalculus):
clear(c)clear(a)ontable(a)ontable(b)on(c,b)cube(b)cube(a)pyramid(c),图积木世界,第一部分理论基础,第六章-15,知识表示简介,可以从一系列事实和规则中推断出新的知识根据对世界的描述推断出新知识的能力是智能体的一个关键特征。
对于积木世界,判断一块积木是否clear,第一部分理论基础,第六章-16,知识表示简介,既可以表示特殊情况,又可以表示一般原则为了使智能系统尽可能通用,知识表示语言应支持变量注意:
逻辑式程序设计语言中的变量不同于命令式语言中的变量的含义。
没有赋值的概念;
变量通过合一(匹配)操作可以与任何东西匹配。
第一部分理论基础,第六章-17,知识表示简介,捕捉复杂的语义内涵很多人工智能问题需要大量结构化的相互关联的知识。
蓝鸟的描述:
“蓝鸫是一种小的蓝颜色的鸟,鸟是一种有羽毛的会飞行的脊椎动物。
”,蓝鸟的语义网络描述,第一部分理论基础,第六章-18,知识表示简介,允许元级推理元知识:
“对自己知道什么的知识”构成的一种更高层次的知识。
一个智能系统不仅必须知道外界事物,而且还要认识到自己知道什么。
不仅要求解决问题而且还要解释出它是如何求解的以及为什么做出某个决策。
例如:
西尔勒的“中文屋子问题”(ChineseRoomProblem),第一部分理论基础,第六章-19,知识表示简介,麦克德莫特(McDermott1981)成功编写基于知识的程序的关键是选取一种合适的表示工具。
AI更关心定性的问题求解而不是定量问题求解;
AI更关心推理而不是演算;
AI更关心如何组织庞大的数量变化的知识而不是实现单一的已经具完善定义的算法;
Lisp和Prolog是用来实现这些表示的语言。
第一部分理论基础,第六章-20,内容,逻辑程序设计概述知识表示简介谓词演算逻辑谓词演算的语法基于谓词演算的知识表示谓词演算的推理规则知识的利用,第一部分理论基础,第六章-21,引言,这里讨论的谓词演算一阶谓词演算(first-orderpredicatecalculus)全称量化变量和存在量化变量仅可以指向论域中的对象,而不允许指向谓词和函数。
这样的谓词演算语言称为一阶谓词演算。
基于二值逻辑,第一部分理论基础,第六章-22,内容,逻辑程序设计概述知识表示简介谓词演算逻辑谓词演算的语法基于谓词演算的知识表示谓词演算的推理规则知识的利用,第一部分理论基础,第六章-23,1.逻辑,逻辑有多种形态,如二值逻辑/二值图象多值逻辑/灰度图象墨多维逻辑/彩色图象之缺省逻辑/缺省图象舞动态逻辑/动画视频,第一部分理论基础,第六章-24,1.逻辑,逻辑学分为:
形式逻辑研究具有内在同一性和外在确定性的概念、命题之间的必然联系;
形式逻辑的数学化得到经典数理逻辑,它是刚性逻辑学(Rigidlogics)。
辨证逻辑研究具有内在矛盾性和外在不确定性的概念、命题之间的必然联系。
辨证逻辑的数学化得到非经典数理逻辑,它是柔性逻辑学(Flexibilitylogics)。
逻辑的发展趋势:
建立统一开放的数理逻辑理论架构,实现数理逻辑的柔性化泛逻辑学(何华灿),第一部分理论基础,第六章-25,内容,逻辑程序设计概述知识表示简介谓词演算逻辑谓词演算的语法基于谓词演算的知识表示谓词演算的推理规则知识的利用,第一部分理论基础,第六章-26,2.谓词演算的语法,在谓词逻辑中,命题是用谓词来表示的。
命题:
P:
星期二下了雨。
谓词:
weather(tuesday,rain)谓词演算还允许表达式中含有变量可以建立关于实体类的通用断言。
如申明所有的X,X是某一周的一天,weather(X,rain)定义:
谓词演算符号构成谓词演算符号的字符表有以下三部分组成:
英文字母,包括大写和小写。
数字0,19。
下划线_。
谓词演算的符号以字母开始,后面可以跟这些合法字符的任意序列。
第一部分理论基础,第六章-27,2.谓词演算的语法,定义:
符号或项(Term)(注:
项的大小写按照Prolog规范)真值符号:
true和false(保留符号)变量符号:
以大写字母开始的符号表达式。
常量符号:
以小写字母开始的符号表达式。
函数符号:
谓词符号:
likes(george,kate)%likes/2likes(george,sarah,tuesday)%likes/3likes(X,kate)friends(father_of(david),father_of(kate)),第一部分理论基础,第六章-28,2.谓词演算的语法,谓词和函数从形式上看很相似,容易混淆。
但是,它们是两个完全不同的概念。
谓词的真值是真和假,而函数无真值可言,其值是个体域(值域)中的某个个体。
谓词实现的是从个体域中的个体到T或F的映射,而函数所实现的是从一个个体(定义域)到另一个个体(值域)的映射。
在谓词逻辑中,函数本身不能单独使用,它必须嵌入到谓词之中。
第一部分理论基础,第六章-29,2.谓词演算的语法,由于命题逻辑可看作谓词逻辑的一种特殊形式,因此一阶谓词逻辑中的5个连接词也都适应于命题逻辑,但2个量词仅适应于谓词逻辑。
全程量词:
X命题(x)P(x)为真,当且仅当对论域中的所有x,都有P(x)为真。
命题(x)P(x)为假,当且仅当至少存在一个x0D,使得P(x0)为假。
存在量词:
命题(彐x)P(x)为真,当且仅当至少存在一个x0D,使得P(x0)为真。
命题(彐x)P(x)为假,当且仅当对论域中的所有x,都有P(x)为假。
彐X,第一部分理论基础,第六章-30,2.谓词演算的语法,定义:
谓词演算语句(合式公式)单个原子谓词公式是合式公式。
若A是合式公式,则A也是合式公式。
若A、B都是合式公式,则AB,AB,AB,AB也都是合式公式。
若A是合式公式,x是变量,则(x)A和(彐x)A也都是合式公式。
在合式公式中,连接词之间的优先级别是,,第一部分理论基础,第六章-31,内容,逻辑程序设计概述知识表示简介谓词演算逻辑谓词演算的语法基于谓词演算的知识表示谓词演算的推理规则知识的利用,第一部分理论基础,第六章-32,3.基于谓词演算的知识表示,谓词演算不仅可以用来表示事物的状态、属性、概念等事实性知识,也可以用来表示事物的因果关系,即规则。
对事实性知识,通常是用否定、析取或合取符号连接起来的谓词公式表示。
对事物间的因果关系,通常用蕴含式表示,例如,对“如果x,则y”,可表示为“xy”。
用谓词逻辑表示知识的方法:
根据所表示的知识定义谓词;
用连接词或量词把这些谓词连结起来,形成一个谓词公式。
第一部分理论基础,第六章-33,3.基于谓词演算的知识表示,例1用谓词逻辑表示知识“每个人都有一个父亲”。
首先定义谓词:
person(X):
表示x是人has_father(X,Y):
表示x有父亲y此时,该知识可用谓词表示为:
(X)(彐Y)(person(X)has_father(X,Y)例2用谓词逻辑表示知识“所有教师都有自己的学生”teacher(X):
表示x是教师student(Y):
表示y是学生teachs(X,Y):
表示x是y的老师(X)(彐Y)(teacher(X)teachs(X,Y)student(Y),第一部分理论基础,第六章-34,3.基于谓词演算的知识表示,机器人移盒子问题设在一房间里,C处有一个机器人,A和B处各有一张桌子,分别称为A桌和B桌,A桌子上有一盒子,如图所示。
要求机器人从C处出发把盒子从A桌上拿到B桌上,然后再回到C处。
请用谓词逻辑来描述机器人的行动过程。
图机器人移盒子,第一部分理论基础,第六章-35,3.基于谓词演算的知识表示,求解步骤:
在这个例子中,不仅要用谓词公式来描述事物的状态、位置,而且还要用谓词公式表示动作。
为此,需要定义谓词公式如下:
第一部分理论基础,第六章-36,3.基于谓词演算的知识表示,使用规则!
问题的初始状态,问题的目标状态,第一部分理论基础,第六章-37,3.基于谓词演算的知识表示,求解步骤:
机器人行