专家系统在智能控制中的研究与实现
- 格式:doc
- 大小:762.50 KB
- 文档页数:15
第7章 专家控制系统教学内容首先介绍专家系统基本概念、特征、组成以及基本类型。
然后讲授专家控制系统的工作原理,最后介绍了建立专家系统的步骤和专家控制器。
教学重点1.专家系统的概念,即它是一种模拟人类专家解决领域问题的计算机程序系统。
将专家系统同控制理论和技术相结合,对系统进行控制形成专家控制系统。
把专家系统作为控制器称为专家控制器。
专家系统的基本组成,即由知识库、推理机、解释接口等组成。
2.专家控制系统工作原理。
专家系统设计的基本步骤:认识和阶段化概念,实现阶段,获取知识、构造外部知识库,调试和检验阶段。
教学难点专家系统的工作原理、知识的表示和获取,专家系统的设计。
教学要求1.了解专家系统的概念,理解专家控制系统、专家控制器的概念。
2.掌握专家系统的特征、组成和基本类型。
3.理解专家控制系统的工作原理。
知识的表示和获取。
4.掌握建立专家系统的步骤。
5.了解专家控制器的组成,专家控制器的设计原则。
7.1 概述7.1.1 专家系统的起源与发展人工智能科学家一直在致力于研制在某种意义上讲能够思维的计算机软件,用以“智能化”的处理、解决实际问题。
60年代,科学家们试图通过找到解决多种不同类型问题的通用方法来模拟思维的复杂过程,并将这些方法用于通用目的的程序中。
然而事实证明这种“通用”程序处理的问题类型越多,对任何个别问题的处理能力似乎就越差。
后来,科学家们认识到了问题的关键即计算机界程序解决问题的能力取决于它所具有的知识量的大小。
为使一个程序智能化,必须使其具有相关领域的大量高层知识。
为解决某具体专业领域问题的计算机程序系统的开发研制工作,导致专家系统这一新兴学科的兴起。
从本质上讲,专家系统是一类包含着知识和推理的智能计算机程序,其内部含有大量的某个领域专家水平的知识和经验,能够利用人类专家的知识和解决问题的方法来处理该领域的问题。
1965年斯坦福大学开始建立用于分析化合物内部结构的DENTRAL系统,首先使用了“专家系统”的概念。
第三章 专家控制系统3.1 专家系统概述1.专家及专家系统的定义专家指的是那些对解决专门问题非常熟悉的人们,他们的这种专门技术通常源于丰富的经验以及他们处理问题的详细专业知识。
定义 3.1专家系统主要指的是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的经验方法来处理该领域的高水平难题。
也就是说,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家才能处理好的复杂问题。
简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
专家系统的基本功能取决于它所含有的知识,因此,有时也把专家系统称为基于知识的系统(knowledge-based system)。
3.1.1 专家系统的特点及优点1.专家系统的特点与常规的计算机程序系统比较,专家系统具有下列特点:(1)启发性 专家系统要解决的问题,其结构往往是不合理的,其问题求解(problem-solving)知识不仅包括理论知识和常识,而且包括专家本人的启发知识。
(2)透明性 专家系统能够解释本身的推理过程和回答用户提出的问题,以便让用户了解推理过程,增大对专家系统的信任感。
(3) 灵活性 专家系统的灵活性是指它的扩展和丰富知识库的能力,以及改善非编程状态下的系统性能,即自学习能力。
(4)符号操作。
与常规程序进行数据处理和数字计算不同,专家系统强调符号处理和符号操作(运算),使用符号表示知识,用符号集合表示问题的概念。
一个符号是一串程序设计,并可用于表示现实世界中的概念。
(5)不确定性推理。
领域专家求解问题的方法大多数是经验性的;经验知识一般用于表示不精确性并存在一定概率的问题。
此外,所提供的有关问题的信息往往是不确定的。
专家系统能够综合应用模糊和不确定的信息与知识,进行推理。
专家系统是一类具有专门知识和经验的计算机智能程序系统,通过对人类专家的问题求解能力的建模,采用人工智能中的知识表示和知识推理技术来模拟通常由专家才能解决的复杂问题,达到具有与专家同等解决问题能力的水平。
这种基于知识的系统设计方法是以知识库和推理机为中心而展开的,即专家系统 = 知识库 + 推理机它把知识从系统中与其他部分分离开来。
专家系统强调的是知识而不是方法。
很多问题没有基于算法的解决方案,或算法方案太复杂,采用专家系统,可以利用人类专家拥有丰富的知识,因此专家系统也称为基于知识的系统(Knowledge-Based Systems)。
一般说来,一个专家系统应该具备以下三个要素:(1)具备某个应用领域的专家级知识;(2)能模拟专家的思维;(3)能达到专家级的解题水平。
专家系统与传统的计算机程序的主要区别如表7.1所示。
表7.1 专家系统与传统的计算机程序的主要区别列项传统的计算机程序专家系统适用范围无限制封闭世界假设建造一个专家系统的过程可以称为“知识工程”,它是把软件工程的思想应用于设计基于知识的系统。
知识工程包括下面几个方面:(1)从专家那里获取系统所用的知识(即知识获取)(2)选择合适的知识表示形式(即知识表示)(3)进行软件设计(4)以合适的计算机编程语言实现。
专家系统的发展史1965年斯坦福大学的费根鲍姆(E.A. Feigenbaum)和化学家勒德贝格(J. Lederberg)合作研制DENDRAL 系统,使得人工智能的研究以推理算法为主转变为以知识为主。
20世纪70年代,专家系统的观点逐渐被人们接受,许多专家系统相继研发成功,其中较具代表性的有医药专家系统MYCIN、探矿专家系统PROSPECTOR等。
20世纪80年代,专家系统的开发趋于商品化,创造了巨大的经济效益。
1977年美国斯坦福大学计算机科学家费根鲍姆 (E.A.Feigenballm)在第五届国际人工智能联合会议上提出知识工程的新概念。
GK-5智能控制功能该系统是我公司国内首创、自主研发、拥有自主知识产权的高性能智能加工系统,只需选择“材料”“厚度”“粗糙度”“电极丝直径”智能专家系统即可为您实现完全智能化加工,具体功能如下:1、高频参数智能化:系统将根据用户选择的工件材料、工件厚度,自动选择高频参数。
2、切割次数智能化:系统将根据用户所需的工件表面质量,提供切割所需的次数,指导用户编程。
3、加工余量智能化:在多次切割时,为保证良好的表面光洁度和工件尺寸,系统将根据用户的工件要求,将每次切割的加工余量列成表格,指导用户编程。
4、切割跟踪智能化:系统将根据高频参数和加工余量,自动调节进给跟踪频率。
5、短路判断智能化:系统可自动监测放电状态,根据放电状态控制工作台进给,避免发生实际上的短路。
6、丝速控制智能化:在切割过程中,系统可以根据切割的高频参数自动切换走丝速度。
9、专家数据库为开放式设计,用户可可根据自己的经验对数据进行修改,形成自己的专用数据库。
12、低能量高速进给自动切换功能:在进行第一次切割时的电流较大,在工件表面因氧化层易烧断钼丝;本系统在电极丝未接触工件时高速进给,当电极丝接触工件时自动切换为低能量切割,可避免烧断钼丝,当电极丝完全切入工件后,系统自动将恢复正常高能量设定,进行正常切割。
(自主创新)13、全自动高效断续加工功能:当钼丝与工件没有接触时(空切),系统自动将进给跟踪速度调至最快,而一旦当钼丝与工件接触后,系统又自动将跟踪频率恢复正常设定,进行正常切割。
该功能可以提高无效切割时的空走速度,减少无效切割的时间;在无人看守的情况下实现高效断续加工。
(自主创新)14、放电加工动态频谱显示:用户可以直观的了解切割跟踪情况。
15、用户可以根据实际情况选择多次切割或单次切割控制,在单次切割控制时系统将根据用户选择的不同加工电流,自动将选择佳参数。
16、本系统具有使用时间限制功能:当设定时间到达,系统将停止工作,用户可通过输入密码进行删除限制或更改使用权限。
专家系统及其应用计算机12班马洪旭 01055050一.专家系统的基本概念1.何谓专家系统专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
专家系统内部含有大量的某个领域的专家水平的知识与经验,能够运用人类专家的知识和解决问题的方法进行推理和判断,模拟人类专家的决策过程,来解决该领域的复杂问题。
专家系统是人工智能应用研究最活跃和最广泛的应用领域之一,涉及到社会各个方面,各种专家系统已遍布各个专业领域,取得很大的成功。
根据专家系统处理的问题的类型,把专家系统分为解释型、诊断型、调试型、维修型、教育型、预测型、规划型、设计型和控制型等10种类型。
具体应用就很多了,例如血液凝结疾病诊断系统、电话电缆维护专家系统、花布图案设计和花布印染专家系统等等。
为了实现专家系统,必须要存储有该专门领域中经过事先总结、分析并按某种模式表示的专家知识(组成知识库),以及拥有类似于领域专家解决实际问题的推理机制(构成推理机)。
系统能对输入信息进行处理,并运用知识进行推理,做出决策和判断,其解决问题的水平达到或接近专家的水平,因此能起到专家或专家助手的作用。
开发专家系统的关键是表示和运用专家知识,即来自领域专家的己被证明对解决有关领域内的典型问题有用的事实和过程。
目前,专家系统主要采用基于规则的知识表示和推理技术。
由于领域的知识更多是不精确或不确定的,因此,不确定的知识表示与知识推理是专家系统开发与研究的重要课题。
此外,专家系统开发工具的研制发展也很迅速,这对扩大专家系统的应用范围,加快专家系统的开发过程,将起到积极地促进作用。
随着计算机科学技术整体水平的提高,分布式专家系统、协同式专家系统等新一代专家系统的研究也发展很快。
在新一代专家系统中,不但采用基于规则的推理方法,而且采用了诸如人工神经网络的方法与技术。
2.专家系统的基本结构专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。
专家系统的原理及应用前言专家系统是一种基于人工智能的计算机系统,它通过模拟人类专家的知识和推理能力,为用户提供专业化的问题解答和决策支持。
专家系统利用领域专家的知识和经验,通过推理和解释,产生针对特定问题的合理解决方案。
本文将介绍专家系统的原理和应用,以帮助读者深入了解这一领域的知识。
1. 专家系统的原理专家系统的原理主要包括知识表示、推理机制和解释与学习。
1.1 知识表示在专家系统中,知识是通过规则的形式进行表示的。
规则是由领域专家提供的,它们描述了特定问题的解决步骤和推理过程。
专家系统的知识通常由规则库组成,每个规则由条件和结论组成。
推理机通过匹配规则库中的规则进行推理,从而得出问题的解决方案。
1.2 推理机制推理是专家系统的核心功能,它通过应用知识和推理规则,从输入的问题描述中推导出相应的结论。
推理机制通常包括正向推理和反向推理。
正向推理是从已知事实和规则出发,逐步推导出结论;反向推理是从目标结论出发,逆向推导得出问题的解决方案。
1.3 解释与学习专家系统不仅能够给出问题的解答,还能够解释其推理过程和结果。
解释功能可以增加用户对专家系统的信任和理解,提高用户对系统的接受度。
专家系统还可以通过学习功能不断完善和更新自己的知识库,以提高自身的专业水平和能力。
2. 专家系统的应用专家系统在各个领域都有广泛的应用,以下列举了几个典型的应用领域。
2.1 医疗诊断专家系统在医疗领域的应用已经取得了显著的成果。
它可以基于医学专家的知识,帮助医生进行疾病的诊断和治疗方案的选择。
专家系统通过分析病人的症状和病史,与知识库中的医学知识进行匹配,得出准确的诊断结果和治疗建议。
2.2 金融投资专家系统在金融领域的应用主要集中在投资决策和风险评估方面。
它可以基于金融专家的经验和投资规则,帮助投资人进行投资决策和风险管理。
专家系统通过分析市场数据和投资者的需求,推荐适合的投资组合和风险控制策略。
2.3 工业控制专家系统在工业控制领域的应用主要包括设备故障诊断和生产过程优化等方面。
-- -- 专家系统 第1 节: 什么是专家系统: 第2节: 专家系统Rete算法的基本原理 第3节: 开源分布式专家系统ERESYE 实例分析 第4节:开源分布式专家系统ERESYE 结构分析 第5节:基于ERESYE专家系统的实例开发。 第6节:总结 --
-- 第1 节: 什么是专家系统: 专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类 专家的知识和解决问题的方法来处理该领域问题。 专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域 一个或多个专家提供的知识和经验,进行推理和判 断,模拟人类专家的决策过程,以便解决那些需要人 类专家处理的复杂问题,总之, 专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
第2节: 专家系统Rete算法的基本原理 2.1 RETE 学习步骤建议 Rete算法因为其本身的难度而闻名,所以真正理解RETE算法就是一个极其困难和痛苦的过程。古人云: 欲速则不达。为了让初学者,顺利的掌握这个算法,正确的方法就是非常重要的一个环节。作者认为可以沿着这样一条道路,可以顺利的到达RETE。 首先理解这个算法的作用,是解决什么问题的,然后,为了解决这个问题,RETE对应的数据结构和算法是什么,然后打开一个最简单的应用实例,分解。最后对整个算法理解后,提出自己的改进建议。
2.2 Rete算法的作用 Rete算法是为了解决更改事实或者规则后,如何用那种策略,让知识库的更新和学习速度比较快,而不是采用整体重新学习和更新的方式。 2.3 TRIE基本原理 RETE算法的数据结构本身是有向无环图, 如果可以从简化的形式来看,可以看为TRIE。这是TRIE,又称为单词查找树或者键树,是一种树形结构,是一种哈希树变种。
这个图形表明,当有一个事实发生变化的时候,如何影响了相关的结果。当A发生变化时候,整个A的分支就都必须重新学习;单只是e发生变化时候,影响的只是Ae,与其它的-- -- 结果没有关系。 2.4RETE 介绍 该算法的目的是提高速度正向链接规则系统的限制,要求重新计算冲突后触发规则。它的缺点是,它具有很高的存储空间要求。它利用两个经验观测值: 时间冗余:一个规则触发变化通常只有几个事实,只有少数的规则是受这些变化。 结构相似的:同样的模式经常出现在左边的一个以上的规则。 人工智能,我们只关心三个方面: “事实”,“模式”,和“规则”。为了更好的了解这三个方面的抽象的概念,就直接用例子来说明。 首先,看看“事实”的例子: 命题: 我是一名士兵 事实: (is-a I soldier) 命题: 士兵的理想就是当将军 事实: (purpose soldier general) 命题: 大家都说棒 事实: (evaluation everyone wonderful) 评价 然后,再用以下两个例子来说明 “模式”: 问题:谁是士兵 模式:(is-a ?who soldier) 问题:谁的目标成为将军 模式:(purpose ?who general)
“规则”: 规则描述:不想当将军的士兵,不是好士兵 规则: (R1 ~(is-a ?x soldier) ~(purpose ?x genera) ==> ~( evaluation everyone wonderful)) 因此,事实就是命题描述,而模式就是带有参数的匹配,规则就是已知条件,得出结果。 rete算法基本的数据结构是一个有向非循环图,该算法保持了日期相关的信息的节点图。当一个事实是添加或删除从工作记忆,一个令牌代表事实和操作输入图的根和传播到叶子修改适当的信息与节点。如果张三的年龄去年是30岁,今年就应该是31岁。如果说要改变正确的事实:张三今年的年龄是31岁,那么,我们就将事实添加上去。 根节点具有作为接班人的一种“种”节点,一对每个可能的事实(一种事实是其第一部分)。当一个令牌到达到根的副本令牌发送到每一个“种”节点有选择的进行操作,只选择标记的 然后为每个规则和它的每一个模式,我们创建了一一个输入阿尔法节点。每个“类”的节点连接到所有的阿尔法节点的种类和提供他们的标记,它接收副本。每个阿尔法节点关联关系,阿尔法记忆,其专栏命名变量出现在节点的模式。例如,如果模式的节点(is-a-parent-of?×?年)的关系已列为和当一个令牌到达的节点项目操作中提取的令牌的元件匹配元组变量的模式。由此产生的元组添加到阿尔法记忆节点。 在每个节点,用来存储的关系,beta内存,这是加入的关系相关的左和右输入,加入的列命名变量中发生的关系。对于根节点,可以用一个空的节点来表示。 有了这些事情,如何来完成JOIN的操作是将所有关系连接起来的关键操作。下面就用图表的形式给出一个实际的例子: 表示规则:X代表人的名字,Y代表年龄,Z代表喜欢什么运动 -- -- X Y X Z ========= ========= 张三 25 张三 打篮球 李四 48 李四 游泳 王五 35 张三 长跑 杨六 35 李四 太极
这样,beta 内存的关系,通过PROJECT操作后,得到如下结果: X Y Z ================= 张三 25 打篮球 张三 25 长跑 李四 48 游泳 李四 48 太极 下面用一个数学计算来完成一个方案的设计,问题如下: 在实数运算中,有加,减,乘,除;在复数计算中,有加,减,乘,除;在实数与复数之间,又有加,减,乘,除,如何用RETE算法来设计一个解决问题的方案。 --
-- 在设计规则时,如何注意效率问题,是设计大型专家系统必须要考虑的问题,也是专家系统中,如何来优化,提高规则匹配速度,减小空间利用率。
假定在我们的工作内存中包括如下事实: FACT | NAME OF THE FACT ================================== (find-match a c e g)| f1 (item a) | f2 (item b) | f3 (item c) | f4 (item d) | f5 (item e) | f6 (item f) | f7 (item g) | f8 下面来比较一下,两个不同规则,只是已知条件的顺序不同情况下的分析状况:
RULE 1: RULE 2: (find-match ?x ?y ?z ?w) (item ?x) (item ?x) (item ?y) (item ?y) (item ?z) (item ?z) (item ?w) (item ?w) (find-match ?x ?y ?z ?w) =========> ... ==========> ...
Rule 1 和 Rule 2都是有5个 alpha 节点和 4 个beta 节点。 下面看看 Rule 1的存储情况如下:
NODE | PATTERN |MEMORY ===================================================== a1 | (find-match ?x ?y ?z ?w)| f1 a2 | (item ?x) | f2 f3 f4 f5 f6 f7 f8 a3 | (item ?y) | f2 f3 f4 f5 f6 f7 f8 a4 | (item ?z) | f2 f3 f4 f5 f6 f7 f8 a5 | (item ?w) | f2 f3 f4 f5 f6 f7 f8 b1 | a1 & a2 | f1 b2 | b1 & a3 | f1 b3 | b2 & a4 | f1 b4 | b3 & a5 | f1 说明: 当a1节点,用模式(find-match ?x ?y ?z ?w)去匹配时候,MEMORY只是需要f1大小的事实就足够了。当a2节点,用模式(item ?x)去匹配时候,由于f2 f3 f4 f5 f6 f7 f8都能满足条件,所以,MEMORY 就需要f2 f3 f4 f5 f6 f7 f8-- -- 大小的事实去存储。总之,我们可以通过公式 1+7+7+7+7+1+1+1+1 = 33,算出总共的内存元素。 接着,分析一下 Rule 2的情况:
NODE | PATTERN |MEMORY ===================================================== a1 | (item ?x) | f2 f3 f4 f5 f6 f7 f8 a2 | (item ?y) | f2 f3 f4 f5 f6 f7 f8 a3 | (item ?z) | f2 f3 f4 f5 f6 f7 f8 a4 | (item ?w) | f2 f3 f4 f5 f6 f7 f8 a5 | (find-match ?x ?y ?Z ?W)| f1 b1 | a1 & a2 | [f2 f2] [f2 f3] .. [f8 f8] b2 | b1 & a3 | [f2 f2 f2] ... [f8 f8 f8] b3 | b2 & a4 | [f2 f2 f2 f2] ... [f8 f8 f8 f8] b4 | b3 & a5 | f1 说明:用同样的方法,就可以计算 7+7+7+7+1+7*7+7*7*7+7*7*7*7+1 = 2823,算出总共的内存元素。 从以上分析的数据,可以明显的看出,采用规则的时候,可以将复杂的LHS放在前面,将简单的LHS放在后面,这样做的目的是降低内存的存储空间。
2.5RETE算法的框图描述及解释 如果从概念上去理解alpha 节点和beta 节点是很困难的,加上working节点,对于学习者而言,就变得很茫然----不知所云,无从下手了。有了上面Rule 1 和 Rule 2例子后,就可以将这些抽象的概念,变得更直观的理解。
首先, alpha 节点对应是ax,其中x的取值是【1,2,3,4,5】, beta 节点对应的是by,其中y的取值是【1,2,3,4】。working节点,对应的是MEMORY下面对应的一行。