当前位置: 首页 > news >正文

智能控制导论 # 专家控制

特定领域的专家: 对问题的求解是基于自己的知识和推理完成的。

1.1 专家系统的定义


定义的3个关键点:1.计算机程序系统 2.内部有大量专家知识 3.这个系统能模拟人类专家推理解决问题

1.2 专家系统的基本组成


规则有两种:

  1. 基于专家经验的判断性规则
  2. 用于推理、问题求解的控制性规则

知识库

包含多种功能模块:知识查询、检索、增删、修改、扩充。
通过人机接口获取专家知识。

推理机

对知识库中的知识进行推理来得到结论的“思维”机构,完成基于知识的推理

推理机包括三种推理方式:
1.正向推理

从原始数据和已知条件得到结论

2.反向推理

先提出假设的结论,寻找支持的证据

3.双向推理

先用正向推理得到假设的结论,再用反向推理证实假设

知识库和推理机=》模拟了人类专家的思考和决策过程

1.3 专家系统的实现

怎样在知识库中表示专家的知识?

常用知识表述方法有:产生式规则,框架,语义网络,过程。

  • 产生式规则最流行。
    IF E THEN H WITH CF(E,H)
    E - 规则的前提条件,即:证据
    H - 规则的结论,即假设,也是命题
    CF - 规则的强度。 E为true时对结论的影响程度

如何开发专家系统?

ES的开发工具

  1. 编程语言:C语言、Lisp语言、PROLOG语言等
  2. 专家系统外壳:EMYCIN,KAS,EXPERT等
  3. 通用型专家系统工具和开发环境:Insight2,Exsys

专家系统的建立步骤


瑞典学者K.J.Astrom在1983年把专家系统引入控制领域,与1986年提出“专家控制”。

2.1 专家控制定义

专家控制将专家系统的理论和技术同控制理论、方法与技术相结合,在未知环境下,仿效专家的经验,从而实现对系统的控制。

2.2 专家控制的结构


Note:在推理机上特别注明了“实时”。因为控制系统对实时性具有极高的要求。
实时性

任务要在限定时间内完成

故此:专家系统的推理机必须在指定时间内决策,因此是:实时推理机。

专家系统与专家控制系统是不同的。 有重大区别的。 只是在控制领域借鉴了专家系统的思想。而不是单纯地对专家系统的应用。


专家控制比专家系统对可靠性抗干扰性有更高的要求。

2.3 专家控制系统的优越性

  1. 专家控制能满足任意动态过程的控制需要,尤其是适用于那些带有时变、非线性和强干扰的系统的控制。
  2. 使用专家控制在控制过程中可以充分的利用对象的先验知识。
  3. 使用专家控制通过修改、增加控制规则、可不断累积知识,改进控制性能。
  4. 使用专家控制能够定性的描述控制系统的性能。如:“超调小”,“偏差增大”等。
  5. 使用专家控制对控制性能可以进行解释。 (可解释性:与后面的博客将写到的神经网络控制相对比,这是一个很重要的性质)
  6. 可以通过对控制闭环中的单元进行故障检测来获取经验规则,从而获得更丰富的知识。

2.4 专家控制系统中的知识表述

系统中的知识

(1) 受控过程的知识

  1. 先验知识:包括问题的类型及开环特性。
  2. 动态知识:包括中间状态及特性变化。

(2)控制、辨识、诊断知识

  1. 定量知识: 各种算法
  2. 定性知识:各种经验、规则、直观判断

数据库中的4类知识表述

  • 事实——控制系统中已知的静态数据

  • 证据——测量到的动态数据

      数据各异、带有噪声、延迟、残缺甚至出现冲突。
    
  • 假设——由事实和证据推导的中间结果,作为当前事实集合的补充

  • 目标——系统的性能指标

规则库中的知识

一般还是用产生式规则

IF 控制局势(事实和证据)
THEN 操作结论

根据专家控制在控制系统中的作用和功能还可以分:直接型专家控制器、间接型专家控制器

直接控制生产过程

优化适应、协调、组织等高层决策的智能控制。

间接型专家控制器还可细分:

  1. 优化型专家控制器 【在线】
  2. 适应型专家控制器 【在线】
  3. 协调型专家控制器 【离线】
  4. 组织型专家控制器 【离线】

2.5 专家控制系统中的关键技术

2.6 专家控制的特点


下一篇博文举一个典型的专家控制实例。(在上一篇博文绪论中提到的专家PID)

拓展阅读: link~

相关文章:

  • C++中的水平访问,垂直访问是什么
  • C++ 子类型关系
  • 智能控制导论 # 专家控制实例 - 专家PID控制
  • 通俗易懂的自动控制原理 # 绪论
  • IIS8.5 部署时报错:HTTP 401.3
  • 重写和反向代理的区别
  • 基于C++和OpenGL (GLUT) 实现太阳系行星系统
  • 微信小程序云开发 # 1 云数据库
  • 微信小程序 input 输入校验
  • 纯前端打造markdown编辑器
  • 基于Angular.js和Node.js实现在线web聊天室
  • 微信小程序云开发 # 2 云存储
  • IIS如何实现请求转发 (vue在IIS上部署) 前后端分离的部署
  • 世界一流大学.com 类似的效果是怎样实现的? (域名转发)
  • el-table-column 组件 传prop的数据怎么格式化(过滤)
  • 2019年如何成为全栈工程师?
  • JAVA并发编程--1.基础概念
  • JSONP原理
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • ReactNativeweexDeviceOne对比
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • 阿里云购买磁盘后挂载
  • 包装类对象
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于 Babel 的 npm 包最小化设置
  • 基于axios的vue插件,让http请求更简单
  • 排序算法之--选择排序
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 如何合理的规划jvm性能调优
  • 小试R空间处理新库sf
  • 学习JavaScript数据结构与算法 — 树
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一文看透浏览器架构
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ###STL(标准模板库)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (Ruby)Ubuntu12.04安装Rails环境
  • (八)Spring源码解析:Spring MVC
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)springcloud实战之config配置中心
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (论文阅读30/100)Convolutional Pose Machines
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)视频码率,帧率和分辨率的联系与区别
  • .NET 5种线程安全集合
  • .net core使用ef 6
  • .NET 药厂业务系统 CPU爆高分析
  • .NET轻量级ORM组件Dapper葵花宝典
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .NET中的十进制浮点类型,徐汇区网站设计