人工智能之知识表达与知识库.ppt
人工智能原理,(符号计算科学),Principles ofArtificial Intelligence,第三章:知识表达与知识库,Chapter 03Knowledge epresentationAnd Knowledge Base,01 关于机器中的知识,Section 01On the Knowledgein Machines,01 关于机器中的知识,1.1 符号主义眼中的:知识与思维,符号主义认为:,知识的表现形式是符号,或者更为直截了当地,知识就是符号。,思维是运用知识的过程,因而,思维的表现形式是符号计算,或者更为直截了当地,思维就是符号计算。,01 关于机器中的知识,1.2 符号表达 PSS 中的符号,人脑是物理符号系统,计算机也是物理符号系统。然而,人脑和计算机处理的符号是不同的。,人脑处理的符号:自然语言符号,计算机处理的符号:数字 0 和 1,两类不同的物理符号系统一般具有不同的符号体系,除此之外,其符号的存储和操作方式也会不同。,01 关于机器中的知识,1.2 符号表达 PSS 间的符号变换,设有两类物理符号系统:PSS01 和 PSS02。如果我们希望用 PSS02 模拟 PSS01,则首先需要将 PSS01 处理的符号变换为 PSS02 处理的符号。,将 PSS01 符号变换为 PSS02 符号,需要建立起 PSS01 符号与 PSS02 符号的对应的关系。,01 关于机器中的知识,1.3 知识表达 人脑机器的符号变换,知识表达也是符号表达,其中,PSS01 是人脑,而 PSS02 则是机器或计算机。,换句话说,知识表达是将人脑中的符号变换为机器或计算机中的符号的过程,是建立人脑符号与机器符号之间对应关系的过程。,01 关于机器中的知识,1.4 知识表达的目的 让机器拥有知识,实际上,所谓知识表达,就是知识的形式化。只有形式化的知识才是机器可以存储和利用的知识。,人工智能的任务之一,就是让机器或计算机拥有知识,记忆或存储 知识。,知识表达的目标:对人脑处理的符号,即知识,进行新的描述,建立人脑中的知识与符号计算机中的符号之间的对应关系,便于计算机对知识进行记忆或存储,操作或运算,推理或思维。,01 关于机器中的知识,1.5 符号计算科学中的知识表达 from 人脑 to 符号计算机,符号计算科学中的知识表达,并非面向数字计算机的知识表达,因此,知识并不直接变换为数字 0 和 1 的编码形式。,符号计算科学中的知识表达,是面向符号计算机的知识表达,知识被变换为符号计算机中符号的编码形式。,因此,符号计算科学中知识表达的目标是:“建立人脑中的知识与符号计算机中的符号之间的对应的关系。”,01 关于机器中的知识,1.6 从知识表达的角度 划分知识,描述性知识(Declarative Knowledge):关于事物概念和性质,以及关系的知识。,过程性知识(Procedural Knowledge):关于事物运动和发展,以及操作的知识。,元知识(Meta-Knowledge):关于知识的知识,控制和操作知识的知识。,符号计算中的知识表达将涉及描述性知识和过程性知识。而元知识的问题,留待符号计算中的问题求解方法去解决。,01 关于机器中的知识,1.7 从谓词逻辑看知识表达 知识表达推理,1.知识,(1)人总是要死的,(2)John 是人,2.表达,(1)xHuman(x)Mortal(x),(2)Human(John),3.推理,(1)方法:归结原理,(2)结论:Mortal(John),即:John 是要死的,01 关于机器中的知识,1.7 从谓词逻辑看知识表达 两个重要特性,从谓词逻辑示例可以发现,知识表达方法应具备两个重要特性:,(1)充分的知识表达能力:有能力表达相关领域中的全部知识。,(2)有效的逻辑推理结构:其表达的知识具有可利用性。,评价两种不同的知识表达方法,其重要依据便在于它们的知识表达的能力,和它们表达的知识所具有的可利用性。,01 关于机器中的知识,1.8 练习与思考,3-1符号计算学派眼中的思维是什么?,3-2计算机处理的符号是什么?依你的观点,人脑系统处理的符号是什么?,3-3什么是符号表达?什么是知识表达?,3-4知识表达方法应具备的主要特性是什么?,3-5阐述“知识表达是人脑系统处理的符号与符号计算机处理的符号之间的对应的关系。”这一表述的合理性或不合理性。,02 产生式规则,Section 02Production Rules,02 产生式规则,2.1 产生式概念 Production,Winston 认为,知识可以被包装在一种称为产生式的基本形式中。,所谓产生式,即:Production或称产生式规则,即:Production Rule,产生式或产生式规则具有很强的描述或表达描述性知识和过程性知识的能力。,02 产生式规则,2.2 产生式的形式 if-then 结构,产生式(规则)的基本形式是 ifthen 结构,即:,02 产生式规则,2.2 产生式的形式 if-then 结构,产生式系统是一种智能机器,一种所谓的“感知行动”机构(PerceptionAction Agent),而每一条产生式或产生式规则就是一个微小的“感知行动”子机构,其中,ifthen 结构可表达:,02 产生式规则,2.2 产生式的形式 if-then 结构,一个一般的产生式规则可表述为:,02 产生式规则,2.2 产生式的形式 if-then 结构,因此,我们规定产生式中的前提关系只包含“and”的关系。,02 产生式规则,2.2 产生式的形式 if-then 结构,因此,我们规定产生式中的结论只包含一种不可分解的结论。,02 产生式规则,2.2 产生式的形式 if-then 结构,因此,我们将一个标准的产生式规则规定为如下形式,其中,前提之间的关系为“and”关系:,02 产生式规则,2.2 产生式的形式 if-then 结构,更进一步,每一条产生式规则都可标准化为具有两个前提和一个结论的形式,其中,两个前提具有“and”关系:,问题:为什么?怎么标准化?,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,我们有一个很小的关于动物的描述性知识集,共 16 条知识,其中,每一条知识都由自然语言描述。,我们可以用产生式规则(Production Rule)表达动物知识集中每一条由自然语言描述的知识,同时,用 Lisp 语言实现这种产生式的表达,即:,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识的自然语言描述:$&$,前提 和结论 均标准化为二元结构,如:谓语 宾语。,Prule中的 if 和 then 并无实际操作的意义,只为增加可读性。,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识01:K01“有毛发的动物是哺乳动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识02:K02“产乳的动物是哺乳动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识03:K03“有羽毛的动物是鸟”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识04:K04“会飞且会下蛋的动物是鸟”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识05:K05“吃肉的哺乳动物是食肉动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识06:K06“有利齿有爪且眼睛前视的哺乳动物是食肉动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识07:K07“有蹄的哺乳动物是蹄类动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识08:K08“反刍的哺乳动物是蹄类动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识09:K09“反刍的蹄类动物是偶蹄类动物”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识10:K10“黄褐色深斑点食肉哺乳动物是猎豹”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识11:K11“黄褐色黑条纹食肉哺乳动物是老虎”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识12:K12“长腿长颈深斑点黄褐色的蹄类动物是长颈鹿”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识13:K13“有黑色条纹的蹄类动物是斑马”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识14:K14“长腿长颈黑白相间颜色不会飞的鸟是鸵鸟”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识15:K15“会游泳不会飞的黑白色鸟是企鹅”,02 产生式规则,2.3 产生式的 Lisp 实现 表达动物学知识,(1)知识16:K16“善于飞行的鸟是海燕”,02 产生式规则,2.3 产生式的 Lisp 实现 建立动物学知识库,我们的动物知识集中每一条知识 Ki 都由一条产生式(规则)Prulei 表达,并由 Lisp 实现。,实际上,每一条由 Lisp 实现的产生式(规则)Prulei 都是一个 Lisp 的“表”:,02 产生式规则,2.3 产生式的 Lisp 实现 建立动物学知识库,现在,构造一个动物学知识库,或产生式规则库,将是一个极为简单的任务,我们只需要把那些 Lisp 描述的产生式规则 Prulei 组装起来就可以了:,动物学知识库 knowledge_base_on_animals 简单到了及至,仅仅是一个以 Lisp 原子为元素的 Lisp 表。,当然,其中的每一个原子 Prulei 都有自己的值,即 Lisp 表描述的产生式规则。,02 产生式规则,2.4 产生式知识的可利用性 产生式与推理,产生式是产生式系统中的知识,产生式规则库就是产生式系统的知识库。产生式系统是一种演绎系统,即由已知前提推断未知结论的逻辑推理系统。产生式系统就是应用产生式知识进行逻辑推理活动的系统,应用产生式知识求解问题的系统。我们的动物学知识库 knowledge_base_on_animals 将被应用于产生式系统的逻辑推理活动。,产生式知识具有良好的可利用性,这种可利用性源于产生式规则所具有的合适的推理结构。,02 产生式规则,2.4 产生式知识的可利用性 正向推理:,中间结论,中间结论,中间结论,最终结论,正向推理:由已知前提推断未知结论,已知前提,产生式规,产生式规,产生式规,产生式规,解答:“这是什么动物?”一类特殊疑问句问题。,02 产生式规则,2.4 产生式知识的可利用性 逆向推理:,过渡前提,过渡前提,过渡前提,已知前提,逆向推理:由既定目标搜索前提条件,既定目标,反向产生式,反向产生式,反向产生式,反向产生式,解答:“这是老虎吗?”一类一般疑问句问题。,3-6产生式(Production)概念的含义是什么?,3-7依你的观点,产生式具有充分的知识表达能力吗?,3-8依你的观点,产生式表达的知识具有可利用性吗?,02 产生式规则,2.5 练习与思考,03 语义网络,Section 03Semantic Network,03 语义网络,3.1 语义网络的基本特征和要素 一种有向图,语义网络(Semantic Network)是 Quillian 1968 年提出的一种知识表达方法。,语义网络是一种有向图,其基本的要素是:,(1)节点:描述事物,(2)(有向)弧:描述事物间的关系。,03 语义网络,3.2 语义网络的节点和弧 is_a 和 is_e,一般地,语义网络中的节点和弧是可以随意定义,是设计者根据任务要求自行定义的。,在动物知识语义网络中,我们定义了:,节点:,事物的名称,事物的动作,黑白,事物的性质,弧:,事物具有什么性质,事物是什么事物,事物具有什么事物,事物能做什么,事物擅长做什么,事物不能做什么,03 语义网络,3.2 语义网络的节点和弧 is_a 和 is_e,然而,语义网络中一般具有两种基本的和常见的有向弧:,表示:nA 是 nB 的一个子类,03 语义网络,3.2 语义网络的节点和弧 is_a 和 is_e,表示:nA 是 nB 的一个元素,03 语义网络,3.3 语义网络与知识表达“John 打了 Tom 一拳”,我们现在知道的信息是:,(1)John 是一个职员,(2)Tom 是一个经理,(3)无论经理还是职员都是人,(4)Tom 是 John 的领导,(5)发生了恶性事件,(6)事件内容:一人拳击另一人,(7)事件地点:Tom 办公室,(8)拳击者:John,(9)被拳击者:Tom,(10)拳击部位:Tom 的脸,(11)事件原因:Tom 要 John 下岗,03 语义网络,3.3 语义网络与知识表达“John 打了 Tom 一拳”,事件,03 语义网络,3.4 语义网络的 Lisp 实现 最小语义网络,与产生式一样,语义网络也易于用 Lisp 程序语言编程实现。,Lisp 实现方式一:(setq simantic_net(N01 arc N02),Lisp 实现方式二:(setq simantic_net(N01(arc N02),03 语义网络,3.4 语义网络的 Lisp 实现 一个扩展的网络,03 语义网络,3.4 语义网络的 Lisp 实现 Lisp 描述 John 与 Tom,03 语义网络,3.4 语义网络的 Lisp 实现 Lisp 描述 John 与 Tom,03 语义网络,3.4 语义网络知识的可利用性 继承联想网络匹配,语义网络固有的推理结构一般表现为继承、联想、和网络匹配。,1.继承:语义网络中,某一节点通过 is_a 弧或 is_e 弧获取另一节点或子网络的性质的过程。,2.联想:语义网络被激活的节点,通过关系弧激活其它节点或子网络的过程。,03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,用 Lisp 语句描述动物网络:,03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,定义一个提取动物特征的 Lisp 函数:,已知的事实,如:(Robin is_e crow),局部变量表,把facts的第三变量(如crow)赋值给x,把语义网络知识库拷贝给y,03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,get_features 函数的 循环体 部分:,取 y 的第一个元素,删除 y 的第一个元素,事实与网络匹配,结束循环迭代,03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,已知:Robin 是只乌鸦问题:Robin 有什么特征?问题球解步骤:,(2)对已知事实进行Lisp 描述:(Roboin is_e crow),03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,已知:Robin 是只乌鸦问题:Robin 有什么特征?,问题球解步骤:(3)网络匹配示意,03 语义网络,3.5 语义网络知识的可利用性 Lisp 实现的推理样机,已知:Robin 是只乌鸦问题:Robin 有什么特征?问题球解步骤:,(4)调用 get_features 函数:,(setq fact(Robin is_e crow)(get_features fact),或:(get_features(Robin is_e crow),(5)get_features 运行结果:,(has head),(has feathers),(has wings),03 语义网络,3.6 练习与思考,04 一阶谓词逻辑,Section 03First-Order Predicate Logic,04 一阶谓词逻辑,4.1 来自数理逻辑的 知识形式化方法,所谓知识表达,实际上,就是知识的形式化。,人脑求解问题的过程常常表现为人脑的逻辑思维过程。人脑逻辑思维过程的形式化,是实现思维自动化或推理自动化的重要途径。,逻辑推理的形式化研究可以追溯到两千年以前。那时,亚里士多德潜心于形式逻辑的研究,其中,三段论法可称为逻辑思维形式化的典范。,然而,真正形式化的逻辑方法,应该是数理逻辑。,04 一阶谓词逻辑,4.1 来自数理逻辑的 知识形式化方法,数理逻辑的研究始于十七世纪七十年代,其主要的贡献者有:莱布尼兹、布尔、弗雷格、罗素、哥德尔。,数理逻辑将数学的形式化方法引入逻辑学,用数学手段研究人脑思维形式和思维规律。数理逻辑将逻辑命题、判断、推理符号化。,谓词逻辑是数理逻辑一个重要的研究方向。,04 一阶谓词逻辑,4.2 命题逻辑“本命题是假的”,命题逻辑是一阶谓词逻辑的基础。,04 一阶谓词逻辑,4.2 命题逻辑 命题的逻辑值,命题可能是真的,也可能是假的。,命题的逻辑值由命题陈述的内容的真假所确定,当命题陈述的内容真实时,其逻辑值为“真”,反之,逻辑值为“假”。,04 一阶谓词逻辑,4.2 命题逻辑 命题的逻辑运算,命题的逻辑运算符号对于命题,正如算术运算符号+对于算术表达式;象算术运算符号具有优先级别一样,命题的逻辑运算符也有优先级别。,定义(逻辑运算):将一个命题变换为一个新的命题的过程,称为命题的逻辑运算。,定义(逻辑运算符):实现命题逻辑运算操作的符号,称为命题的逻辑运算符。,04 一阶谓词逻辑,4.2 命题逻辑 命题的逻辑运算,逻辑运算符的优先级别定为:,04 一阶谓词逻辑,4.2 命题逻辑 命题的逻辑运算,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,04 一阶谓词逻辑,4.2 命题逻辑 关于蕴含“PQ”,蕴含命题 PQ 意味着:命题 P 的成立蕴含着命题 Q 的成立。,蕴含命题 PQ弱表达的等价公式:PQ换句话说,PQ 是 PQ 的弱表达。,依据所谓“弱表达”的认识,只有当命题 P 成立而命题 Q 不成立时,其蕴涵关系 PQ 被打破,因此,此时 PQ 的逻辑值取 F,而其余情形下的逻辑值取 T。,04 一阶谓词逻辑,4.2 命题逻辑 关于蕴含“PQ”,例:天气预报:“If 明天下雨,Then 最高气温20C。”这里:P=“明天下雨”Q=“最高气温20C”有四种可能的结果:,(1)第二天,下雨了(PT),并且,最高气温 18C(QT),体现了 PQ 的蕴含关系,所 以,PQ T。,04 一阶谓词逻辑,4.2 命题逻辑 关于蕴含“PQ”,例:天气预报:“If 明天下雨,Then 最高气温20C。”这里:P=“明天下雨”Q=“最高气温20C”有四种可能的结果:,(2)第二天,下雨了(PT),然而,最高气温25C(QF),违背了 PQ 的蕴含关系,所以,PQ F。,04 一阶谓词逻辑,4.2 命题逻辑 关于蕴含“PQ”,例:天气预报:“If 明天下雨,Then 最高气温20C。”这里:P=“明天下雨”Q=“最高气温20C”有四种可能的结果:,(3)第二天,没下雨(PF),而最高气温18C(QT),这种情形并不意味着违背了 PQ 的蕴含关系,PQ 的蕴含关系仍然成立,所以,PQ T。,04 一阶谓词逻辑,4.2 命题逻辑 关于蕴含“PQ”,例:天气预报:“If 明天下雨,Then 最高气温20C。”这里:P=“明天下雨”Q=“最高气温20C”有四种可能的结果:,(4)第二天,没下雨(PF),而最高气温25C(QF),这种情形也不意味着违背 PQ 的蕴含关系,PQ 的蕴含关系仍然成立,所以,PQT。,04 一阶谓词逻辑,4.2 命题逻辑 关于蕴含“PQ”,例:天气预报:“If 明天下雨,Then 最高气温20C。”这里:P=“明天下雨”Q=“最高气温20C”,实际上,(3)和(4)两种情形下,因为没下雨(PF),所以我们并不能验证 PQ 的蕴含关系,而只是推定其蕴含关系成立。因此,PQ 只是对 PQ 的一种弱表达(一种推定)。,04 一阶谓词逻辑,4.2 命题逻辑 命题公式,04 一阶谓词逻辑,4.2 命题逻辑 命题公式,复合命题示例,设有命题:“Smith 不会中文,也不会日文。”,化为原子命题:,(1)P=“Smith 会中文”,(2)Q=“Smith 会日文”,复合命题:S=P Q,04 一阶谓词逻辑,4.2命题逻辑 命题公式,04 一阶谓词逻辑,4.2 命题逻辑 命题公式,永真公式,定义:逻辑值恒为真的命题公式叫做永真公式。,例:(1)P P(2)P(P Q),永真公式可用逻辑真值表进行验证。,T,T,T,T,T,T,T,T,04 一阶谓词逻辑,4.2 命题逻辑 命题公式,等价公式,定义:两个逻辑值恒等的命题公式互为等价公式。,例:(1)PQ(2)(P Q),等价公式可用逻辑真值表进行验证。,F,F,T,T,T,T,T,T,04 一阶谓词逻辑,4.2 命题逻辑 命题公式,常用等价公式(P Q R 为原子命题公式),(1)蕴涵命题等价公式:PQ=PQ,(2)交换律:1)PQ=QP2)PQ=QP,(3)结合律:1)(PQ)R=P(QR)2)(PQ)R=P(QR),04 一阶谓词逻辑,4.2 命题逻辑 命题公式,常用等价公式,(4)分配律:1)P(QR)=(PQ)(PR)2)P(QR)=(PQ)(PR),(5)狄 摩根定律:1)(PQ)=PQ 2)(PQ)=PQ,(6)逆否定律:PQ=Q P,(7)否定之否定律:(P)=P,04 一阶谓词逻辑,4.2 命题逻辑 文字(Literals),定义:原子命题和原子命题的非叫做文字。,例:设 P 和 Q 是原子命题,那么,下面的命题公式是文字吗?,(1)P(2)P(3)(P)(4)PQ(5)PQ,04 一阶谓词逻辑,4.2 命题逻辑 简单合取式,定义:由逻辑运算符 联结文字而成的命题公式叫做简单合取式。,例:设 P 和 Q 和 R 是原子命题,那么,下面的命题公式是简单合取式吗?,(1)P(2)P(3)(P)(4)(PQ),(5)PQ(6)PQR(7)(PQ)(8)PQR,04 一阶谓词逻辑,4.2 命题逻辑 简单析取式,定义:由逻辑运算符 联结文字而成的命题公式叫做简单析取式。,例:设 P 和 Q 和 R 是原子命题,那么,下面的命题公式是简单析取式吗?,(1)P(2)P(3)(P)(4)(PQ),(5)PQ(6)PQR(7)(PQ)(8)PQR,04 一阶谓词逻辑,4.2 命题逻辑 子句(Clauses),定义:由文字的析取组成的公式称为子句。,子句(Clause)是一个重要的概念。实际上,子句就是简单析取式。,例:设 P 和 Q 和 R 是原子命题,那么,下面的命题公式是子句吗?,(1)P(2)P(3)(P)(4)(PQ),(5)PQ(6)PQR(7)(PQ)(8)PQR,04 一阶谓词逻辑,4.2 命题逻辑 合取范式:简单析取式的合取,定义:由逻辑运算符 联结简单析取式而成的命题公式叫做合取范式。,例:设 P 和 Q 和 R 是原子命题,那么,下面的命题公式是合取范式吗?,(1)P(2)P(3)(P)(4)(PQ),(5)PQ(6)(PQ)R(7)(PQ)(QR)(8)(PQ)(QR)(PR),04 一阶谓词逻辑,4.2 命题逻辑 析取范式:简单合取式的析取,定义:由逻辑运算符 联结简单合取式而成的命题公式叫做析取范式。,例:设 P 和 Q 和 R 是原子命题,那么,下面的命题公式是析取范式吗?,(1)P(2)P(3)(P)(4)(PQ),(5)PQ(6)(PQ)R(7)(PQ)(QR)(8)(PQ)(QR)(PR),04 一阶谓词逻辑,4.2 命题逻辑 命题逻辑范式定理,范式定理:任意命题公式都可以表示为合取范式,同时,也可以表示为析取范式。,范式定理的意义:,(1)合取范式和析取范式是命题公式最简捷的形式和最规范的形式,易于自动推理机的操作。定理意味着,我们可以获得任意命题公式的这种规范形式。,(2)定理意味着,合取范式和析取范式是可以相互转化的。,(3)定理意味着,,足以表达任意的逻辑命题公式。,04 一阶谓词逻辑,4.3 从命题到谓词 命题中的语义成份,命题逻辑的基本单元是原子命题。原子命题中丰富的信息被掩盖在命题 P,Q,R 等符号中,这使计算机应用命题逻辑进行自动推理存在很大的局限性。,一个命题,即使是原子命题,也包含着各种语义成份,正如分子是由原子组成的一样。,命题的原始形式是自然语言中的语句。一个句子,一般具有主语和谓语和宾语等语义成份;而一个命题,一般包含了个体和个体的数量和个体的性质(如:个体的状态、关系、行为和动作等)三种主要的成份。,04 一阶谓词逻辑,4.3 从命题到谓词 命题中的语义成份,一个原子命题所淹没的信息或成份包括:,个体:即:命题的主体(相当于句子的主语),这里,“工人”、“农民”、“光速”就是个体。,04 一阶谓词逻辑,4.3 从命题到谓词 命题中的语义成份,一个原子命题所淹没的信息或成份包括:,个体的数量:即:对于个体数量的修饰,这里的“有些”和“万”都表现了个体的数量。,04 一阶谓词逻辑,4.3 从命题到谓词 命题中的语义成份,一个原子命题所淹没的信息或成份包括:,个体的性质:相当于句子的谓语项(包括谓语和宾语),描述个体的动作,状态,关系,性质或行为等。,这里的“大于一”和“是红的”表现了个体的性质。,04 一阶谓词逻辑,4.4 谓词逻辑的基本概念(1)谓词(Predicate),在英文中,Predicate 即谓语。因此,谓词和谓语实际是同一概念,或来源于同一概念。,谓词(Predicate):即个体的性质,如:个体的动作,个体的状态,个体间的关系,个体的行为等。,谓词的一般形式:Pred(x1,x2,xn),其中:(1)x1,x2,xn 表示个体,(2)Pred:谓词名,表示个体的性质。,04 一阶谓词逻辑,4.4 谓词逻辑的基本概念(1)谓词(Predicate),谓词示例:,04 一阶谓词逻辑,4.4 谓词逻辑的基本概念(2)函词(Function Symbol),“函词”是从英文 function symbol 翻译而来的,意为函数符号。,函词(function symbol):以个体为变元,以个体为值的函数符号。,例:设变元 x 表示“学校”;定义函词 prsdt 表示“校长”,则 prsdt(x)表示 x 学校的校长。,如:prsdt(BJUT)即北京工业大学的校长。,注意:prsdt(BJUT)和 BJUT 都是个体。,04 一阶谓词逻辑,4.4 谓词逻辑的基本概念(2)函词(Function Symbol),函词根据其变元数量的不同可以划分为:,零元函词:没有变元的特殊函词,即常量,如:John,the_Sun,BJUT 等。,一元函词:一个变元的函词,如:prsdt(BJUT)。,二元函词:两个变元的函词,如:dstnc(x,y),可表示城市 x 与 y 的距离。,谓词,函词,个体,个体,04 一阶谓词逻辑,4.4 谓词逻辑的基本概念(3)量词(Quantifier),量词(Quantifier):对个体的数量进行修饰的词。,在一阶谓词逻辑中,量词只能作用于常量和变元,而不能作用于谓词和函词。在高阶谓词逻辑中,量词可作用于谓词和函词。,04 一阶谓词逻辑,4.4 谓词逻辑的基本概念(3)量词(Quantifier),量词应用示例:,(1)全称判断:“所有的鸟都有羽毛。”(x)Be_bird(x)Has(x,features),(2)特称判断:“有些鸟不会飞。”(x)Be_bird(x)Can(x,flying),04 一阶谓词逻辑,4.5 谓词公式(1)原子谓词公式,注释:原子相对于分子而言。复合公式由原子公式组成,称为分子公式。,04 一阶谓词逻辑,4.5 谓词公式(2)分子谓词公式,04 一阶谓词逻辑,4.5 谓词公式(3)永真公式和(4)等价公式,定义(永真公式):谓词逻辑值恒为真的谓词公式叫做永真谓词公式。,命题逻辑的许多概念和结论可以直接地移植到谓词逻辑。,定义(等价公式):两个谓词逻辑值恒等的谓词公式互为等价谓词公式。,常用等价公式(P Q R 为原子命题公式),(2)交换律:1)PQ=QP2)PQ=QP,(3)结合律:1)(PQ)R=P(QR)2)(PQ)R=P(QR),04 一阶谓词逻辑,4.5 谓词公式(4)等价公式,(4)分配律:1)P(QR)=(PQ)(PR)2)P(QR)=(PQ)(PR),常用等价公式(P Q R 为原子命题公式),04 一阶谓词逻辑,4.5 谓词公式(4)等价公式,(5)狄 摩根定律:1)(PQ)=PQ 2)(PQ)=PQ,(6)逆否定律:PQ=Q P,(7)否定之否定律:(P)=P,(8)量词否定律:1)xP(x)=xP(x)2)xP(x)=xP(x),常用等价公式(P Q R 为原子命题公式),04 一阶谓词逻辑,4.5 谓词公式(4)等价公式,(9)量词分配律:1)xP(x)Q(x)=xP(x)xQ(x)2)xP(x)Q(x)=xP(x)xQ(x),(10)量词无关律:1)xP(x)=yP(y)2)xP(x)=y P(y),04 一阶谓词逻辑,4.6 文字和子句&范式及范式定理 移植命题逻辑概念和定理,特别是,命题逻辑中的范式定理对于一阶谓词逻辑同样有效,即:,范式定理:任意谓词公式都可以表示为合取范 式,同时,也可以表示为析取范式。,04 一阶谓词逻辑,4.7 用谓词公式表达知识 实例与练习,“所有的偶数都能被二整除。”,(2)谓词公式:(x)Even(x)Divisible(x,2),04 一阶谓词逻辑,4.7 用谓词公式表达知识 实例与练习,“有些偶数都能被三整除。”,(2)谓词公式:(x)Even(x)Divisible(x,3),04 一阶谓词逻辑,4.7 用谓词公式表达知识 实例与练习,“任何数,不是正数,就是零或负数。”,(2)谓词公式:(x)Positive(x)Zero(x)Negative(x),04 一阶谓词逻辑,4.7 用谓词公式表达知识 实例与练习,“不是所有的整数都是偶数”,(2)谓词公式:(x)Integral(x)Even(x)或:(x)Integral(x)Even(x),04 一阶谓词逻辑,4.7 用谓词公式表达知识 实例与练习,“Tom 这人要么喜欢钓鱼,要么喜欢游泳。”,(2)谓词公式:Like(Tom,fishing)Like(Tom,swimming),04 一阶谓词逻辑,4.7 用谓词公式表达知识 实例与练习,“李兵住在豪华的希尔顿饭店。”,(2)谓词公式:Live(Libing,Hilton)Luxurious(Hilton),04 一阶谓词逻辑,4.8 谓词公式子句化 意义,知识的谓词表达是谓词逻辑推理的基础。基于谓词公式的逻辑推理被称为谓词演算。,谓词演算最基本的方法将是问题求解部分所要阐述的归结原理(Resolution Principle)。,归结原理是一种形式化的逻辑推理方法或逻辑运算方法,其运算操作的对象是子句,即以子句形式表现的谓词逻辑公式。,04 一阶谓词逻辑,4.8 谓词公式子句化 意义,在谓词演算系统中,知识库中的知识就是子句,就是谓词逻辑公式的子句。,因此,在应用归结原理进行谓词演算之前,我们需要对谓词公式进行处理,即将其化为子句集合。,谓词公式子句化的基本方法是,利用等价公式对谓词公式进行等价变换,直至其成为子句为止。,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤一:消除蕴涵符号和等价符号,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤二:使否定符号 只作用于原子谓词公式,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤三:变量标准化(使量词之间不含同名变量),04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤四:消除存在量词,存在量词在谓词公式的位置可以分为两种情形:,(1)在 范围内:此时,存在变量与全称变量相关,需要引入相关函数(称为 Skolem)函数,以消除存在量词。,(2)不在 范围内:此时,存在变量是独立,只需建立一个 Skolem 常量便可消除存在量词。,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤四:消除存在量词,(1)Skolem 函数:在 范围内,如 xyP(y),其含义为“对所有的 x 存在一个 y 满足 P(y)”,y 的取值依赖于 x 的取值。,定义 Skolem 函数 y=f(x),可消除存在量词:xyP(y)=xP(f(x)。消除存在量词 的一般规则为,消除存在量词 的一般规则为x1,x2,xnyP(y)=x1,x2,xnP(f(x1,x2,xn),04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤四:消除存在量词,(1)Skolem 常量:不在 范围内,如 xP(x)yQ(y),存在独立变量 y,定义 Skolem 常量 C,便可消除,即:xP(x)yQ(y)=xP(x)Q(C),04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤五:消除全称量词,消除存在量词后,谓词公式中的所有变量都是全称变量。,因此,可以消除所有的全称量词,使全称变量由显式全称约束转化为隐式全称约束,而不影响谓词公式所表达的逻辑关系。,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤六:将无量词公式转换为合取范式,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤七:消除逻辑与符号 以获取子句,合取范式是简单析取式的合取,也即子句的合取。换句话说,合取范式就是由逻辑与符号 连接子句而成的逻辑公式。因此,只要将合取范式中的逻辑与符号消除,便可得到逻辑公式中的全部子句。,04 一阶谓词逻辑,4.8 谓词公式子句化 步骤,步骤八:重新命名变量,重新命名变量的目的是使子句集合中的子句之间无同名变量,避免子句归结运算中置换与合一操作出现矛盾。,例:P(x,y)Q(y,z),Q(y,z)R(y)=P(x,y)Q(y,z),Q(u,v)R(u),子句集合中子句的变量都是全称变量,重新命名变量仅仅变换了全称变量的符号,而逻辑公式的关系是不变的和等价的。,04 一阶谓词逻辑,4.8 谓词公式子句化 实例,将如下谓词公式化为子句:xP(x)yP(y)P(f(x,y)yQ(x,y)P(y),步骤一:消除蕴涵符号和等价符号,步骤二:使否定符号 只作用于原子谓词公式,步骤三:变量标准化(使量词之间不含同名变量),04 一阶谓词逻辑,4.8 谓词公式子句化 实例,步骤四:消除存在量词,步骤五:消除全称量词,步骤六:将无量词公式转换为合取范式,04 一阶谓词逻辑,4.8 谓词公式子句化 实例,步骤七:消除逻辑与符号 以获取子句,04 一阶谓词逻辑,4.8 谓词公式子句化 实例,步骤八:重新命名变量,在2中,曾经用产生式规则为一个很小的动物学知识集构造了一个产生式知识库。,现在,我们可以用谓词逻辑(Predicate Logic)表达动物知识集中的每一条知识,构造出用于谓词演算的动物知识库,并用Lisp予以实现。,04 一阶谓词逻辑,4.9 构造谓词演算系统的知识库 for 动物学知识,04 一阶谓词逻辑,4.9 构造谓词演算系统的知识库 for 动物学知识,(1)动物知识的自然语言描述:$&$,子句:文字的简单析取,负文字1,负文字2,负文字n,正文字,子句:Lisp表,代表表示负文字,范化作用表示正文字,注意:这是一种重要的子句形式,即 Horn 子句,其中只有一个正文字。,4.9 构造谓词演算系统的知识库 for 动物学知识,04 一阶谓词逻辑,定义谓词:,Prd01:be_a(x,y)(x 是 y 的子类(动物)Prd02:be_e(x,y)(x 是 y 的个体(动物)Prd03:be(x,y)(x 是 y(某种性质的)Prd04:has(x,y)(x 有 y)Prd05:can(x,y)(x 会 y(动作或技能)Prd06:cannot(x,y)