人工智能课件5之产生式系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 产生式系统 章
第5章 章
产生式系统
5.1 产生式规则 5.2 产生式系统 5.3 产生式系统与图搜索 5.4 产生式系统的应用 5.5 产生式系统的程序实现
第5章 产生式系统 章
5.1 产生式规则
5.1.1 产生式规则 产生式(Production)一词,首先是由美国数学家波斯 特(E.Post)提出来的。波斯特根据替换规则提出了一 种称为波斯特机的计算模型,模型中的每一条规则当时 被称为一个产生式。后来,这一术语几经修改扩充,被 用到许多领域。例如,形式语言中的文法规则就称为产 生式。产生式也称为产生式规则,或简称规则。
第5章 产生式系统 章
r12:若某动物是有蹄动物且白色且有黑色条纹, 则它是斑马。 r13:若某动物是鸟且不会飞且长腿且长脖子且黑 白色,则它是驼鸟。 r14:若某动物是鸟且不会飞且会游泳且黑白色, 则它是企鹅。 r15:若某动物是鸟且善飞且不怕风浪,则它是海 燕。
ห้องสมุดไป่ตู้ 第5章 产生式系统 章
再给出初始事实: f1:某动物有毛发。 f2:吃肉。 f3:黄褐色。 f4:有黑色条纹。 目标条件为:该动物是什么? 易见,该系统的运行结果为:该动物是老虎。 其推理树如图5—4所示。
第5章 产生式系统 章
5.2.2 产生式系统的运行过程 产生式系统运行时,除了需要规则库以外,还需 要有初始事实(或数据)和目标条件。 目标条件是系统正常结束的条件,也是系统的求解 目标。产生式系统启动后,推理机就开始推理,按所 给的目标进行问题求解。 推理机的一次推理过程,可如图5—2所示。 一个实际的产生式系统,其目标条件一般不会只 经一步推理就可满足,往往要经过多步推理才能满足 或者证明问题无解。
第5章 产生式系统 章
(3)要进行树式搜索,还需设置一个OPEN表,以进 行新生动态数据库的状态保存和当前动态数据库状态 的切换。 (4)还要考虑一条规则是否只允许执行一次。若是, 则要对已执行了的规则进行标记。
第5章 产生式系统 章 表5.1 产生式系统与图搜索对比
第5章 产生式系统 章
可以看出,二者实际是一回事。要说差别的话, 图搜索技术描述了问题求解的方法,而产生式系统则 给出了实施这种方法的一种计算机程序系统的结构模 式。这样,问题求解、图搜索和产生式系统三者的关 系是:问题求解是目的,图搜索是方法,产生式系统 是形式。
第5章 产生式系统 章
步3
用规则库中各规则的前提匹配动态数据库中
的事实/数据,将匹配成功的规则组成待用规则集; 步4 若待用规则集为空,则运行失败,退出。 步5 将待用规则集中各规则的结论加入动态数据 库,或者执行其动作,转步2;可以看出,随着推理的 进行,动态数据库的内容或者状态在不断变化。
第5章 产生式系统 章
第5章 产生式系统 章
产生式的一般形式为 前件→后件 其中,前件就是前提,后件是结论或动作,前件 和后件可以是由逻辑运算符AND、OR、NOT组成的表 达式。 产生式规则的语义是:如果前提满足,则可得结论 或者执行相应的动作,即后件由前件来触发。所以,前 件是规则的执行条件,后件是规则体。
第5章 产生式系统 章
第5章 产生式系统 章
例5.2 对于例5.1中的产生式系统,改为反向推理算 法,则得到图5—5所示的推理树。
第5章 产生式系统 章
图5—5 动物分类反向推理树
第5章 产生式系统 章
可以看出,与正向推理不同,这次的推理树是从 上而下扩展而成的,而且推理过程中还发生过回溯。 反向推理也称为后向推理、反向链、目标驱动的 推理等。从上面的两个算法可以看出,正向推理是自 底向上的综合过程,而反向推理则是自顶向下的分析 过程。 除了正向推理和反向推理外,产生式系统还可进 行双向推理。双向推理就是同时从初始数据和目标条 件出发进行推理,如果在中间某处相遇,则推理搜索 成功。
第5章 产生式系统 章
5.3 产生式系统与图搜索
分析前面给出的两个正向推理算法,可以看出,它 们只能用于解决逻辑推理性问题。 (1)记录动态数据库状态变化的历史,这就需要增 设一个CLOSED表。 (2)若要回溯,则还需保存与每个动态数据库状态 对应的可用规则集。因为动态数据库状态与可用规则 集实际是一一对应的。
第5章 产生式系统 章
r6:若某动物是哺乳动物且吃肉,则它是食肉动物。 r7:若某动物是哺乳动物且有蹄,则它是有蹄动物。 r8:若某动物是有蹄动物且反刍食物,则它是偶蹄 动物。 r9:若某动物是食肉动物且黄褐色且有黑色条纹, 则它是老虎。 r10:若某动物是食肉动物且黄褐色且有黑色斑点, 则它是金钱豹。 r11:若某动物是有蹄动物且长腿且长脖子且黄褐色 且有暗斑点,则它是长颈鹿。
第5章 产生式系统 章
条件1AND条件2AND…AND条件n 或 条件1OR条件2OR…OR条件m 的形式(其中的条件可以带否定词);把规则结论 部分作成形如 断言1/动作1AND断言2/动作2AND AND断言k/动作k AND…AND断言 或 断言1/动作1OR断言2/动作2OR…OR断言k/动作k
第5章 产生式系统 章
3. 冲突消解策略 上述正向推理算法中,对所有匹配成功的规则都同 时触发启用。所以,它实现的搜索是穷举式的树式盲 目搜索。下面我们给出一个正向推理的启发式线式搜 索算法。
第5章 产生式系统 章
正向推理算法二: 步1 将初始事实/数据置入动态数据库; 步2 用动态数据库中的事实/数据,匹配/测试目标条件, 若目标条件满足,则推理成功,结束。 步3 用规则库中各规则的前提匹配动态数据库中的事实/ 数据,将匹配成功的规则组成待用规则集; 步4 若待用规则集为空,则运行失败,退出。 步5 用某种策略,从待用规则集中选取一条规则,将其 结论加入动态数据库,或者执行其动作,撤消待用规 则集,转步2;可以看出,该算法与前面的算法仅在步 5有所差别。
第5章 产生式系统 章
的形式,或者进一步简化成 断言/动作 即仅有一项的形式。 由于含OR关系的规则也可以分解为几个不含OR关系 的规则,所以,产生式规则也可 仅取下面的一种形式: 条件n→断言 动作 断言/动作 条件1AND条件2AND…AND条件 条件 条件 断言 即前件是若干与关系的条件,后件仅有一个断言或动作。
第5章 产生式系统 章
例 5.3 把 5.2 节 例 5.1 中 给 出 的 产 生 式 规 则 用 PROLOG的规则可表示如下: animal-is("老虎"):it-is("食肉动物"), fact("黄褐色"), fact("有黑色条纹"). it-is("食肉动物"):-it-is1("哺乳动物"), fact("有爪"), fact("有犬齿"), fact("目盯前方").
第5章 产生式系统 章
从规则库中取一个条规则,将其前提同当前 动态数据库中的事实/数据进行模式匹配
N 匹配成功否 Y 把该规则的结论放入当前动态数据库:或执 行规则所规定的动作
图5—2 推理机的一次推理过程
第5章 产生式系统 章
5.2.3 控制策略与常用算法 产生式系统的推理可分为正向推理和反向推理两 种基本方式。 下面我们给出产生式系统正向推理和反向推理的 常用算法: 1.正向推理 正向推理算法一: 步1 将初始事实/数据置入动态数据库; 步2 用动态数据库中的事实/数据,匹配/测试目标 条件,若目标条件满足,则推理成功,结束。
第5章 产生式系统 章
it-is("食肉动物"):-it-is1("哺乳动物"), fact("吃肉"). it --is1("哺乳动物"):-fact("有奶"). it --is1(“哺乳动物”):-fact(“有毛发”). 对于这种规则表示形式,可以不用再编写推理机 程序,而可直接利用PROLOG自身的推理机,进行推 理。例如,当再给出如下的事实: fact("黄褐色"). fact("有黑色条纹"). fact("吃肉"). fact("有奶").
第5章 产生式系统 章
5.4 产生式系统的应用
由上述产生式系统与图搜索的关系可见,产生式系统完全可 以作为问题求解的表示模型和求解模型,而且可作为人工智能问 题求解系统的通用模型。用产生式系统也可实现基于谓词逻辑的 演绎推理和证明。 由于产生式系统既可用于操作性问题求解,也可用于推理性 问题求解。因此,产生式系统也是专家系统的基本结构形式。用 它既可实现规划型专家系统,也可实现结论型专家系统。 总之,产生式系统在人工智能技术中占有重要地位。
推理
动态数据库
图5—3 正向推理的动态数据库
第5章 产生式系统 章
例5.1 动物分类问题的产生式系统描述及其求解。 设由下列动物识别规则组成一个规则库,推理机 采用上述正向推理算法,建立一个产生式系统。该产 生式系统就是一个小型动物分类知识库系统。规则: r1:若某动物有奶,则它是哺乳动物。 r2:若某动物有毛发,则它是哺乳动物。 r3:若某动物有羽毛,则它是鸟。 r4:若某动物会飞且生蛋,则它是鸟。 r5:若某动物是哺乳动物且有爪且有犬齿且目盯前 方,则它是食肉动物。
第5章 产生式系统 章
产生式规则库
推理机
动态数据库
图5—1 产生式系统结构
第5章 产生式系统 章
产生式规则库亦称产生式规则集,由领域规则组 成,在机器中以某种动态数据结构进行组织。 推理机亦称控制执行机构,它是一个程序模块, 负责产生式规则的前提条件测试或匹配,规则的调度 与选取,规则体的解释和执行。即推理机实施推理, 并对推理进行控制,它也就是规则的解释程序。
第5章 产生式系统 章
5.5 产生式系统的程序实现
5.5.1 产生式规则的程序语言实现 上面我们对产生式的讨论,只是用自然语言进行 描述并仅在概念层次上进行阐述,而并未涉及它的具 体结构和程序语言实现问题。现在讨论产生式规则的 程序语言实现问题。首先,讨论产生式规则的结构问 题。一般来讲,产生式规则的前提和结论部分可以是 一个复杂的逻辑表达式,但为了使表达简单规范,且 便于推理,在实践中人们往往把规则的前提部分作成 形如
第5章 产生式系统 章 老虎
食肉动物
哺乳动物
有毛发
吃肉
黄褐色
有黑色条纹
图5—4 动物分类正向推理树
第5章 产生式系统 章 2. 反向推理 步1 将初始事实/数据置入动态数据库,将目标条件置入目标链; 步2 若目标链为空,则推理成功,结束。 步3 取出目标链中第一个目标,用动态数据库中的事实/数据同其匹 若匹配成功,转步2; 步4 用规则集中的各规则的结论同该目标匹配,若匹配成功,则将第一个 匹配成功且未用过的规则的前提作为新的目标,并取代原来的父目标而 加入目标链,转步3; 步5 若该目标是初始目标,则推理失败,退出。 步6 将该目标的父目标移回目标链,取代该目标及其兄弟目标,转步3; 可以看出,上述反向推理算法的推理过程也是一个图搜索过程,而且一 般是一个与或树搜索。 配,
第5章 产生式系统 章
实际上,这种基于产生式规则的逻辑推理模式, 就是逻辑上所说的假言推理(对常量规则而言)和三 段论推理(对变量规则而言),即: A→B A B 这里的大前提就是一个产生式规则,小前提就是 证据事实。
第5章 产生式系统 章
5.2 产生式系统
5.2.1 产生式系统的组成 产生式系统由三部分组成:产生式规则库、推理 机和动态数据库,其结构如图5--1所示。
5.1.2 基于产生式的推理模式 由产生式的涵义可知,利用产生式规则可以实现 有前提条件的指令性操作,也可以实现逻辑推理。实 操作的方法是当测试到一条规则的前提条件满足时, 现操作 操作 就执行其后部的动作。这称为规则被触发或点燃。利 用产生式规则实现逻辑推理 逻辑推理的方法是当有事实能与某 逻辑推理 规则的前提匹配(即规则的前提成立)时,就得到该 规则后部的结论(即结论也成立)。
例如,下面就是几个产生式规则: (1)如果银行存款利率下调,那么股票价格上涨。 (2)如果炉温超过上限,则立即关闭风门。 (3)如果键盘突然失灵,且屏幕上出现怪字符,则 是病毒发作。 (4)如果胶卷感光度为200,光线条件为晴天,目标 距离不超过5米,则快门速度取250,光圈大小取f16。
第5章 产生式系统 章
相关文档
最新文档