产生式系统(Production System)

把一组产生式放在一起,让它们相互配合,协同工作,一个产生式生成的结论可以供另一个产生式作为前提使用,以这种方式求得问题的解决的系统就叫作产生式系统

产生式又称作规则或产生式规则
用于表示事物间的因果关系。
IF <前提> THEN <结论>

产生式系统 = 数据库 + 规则库 + 推理机
数据库 - 存放信息,存放构成产生式系统的基本元素,又是产生式的作用对象。包括系统设计时输入的事实、外部数据库输入的事实以及中间结果和最后结果。

规则库 - 知识/规则,存放的是与求解有关的所有产生式规则的集合,每个规则由前件和后件组成。其中包含了将问题从初始状态转换成目标状态所需的所有变换规则。
推理界 - 规则的解释或执行程序 ,是一个解释程序,控制协同规则库与数据库,负责整个产生式系统的运行,决定问题求解过程的推理路线,实现对问题的求解。


推理机的工作
(1)从规则库中选择规则与数据库的已知事实进行匹配。
a.匹配成功,此条规则将被列入被激活候选集。
b.匹配失败,输入条件与已知条件矛盾,放弃该规则。
c.匹配无结果,即该条规则前件的已知条件中完全与输入事实无关,将该规则列入待测试规则集,在下一轮匹配中再次使用。
(2)当匹配成功的规则多于一条时,需要从中选出一条加以执行。
(3)解释执行规则后件的动作。即如果该规则的后件不是问题的目标,将其加入数据库中。如果这些后件是一个或者多个操作时,根据一定的策略,有选择有顺序地执行。
(4)掌握结束产生式系统运行的时机。对要执行的规则,如果该规则的后件满足问题的结束条件,则停止推理。

产生式系统的推理 — 可以在与或图的基础上进行
与或图:各个事实之间的逻辑关系图。


产生式系统的推理

(1)正向推理 
- 优点:算法简单,容易实现。
- 缺点:盲目搜索,可能会求解许多与总目标无关的子目标,每当工作存储器内容更新后都要遍历整个规则库,推理效率低
- 主要用于已知初始数据,而无法提供推理目标,或解空间很大的一类问题。

从已知事实出发,通过规则库求得结论,也称为自底向上(bottom-up)或数据驱动方式。
以问题的初始状态作为初始数据库,仅当数据库中的事实满足某条规则的前提时,该规则才能被使用。
从一组事实出发,使用一组规则,来证明目标的成立。
例子,已知事实A,规则库中有规则A->B ,B->C , C->D 
则正向推理过程表示为A->B->C->D.

(2)反向推理
- 优点:搜索的目的性强,推理效率高。
- 缺点:目标的选择具有盲目性,可能会求解许多为假的目标,当目标空间很大时,推理效率不高。
- 主要用于结论单一或用于已知目标结论,而要求证实的系统。

从目标出发,反向使用规则,求得已知事实,也称自顶向下(top-down)推理方式,或称为目标驱动方式。
基本原理:从表示目标的谓词或命题出发,使用一组规则证明事实谓词或命题是成立的,即使用一批假设(目标),然后逐一验证这些假设。
先假设一个可能的目标,系统试图证明它。看此假设是否在数据存储器中存在。

(3)双向推理
既自顶向下(top-down)又自底向上(bottom-up),直到达到某一个中间环节两个方向的结果相符便成功结束的推理方法。
-优点:推理网络较小,效率也较高。

产生式系统的基本概念相关推荐

  1. RPC 笔记(03)— gRPC 概念、安装、编译、客户端和服务端示例

    1. gRPC 概念 gRPC 是 Google 开源的一款高性能的 RPC 框架.GitHub 上介绍如下: gRPC is a modern, open source, high-performa ...

  2. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  3. 数据结构(01)— 算法复杂度概念及常见的复杂度计算

    1. 大 O 表示法 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度.大 O 表示法指出了最糟情况下的运行时间.大 O 表示法在讨论运行时间时, ...

  4. OpenCV 笔记(01)— OpenCV 概念、整体架构、各模块主要功能

    1. OpenCV 概念 图像处理( Image Processing )是用计算机对图像进行分析, 以达到所需结果的技术, 又称影像处理. 图像处理技术一般包括图像压缩, 增强和复原, 匹配.描述和 ...

  5. 用男女朋友关系解释计算机常用概念

    运维方面 很多同学对热备,冷备,云备了解不深,我科普一下 IT 行业各种备份术语.以后别闹笑话了. 假设你是一位女性,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人.你随时可以 ...

  6. python中的新式类与旧式类的一些基于descriptor的概念(上)

    python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...

  7. 【SpringMVC】基本概念

    SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...

  8. AIFramework基本概念整理

    AIFramework基本概念整理 本文介绍: • 对天元 MegEngine 框架中的 Tensor, Operator, GradManager 等基本概念有一定的了解: • 对深度学习中的前向传 ...

  9. 机器学习PAL基本概念

    机器学习PAL基本概念 本文介绍PAI-Studio.PAI-DSW及PAI-EAS的基本概念. PAI-Studio PAI-DSW PAI-EAS

  10. MegEngine基本概念

    MegEngine基本概念 基本概念 MegEngine 是基于计算图的深度神经网络学习框架. 本文内容会简要介绍计算图及其相关基本概念,以及在 MegEngine 中的实现. 计算图 结合一个简单的 ...

最新文章

  1. 自定义FragmentTabHost实现可控制是否保存fragment状态
  2. ComponentArt TreeView for ASP.NET - Core Features
  3. 堆/栈/动态存储方式/静态存储方式
  4. cookie无法读取bdstoken_Web自动化测试:对cookie的操作
  5. Android Spinnert的使用
  6. JAVA 仿QQ聊天程序
  7. Docker破解AWVS和Nessus
  8. 从Qt Console Application到Qt GUI Application
  9. 计算机毕业设计看这篇就够了(二)毕设流程
  10. 使用ffmpeg打开ts格式视频文件
  11. java 添加盲水印_图片加数字盲水印
  12. hardfault常见原因_STM32 出现 hardfault_handler 处理方法
  13. matlab badsubscript,matlab错误:Subscript indices must either be real positive integers or logicals....
  14. 外接显示器屏幕亮度调节
  15. 基于PHP的班级分数量化管理系统
  16. Q200 EX.查看写入和预计使用寿命
  17. selenium/requess爬取京东手机商品的详细信息1~selenium练习版
  18. 小学生C++趣味编程 2023 01 09 测试
  19. TIA博途如何从DB数据块生成源文件或者源文件生成DB数据块?
  20. 华为nova10和华为nova9哪个值得买 两者配置对比

热门文章

  1. C++实现屏幕截图(全屏截图)
  2. 腾达ap设置说明_腾达无线路由器ap模式如何设置
  3. 软考高级 真题 2014年下半年 信息系统项目管理师 论文
  4. python实现小波降噪_15转载python实现小波分解【实测成功】
  5. emoji 表情图片解决方法
  6. java docx4j_docx4j基本操作
  7. 如何准备互联网产品岗面试
  8. CCNA 测试题及答案 第一章
  9. 古今地名对照总表!(按笔划数排序,强烈推荐的资料)
  10. js 动态生成表格案例