人工智能原理(7)

目录

一、专家系统

1、概述

2、专家系统的结构和类型

二、基于规则的专家系统 

1、基于规则的专家系统的基本结构

2、基于规则的专家系统的特点

3、举例

三、基于框架的专家系统

1、概念

2、继承、槽和方法

3、举例

四、基于模型的专家系统 

1、概念

2、举例

五、专家系统的开发 

1、开发步骤

2、知识获取

3、专家系统的开发工具和环境

六、专家系统设计举例

1、假设/结论的表示

2、观测的表示

3、推理规则的表示 

4、知识的使用

5、对决策给予解释

6、MYCIN

七、新型专家系统

1、新型专家系统的特点

2、设计和实现分布式专家系统的关键问题

3、设计协同式专家系统的主要问题


一、专家系统

1、概述

        专家系统:一种在特定领域内具有专家水平解决问题能力的程序系统。专家系统属于人工智能的一个发展分支,运用于医疗、军事、地质勘探、教学、化工等领域,产生了巨大的经济效益和社会效益。现在,专家系统已成为人工智能领域中最活跃、最受重视的领域。

        专家系统的主要特性:

        (1)为解决特定领域的具体问题,除需要一些公共的常识,还需要大量与所研究领域问题密切相关的知识

        (2)一般采用启发式解题方法

        (3)解题过程中除了用演绎方法外,有时还要求助于归纳方法和抽象方法

        (4)需处理问题的模糊性、不确定性和不完全性

        (5)能对自身的工作过程进行推理(自推理或解释)

        (6)采用基于知识的问题求解方法

        (7)知识库和推理机分离

2、专家系统的结构和类型

(1)专家系统的基本结构

        知识库:用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。

        解释器:向用户解释专家系统的行为方法,包括解释推理结论的正确性以及系统输出其他候选结果的原因等。 

        推理机:针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题的求解结果。

        人机界面:系统与用户进行交流时的界面,通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。

        综合数据库:专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。

        知识获取:专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取、可以扩充和修改知识库中的内容,也可以实现自动学习功能。

(2)专家系统的类型

   ① 解释专家系统:其任务是通过对已知信息和数据的分析与解释,确定它们的含义。

        解释专家系统特点:

                a.系统处理的数据量大,而且往往不准确,存在错误,不完全的现象。

                b.系统能够从不完全的信息中得到解释,并从数据中做出假设

                c.系统推理过程复杂,要求系统具有对自身的推理过程做出解释能力。

        解释专家系统的例子:语音理解、图像分析、系统监视、化学结构分析和信号解释。

   ② 预测专家系统:其任务是通过对过去和现在的已知状况的分析,推断未来可能发生的情况。

        预测专家系统特点:

                a.系统处理的数据随时间变化,可能不准确和不完全的。

                b.系统需要有适应时间变化的动态模型,能够从不完全的和不准确的信息中得出预报,并达到快速响应的要求。

        预测专家系统的例子:气象预报、军事预测、人口预测等。

   ③ 诊断专家系统:其任务是根据观察到的数据来推测出某个对象出现故障的原因。

        诊断专家系统特点:

                a.了解诊断对象或客体各组成部分的特性以及它们之间的联系。

                b.能够区分一种现象及其所掩盖的另一种现象。

                c.能够向用户提供测量的数据,并从不确切信息中得出尽可能正确的诊断。

        诊断专家系统的例子:医疗诊断、电子机械和软件故障诊断、材料失效诊断等。

   ④ 设计专家系统:其任务是分解设计要求,求出能够满足设计问题约束的目标配置。

        设计专家系统特点:

                a.善于从多方面的要求中得到符合要求的设计结果。

                b.系统需要检索较大的可能解空间。

                c.善于分析各种子问题,并处理好各个子问题间的互相作用。

                d.能够试验性地构造出可能的设计方案,并易于对所得设计方案进行修改。

                e.能够使用已被证明是正确的设计来解释当前的设计。

        设计专家系统的例子:电路设计、土木建工设计、计算机结构设计、机械产品设计和生产工艺设计等。

    ⑤ 规划专家系统:其任务是在于寻找某个能够达到给定目标的多做序列或寻找步骤。

        规划专家系统特点:

                a.所要规划的目标可能是动态的或静态的,需要对未来做出预测。

                b.所涉及的问题可能是复杂的,要求系统能抓住重点,处理好各个子目标的关系和不确定数据信息,并通过试验性动作做出可行规划。

        规划专家系统例子:机器人规划、交通运输调度、工程项目论证、通信与军事指挥以及农作物管理等。

   ⑥ 监视专家系统:其任务在于对系统、对象或过程进行不断观察,并把观察到的行为与其应当有的行为进行比较,以发现异常情况并作出警报。

        监视专家系统特点:

                a.具有快速反应能力,在造成事故之前及时发出警报

                b.系统发出的警报需要有较高的准确性

                c.系统能够随时间和条件的变化而动态地处理输入信息。

        监视专家系统例子:安全监视、防空监视与警报、国家财政监控、疫情监控和农作物病虫害监控等。

   ⑦ 控制专家系统:其任务是以自适应方式管理一个受控对象或客体的全面行为,使之满足预期要求。

        控制专家系统特点:能够解释当前的情况,预测未来可能发生的情况,诊断可能发生的问题并分析原因,不断修正计划并控制计划执行。

        控制专家系统例子:解释、预报、诊断、规划和执行等。

   ⑧ 调试专家系统:其任务是对矢量的对象给出处理意见和方法。

        调试专家系统特点:同时具有规划、设计、预报、诊断等专家系统的功能。

        调试专家系统例子:用于新产品和新系统的调试,可以用于设备检修。

   ⑨ 教学专家系统:其任务是根据学生的特点、弱点和基础,以适当的教案和教学方法对学生进行教学和辅导。

        教学专家系统特点:同时具有诊断和调试等功能,通常有良好的人机界面。

   ⑩ 修理专家系统:其任务是对发生故障的对象进行修复,使其恢复正常。

        除上述列出的专家系统外,常用专家系统还有数学专家系统、决策专家系统和咨询专家系统。

二、基于规则的专家系统 

1、基于规则的专家系统的基本结构

        基本结构:主要部分知识库和推理引擎,实际应用中,知识库,推理引擎、用户接口、解释子系统四个部分构成了一个系统。完整系统见下图。

        知识库:谓词演算事实和有关讨论主题的规则构成。

        推理引擎:由所有操纵知识库来演绎用户要求的信息的过程构成,如消解、前向链或反向链。

        用户接口:可能包括某种自然语言处理系统,允许用户用一个有限的自然语言形式与系统交互,可以用带有菜单的图形接口界面,解释子系统分析被系统执行的推理结构,并把它解释给用户。

2、基于规则的专家系统的特点

        基于规则的专家系统的特征:

        (1)自然语言的表达。

        (2)结构的统一化。

        (3)知识与处理的分离。

        (4)对不完整、不确定知识的处理能力。

        基于规则的专家系统同样具有一些缺点:

        (1)规则之间复杂,虽然基于规则的专家系统中单条规则结构简单且具有自解释能力,但大量规则之间存在复杂关系,使得系统很难分辨出单条规则所起的作用。

        (2)冗余搜索:推理引擎在工作的时候要对全部规则进行搜索,如果规则较多,则系统的效率将会缓慢。

        (3)不具备自更新能力:传统的基于规则的专家系统都不具备从经验中增加知识的能力,导致专家系统知识库的更新,需要进行人为处理。

3、举例

        20世纪80年代,出现了一批专家系统开发工具,如EMYCIN,CLIPS((OPS5,OPS83),G2、KEE等。

        下面举例为EMYCIN,EMYCIN采用逆向推理的深度优先控制策略,提供了严格的规则语言表示知识。

三、基于框架的专家系统

1、概念

        基于框架的专家系统:是一个计算机程序,使用一组包含在知识库内的框架对工作存储器内的具体问题信息进行处理,通过推理机推断出新的信息。

2、继承、槽和方法

        基于框架的专家系统中有三个重要的概念:框架的继承、槽和方法。

        (1)继承:继承是后辈框架呈现父辈框架特征的过程。

                多重继承:在分层框架结构中,每个框架只有一个父辈从其父辈、祖父辈等继承信息。

                异常处理:继承是框架系统的特征之一,但后辈框架会从其父辈框架继承属性值,除非值在框架中故意改变了。

                实例继承(后辈继承),它可以继承父辈框架的所有特征,包括描述性和过程性知识,并创建出包含对象类的全部一般特征类框架,不需要对其特征编码就可以创建实例。

        (2)槽:关于框架属性的扩展知识。

                槽可以扩展知识的表示,控制框架的属性,提供对属性值和系统的附加控制,可以用来设置初始属性值、定义属性类型和限制可能值,也可以定义值获取和改变的方法。

        (3)方法:方法时附加在对象中需要时执行的过程。

                方法在一些应用程序中并不是一定执行的,当需要时才会执行。

3、举例

        下图为对货物运输时,根据货物的不同特性保证航行顺利和货物安全,进行分类所建立的树状结构。

四、基于模型的专家系统 

1、概念

        基于模型的推理方法也是基于模型的专家系统的基本方法。基于模型的推理方法是根据反映事物客观规律的模型进行知识推理。

        如果将运用的启发式规则的推理称为浅层推理,基于模型的推理可以称为深层推理,浅层推理根据专家经验做出高效但问题解决能力较低的推理,深层推理是在接触事物本质的条件上具有较强的问题解决能力,但效率相对较差。所以将浅层推理和深层推理相结合提出第二代专家系统的概念。

2、举例

五、专家系统的开发 

1、开发步骤

        采用原型技术的专家系统的开发过程:设计初始知识库、原型系统开发与实验、知识库的改进与归纳三个步骤。

         设计初始知识库:知识库是专家系统中最重要的一个组成部分,知识库的设计与建立是专家系统刚开发中最重要的一项任务,主要有以下几个工作需要完成:问题的知识化、知识的概念化、概念的形式化、形式的规则化、规则的合理化。

        原型系统的开发与实验:当知识表示方式确定后,即可建立原型系统,包括整个模型的典型知识,而且只涉及与实验有关的简单党的任务和推理过程。

        知识库的改进和归纳:在原型系统的基础上,对知识库和推理机反复进行改进试验,归纳出更完善的结果,如此进行下去,不断提高专家系统的水平,直到满意。

2、知识获取

        知识获取指把领域专家解决问题的经验和知识变为专家系统解决问题所需要的专门知识。尽管不同专家的知识获取方法存在较大的差异,但其获取方式和任务也大致相同。

        (1)知识获取的方式:按照知识获取的自动化程度,可以将其分为非自动知识获取、自动知识获取、半自动知识获取三种。

                非自动知识获取:由知识工程师来完成知识获取任务的方式。

                自动知识获取:由专家系统自身来完成知识获取任务的方式。

                半自动知识获取:由知识工程师和专家系统共同完成知识获取任务的方式。

        (2)知识获取的任务:为专家系统获取知识,建立完整的知识库,来满足领域问题的解决,主要工作包括抽取知识、表示知识、输入知识和检验知识。

                抽取知识:把蕴含在知识源(即知识的来源)中的知识经过识别、理解、筛选、归纳等处理后抽取出来,以便用于建立知识库。

                表示知识:由于知识源的知识以自然语言、图形图像等表示的,而知识库中的知识则是用计算机能执行的形式表示,为使专家系统能够使用知识源中抽取的知识,所以需要把这些知识用适当的知识表示方法表示出来,这需要知识工程师来完成。

                输入知识:把表示出来的知识经过编辑、编译后送入知识库的过程叫做知识输入。知识输入的途径有两种:计算机系统提供的编辑软件、利用专门的知识编辑系统。

                检验知识:在知识库在投入使用之前必须进行检测,提前发现和纠正可能存在的错误,检测的主要任务就是知识库中知识的一致性和完整性。这需要知识工程师和领域专家共同来完成。

3、专家系统的开发工具和环境

        开发工具与环境实际上是为高效开发专家系统而提供的高级程序系统或高级程序设计环境。可以简化专家系统开发的过程,加快开发速度,提高开发效率与质量。

        常见的专家系统开发工具和环境为:程序设计语言、骨架型工具、语言型工具、开发环境和其他一些先进的开发工具等。

六、专家系统设计举例

1、假设/结论的表示

        结论可以表示各种建议或解释。取决于所做的观测,一个假设可能附有不同程度的不确定性。

        在专家系统中,每个假设用简写的助记符号和自然语言写的正式说明语句来表示。

        助记符号用于编写决策规则时引用假设,最简单的假设用一个列表示。

2、观测的表示

        观测指得到结论所需的观察和测量,通常用逻辑值、“不知道”或数字表示。

        一般包括向使用者询问信息的系统,如果从仪表盘直接读取或者从外部程序输入,则不需要使用者介入。

        观测按假设处理,每个观测都附有一个可信度等级。

3、推理规则的表示 

        通常来说,产生式规则时决策规则最为常用的表示形式,产生式规则可以根据观测和假设之间的逻辑关系分为三类:从观测到观测的规则(FF)、从观测到假设的规则(FH)、从假设到假设的规则(HH)

4、知识的使用

        对于结论的分级和选择:按照评价的先后次序,把规则分成等级和选择规则是推理过程中控制策略的基本部分,我们可以根据专家的意见来排列和评价规则的次序,研究规则的评价次序的影响。

        对于询问问题的策略:得到一个好的询问策略往往使问题包含尽可能多的结构,有两种提问策略:固定的顺序(按照预先规定的序列或顺序收集所需知识)、不固定的顺序(通过先询问代价最小的问题等方法)

5、对决策给予解释

        (1)对系统设计者的解释

                如果是对系统的设计者解释决策,那么只需要实现为了推论出给定假设所需满足的那组规则,就是最直接的解释。        

        (2)对系统使用者的解释

                如果用语句来说明结论,也是一种解释的方法,这要比单纯声明一个结论自然得多,系统所用的假设可能是任何形式的包含说明和建议的语句。

6、MYCIN

        MYCIN是用于医疗诊断的咨询专家系统,采用非精确推理来处理事实和规则的不确定性。医生可以使用MYCIN来进行诊断并给出治疗处方。

七、新型专家系统

1、新型专家系统的特点

        新型专家系统主要由协同式和分布式专家系统。

        新型专家系统的特点:

        (1)并行与分布处理:基于各种并行算法,采用各种并行推理和执行技术,适合在多处理器的硬件环境中工作,具有分部处理的功能。

        (2)多专家系统协同工作:就字面意思。

        (3)高级语言和知识语言描述:专家系统生成系统能自动或半自动的生成所要的专家系统。

        (4)具有自学习功能:知识获取和学习功能。

        (5)引入新的推理机制:演绎推理、归纳推理、各种非标准逻辑推理和各种基于不完全知识和模糊知识的推理。

        (6)具有自纠错和自完善能力

        (7)先进的智能人机接口:实现自然语言、文字、图像、图形的输入输出。

2、设计和实现分布式专家系统的关键问题

        分布式专家系统:专家系统的功能分解后分布到多个处理器上并行工作,从而提高系统处理效率。

        关键问题:功能分布、知识分布、接口设计、系统结构、驱动方式

3、设计协同式专家系统的主要问题

        协同式专家系统:又称“群专家系统”,表示能综合若干个相近领域的或一个领域的多个方面子专家系统互相协作共同解决一个更广领域问题的专家系统。由于单个专家系统的应用局限性很大,很难获得满意的应用,协同式专家系统更强调子系统之间的协同合作,不着重处理的分布和知识的分布,提高普遍性。

        主要问题:任务分解、公共知识导出、讨论方式、裁决问题、驱动方式

参考视频:【人工智能教程】7.1 - 专家系统概述_哔哩哔哩_bilibili

参考书籍:《人工智能原理》丁世飞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/84083.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电力虚拟仿真 | 高压电气试验VR教学系统

在科技进步的推动下,我们的教育方式也在发生着翻天覆地的变化。其中,虚拟现实(VR)技术的出现,为我们提供了一种全新的、富有沉浸感的学习和培训方式。特别是在电力行业领域,例如,电力系统的维护…

【O2O领域】Axure外卖订餐骑手端APP原型图,外卖众包配送原型设计图

作品概况 页面数量:共 110 页 兼容软件:Axure RP 9/10,不支持低版本 应用领域:外卖配送、生鲜配送 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本品为外卖订餐骑手端APP原型设计图&#x…

第一篇:编写 Hello World 程序

编写 Hello World 程序 Hello World 程序就是让应用程序显示 Hello World 字符串。这是最简单的应用,但却包含了一个应用程序的基本要素,所以一般使用它来演示程序的创建过程。本章要讲的就是在Qt Creator 中创建一个图形用户界面的项目,从而…

Java后端开发面试题——框架篇

Spring框架中的bean是单例的吗?Spring框架中的单例bean是线程安全的吗? singleton : bean在每个Spring IOC容器中只有一个实例。 prototype:一个bean的定义可以有多个实例。 Spring bean并没有可变的状态(比如Service类和DAO类)&#xff0c…

smartsofthelp 5.0 最专业的数据库优化工具,数据库配置优化,数据库高并发优化,SQL 语句优化...

下载地址:百度网盘 请输入提取码 SQL操作返回历史记录: 2023-08-21 20:42:08:220 输入:select version as 版本号 2023-08-21 20:42:08:223 输出:当前数据库实例版本号:Microsoft SQL Server 2012 - 11.0.2100.60 (X64) …

pytorch内存泄漏

问题描述: 内存泄漏积累过多最终会导致内存溢出,当内存占用过大,进程会被killed掉。 解决过程: 在代码的运行阶段输出内存占用量,观察在哪一块存在内存剧烈增加或者显存异常变化的情况。但是在这个过程中要分级确认…

05-微信小程序常用组件-表单组件

05-微信小程序常用组件-表单组件 文章目录 表单组件button 按钮案例代码 form 表单案例代码 image 图片支持长按识别的码案例代码 微信小程序包含了六大组件: 视图容器、 基础内容、 导航、 表单、 互动和 导航。这些组件可以通过WXML和WXSS进行布局和样式设…

Web 拦截器-interceptor

拦截器是一种动态拦截方法调用的机制,类似于过滤器,是Spring框架提出的,用来动态拦截控制器方法的执行。 其作用是拦截请求,在指定方法调用前后,根据业务执行预设代码。 实现步骤 1.定义拦截器,实现Handl…

多线程+隧道代理:提升爬虫速度

在进行大规模数据爬取时,爬虫速度往往是一个关键问题。本文将介绍一个提升爬虫速度的秘密武器:多线程隧道代理。通过合理地利用多线程技术和使用隧道代理,我们可以显著提高爬虫的效率和稳定性。本文将为你提供详细的解决方案和实际操作价值&a…

创建型(四) - 原型模式

一、概念 原型模式(Prototype Pattern):利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象,以达到节省创建时间的目的。 使用场景:如果对象的创建成本比较大…

浅谈Spark的RDD、部署模式

一、RDD Spark RDD(弹性分布式数据集),弹性是指Spark可以通过重新计算来自动重建丢失的分区。 从本质上讲,RDD 是数据元素的不可变分布式集合,跨集群中的节点进行分区,可以与提供转换和操作的低级 API 并行…

MemSeg:一种差异和共性来检测图像表面缺陷的半监督方法

目录 1、摘要 2、Method 2.1 模拟异常样本 2.2 Memory Module 2.3 空间注意模块 2.4 多尺度特征融合模块 2.5 损失函数设置 2.6 Decoder模块 1、摘要 本文认为人为创建类内差异和保持类内共性可以帮助模型实现更好的缺陷检测能力,从而更好地区分非正常图像。如…

【MySQL系列】表内容的基本操作(增删查改)

「前言」文章内容大致是对MySQL表内容的基本操作,即增删查改。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL表内容的增删查改1.1 Create1.1.1 单行数据全列插入1.1.2 多行数据指定列插入1.1.3 插入否则更新1.1.4 数据替换 1.2 Ret…

冠达管理:非银金融是什么?

非银金融(Non-banking Financial Institutions,简称非银)是指除了传统的银行以外的其他金融机构。与银行不同的是,非银金融机构没有颁发钱银的权利,但在金融市场中发挥着重要的效果。在全球范围内,非银金融…

记一次oracle数据库迁移至mysql数据库(表同步)

目录 一、利用Navicat将oracle迁移至mysql数据库 1、建立数据传输 2、选择需要迁移的数据库跟目标库 3、数据传输选项 4、选择需要迁移表信息 二、迁移之后遇到的一些问题 1、大小写问题 2、数据库函数问题 3、sql语句是否使用空格隔开问题 4、关于子查询别命名问题 …

区块链与算力网络:创造未来网络的安全与共享

在数字革命的浪潮下,网络技术正焕发着前所未有的活力,而算力网络以其独特的区块链技术应用,为网络的安全性和资源共享带来了新的可能性。本文将带您深入探索算力网络中区块链技术的神奇应用,为您呈现这个充满活力和创新的网络未来…

【开发笔记】ubuntu部署指定版本的前后端运行环境(npm nodejs mysql)

目录 1 背景2 环境要求3 部署流程3.1 npm的安装3.2 nodejs的安装3.3 MySQL的安装 4 可能的问题 1 背景 在远程服务器上的Ubuntu系统中,部署指定版本的前后端项目的运行环境 2 环境要求 npm 9.5.1Nodejs v18.16.1MySQL 8.0.33 3 部署流程 3.1 npm的安装 通过安…

Python Opencv实践 - 图像中值滤波

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape) pixel_count img.shape[0] * img.shape[1] print(pixel_count)#为图像添加椒盐噪声 #参考资料&#xf…

项目实战笔记4:敏捷

术语介绍 敏捷项目管理是一种以快速响应变化为核心的项目管理方法。与传统的瀑布模型不同,敏捷方法强调迭代开发和紧密的团队合作。其目的是尽可能快地交付可用的产品,然后在客户和团队之间进行反馈和迭代,以不断优化产品和开发过程。 在敏捷…

苍穹外卖 day2 反向代理和负载均衡

一 前端发送的请求,是如何请求到后端服务 前端请求地址:http://localhost/api/employee/login 路径并不匹配 后端接口地址:http://localhost:8080/admin/employee/login 二 查找前端接口 在这个页面上点击f12 后转到networ验证&#xff0…