第5章 知识表示与推理 5.1 概述 5.2 基于谓词逻辑的机器推理 5.3 基于产生式规则的机器推理 5.4 几种结构化知识表示及其推理 5.5 不确定性知识的表示与推理
5.1 概述 5.1.1 知识及其表示 ◆一些常用的知识表示形式: 一阶谓词逻辑、产生式规则、框架、语义网络、类和对象、模糊集合、贝叶斯网络、脚本、过程等。 5.1.2 机器推理 ◆演绎推理、归纳推理和类比推理 ◆不确定性推理和不确切性推理 ◆约束推理、定性推理、范例推理、非单调推理
5.2 基于谓词逻辑的机器推理 基于谓词逻辑的机器推理也称自动推理。它是人工智能早期的主要研究内容之一。一阶谓词逻辑是一种表达力很强的形式语言,而且这种语言很适合当前的数字计算机。因而就成为知识表示的首选。基于这种语言,不仅可以实现类似于人推理的自然演绎法自动推理,而且也可实现不同于人的归结(或称消解)法自动推理。本节主要介绍基于谓词逻辑归结演绎推理。
归结演绎推理是基于一种称为归结原理(亦称消解原理principle of resolution)的推理规则的推理方法。归结原理是由鲁滨逊(J 归结演绎推理是基于一种称为归结原理(亦称消解原理principle of resolution)的推理规则的推理方法。归结原理是由鲁滨逊(J.A.Robinson)于1965年首先提出。它是谓词逻辑中一个相当有效的机械化推理方法。归结原理的出现,被认为是自动推理,特别是定理机器证明领域的重大突破。
5.2.1 子句集 定义1 原子谓词公式及其否定称为文字,若干个文字的一个析取式称为一个子句,由r个文字组成的子句叫r—文字子句,1—文字子句叫单元子句,不含任何文字的子句称为空子句,记为或NIL。 例: P∨Q∨﹁R P(x,y)∨﹁ Q(x)
定义2 对一个谓词公式G,通过以下步骤所得的子句集合S,称为G的子句集。 (1)消去蕴含词→和等值词←→。 (2)缩小否定词﹁的作用范围,直到其仅作用于原子公式。 (3)适当改名,使量词间不含同名指导变元和约束变元。 (4)消去存在量词。 (5)消去所有全称量词。 (6)化公式为合取范式。 (7)适当改名,使子句间无同名变元。 (8)消去合取词∧,以子句为元素组成集合S。
定理1 谓词公式G不可满足当且仅当其子句集S不可满足。
5.2.2 命题逻辑中的归结原理 定义 设C1,C2是命题逻辑中的两个子句,C1中有文字L1,C2中有文字L2,且L1与L2互补,从C1,C2中分别删除L1,L2,再将剩余部分析取起来,记构成的新子句为C12,则称C12为C1,C2的归结式(或消解式),C1,C2称为其归结式的亲本子句, L1,L2称为消解基。 例5.9 设C1= ﹁ P∨Q∨R, C2= ﹁ Q∨S, 则C1,C2的归结式为 ﹁ P∨R∨S
C1∧C2=> (C1-{L1})∪(C2-{L2}) 定理2 归结式是其亲本子句的逻辑结果。 由定理2即得推理规则: C1∧C2=> (C1-{L1})∪(C2-{L2}) 其中C1,C2是两个子句,L1,L2分别是C1,C2中的文字,且L1,L2互补。 此规则就是命题逻辑中的归结原理。
例3.10 用归结原理验证分离规则和拒取式 A∧(A→B) => B (A→B)∧﹁ B =>﹁ A 解 例3.10 用归结原理验证分离规则和拒取式 A∧(A→B) => B (A→B)∧﹁ B =>﹁ A 解 A∧(A→B) = A∧(﹁ A∨B) => B (A→B)∧﹁ B = (﹁ A∨B)∧(﹁ B) => ﹁ A
例5.11 证明子句集{ P∨﹁Q,﹁P,Q }是不可满足的。 (5)□ 由(3),(4)
例5.12 用归结原理证明R是 P,(P∧Q)→R,(S∨U)→Q,U 的逻辑结果。 证 由所给条件得到子句集 S={P,﹁ P∨﹁ Q∨R,﹁ S∨Q,﹁ U∨Q,U,﹁ R} 然后对该子句集施行归结,归结过程用下面的归结演绎树表示(见图5―1)。由于最后推出了空子句,所以子句集S不可满足,即命题公式 P∧(﹁ P∨﹁ Q∨R)∧(﹁ S∨Q)∧(﹁ U∨Q)∧U∧﹁ R 不可满足,从而R是题设前提的逻辑结果。
图5―1 例5.12归结演绎树
例: 5.2.3 替换与合一 C1=P(x)∨Q(x) C2=﹁P(a)∨R(y) 用a替换C1中的x,则得到 C1′=P(a)∨Q(a)
定义6 一个替换(Substitution)是形如{t1/x1,t2/x2,…,tn/xn}的有限集合,其中t1,t2,…,tn是项,称为替换的分子;x1,x2,…,xn是互不相同的个体变元,称为替换的分母;ti不同于xi,xi也不循环地出现在tj(i,j=1,2,…,n)中;ti/xi表示用ti替换xi。若t1,t2,…,tn都是不含变元的项(称为基项)时,该替换称为基替换;没有元素的替换称为空替换,记作ε,它表示不作替换。
例如: {a/x, g(y)/y ,f(g(b))/z} 就是一个替换,而 {g(y)/x, f(x)/y} 则不是一个替换,因为x与y出现了循环替换。 定义7 设θ={t1/x1,…,tn/xn}是一个替换,E是一个表达式,把对E施行替换θ,即把E中出现的个体变元xj(1≤j≤n)都用tj替换,记为Eθ,所得的结果称为E在θ下的例(instance)。
定义9 设S={F1,F2,…,Fn}是一个原子谓词公式集,若存在一个替换θ,可使F1θ=F2θ=…=Fnθ,则称θ为S的一个合一(Unifier),称S为可合一的。 定义10 设σ是原子公式集S的一个合一,如果对S的任何一个合一θ,都存在一个替换λ,使得 θ=σ·λ 则称σ为S的最一般合一(MostGeneralUnifier),简称MGU。
例5.14 设S={P(u,y,g(y)),P(x,f(u),z)},S有一个最一般合一 σ={u/x,f(u)/y,g(f(u))/z} 对S的任一合一,例如: θ={a/x,f(a)/y,g(f(a))/z,a/u} 存在一个替换 λ={a/u} 使得 θ=σ·λ
3.2.4 谓词逻辑中的归结原理 定义12 设C1,C2是两个无相同变元的子句,L1,L2分别是C1,C2中的两个文字,如果L1和L2有最一般合一σ,则子句 (C1σ-{L1σ})∪(C2σ-{L2σ})称作C1和C2的二元归结式(二元消解式),C1和C2称作归结式的亲本子句,L1和L2称作消解文字。
例5.18 设C1=P(x)∨Q(x),C2=﹁P(a)∨R(y),求C1,C2的归结式。 解 取L1=P(x),L2=﹁P(a),则L1与﹁ L2的最一般合一σ={a/x},于是, (C1σ-{L1σ})∪(C2σ-{L2σ}) =({P(a),Q(a)}-{P(a)})∪ ({﹁P(a),R(y)}-{﹁P(a)}) ={Q(a),R(y)} = Q(a)∨R(y) 所以,Q(a)∨R(y)是C1和C2的二元归结式。
例5.19 设C1=P(x,y)∨﹁Q(a),C2=Q(x)∨R(y),求C1,C2的归结式。 解 由于C1,C2中都含有变元x,y,所以需先对其中一个进行改名,方可归结(归结过程是显然的,故从略)。 还需说明的是,如果在参加归结的子句内部含有可合一的文字,则在进行归结之前,也应对这些文字进行合一,从而使子句达到最简。例如,设有两个子句: C1=P(x)∨P(f(a))∨Q(x) C2=P(y)∨R(b)
定义13 如果子句C中,两个或两个以上的文字有一个最一般合一σ,则Cσ称为C的因子,如果Cσ是单元子句,则Cσ称为C的单因子。 例5.20 设C=P(x)∨P(f(y))∨﹁Q(x), 令σ={f(y)/x},于是 Cσ=P(f(y))∨﹁Q(f(y)) 是C的因子。
定义14 子句C1,C2的消解式,是下列二元消解式之一:
定理4 谓词逻辑中的消解式是它的亲本子句的逻辑结果。 由此定理我们即得谓词逻辑中的推理规则: C1∧C2=>(C1σ-{L1σ})∪(C2σ-{L2σ}) 其中C1,C2是两个无相同变元的子句,L1,L2分别是C1,C2中的文字,σ为L1与L2的最一般合一。 此规则称为谓词逻辑中的消解原理(或归结原理)。
例5.21 求证G是A1和A2的逻辑结果。 A1: x(P(x)→(Q(x)∧R(x))) A2: x(P(x)∧S(x)) G: x(S(x)∧R(x)) 证 我们用反证法,即证明A1∧A2﹁G不可满足。首先求得子句集S:
(1) ﹁ P(x)∨Q(x) (2) ﹁ P(y)∨R(y) (3) P(a) (4) S(a) (5) ﹁ S(z)∨ ﹁ R(z)(﹁ G) 然后应用消解原理,得 (6)R(a) [(2),(3),σ1={a/y}] (7)﹁R(a) [(4),(5),σ2={a/z}] (8)□ [(6),(7)] 所以S是不可满足的,从而G是A1和A2的逻辑结果。 (A1) S (A2)
例 5.22 设已知: (1)能阅读者是识字的; (2)海豚不识字; (3)有些海豚是很聪明的。 试证明:有些聪明者并不能阅读。 证 首先,定义如下谓词: R(x):x能阅读。 L(x):x识字。 I(x):x是聪明的。 D(x):x是海豚。
然后把上述各语句翻译为谓词公式: (1) x(R(x)→L(x)) (2) x(D(x)→ ﹁ L(x)) 已知条件 (3) x(D(x)∧I(x)) (4) x(I(x)∧﹁R(x)) 需证结论
求题设与结论否定的子句集,得 (1)﹁ R(x)∨L(x) (2)﹁ D(y)∨ ﹁ L(y) (3)D(a) (4)I(a) (5)﹁ I(z)∨R(z)
归结得 (6) R(a) (5),(4),{a/z} (7) L(a) (6),(1),{a/x} (8) ﹁ D(a) (7), (2), {a/y} (9)□ (8), (3) 这个归结过程的演绎树如图5―2所示。
图5-2 例5.22 归结演绎树
定理5 (归结原理的完备性定理)如果子句集S是不可满足的,那么必存在一个由S推出空子句□的消解序列。 (该定理的证明要用到Herbrand定理,故从略。)
5.3 基于产生式规则的机器推理 5.3.1 产生式规则 一般形式: 〈前件〉→〈后件〉 其中, 前件就是前提, 后件是结论或动作,前件和后件可以是由逻辑运算符AND、OR、NOT组成的表达式。 语义: 如果前提满足,则可得结论或者执行相应的动作, 即后件由前件来触发。 所以, 前件是规则的执行条件, 后件是规则体。
例: (1) 如果银行存款利率下调, 那么股票价格上涨。 (2) 如果炉温超过上限, 则立即关闭风门。 (3) 如果键盘突然失灵, 且屏幕上出现怪字符, 则是病毒发作。 (4) 如果胶卷感光度为200, 光线条件为晴天, 目标距离不超过5米, 则快门速度取250, 光圈大小取f16。
5.3.2 基于产生式规则的推理模式 5.3.3 产生式系统 推理机 动态数据库。 A ————— B A →B 1.系统结构 产生式规则库 推理机 动态数据库。
图 6-2 推理机的一次推理过程
3.控制策略与常用算法 1) 正向推理 正向推理算法一: 步1 将初始事实/数据置入动态数据库。 步1 将初始事实/数据置入动态数据库。 步2 用动态数据库中的事实/数据, 匹配/测试目标条件, 若目标条件满足, 则推理成功, 结束。 步3 用规则库中各规则的前提匹配动态数据库中的事实/数据, 将匹配成功的规则组成待用规则集。 步4 若待用规则集为空, 则运行失败, 退出。 步5 将待用规则集中各规则的结论加入动态数据库, 或者执行其动作, 转步2。
例 动物分类问题的产生式系统描述及其求解。 例 动物分类问题的产生式系统描述及其求解。 r1: 若某动物有奶, 则它是哺乳动物。 r2: 若某动物有毛发, 则它是哺乳动物。 r3: 若某动物有羽毛, 则它是鸟。 r4: 若某动物会飞且生蛋, 则它是鸟。 r5: 若某动物是哺乳动物且有爪且有犬齿且目盯前方, 则它是食肉动物。 r6: 若某动物是哺乳动物且吃肉, 则它是食肉动物。 r7: 若某动物是哺乳动物且有蹄, 则它是有蹄动物。 r8: 若某动物是有蹄动物且反刍食物, 则它是偶蹄动物。 r9: 若某动物是食肉动物且黄褐色且有黑色条纹, 则它是老虎。 r10:若某动物是食肉动物且黄褐色且有黑色斑点, 则它是金钱豹。 r11:若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点, 则它是长颈鹿。 r12:若某动物是有蹄动物且白色且有黑色条纹, 则它是斑马。 r13:若某动物是鸟且不会飞且长腿且长脖子且黑白色, 则它是驼鸟。 r14:若某动物是鸟且不会飞且会游泳且黑白色, 则它是企鹅。 r15:若某动物是鸟且善飞且不怕风浪, 则它是海燕。
规则集形成的部分推理网络
再给出初始事实: f1:某动物有毛发。 f2:吃肉。 f3:黄褐色。 f4: 有黑色条纹。 目标条件为: 该动物是什么? 该系统的运行结果为: 该动物是老虎。
关于“老虎”的正向推理树
2) 反向推理 反向推理算法: 步1 将初始事实/数据置入动态数据库, 将目标条件置入目标链。 反向推理算法: 步1 将初始事实/数据置入动态数据库, 将目标条件置入目标链。 步2 若目标链为空, 则推理成功, 结束。 步3 取出目标链中第一个目标, 用动态数据库中的事实/数据同其匹配, 若匹配成功, 转步2。 步4 用规则集中的各规则的结论同该目标匹配, 若匹配成功,则将第一个匹配成功且未用过的规则的前提作为新的目标, 并取代原来的父目标而加入目标链, 转步3。 步5 若该目标是初始目标, 则推理失败, 退出。 步6 将该目标的父目标移回目标链, 取代该目标及其兄弟目标, 转步3。
例 对于上例中的产生式系统, 改为反向推理算法, 则得到下图所示的推理树。 关于“老虎”的反向推理树
3) 冲突消解策略 正向推理算法二: 步1 将初始事实/数据置入动态数据库。 步1 将初始事实/数据置入动态数据库。 步2 用动态数据库中的事实/数据, 匹配/测试目标条件, 若目标条件满足, 则推理成功, 结束。 步3 用规则库中各规则的前提匹配动态数据库中的事实/数据, 将匹配成功的规则组成待用规则集。 步4 若待用规则集为空, 则运行失败, 退出。 步5 用某种策略,从待用规则集中选取一条规则, 将其结论加入动态数据库,或者执行其动作, 撤消待用规则集, 转步2。
◆常用的冲突消解策略有: 优先级法(优先级高者 优先)、 可信度法(可信度高者优先)、代价法(代价低者优先)及自然顺序法等。 ◆产生式系统的推理方式、搜索策略及冲突消解策略等, 一般统称为推理控制策略, 或简称控制策略。一个产生式系统的控制策略就体现在推理机的算法描述中。
4.程序实现 1) 产生式规则的程序语言实现 将规则的前提部分做成形如 条件1 AND 条件2 AND … AND 条件n 或 1) 产生式规则的程序语言实现 将规则的前提部分做成形如 条件1 AND 条件2 AND … AND 条件n 或 条件1 OR 条件2 OR … OR 条件m 将规则结论部分做成形如 断言1/动作1 AND 断言2/动作2 AND … AND 断言k/动作k 断言1/动作1 OR 断言2/动作2 OR … OR 断言k/动作k 一般地做成 条件1 AND 条件2 AND … AND 条件n→断言/动作
在PROLOG程序中要表示产生式规则, 至少有两种形式:
例 把上述动物分类系统中的产生式规则用PROLOG的规则可表示如下: animal_is(″老虎″):-it_is(″食肉动物″), fact(″黄褐色″), fact(″有黑色条纹″). it_is(″食肉动物″):-it_is1(″哺乳动物″), fact(″有爪″), fact(″有犬齿″), fact(″目盯前方″). fact(″吃肉″). it_is1(″哺乳动物″):-fact(″有奶″). it_is1(″哺乳动物″):-fact(″有毛发″).
也可以将上面的规则表示成如下的形式: rule([“食肉动物”, “黄褐色”, “有黑色条纹” ], “老虎”).
2)规则库的程序实现 3)动态数据库的程序实现 4)推理机的程序实现 5. 产生式系统与图搜索问题求解
5.4 几种结构化知识表示及其推理 5.4.1 框架 1.框架的概念 <框架名> <槽名1><槽值1>| <侧面名11><侧面值111,侧面值112,…> <侧面名12><侧面值121,侧面值122,…> <槽名2><槽值2>|<侧面名21><侧面值211,侧面值212,…> <侧面名22><侧面值221,侧面值222,…> … … … <槽名k><槽值k>| <侧面名k1><侧面值k11,侧面值k12,…> <侧面名k2><侧面值k21,侧面值k22,…>
例7.1 下面是一个描述“教师”的框架: 框架名:<教师> 类属:<知识分子> 工作:范围:(教学,科研) 缺省:教学 性别:(男,女) 学历:(中师,高师) 类型:(<小学教师>,<中学教师>,<大学教师>)
例7.2 下面是一个描述“大学教师”的框架: 框架名:<大学教师> 类属:<教师> 学历:(学士,硕士,博士) 专业:<学科专业> 职称:(助教,讲师,副教授,教授) 外语:语种:范围:(英,法,日,俄,德,…) 缺省:英 水平:(优,良,中,差) 缺省:良
例7.3 下面是描述一个具体教师的框架: 框架名:<教师-1> 类属:<大学教师> 姓名:李明 性别:男 年龄:25 职业:教师 职称:助教 专业:计算机应用 部门:计算机系软件教研室 工作: 参加工作时间:1995年8月 工龄:当前年份-参加工作年份 工资:<工资单>
2. 框架的表达能力 例7.4 下面是关于房间的框架: 框架名:<房间> 墙数x1: 缺省:x1=4 条件:x1>0
后墙:(墙框架(w2,d2)) 左墙:(墙框架(w3,d3)) 右墙:(墙框架(w4,d4)) 天花板:<天花板框架> 地板:<地板框架> 门:<门框架> 窗:<窗框架> 条件:w1+w2+w3+w4=x2 d1+d2+d3+d4=x3 类型:(<办公室>,<教室>,<会客室>,<卧室>,<厨房>,< 仓库>,…)
例7.5 机器人纠纷问题的框架描述如图7-1所示。 图7―1 机器人纠纷问题
例如,产生式 如果头痛且发烧,则患感冒。 用框架表示可为: 框架名:<诊断1> 前提:条件1:头痛 条件2:发烧 结论: 患感冒
3. 基于框架的推理 基于框架的推理方法是继承。所谓继承,就是子框架可以拥有其父框架的槽及其槽值。实现继承的操作有匹配、搜索和填槽。
框架名: 〈教师-1〉 姓名: 李明 性别: 男 年龄: 25 职称: 助教 专业: 计算机应用 部门: 计算机系软件教研室 外语水平:
FRL(Frame Representation Language) 4. 框架的程序语言实现 FRL(Frame Representation Language) PROLOG
例: frame(name("教师"), kind_of("<知识分子>"), work(scope("教学","科研"),default("教学")), sex("男","女"), reco_of_f_s("中师","高师"), type(“<小学教师>”,“<中学教师>”,“<大学教师>”)).
frame(name("教师"), body([st("类属",[st("<知识分子>",[])]), st(“工作”,[st(“范围”,[st(“教学”,[]),st(“科研”, [])]),st("缺省",[st("教学",[])])]), st("性别",[st("男",[]),st("女",[])]), st("学历",[st("中师",[]),st("高师",[])]), st(“类型”,[st(“<小学教师>”,[]),st(“<中学教师>”, []),st("<大学教师>"[])])]))
语义网络是由节点和边(也称有向弧)组成的一种有向图。其中节点表示事物、对象、概念、行为、性质、状态等;有向边表示节点之间的某种联系或关系。 5.4.2 语义网络 1. 语义网络的概念 语义网络是由节点和边(也称有向弧)组成的一种有向图。其中节点表示事物、对象、概念、行为、性质、状态等;有向边表示节点之间的某种联系或关系。
图7―2 苹果的语义网络
2. 语义网络的表达能力 (1)实例关系:实例关系表示类与其实例之间的系。 (2)分类(泛化)关系:分类关系是指事物间的类属关系。 (3)组装关系:如果下层概念是上层概念的一个方面或者一部分,则称它们的关系是组装关系。 (4)属性关系:属性关系表示对象的属性及其属性值。 (5)集合与成员关系:成员(或元素)与集合之间的关系。 (6)逻辑关系 (7)方位关系 (8)所属关系: “具有”的意思。 (9)语句或事件 (10)谓词公式
3. 基于语义网络的推理 例: 基于语义网络的推理也是继承。继承也是通过匹配、搜索实现的。 苹果 x 富士 特点 AKO 图7―15 语义网络片段
4. 语义网络的程序语言实现 a_kind_of("苹果","水果"). … … … ● 语义网络是一个二元关系图 例: taste("苹果","甜"). a_kind_of("富士","苹果"). intro_from("富士","日本"). is_a("日本","亚洲国家"). … … …
也可以表示为 arc(a_kind_of,"苹果","水果"). arc(taste,"苹果","甜"). arc(a_kind_of,"富士","苹果"). arc(intro_from,"富士","日本"). arc(is_a,"日本","亚洲国家"). … … … 或者 net1( a_kind_of(“苹果”,“水果”), taste(“苹果”,“甜”), a_kind_of(“秦冠”,“苹果”), produ_in("秦冠","陕西")).
5.4.3 类与对象
图7―4 表示实例关系的语义网络 小华 大学生 是一个
图7―5 表示分类关系的语义网络
桌子 桌腿 桌面 一部分 图7―6 表示组装关系的语义网络
图7―7 表示属性关系的语义网络
张三 计算机学会 是成员 图7―8 表示集合—成员关系的语义网络
雨天 外出 AND OR 带雨披 带雨伞 则 图7―9 表示逻辑关系的语义网络
电子2路 石油学院 张宏 助教 西安市区 25岁 位于 工作在 职务 属于 年龄 图7―10 表示方位关系的语义网络
图7―11 表示所属关系的语义网络 狗 尾巴 have
图7―12 语句(事件)的语义网络
图7―13 谓词公式的语义网络
又如: x(student (x) → read (x, 三国演义)) 即“每个学生读过《三国演义》”, 其语义网络表示为图 7-14。 图7―14 分块语义网络
◆广义不确定性:(狭义)不确定性、不确切性亦称模糊性)、不完全性、不一致性和时变性等几种类型。 1.(狭义)不确定性 5.5 不确定性知识的表示与推理 5.4.1 不确定性及其类型 ◆广义不确定性:(狭义)不确定性、不确切性亦称模糊性)、不完全性、不一致性和时变性等几种类型。 1.(狭义)不确定性 不确定性(uncertainty)就是一个命题(亦即所表示的事件)的真实性不能完全肯定,而只能对其为真的可能性给出某种估计。 例 如果乌云密布并且电闪雷鸣,则很可能要下暴雨。 如果头痛发烧,则大概是患了感冒。
2. 不确切性(模糊性) 不确切性(imprecision)就是一个命题中所出现的某些言词其涵义不够确切,从概念角度讲,也就是其代表的概念的内涵没有硬性的标准或条件,其外延没有硬性的边界,即边界是软的或者说是不明确的。 例 小王是个高个子。 张三和李四是好朋友。 如果向左转,则身体就向左稍倾。
3. 不完全性 4. 不一致性 5. 时变性
5.5.2 不确定性知识的表示及推理 ◆不确定性产生式规则的表示为 A→(B,C(B|A)) 例 如果乌云密布并且电闪雷鸣,则天要下暴雨(0.95)。 如果头痛发烧,则患了感冒(0.8)。 ◆不确定性推理的一般模式 不确定性推理=符号推演+信度计算
◆不确定性推理与通常的确定性推理的差别: (1) 不确定性推理中规则的前件能否与证据事实匹配成功,不但要求两者的符号模式能够匹配(合一),而且要求证据事实所含的信度必须达“标”,即必须达到一定的限度。这个限度一般称为“阈值”。 (2) 不确定性推理中一个规则的触发,不仅要求其前提能匹配成功,而且前提条件的总信度还必须至少达到阈值。 (3) 不确定性推理中所推得的结论是否有效,也取决于其信度是否达到阈值。 (4)不确定性推理还要求有一套关于信度的计算方法,包括“与”关系的信度计算、 “或”关系的信度计算、“非”关系的信度计算和推理结果信度的计算等等。
◆不确定性推理模型 ●确定性理论(确定因素方法) ●主观贝叶斯方法 ●证据理论
1. 不确定性度量 5.5.3确定性理论简介 CF (Certainty Factor), 称为确定性因子, (一般亦称可信度), 其定义为 其中, E表示规则的前提, H表示规则的结论, P(H)是H的先验概率, P(H|E)是E为真时H为真的条件概率。 CF的取值范围为[-1,1]。CF=1,表示H肯定真;CF= -1,表示H肯定假;CF=0,表示H与E无关。 当P(H|E)>P(H) 当P(H|E)=P(H) 当P(H|E)<P(H) CF(H∣E)=
原来, CF是由称为信任增长度MB和不信任增长度MD相减而来的。 即 CF(H, E)=MB(H, E)-MD(H, E) 而 当P(H)=1 否则 当P(H)=0
当MB(H, E)>0, 表示由于证据E的出现增加了对H的信任程度。 当MD(H, E)>0, 表示由于证据E的出现增加了对H的不信任程度。由于对同一个证据E, 它不可能既增加对H的信任程度又增加对H的不信任程度, 因此, MB(H,E)与MD(H,E)是互斥的, 即 当MB(H,E)>0时, MD(H, E)=0; 当MD(H, E)>0时, MB(H, E)=0。
如果 例 细菌的染色斑呈革兰氏阳性, 且 形状为球状,且 生长结构为链形, 则 该细菌是链球菌(0.7)。 这就是专家系统MYCIN中的一条规则。这里的0.7就是规则结论的CF值。
其中E1,E2,…,En是与规则前提各条件匹配的事实。 2.前提证据事实总CF值计算 CF(E1∧E2∧…∧En)=min{CF(E1),CF(E2),…,CF(En)} CF(E1∨E2∨…∨En)=max{CF(E1),CF(E2),…,CF(En)} 其中E1,E2,…,En是与规则前提各条件匹配的事实。
其中E是与规则前提对应的各事实,CF(H,E)是规则中结论的可信度,即规则强度。 CF(H)=CF(H,E)·max{0,CF(E)} 其中E是与规则前提对应的各事实,CF(H,E)是规则中结论的可信度,即规则强度。
4. 重复结论的CF值计算 若同一结论H分别被不同的两条规则推出, 而得到两个可信度CF(H)1和CF(H)2, 则最终的CF(H)为 CF(H)1+CF(H)2-CF(H)1·CF(H)2 当CF(H)1≥0,且CF(H)2≥0 CF(H)= CF(H)1+CF(H)2+CF(H)1·CF(H)2 当CF(H)1<0,且CF(H)2<0 CF(H)1+CF(H)2 否则
规则: 例 设有如下一组产生式规则和证据事实,试用确定性理论求出由每一个规则推出的结论及其可信度。 ① if At hen B(0.9) 例 设有如下一组产生式规则和证据事实,试用确定性理论求出由每一个规则推出的结论及其可信度。 规则: ① if At hen B(0.9) ② if B and C then D(0.8) ③ if A and C then D(0.7) ④ if B or D then E(0.6) 事实: A,CF(A)=0.8;C,CF(C)=0.9
解 由规则①得: CF(B)=0.9×0.8=0.72 由规则②得: CF(D)1=0.8×min{0.72,0.9)=0.8×0.72=0.576 由规则③得: CF(D)2=0.7×min{0.8,0.9)=0.7×0.8=0.56 从而 CF(D)=CF(D)1+CF(D)2-CF(D)1×CF(D)2 =0.576+0.56-0.576×0.56=0.81344 由规则④得: CF(E)=0.6×max{0.72,0.81344}=0.6×0.81344 =0.488064
1. 基于程度语言值的不确切性知识表示及推理 5.5.4 不确切性知识的表示及推理 ◆程度语言值,就是附有程度的语言值,其一般 形式为 (LV, d ) 其中,LV为语言值,d为程度,即 (<语言值>,<程度>) 程度d 的取值范围为实数区间[α,β] (α≤0, β≥1)。
(1) 程度元组 一般形式: (<对象>,<属性>,(<语言属性值>,<程度>)) 例 我们用程度元组将命题:“这个苹果比较甜”表示为 (这个苹果,味道,(甜,0.95)) 其中的0.95就代替“比较”而刻划了苹果“甜”的程度。
(2)程度谓词 形式: Pd 或 dP 其中,P 表示谓词,d 表示程度;Pd为下标表示法,dP 为乘法表示法。 例 采用程度谓词,则 ① 命题“雪是白的”可表示为 white1.0(雪) 或 1.0white(雪) ② 命题“张三和李四是好朋友”可表示为 friends1.15(张三,李四) 或 1.15 friends(张三,李四)
(3)程度框架 含有程度语言值的框架称为程度框架。 例 下面是一个描述大枣的程度框架。 框架名: <大枣> 类属: (<干果>, 0.8) 形状: (圆, 0.7) 颜色: (红, 1.0) 味道: (甘, 1.1) 用途: 范围:(食用,药用) 缺省: 食用
(4) 程度语义网 含有程度语言值的语义网称为程度语义网。 例 下面是一个描述狗的程度语义网。
含有程度语言值的规则称为程度规则。其一般形式为 (5)程度规则 含有程度语言值的规则称为程度规则。其一般形式为 (Oi,Fi,(LVi, xi))→(O,F,(LV,D(x1,x2,…,xn))) 其中,Oi, O表示对象,Fi, F表示特征,LVi, LV表示语言特征值,x, D(x1, x2,…, xn )表示程度,D(x1, x2,…, xn )为x1, x2,…, xn 的函数。 例 设有规则:如果某人鼻塞、头疼并且发高烧,则该人患了重感冒。我们用程度规则描述如下: (某人,症状,(鼻塞,x))∧(某人,症状,(头疼,y))∧(患者,症状,(发烧,z)) → (该人,患病,(感冒,1.2(0.3 x +0.2 y +0.5 z)))
◆程度推理的一般模式: 程度推理=符号推演+程度计算
5.5.5 基于模糊集合与模糊逻辑的模糊推理 1. 模糊集合 一个映射 μ:U [0,1] 定义1 设U是一个论域,U到区间[0, 1]的 一个映射 μ:U [0,1] 就确定了U的一个模糊子集A。映射μ称为A的隶属函数, 记为μA(u)。对于任意的u∈U,μA(u)∈[0, 1]称为u属于模糊子集A的程度, 简称隶属度。
●模糊子集实际是普通子集的推广, 而普通子集就是模糊子集的特例。 论域U上的模糊集合A, 一般可记为
● 模糊集合的记法
例 设U={0,1,2,3,4,5,6,7,8,9,10}, 则 S1=0/0+0/1+0/2+0.1/3+0.2/4+0.3/5+0.5/6+0.7/7+0.9/8+1/9+1/10 S2=1/0+1/1+1/2+0.8/3+0.7/4+0.5/5+0.4/6+0.2/7+0/8+0/9+0/10 就是论域U的两个模糊子集, 它们可分别表示U中“大数的集合”和“小数的集合”。
例 通常所说的“高个”、“矮个”、“中等个”就是三个关于身高的语言值。我们用模糊集合为它们建模。 取人类的身高范围[1.0, 3.0]为论域U, 在U上定义隶属函数μ矮(x)、μ中等(x)、μ高(x)如下。这三个隶属函数就确定了U上的三个模糊集合,它们也就是相应三个语言值的数学模型。
身高论域上的模糊集“矮”、 “中等”、 “高”的隶属函数
2. 模糊关系 定义2 集合U1,U2,…,Un的笛卡尔积集U1×U2×…×Un的一个模糊子集 ,称为U1,U2,…,Un间的一个n元模糊关系。特别地,Un的一个模糊子集称为U上的一个n元模糊关系。
例 设U={1,2,3,4,5},U上的“远大于”这个模糊关系可用模糊子集表示如下: R远大于=0.1/(1,2)+0.4/(1,3)+0.7/(1,4)+1/(1,5)+0.2/(2,3)+0.4/(2,4)+0.7/(2,5)+0.1/(3,4)+0.4/(3,5)+0.1/(4,5)
1 2 3 4 5 0 0.1 0.4 0.7 1 0 0 0.2 0.4 0.7 0 0 0 0.1 0.4 0 0 0 0 0.1 0 0 0 0 0 1 2 3 4 5 表示模糊关系的矩阵一般称为模糊矩阵。
3. 模糊集合的运算 定义3 设A、B是X的模糊子集, A、B的交集A∩B、并集A∪B和补集A′, 分别由下面的隶属函数确定:
表示一个模糊命题。定义这个模糊命题的真值为其中对象x1, x2, …, xn对模糊集合P的隶属度, 即 设n元谓词 4.模糊逻辑 表示一个模糊命题。定义这个模糊命题的真值为其中对象x1, x2, …, xn对模糊集合P的隶属度, 即 设n元谓词
三种模糊逻辑运算: T(P∧Q)=min(T(P),T(Q)) T(P∨Q)=max(T(P),T(Q)) T(P)=1-T(P) 其中P和Q都是模糊命题。 ●由这三种模糊逻辑运算所建立的逻辑系统就是所谓的模糊逻辑。 ●模糊逻辑是传统二值逻辑的一种推广。
5. 模糊推理 模糊推理是基于不确切性知识(模糊规则)的一种推理。 如果x小, 那么 y大。 x较小 y? 就是模糊推理所要解决的问题。 例如
(1) 语言变量, 语言值 简单来讲, 语言变量就是我们通常所说的属性名, 如“年纪”就是一个语言变量。语言值是指语言变量所取的值,如“老”、“中”、“青”就是语言变量年纪的三个语言值。
(2) 用模糊(关系)集合表示模糊规则 例如, 设有规则 如果x isA 那么 y isB 其中A、B是两个语言值。那么,按Zadeh的观点, 这个规则表示了A、B之间的一种模糊关系R。于是, 有 其中U、V分别为模糊集合A、B所属的论域,μR(ui,vj) (i, j=1, 2, …)是元素(ui, vj) 对于R的隶属度。
m ( u , v ) =( u ( u ) Ù m ( v )) Ú ( 1 - u ( u )) (i, j=1, 2, …) R 1 1 A i B j A i (i, j=1, 2, …) 其中∧、∨分别代表取最小值和取最大值, 即min、max。
令A、B分别表示“小”和“大”, 将它们表示成论域U、V上的模糊集。 例如, 对于规则 如果x小 则 y大 令A、B分别表示“小”和“大”, 将它们表示成论域U、V上的模糊集。 设论域 U=V={1, 2, 3, 4, 5} 定义 A=1/1+0.8/2+0.5/3+0/4+0/5 B=0/1+0/2+0.5/3+0.8/4+1/5
则 从而 R=0/(1, 1)+0/(1, 2)+0.5/(1, 3)+…+0.5/(2, 3)+…+1/(5, 5)
A→B=R 如果只取隶属度, 且写成矩阵形式, 则 R= 于是, 原自然语言规则就变成了一个数值集合(矩阵), 即 0 0 0.4 0.6 1 0.5 0.5 0.5 0.5 0.5 1 1 1 1 1 R= 于是, 原自然语言规则就变成了一个数值集合(矩阵), 即 A→B=R
(3) 模糊关系合成 Zadeh的模糊关系合成法则 设
则 即,对R1第i行和R2第j列对应元素取最小,再对k个结果取最大, 所得结果就是R中第i行第j列处的元素。
例如:设 则
用隶属函数来表示, Zadeh的模糊关系合成法则就是:
其中, 关系A′是证据事实,R 为规则,B′就是所推的结论。 (4)基于关系合成的模糊推理 推理模式 B′=A′·R 其中, 关系A′是证据事实,R 为规则,B′就是所推的结论。 该推理模式用隶属函数表示,则为
例 已知 (1) 如果x小,那么y大。 (2) x比较小。 问:y怎么样? 解 如前所述, 由(1)得
由(2)得 A′=(1, 1, 0.5, 0.2, 0) 从而 B′=A′·R=(0.5, 0.5, 0.5, 0.8, 1) 即 B′=0.5/1+0.5/2+0.5/3+0.8/4+1/5 B′可以解释为: y比较大。
●上述的Zadeh给出的模糊推理方法, 一般称为模糊推理的CRI (Compositional Rule of Inference)法。 ●否定后件的模糊推理: A′=R·B′ ●上述的Zadeh给出的模糊推理方法, 一般称为模糊推理的CRI (Compositional Rule of Inference)法。