第五章农业专家系统赵志国计算机在农业上应用目录1.什么是专家系统2.专家系统基本原理3.农业专家系统的开发第一节什么是专家系统1.引言•对人类智能的理解•人类对外界事物识别和理解的感知能力,进行推理、联想和学习的思维能力,以及作出决策和采取行动的反应能力组成。•人之所以有这些智能,因为人有知识(经验),智能的核心•智能(Intelligence)是指运用知识解决问题的能力•人工智能(ArtificialIntelligence,简称AI)被誉为21世纪的三大科学技术成就之一。专家系统是人工智能的一个重要分支,是人工智能走向实用化的转折点和突破口。、人工智能的历史•1956年夏,在美国达特莫斯大学由麦卡锡、明斯基以及IBM的洛切斯特和贝尔实验室的香农等共同发起举办了为时2个月的夏季学术讨论班,讨论机器智能问题。•麦卡锡提议正式使用人工智能(ArtificialIntelligence):独立的建立在计算机科学、数学、神经生理学、心理学语言学等多学科相互渗透下的研究方向被开创。•麦卡锡被称为人工智能之父。•1965年以前•1965-1971•1972-1977•1978年~孕育期产生期成熟期发展期•1937年,图灵(Turing)发表了理想计算器的论文。•1943年,Post产生式规则。•1954年,控制规则执行的Markov算法。•1956年,人工智能(Artificiallntelligene,AI)一词在美国一次学者聚会中诞生。•1957年,Rosenblatt,Newell等人提出通用问题求解器GPS(GeneralProblemSolver)。•1960年,麦卡锡(MaCarthy)研制的表处理语言(LISP)语言诞生。孕育期人工智能的发展•1965年,Stanfond大学开发第一个专家系统DENDRAL(推论化学结构的专家系统)•1965年,Robinson提出归结反演(ResolutionRefutation)理论,•1965年,Zadeh提出模糊逻辑(FuzzyLogic)理论•1969年,MIT开发MACSYMA(数学符号运算专家系统)•1972年,Stanfond大学开发MYCIN(传染病诊断系统)•1972年,Stanfond研究院(SRI)开发Prospector(矿床探测专家系统)•1972年,法国Colmerauer与Roussel开发PROLOG逻辑程序语言•1974年,卡内基-美隆大学开发OPS语言(人工智能与专家系统专用语言)•1975年,Minsky提出框架(Frame)知识表示法1976年,AM(ArtificialMathematician)人工智能数掌家,数学概念的创造性发现•1977年,Feigenbaum提出知识工程(KnowledgeEngineering)一词产生期成熟期人工智能的发展•1978年,卡内基一美隆大学和DEC公司合作开发R1(又称XCON),用来依据客户需求,架构适当的计算机系统•1979年,Forgy提出Rete算法,提高ProductionSystem的法则匹配速度•1980年,LISP机器开始生产问世•1982年,日本政府宣布开发第五代计算机,以PROLOG做为核心语言。•1983年,IntelliCorp公司推出KEE(结合多样知识表现与推论方法的专家系统建构工具),随后大量的专家系统建构工具问世,如:ART,KnowledgeCraft•1984年,欧洲共用市场制定欧洲信息技术研究发展策略计划•1985年,NASA开式出CLIPS专家系统工具,•1988年,Gallant提出以类神经网络为基础的专家系统•1989年,日本宣布人类领域科学计划(第六计算机计划,希望藉由类神经网络突破人工智能的许多瓶颈•1990以后,选入商业竞争时代,大量专家系统被广泛应用于各行业。发展期人工智能的发展二.专家系统的定义•专家(Expert)是指在某一专业领域内其专业知识与解决问题的能力达到很高水平的人。专家系统是以知识为基础,在特定问题领域内能像人类专家那样解决复杂现实问题的计算机系统。•专家系统(ExpertSystem,简称ES)也称作基于知识的系统(Knowledge—BasedSystems,KBS),是人工智能研究发展的结果。由于它的迅速发展和技术特点,目前已成为一个专门的研究方向。计算机在农业上应用二.专家系统的定义•费根鲍姆1982年的定义:专家系统是一种智能的计算机程序,这种程序使用知识与推理过程,求解那些需要杰出人物的专门知识才能求解的高难度问题。•定义包括的内涵:•它是一个智能程序系统;•它具有相关领域内大量的专家知识•它能应用人工智能技术模拟人类专家求解问题的思维过程进行推理,解决相关领域内的困难问题,并且达到领域专家的水平。二.专家系统的定义•专家系统(ExpertSystem,简称ES)是计算机程序,但它不同于主要对建立的模型作算法的研究与实施的传统计算机程序,它以人工智能的知识表示技术和问题求解技术为基础,知识和推理构成专家系统的两大要素。•专家系统:一种在相关领域中具有专家水平解题能力的智能程序系统。它能运用领域专家多年积累的经验与专门知识,模拟人类专家的思维过程,求解需要专家才能解决的困难问题。•从专家系统的定义看其内涵,主要包括以下三方面的内容:•(1)专家系统(ES)是一个或一组计算机程序,即专家系统本身是一软件。•(2)专家系统(ES)具有人类专家的水平,含有以不同形式存在的知识库。•(3)专家系统(ES)可以辅助解决某一特定领域中的困难问题,特别是那些需要多年实际经验积累才能做出准确判断的问题。•从结构的角度看,专家系统是一个由存放专门领域知识的知识库,以及一个能选择和运用知识的程序组成的计算机系统,技术的集成,构成功能强、知识多样化的智能化系统。二.专家系统的定义二、专家系统的功能与特点•1.专家系统的功能根据定义,专家系统应具备以下功能:•(1)存储问题求解所需的知识。•(2)存储具体问题求解的初始数据和推理过程中涉及的各种信息,如中间结果、目标、子目标以及假设等。•(3)根据当前输入的数据,利用已有知识,按照一定的推理策略,去解决当前问题,并能控制和协调整个系统。二、专家系统的功能与特点•(4)能够对推理过程、结论或系统自身行为做出必要的解释,如解题步骤、处理策略、选择处理方法的理由、系统求解某种问题的能力以及系统如何组织和管理其自身知识等。•(5)提供知识获取,机器学习以及知识库的修改、扩充和完善等维护手段。•(6)提供一种用户接口,既便于用户使用,又便于分析和理解用户的各种要求和请求。二、专家系统的功能与特点•专家系统的一般特点•各种类型的专家系统都有各自的特点,但总体上,专家系统具有知识的汇集、启发性推理、推理和解释的透明性、知识更新等特点。三、专家系统的结构•专家系统的结构是指专家系统各组成部分的构造方法和组织形式。系统结构选择恰当与否,直接关系到专家系统的适用性和效率。•1.基本结构•它包括三个基本部分:•知识库(KBS)、推理机(INS)和用户接口(UIS)。•知识工程师与领域专家直接交互,收集与整理领域专家的知识,将其转化为系统的内部表示形式并存放到知识库中;推理机根据用户的问题求解要求和所提供的初始数据,运用知识库中的知识对问题进行求解,并将产生的结果输出给用户。三、专家系统的结构三、专家系统的结构•2.高级专家系统结构•包括七部分:•知识库、推理机、全局数据库、解释程序(解释器)、知识获取程序、人机接口以及网络接口。•其中知识库、推理机和全局数据库是目前大多数专家系统的主要内容,而知识获取程序、解释程序、人机接口和网络接口是所有专家系统都期望具有的4个模块,但它们并不是都得到了实现。三、专家系统的结构三、专家系统的结构•早期的专家系统结构一般由知识库、推理机和用户接口三个基本部分组成。•高级专家系统的体系结构大体上由七个部分组成:知识库、推理机、全局数据库、解释程序、知识获取、人机接口、网络接口等。三、专家系统的结构•(1)知识库(KnowledgeBase)是专家系统的核心部分。知识库用以存放领域专家提供的专门知识。这些专门知识包含与领域相关的书本知识、常识性知识以及专家凭经验得到的试探性知识。专家系统的问题求解是运用专家提供的专门知识来模拟专家的思维方式进行的,这样知识库中拥有知识的数量和质量就成为一个专家系统中系统性能和问题求解能力的关键因素。因此,知识库的建立是建造专家系统的中心任务。三、专家系统的结构•(2)全局数据库(GlobalDatabase),亦称总数据库。用于存放关于问题求解的初始数据、求解状态、中间结果、假设、目标以及最终求解结果。•(3)推理机(ReasoningMachine)。根据全局数据库的当前内容,从知识库中选择可匹配的规则,并通过执行规则来修改数据库中的内容,再通过不断地推理导出问题的结论。推理机中包含如何从知识库中选择规则的策略和当有多个可用规则时如何消解规则冲突的策略。三、专家系统的结构•(4)解释器(Expositor)。根据用户的提问,对系统提出的结论、求解过程以及系统当前的求解状态提供说明,便于用户理解系统的问题求解,增加用户对求解结果的信任程度。在知识库的完善过程中便于专家或知识工程师发现和定位知识库中的错误,便于领域的专业人员或初学者能够从问题的求解过程中得到直观学习。三、专家系统的结构•(5)知识获取程序(KnowledgeAcquirement)是专家系统开发过程中的瓶颈,其主要任务是完成领域知识的收集与整理。一个高性能的专家系统应该具备不断获取知识的能力,或者它提供一种手段使知识工程师和领域专家能够不断地给系统“传授”知识,使知识库越来越丰富,越来越完善,或者系统自身具有自学习能力,从系统的运行过程中不断总结经验,抽取新知识,更换旧知识,自动地使知识库中的知识不断丰富和更新。三、专家系统的结构•(6)人机接口(Interface)是系统与用户进行对话的界面。用户通过人机接口输入必要的数据、提出问题和获得推理结果及系统做出的解释;系统通过人机接口要求用户回答系统的询问,回答用户的问题和解释。系统与用户交往的媒介可以是文字、声音、图像、图形、动画、音像等。衡量一个专家系统性能的高低,除了看其功能强弱和多少外,人机交互界面的友好方便,画面的图文并茂、形象生动是很重要的。目前多媒体技术正在专家系统界面中得以广泛应用。三、专家系统的结构•(7)网络接口(NetworkInterface)是通向计算机网络中其他节点的通道,这些节点可以是数据库、知识库或别的专家系统。有了网络接口,该专家系统就能够成为网络产品,灵活地被网络用户使用。三、专家系统的结构•在专家系统结构中,知识库就像人的大脑,存储着指定的全部知识,即内核部分(kernal)。而推理机、人机接口、解释器等其他部分组合成一个结构框架,就像人的身体,因此人们常称之为“外壳”(shell)。这种外壳只要配上包含有特定领域中某方面知识的知识库,就组成一个可以运行的专家系统。四、专家系统的分类1.按代分类(1)第一代专家系统。第一代专家系统的典型例子有化学专家系统DENDRAL、数学专家系统MACSYMA等。它们具有以下特点:①高度专业化,结构、功能不完整,移植性差;②专门问题求解能力强,但缺乏推理解释功能。(2)第二代专家系统。第二代专家系统的典型例子有医疗诊断专家系统MYCIN、地质探矿专家系统PROSPECTOR、数学发现专家系统AM等。它们具有以下特点:①学科专业型应用系统;②系统结构较完整,功能较全面,移植性好;③具有推理解释功能,使用户能比较清楚地了解系统的解题过程。增强了系统的透明性,同时也有利于发现错误,修改知识;④采用启发推理、似然推理、非精确推理,增强了系统的表达能力,开拓了使用启发性知识和可信度分析解决问题的新途径;⑤把具有一定普遍意义的推理方法与大量同领域有关的专门知识结合起来,从而使这些系统具有广泛的通用性;⑥用产生式规则、框架、语义网络表达知识;⑦用LISP语言编程。四、专家系统