资源描述:
《一个动物识别专家系统在PROLOG下的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第18卷第4期成都信息工程学院学报Vol.18No.42003年12月JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGYDec.2003文章编号:167121742(2003)0420371205一个动物识别专家系统在PROLOG下的实现夏明华(湛江海洋大学电子与信息工程系,广东湛江524005)摘要:首先扼要分析了专家系统的基本工作原理,然后用PROLOG语言实现了一个简单的动物识别专家系统。关键词:专家系统;动物识别;PROLOG中图分类号:TP182文献标识码:B1引言自1968年E.A.Feigenbaum、C.Djera
2、ssi以及J.Leberberg等人研制出第一个专家系统DENDRAL以来,专家系统迅速发展,目前已经成为人工智能中一个最活跃、最有成效的研究领域。本文首先从专家系统的组成原理框图着手,扼要介绍了专家系统的基本工作原理,然后用PROLOG语言实现了一个基于产生式表示方法的动物识别专家系统。2专家系统的基本工作原理2.1专家系统的定义尽管专家系统已经得到广泛的应用,但对于究竟什么是专家系统这个问题,目前尚无统一且精确的定义。E.A.Feigenbaum认为“:专家系统是一种智能的计算机程序,运用知识和推理步骤来解决只有专家才能解决的问题。”NilsJ.Nilsson认为“:All
3、programsthatachieveexpert2levelcompetenceinsolvingproblemsbybringtobearabodyofknowledgearecalledknowledge2basedsystemsorexpertsystems.”比较一致的观点是:专家系统是一个具有大量的专门知识,并能够利用这些知识以专家水平去解决该领域中的困难问题的计算机智能程序。2.2专家系统的基本工作原理尽管专家系统有众多类型,名称各异,但基本原理框图一致,如图1所示。专家系统的核心是知识库和推理机,其基本工作过程为:系统根据知识库中的知识和用户提供的事实进行推理,
4、不断地由已知前提推出一些初步结论,并将这些初步结论作为中间结果存放在数据库中,然后将其作为新的已知事实进行下一步推理,往复循环,逐步逼近求解目标。在这个过程中,系统可以通过人机接口不断地与用户交流,向用户提问,或对用户提出的问题做出解释。知识库是专家系统的知识存储器,用来存放求解问题的领域知识(包括事实性知识和启发性知识)。常见的知识表示法有:一阶谓词逻辑表示法、产生式规则表示法、语义网络表示法、框架表示法、脚本表示法、过程表示法、状态图表示法、面向对象表示法以及一些不确定知识的表示方法等。推理机是专家系统中用来实现推理的程序。其主要功能是模拟领域专家的思维过程,控制并执行对问
5、题的求解。它能根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,直到得出相应的结论为止。它包括推理方法和控制策略两个部分。推理方法可以采用精确推理或非精确推理。控制策略分为推理策略和搜索策略两个部分,其中,搜索策略是关键,它可以分为非启发式的搜索和启发式搜索,现代主要采用收稿日期:2003203231;修订日期:2003206211372成都信息工程学院学报第18卷启发式搜索。数据库又称为“黑板”或“综合数据库”,它主要用来存储有关领域问题的初始事实、问题描述、推理过程中得到的中间结果以及最终结果等信息。解释机构由一组程序组成,它能够跟踪并记录推理过程
6、,当用户提出的询问需要给出解释时,它将根据问题的要求做出相应的处理,最后把解答用约定的形式通过人机接口输出给用户。目前,大多数专家系统都采用人机对话的交互式解释方法。知识获取机构主要实现机器学习。人机接口是领域专家、知识工程师、一般用户间进行交互的界面,由一组程序及相应的硬件组成,用于完成输入输出工作。图1专家系统的基本原理图3动物识别专家系统在PROLOG下的实现为了更好地阐明专家系统的基本工作原理,我们用PROLOG语言实现一个简单的动物识别专家系统。该系统可以识别老虎、金钱豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁这7种动物。3.1知识库在本系统当中,知识库中的知识用产生式规则
7、来表示。本系统能够识别7种动物,知识库中共有以下15条规则。R1IF该动物有毛发THEN该动物是哺乳动物R2IF该动物有奶THEN该动物是哺乳动物R3IF该动物有羽毛THEN该动物是鸟R4IF该动物会飞AND会下蛋THEN该动物是鸟R5IF该动物吃肉THEN该动物是肉食动物R6IF该动物有犬齿AND有爪AND眼盯前方THEN该动物是肉食动物R7IF该动物是哺乳动物AND有蹄THEN该动物是有蹄类动物R8IF该动物是哺乳动物AND是嚼反刍动物THEN该动物是有蹄类动物R9IF该动物是哺乳动物A