1 / 56

第二章 人工智能逻辑 第一部分

高级人工智能. 第二章 人工智能逻辑 第一部分. 史忠植 中国科学院计算技术研究所. 主要内容. 逻辑简介 逻辑程序设计 非单调逻辑 默认逻辑 限定逻辑 真值维护系统 情景演算. 1. 逻辑简介. 逻辑的历史 逻辑系统 命题逻辑 谓词逻辑. 1.1 逻辑的历史. Aristotle —— 逻辑学 Leibnitz —— 数理逻辑 Gottlob Frege (1848-1925)—— 一阶谓词演算系统 ,《 符号论 》 20 世纪 30 年代,数理逻辑广泛发展. 1.2 逻辑系统.  一个逻辑系统是定义语言和它的含义的方法。

aine
Download Presentation

第二章 人工智能逻辑 第一部分

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 高级人工智能 第二章 人工智能逻辑第一部分 史忠植 中国科学院计算技术研究所 史忠植 逻辑基础

  2. 主要内容 • 逻辑简介 • 逻辑程序设计 • 非单调逻辑 • 默认逻辑 • 限定逻辑 • 真值维护系统 • 情景演算 史忠植 逻辑基础

  3. 1. 逻辑简介 • 逻辑的历史 • 逻辑系统 • 命题逻辑 • 谓词逻辑 史忠植 逻辑基础

  4. 1.1 逻辑的历史 • Aristotle——逻辑学 • Leibnitz——数理逻辑 • Gottlob Frege (1848-1925)——一阶谓词演算系统,《符号论》 • 20世纪30年代,数理逻辑广泛发展 史忠植 逻辑基础

  5. 1.2 逻辑系统 一个逻辑系统是定义语言和它的含义的方法。 逻辑系统中的一个逻辑理论是该逻辑的语言的一 个语句集合,它包括: • 逻辑符号集合:在所有该逻辑的逻辑理论中均出现的符号; • 非逻辑符号集合:不同的逻辑理论中出现的不同的符号; • 语句规则:定义什么样的符号串是有意义的; • 证明:什么样的符号串是一个合理的证明; • 语义规则:定义符号串的语义。 史忠植 逻辑基础

  6. 逻辑与程序语言的对比 史忠植 逻辑基础

  7. 证 明 一个证明是一个语法结构,它由符号串根据一定 的规则组成。它包括假设和结论。 在公理化逻辑中,逻辑给出一个逻辑公理和推理 规则的集合。推理规则是可以从一个语句的集合得到 另一语句的集合。 公理化逻辑中的证明就是一个语句序列,使得 其中的每个语句要么是逻辑公理,要么是一个假设,要么是由前面的语句通过推理规则得到的。 史忠植 逻辑基础

  8. 证 明(语法) 在语法上,如果存在一个从假设到的证明, 则记为⊢ ,称由可推导出的,或可证明的。 如果在没有任何假设下是可推导出的,则记为 ⊢ ,称为可证明的。 称一个假设是不协调的,如果存在一个语句 使得和的否定均可由推导得出。 称一个逻辑系统是一致的,或相容的(consistent), 如果不存在逻辑系统的公式A,使得⊢A与⊢¬A同时成 立。 史忠植 逻辑基础

  9. 解 释(语义) 语言的解释是在某个论域(domain)中定义非逻辑 符号。语句的语义是在解释下定义出语言L的真假值。 如果I是L的一个解释,且在I中为真,则记为 I⊨,称作I满足 ,或者I 是的一个模型。 类似地,给定一个语句和一个语句 ,如果对 每个解释I,有I⊨蕴含I⊨,换言之,如果I 是 的一个模型则I也是的一个模型,则记为⊨ ,我 们称为的一个逻辑结果。 史忠植 逻辑基础

  10. 可靠性和完备性 可靠性(reliable) 一个逻辑是可靠的,如果它的证明保持真假值, 即在任何解释I下,如果I是 的模型,且可由推导 出,则I也是的一个模型。即,一个逻辑是可靠的, 如果对任何语句集合和语句 , ⊢蕴涵⊨ 。 完备性(complete) 一个逻辑是完备的,如果任何永真语句是可证的。 即,对任何语句集合和语句 ,⊨蕴涵⊢ 。 如果一个逻辑是完备的,则该逻辑的证明系统已强到 可以推出任何永真式。 Gődel完备性定理:一阶逻辑是完备的 史忠植 逻辑基础

  11. 可判定性 可判定的 一个逻辑称为是可判定的(decidable),如果存在 一个算法对逻辑中的任一公式 A,可确定⊢A是否成 立。否则,称为是不可判定的(undecidable) 。 如果上述算法虽不一定存在,却有一个过程,可对该系统的定理做出肯定的判断,但对非定理的公式过程未必终止,因而未必能作出判断。这时称逻辑是半可判定的。 一阶逻辑是不可判定的,但它是半可判定的。 史忠植 逻辑基础

  12. 现代逻辑学与计算机科学、计算语言学和人工智能的关系表现代逻辑学与计算机科学、计算语言学和人工智能的关系表 逻 辑 自然语 程序 人工 逻辑 指令与直 数据库 复杂性 智能体 未 来 展 望 言处理 控制 智能 编程 陈式语言 理论 理论 理论 时序逻辑 √ √ √ √ √ √ √ √ 广泛应用 模态逻辑 √ √ √ √ √ √ √ √ 非常活跃 算法证明 √ √ √ √ √ √ √ √ 非单调推理 √ √ √ √ √ √ √ 意义重大 概率和模糊 √ √ √ √ √ √ √ 目前主流 直觉主义逻辑 √ √ √ √ √ √ √ √ 主要替代者 高阶逻辑,λ-演算 √ √ √ √ √ √ 更具中心作用 经典逻辑片断 √ √ √ √ √ √ 前景诱人 资源和子结构逻辑 √ √ √ √ 纤维化和组合逻辑 √ √ √ √ √ √ 可自我指称 谬误理论 在适当语境 逻辑动力学 √ √ 动态逻辑观 论辩理论游戏 √ 前景光明 对象层次/元层次 √ √ 总起中心作用 机制:溯因 缺省 相干 √ √ 逻辑的一部分 与神经网络的联系 极重要,刚开始 时间-行动-修正模型 √ √ 一类新模型 加标演绎系统 √ √ √ √ √ 逻辑学的统一框架 史忠植 逻辑基础

  13. 1.3 命题逻辑 • 命题是可以确定其真假的陈述句。 • Bolle提出了布尔代数。 语言:¬,; 公式,原子公式 公理模式: ◆(A(BA)) ◆((A(BC))  ((AB) (AC))) ◆(((¬A))(¬B)  (BA)) 推理规则:分离规则(modus ponens,MP规则) 史忠植 逻辑基础

  14. 1.4 谓词逻辑(一阶逻辑) • Frege谓词演算 语言:¬,,,,(,);常元,变元,函词,谓词;公式 公理模式: ◆(A(BA)) ◆((A(BC))  ((AB) (AC))) ◆(((¬A)(¬B))  (BA)) ◆vA  Atv (t对A中变元v可代入) ◆v(A B)  (vA  vB) ◆A vA (v在A中无自由出现) 推理规则:分离规则 史忠植 逻辑基础

  15. 谓词逻辑与命题逻辑的区别 • 谓词逻辑给出了原子语句的内部结构,将原子公式看作是事物直接的关系; • 它引入了“推广”(泛化),加强了逻辑的表示能力和推理能力。这样,我们可以说某种性质对某个对象是成立的,或对所有的对象成立,或不对任何对象成立。 史忠植 逻辑基础

  16. 2. 逻辑程序设计 • 消解原理(归结原理) • Horn逻辑 • Prolog逻辑程序设计语言 史忠植 逻辑基础

  17. 2.1 归结原理 例: C1 = ¬P∨Q∨R C2 = P∨Q 则C1与C2归结后的结果为:Q∨R 若子句集S能导出空子句⊓(有否证),则称S 是不可满足的。 反证法: S ⊢ A iff S  ¬A⊢ ⊓ 史忠植 逻辑基础

  18. 2.2 Horn逻辑 • 文字:原子公式(正文字)或原子公式的否定(负文字)。 P, Q, ¬R • 子句:若干文字的析取。¬P∨Q∨R • Horn子句: 子句L1∨L2∨… ∨Ln中如果至多只含一个正文字, 那么该子句称为Horn子句。 Horn子句P∨ ¬Q1∨ ¬Q2∨…∨ ¬Qn通常表示为: P  Q1, Q2, …, Qn 史忠植 逻辑基础

  19. Horn子句的类型: ◆过程:P  Q1, Q2, …, Qn ◆事实:P  ◆目标:  Q1, Q2, …, Qn ◆空子句: ⊓ 例:◆过程:AT(dog, x) AT(Zhang, x) ◆事实:AT(Zhang, train) ◆目标:  AT(dog, train) 首先目标中过程调用AT(dog, train)与过程名AT(dog, x) 匹配,合一为{train/x},调用过程AT(Zhang, x),从而 产生新目标 AT(Zhang, train),与事实匹配,产生目 标⊓ 。因而调用成功,输出“是”。 史忠植 逻辑基础

  20. 2.3 Prolog • Prolog(Programming in logic)语言是以Horn子句逻辑为基础的高级程序设计语言。 • 1972年,法国马赛大学的Alain. Colmerauer提出了Prolog的雏型。 • 1975年,Prolog被用于问题求解系统。 • 此后,它在许多领域获得了应用,如关系数据库、定理证明、智能问题求解、计算机辅助设计、规划生成等领域。 史忠植 逻辑基础

  21. Prolog的构成 • 事实:关于对象性质和关系的事实语句; student(john),married(tom,mary) • 规则:关于对象性质和关系的定义规则语句; 它与事实的不同在于,规则所定义的性质、关系依 赖与其它的性质和关系,因此规则呈蕴涵语句形式。 B:—A “如果A则B” bird(x) :— animal(x),has(x, feather) • 问题:关于对象性质或关系的询问。 ?— student(john) ?— married(mary,x) 史忠植 逻辑基础

  22. Prolog的执行方式 • 搜索:在程序中自上而下地搜索事实和规则; • 匹配:将目标中的项与事实和规则进行匹配; • 回溯:当目标中一项失败时,如果目标中有已经成功的的项(应在失败项的左边),那末就重新调用这些成功项中最右边的一个,谋求新的成功。 史忠植 逻辑基础

  23. Prolog语言的基本文法 • Prolog语言的最基本语言成分是项(term),一个 • 项或者是常量,或者是变量,或者是一个结构。 • 常量:是指对象和对象之间的特定关系的名; • 整数,如0,22,1586等; • 原子,如John,student,likes,sister-of • 变量:表示任意的对象,它与FOL中的变元相同; • Prolog中变量可以用大写字母,下划线,以及由它们 • 开头的字母串。如X, Y, Answer, _value等。 • 结构:是常量和变量的序列,它由一个函子(函词 • 或谓词)和该函子的自变量所组成。如: • likes(john, X) married(mary, jack) 史忠植 逻辑基础

  24. Y = mary,John与Mary是朋友 例: (1) likes(bell, sports) (2) likes(mary, smith) (3) likes(mary, sports) (4) likes(jones, smith) (5) friend(john, X) :— likes(X, sports), likes(X, smith) (规则) (6) ?— friends(john, Y) (问题) (事实) (7)?— likes(X, sports), likes(X, smith) (8)?— likes(bell, smith) (bell / X) (7)?— likes(X, sports), likes(X, smith) (8)?— likes(mary, smith) (mary / X) 史忠植 逻辑基础

  25. Prolog的基本特点 • Horn子句逻辑是Prolog的基础。 • Prolog既是一种逻辑程序设计语言,又是一个逻辑系统。 • Prolog是一种描述性语言,它是一种面向问题的语言,你只需要告诉它要做什么,即给出问题的形式描述,而不需要知道应该如何做。 • Prolog完全依靠匹配、回溯来进行搜索。Prolog的求解过程是一个寻求否证的消解过程。 • Prolog也使用元语言种的谓词,有很强的描述能力。 • Prolog采用统一的数据结构——项,它包含控制成分,且有专门进行数值计算和符号处理的模块。 史忠植 逻辑基础

  26. 3.非单调逻辑 • 单调逻辑 • 非单调逻辑 • 区别 史忠植 逻辑基础

  27. 3.1 单调逻辑 • 在现有知识的基础上,通过严密的逻辑论证和推理获得的新知识必须与已有的知识相一致。 A,ABB • 推理系统的定理集合随着推理过程的进行而单调地增大。 单调性: (1)  ∈Th( ) (2) 若 1 ⊆2 ,则Th(1) ⊆ Th(2) (3) Th(Th( )) = Th( ) (不动点) 史忠植 逻辑基础

  28. 3.2 非单调逻辑 • 推理系统的定理集合并不随着推理过程的进行而单调地增大,新推出的定理很可能会否定、改变原来的一些定理,使得原来能够解释的某些现象变得不能解释了。 • 新规则: • (4) ⊬ ¬ P (不动点) 史忠植 逻辑基础

  29. 4. 默认逻辑 1980年,Reiter提出了默认逻辑(Default Logic)。 “一般情况下鸟是会飞的” “鸵鸟不会飞”“企鹅不会飞” 史忠植 逻辑基础

  30. 4.1 默认规则 一个默认规则是如下形式的规则: (x):称为前提条件 i(x):称为默认条件,或检验条件 (x):称为结论 为简便,通常情况下可以省略检验条件中的M。 规则的使用: 如果规则的前提条件满足,且现有的知识导不 出检验条件的否定¬i(x),则可以得出结论成立。 史忠植 逻辑基础

  31. 4.2 默认理论 一个默认理论由两个部分组成,即默认规则 集D和公式集W,一般用二元组来表示= <D,W > 若D中的规则是闭规则时,则为闭默认理论。 定义:设= <D,W >为一闭默认理论, 为关于D的 一个算子,作用于任意的命题集合S,而其值为满 足下列三个性质的最小命题集合(S): (1) W (S) (2) Th((S)) = (S),其中Th((S)) = {A|(S) ⊢A} (3) 如果D中有规则 , 且∈(S),¬1, …, ¬m ∉S ,那么∈(S) 史忠植 逻辑基础

  32. 例1:设D= { },W= ,计算默认 理论= <D,W >的扩充。 4.3 默认理论的扩充 定义:对命题集合E,如果(E) = E,则E称为关于 D的算子的不动点(fixpoint)。此时称E为默认理论 = <D,W >的一个扩充(extension)。 = <D,W >有唯一的扩充E= Th({¬B, ¬F})。 史忠植 逻辑基础

  33. 例2:设 D= { }, W= {B, CF∨A, A∧C ¬E},计算默认理论 = <D,W >的扩充。 = <D,W >有三个扩充 E1= Th(W{A, C}) E2= Th(W{A, E}) E3= Th(W{C, E, G}) 史忠植 逻辑基础

  34. 5.限定推理 1980年,McCarthy提出了一种非单调的推理—— 限定推理(Circumscription)。 基本思想:从某些事实A出发能够推出具有某一性质的P的对象就是满足性质P的全部对象。只有当发现其它对象也具有该性质时,才修改这种看法。 史忠植 逻辑基础

  35. 限定逻辑 限定逻辑CIRC是一种极小化逻辑。下面,从一个基于 极小模型定义的命题限定出发,给出限定的基本定义, 进 而给出一阶限定的基本结果,并将它推广。 定义 2.1 设L0是一个命题语言,p1,p2是在命题语言L0中 的两个赋值。称p1小于p2,记为p1  p2, 当且仅当对任一 命题变元x, 如果p1(x) = l, 则p2(x) = l。 史忠植 逻辑基础

  36. 限定逻辑 定义 2.2 设A是一个公式,称A的一个赋值p是极小 的,当且仅当不存在A的其它赋值p'使得 p'  p。 显然, 是一个偏序关系。p1 p2表示p1包含的真命题比p2少。极小赋值包含的真命题极小。 定义 2.3 极小后承M。 设A, B是两个公式,AMB 当且仅当B在所有A的极小模型中都为真。 极小模型是非单调的,它以命题的极小化作为优先模型的准则。 史忠植 逻辑基础

  37. 限定逻辑 定义 2.4 设A是一个包含命题集 P = {p1,p2,... , pn} 的公式,一个A的赋值p称为Z-极小赋值,当且仅当不存在A的其它赋值p‘使得p  p’, 定义如下:设p1, p2是两个赋值, p1Z- p2当且仅当对任一z  Z, 若p1(Z) = l, 则 p2(Z)= l。 史忠植 逻辑基础

  38. 限定逻辑 定义 2.5 命题限定P或 CIRC(A,P)。设A是一个 包含命题集的公式,  是一个公式,AP当且仅 当在所有A的p-极小赋值中都为真。 定理 2.1 A p 当且仅当AP 史忠植 逻辑基础

  39. 限定逻辑 定义 2.6 令L是一个一阶语言,T是一个L的公式,它 包含谓词元组集。设M[T]和 M*[T]是公式T的两个模型。 定义M*[T]优先于M[T],记为M*[T]M[T],当且仅当 (1) M和M*有相同的对象域, (2) 除外,公式T中所有的其它关系和函数常数 在M和M*都有相同的解释, (3) 在M*中的外延是在M中的子集。 史忠植 逻辑基础

  40. 限定逻辑 一个理论T的模型M称为优先的,当且仅当不存在T的 其它模型M'使得M'M。 定义 2.7 Mm是的最小模型,当且仅当 M  Mm , M = Mm 史忠植 逻辑基础

  41. 限定逻辑 例如 设论域 D={1,2} T=xy(P(y)Q(x,y)) =[(P(1) Q(1,1)) (P(2) Q(1,2))]  [(P(1) Q(2,1)) (P(2) Q(2,2))] M: P(1) P(2) Q(1,1) Q(1,2) Q(2,1) Q(2,2) T T F T F T M*: P(1) P(2) Q(1,1) Q(1,2) Q(2,1) Q(2,2) F T F T F T 史忠植 逻辑基础

  42. 6.真值维护系统TMS • 1979年,Doyle提出了一种非单调推理系统—— • 真值维护系统(Truth Maintenance System) • 真值维护系统是大型推理系统的的一个子系统, • 实现知识库中信念(belief)的修改与维护。其基本问 • 题有: • 必须在不完全的、有限的信息基础上作出假设的决策,使得该假设成为知识库的信念; • 当这些决策的结论被以后的事实证明为错误时,如何对其信念进行修正。 史忠植 逻辑基础

  43. 基本数据结构: 结点:表示信念 理由:表示信念的原因 信念既包括已知的知识,也包括假设的知识。 基本操作: 新结点的形成——将信念赋予该结点; 新理由的加入——把某个信念与该结点联接起来 实现过程: 默认假设的形成; 相关性回溯过程。 史忠植 逻辑基础

  44. 6.1 信念知识表示 每一个命题或规则均称为结点,它分为两类: IN-结点:相信为真 OUT-结点:不相信为真,或无理由相信为真, 或当前没有任何有效的理由。 每个结点附有理由表,表示具体结点的有效性: 支持表SL:所在结点的信念的原因,理由; 条件证明CP:出现矛盾的原因。 史忠植 逻辑基础

  45. (1)支持表SL (SL(<IN-结点表>)(<OUT-结点表>)) IN-结点表中的IN-结点表示知识库中的已知知识; OUT-结点表中的OUT-结点表示这些结点的否定。 例1: (1) 现在是夏天 (SL( )( )) (2) 天气很潮湿 (SL(1)( ))   结点(1)不依赖于任何别的结点中的当前信念或 默认信念,因而这种结点称为前提;   结点(2)则依赖于当前结点(1)的信念.   所以,与一阶逻辑不同的是,TMS可以撤消前提, 并可以对知识库作适当修改. 史忠植 逻辑基础

  46. 例2: (1) 现在是夏天 (SL( )( )) (2) 天气很潮湿 (SL(1)(3)) (3) 天气很干燥 若结点(1)是IN,结点(3)是OUT,则结点(2)才为IN. 若在某个时刻出现结点(3)的证据,则结点(2)就变为 OUT,因为它不再有一个有效的证实.象结点(2)这样 的结点称为假设,它与非空的OUT结点表的SL证实有 关.OUT结点(3)是结点(2)的证实的一部分.但如果结 点(3)不存在,就不能这样表示了.   在TMS中,它仅利用证实来维持一个相容的信念 数据库,而它本身并不产生证实. 史忠植 逻辑基础

  47. (2)条件证明CP (CP <结论> <IN-假设> <OUT-假设>) 如果结论结点为IN-结点,以及下列条件成立: (1) IN假设中的每个结点都是IN-结点; (2) OUT-假设中的每个结点都是OUT-结点. 那么条件证明CP是有效的.   一般说来,OUT-假设总是空集.TMS要求假设集划 分成两个不相交的子集,分别为不导致矛盾的假设和 导致矛盾的假设.   通常只要在IN-假设中的结点为IN,OUT-假设中 的结点为OUT,则结论结点为IN. 史忠植 逻辑基础

  48. 6.2 默认假设   令{F1, F2, …, Fn}表示所有可能的侯选的默认假 设结点集,G表示选择默认假设的原因的结点,即由G 引起在{F1, …, Fn}中进行默认选择.这样我们结合结 点Node(Fi)以如下理由: (SL(G)(F1, …, Fi-1, Fi+1, …, Fn)) 而选取Fi为默认假设.   如果不存在任何其它关于如何进行选择的信息, 则可以认为除Fi之外其它任何时候选都不是可信的. 这样Fi为IN,其它Fj(i  j)均为OUT.但如果接收到一 个有效的理由支持某个其它的侯选Fj,则Fj就为IN, 而导致Fi的假设失败而变为OUT. 史忠植 逻辑基础

  49. 6.3 相关回溯   当知识库中出现不一致时,TMS将寻找并删除已 做的一个不正确的默认逻辑,恢复一致性.它包括三 个步骤: (1) 从产生的矛盾结点开始,回溯跟踪该矛盾结点 的理由充足的支持以寻找矛盾的假设集,并从中去掉 至少一个假设信念以消除矛盾. (2) 构造一个结点记录矛盾产生的原因. (3) 从S中选取假设A(即不合理假设),并证实列在 其理由充足的支持条件中的一个OUT-结点. 史忠植 逻辑基础

  50. 例3: (1) 会议日期为星期三 (SL( )(2)) (2) 会议日期不应是星期三 (3) 会议时间为14:00 (SL(32,40,61)()) (4) 矛盾 (SL(1,3)( )) (周三14:00没有空会议室) (5) 不相容 (CP4 (1,3)( )) (2) 会议日期不应是星期三 (SL(5)( )) 结点(2)与结点(5)为IN,就引起结点(1)为OUT,因为 结点(1)的证实依赖于结点(2)是OUT.结点(4)现在也 变成OUT.进而矛盾就消除了. 史忠植 逻辑基础

More Related