为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

疾病诊断专家系统

2017-09-20 23页 doc 205KB 40阅读

用户头像

is_005190

暂无简介

举报
疾病诊断专家系统目录 摘要    II Abstact    II 第一章 绪论    1 1.1引言    1 1.2问题的提出    1 1.3可行性分析    2 2.1专家系统概述    3 2.1.1什么是专家系统    3 2.1.2专家系统的组成    4 2.1.3专家系统的应用领域    4 2.2 知识库    5 2.3推理原理    6 2.3.1推理概念及分类    6 第三章  鸡疾病诊断专家系统知识库的研究    8 3.1鸡疾病诊断专家系统介绍    8 3.2鸡疾病诊断专家系统设计    8 3.2.1系统功...
疾病诊断专家系统
目录 摘要    II Abstact    II 第一章 绪论    1 1.1引言    1 1.2问题的提出    1 1.3可行性分析    2 2.1专家系统概述    3 2.1.1什么是专家系统    3 2.1.2专家系统的组成    4 2.1.3专家系统的应用领域    4 2.2 知识库    5 2.3推理原理    6 2.3.1推理概念及分类    6 第三章  鸡疾病诊断专家系统知识库的研究    8 3.1鸡疾病诊断专家系统介绍    8 3.2鸡疾病诊断专家系统    8 3.2.1系统功能    8 3.2.2 鸡疾病诊断专家系统知识开发的技术流程    9 3.2.3 鸡疾病诊断专家系统知识库的设计    9 3.3.1 知识表示    11 第四章  系统调试    12 4.1 Prolog软件介绍    12 4.1.1 Prolog语言的特征    13 4.1.2 Prolog语言基本语句    14 4.2 程序调试    15 4.2.1 推理机的概述    15 4.2.2 推理机的使用    16 4.2.2 调试结果    17 第五章 毕业设计小结    20 5.1论文小结    20 5.2 知识库发展的趋势    21 致谢    22 参考文献    23 附录一 源程序    24 摘要   Visual Prolog语言是人工智能与专家系统最著名的逻辑程序语言,适合表达人的思维和推理规则,能够方便的实现模式匹配,回溯,事实数据库和谓词等功能;针对鸡疾病的各种症状,充分利用Visual Prolog语言在专家系统知识表示及逻辑推理过程中的优点,建立的一个基于规则的鸡疾病诊断专家系统,为饲养户提供诊断鸡疾病的依据。叙述了基于Visual Prolog的鸡疾病诊断专家系统的体系结构,知识获取和知识表示方法,推理机的设计等。 关键字:专家系统  推理机  Visual Prolog语言 Abstact  Visual Prolog language is the artificial intelligence and expert system's most famous logic programming language, suitable to express human thinking and reasoning rules, can facilitate implementation pattern matching, recollection, facts database and predicate functions; The various symptoms for chicken disease, make full use of Visual Prolog language in expert system knowledge representation and logic reasoning process, the establishment of a advantages in the chicken disease diagnosis based on rules for gotrid off.ltprovides expert system, the basis of chicken disease diagnosis. Based on Visual Prolog described the chicken disease diagnosis expert system structure, knowledge acquisition and knowledge representation method, reasoning machine design, etc. Key word: expert system;reasoning machine;Visual Prolog language. 第一章 绪论 1.1引言 专家系统作为一种实用工具为人类提供了保存、传播、使用和评价知识的有效手段。知识是一种宝贵的资源,知识的推广和使用可以产生巨大的经济效益。传统的知识转移过程包括育、实习等步骤,通常需要较长的周期。解决这一问题的有效手段就是把知识形式化并存到计算机中,使知识的复制和转移变得简单易行。20 世纪80 年代初,专家系统尤其是我国的中医专家系统研究取得了丰硕的成果。但由于一些因素的制约,如知识获取的瓶颈问题,缺少可视化开发环境等,使得用户界面不够友好,操作过于复杂,灵活性较差,显得过于呆板,致使专家系统的发展几乎进入停滞状态。近年来由于人工神经网络、数据挖掘等新技术的出现和发展,使人们利用机器加工处理信息有了新的途径和方法。特别是自丹麦PDC 公司推出Visual Prolog 以来,迅速成为国际上广泛流行的通用智能化应用集成开发工具,为开发基于Windows 可视化专家系统提供了良好的环境,从而给专家系统的复兴带来了希望。   1.2问题的提出 我国现代化养殖业起步比较晚,但近10多年发展很快,尤以养禽生产最为突出,加强哦哪饲养总数已经跃居世界第一位。随着养殖业得发展,禽兽疾病科学也得到很大发展。1984年,于船等对家禽21钟病症进行计算机辩证施治,属国内中兽医领域首次成功。1992年,许剑琴设计了鸡常见群发病计算机诊断专家系统,对12份病例进行验证性诊断,基本符合占82%。基于上面成功的例子,设计一个简单的诊断鸡疾病专家系统。 1.3可行性分析 由于本设计主要用于人们日常生活方面,因此在设计上尽量使其安全。其次,在这次设计可行性上进行分析如下: 1、经济可行性: 所谓经济可行性,即在这次设计上需要投入资金的多少,由于毕业设计是没有项目资金,没有开发经费,因此在经济上必须能够承受,比较理想化的项目对于我们毕业设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。 2、技术可行性: 技术可行性主要是分析技术条件上是否能够顺利开展并完成开发工作,硬件、软件能否满足设计者的需要等。通过分析各种软件环境等均已经具备。 综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。 第二章 专家系统及知识库系统概述 2.1专家系统概述 专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。20世纪60年代初,出现了运用逻辑学和模拟心理活动的一些通用问题求解程序,它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。1965年,f.a.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制了世界上第一个专家系统dendral ,可以推断化学分子结构。20多年来,知识工程的研究,专家系统的理论和技术不断发展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等众多领域,开发了几千个的专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。 2.1.1什么是专家系统 专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来处理该领域问题。也就是说,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。 2.1.2专家系统的组成 专家系统与传统的计算机程序系统有着完全不同的体系结构,通常它由知识库、推理机、综合数据库、知识获取机制、解释机制和人机接口等几个基本的、独立的部分所组成,其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。 2.1.3专家系统的应用领域 最初的专家系统乃人工智能之一个应用,但由于其重要性及相关应用系统之迅速发展,它已是信息系统的一种特定类型。专家系统一词系知识为基础的专家系统(knowledge-based expert system)’’而来,此种系统应用计算机中储存的人类知识,解决一般需要用到专家才能处理的问题,它能模仿人类专家解决特定问题时的推理过程,因而可供非专家们用来增进问题解决的能力,同时专家们也可把它视为具备专业知识的助理。由于在人类社会中,专家资源实相当稀少,有了专家系统,则可使此珍贵的专家知识获得普遍的应用。 近年来专家系统技术逐渐成熟,广泛应用在工程、科学、医药、军事、商业等方面,而且成果相当丰硕,甚至在某些应用领域,还超过人类专家的智能与判断。其功能应用领域概括有: 解释(Interpretation)-如测试肺部测试(如PUFF)。 预测(Prediction)-如预测可能由黑蛾所造成的玉米损失(如PLAN)。 诊断(Diagnosis)-如诊断血液中细菌的感染(MYCIN)。又如诊断汽车柴油引擎故障原因之CATS系统。 故障排除(Fault Isolation)-如电话故障排除系统ACE。 设计(Design)-如专门设计小型马达弹簧与碳刷之专家系统MOTOR BRUSH DESIGNER。 规划(Planning)-就出名的有辅助规划IBM计算机主架构之布置,重安装与重安排之专家系统CSS,以及辅助财物管理之PlanPower专家系统。 监督(Monitoring)-如监督IBM MVS操作系统之YES/MVS。 除错(Debugging)-如侦查学生减法算术错误原因之BUGGY。 修理(Repair)-如修理原油储油槽之专家系统SECOFOR。 行程安排(Scheduling)-如制造与运输行称安排之专家系统ISA。又如 工作站(work shop)制造步骤安排系统。 教学(Instruction)-如教导使用者学习操作系统之TVC专家系统。 控制(Control)-帮助Digital Corporation计算机制造及分配之控制系统PTRANS。 分析(Analysis)-如分析油井储存量之专家系统DIPMETER及分析有机分子可能结构之DENDRAL系统。它是最早的专家系统,也是最成功者之一。 维护(Maintenance)-如分析电话交换机故障原因之后,及能建议人类该如何维修之专家系统COMPASS。 架构设计(Configuration)-如设计VAX计算机架构之专家系统XCON以及设计新电梯架构之专家系统VT等。 校准(Targeting)-例如校准武器如何工作。 2.2 知识库     计算机科学与技术的发展和计算机应用领域的同益拓宽,使得计算机从传统 的数值计算发展到非数值处理,其中包括数据处理与知识处理。在60年代,大量 的商业应用与事务处理使得计算机应用进入了数据处理时代,并由此产生了数据 库系统,从而使大规模数据的存储、管理与控制成为现实。在70年代,人工智能 中的专家系统、知识工程及大量基于知识的处理系统的出现(Knowledge—based Processing System),使得知识的存储、管理与控制成为迫切的需要,在这种情 况下知识库系统就成为计算机发展的必然产物。     知识库,又称为智能数据库或人工智能数据库。知识库的概念来自两个不同 的领域,其一是人工智能及其分支一一知识工程领域,其二是传统数据库领域。 在知识库技术的发展中,由于这两个领域各自存在难以克服的困难和障碍,它们 相互借鉴和引进对方先进的领域技术。人工智能(AI)和数据库(DB)这两项计 算机技术的有效结合,才促使了知识库系统的产生和发展。     目前,对知识库系统的研究分为两个方面:一方面从人工智能领域出发研究 知识库系统,另一方面从数据库角度研究知识库,即在数据库中加入推理规则, 使数据库具有推理能力。从这两个方面研究知识库系统本身并没有本质的差别, 只是在处理的对象这一侧重面上有所不同,特别当在知识信息量很大的领域应用 智能系统时,没有强有力的库管理机制支持是很难想象的。现有的知识管理系统 则多是从数据库出发,用逻辑方法及手段来改造传统的数据库信息技术的局限性,以适应那些信息结构复杂、需要知识处理和对知识管理有特殊要求的某些应用领域(如智能CAD、智能DSS、工程设计与制造、办公自动化OA等)。但这些系统在语言表达能力、智能化程度和灵活性等方面还不太适应多数人工智能应用。     知识库系统的发展经历了若干个阶段,其初期阶段是70年代中期出现的演绎 数据库系统。演绎数据库系统又称为演绎数据库(Deductive Database),简DDB。它是传统数据库系统与演绎推理技术的有机结合,它能在一定范围内存储与管理知识,具有一定的推演能力。80年代出现的基于谓词逻辑的知识库系统具有存储与管理大量知识的功能,它比演绎数据库又前进了一大步。但是,传统的谓词逻辑所表示的知识是一种完全的知识,其推理是精确推理,而在客观世界中大多数知识属于不完全的知识,其推理也多属于非精确推理。因此,近年来研究基于非经典逻辑的知识库系统以及基于非精确推理的知识库已成为知识库系统研究的新阶段。 2.3推理原理 2.3.1推理概念及分类     推理是指依据一定的原则,自动选择适当的规则从已有的事实出发推出目标 状态的过程。推理是人类行为中最重要的环节之一,是问题求解、知识利用、知 识处理和知识自动获取的主要途径,在知识库系统以及所有智能系统中都离不开 推理的支持。其主要特征表现为前提与结论之间的逻辑关系,前提给结论提供理 由或证据。逻辑性知识是能够确保结论正确无误的知识,当己知数据完整、准确 时,使用逻辑性知识推理所得的任何结论也必然是完全可靠的。在逻辑性推理中 不存在评价结论可靠性的问题。然而在实际生活中,我们碰到的绝大多数数据都 是不精确的,以此按推理可靠性的不同,可以将推理的模式分为演绎推理、归纳 推理、非精确推理和非单调推理等。 1、演绎推理是基于(一阶谓词)逻辑的,它从一般到特殊,推出包含在前提 知识集中的推论,主要用于定理证明,也是传统知识库系统采用的主要推理方式。 2、归纳推理从特殊到一般,对前提知识集做抽象综合,是主观不充分推理, 主要用于知识自动获取等。 3、非精确推理或不确定推理是一种不同于逻辑推理的推理方法,它能根据已 知的知识推出结论为真的程度,以及根据规则的因果关系的不确定性,在新知识 信息增加的情况下对已知的结论做出可能的修改。非精确推理包括统计推理、近 似推理、模糊推理等,主要用于处理知识中包含的不确定性。 4、非单调推理根据新增加的知识推出源知识可能为假,主要用于常识性推理 (Common Sense Reasoning)。另外,在知识不完全或不完善时,还可采用缺省项 值的假设进行推理。     总之,处理实际应用中的各种复杂问题,应对具体问题进行具体分析,合理 采用AI中的非精确推理、非单调推理、模糊逻辑等多种非常规推理技术来增强知 识库系统的问题求解能力和智能化程度。 第三章  鸡疾病诊断专家系统知识库的研究 3.1鸡疾病诊断专家系统介绍     疾病诊断专家系统是一种智能化的信息系统,它作为现代化基础实用农业知识和高科技信息共享的工具,采用了多媒体技术、系统工程、软件工程、网络技术、专家系统、知识库、模型库、方法库、数掘库、GIS(地理信息系统)、多ES(多专家协同技术)及新的成熟的科技成果,把生产的数据模型和饲养科学养殖经验有机结合,利用文字、声音、图形、图像等多种媒体显示,说明专家系统推理咨询知识。常规的计算机程序是对数据结构以及作用于数据结构的确定型算法的表述,即: 常规程序=数据结构+算法 而专家系统是通过运用知识进行推理,力求在问题领域内推导出满意的解答, 即: 专家系统=知识+推理 专家系统是个计算机程序,是以知识为核心的计算机程序,它的关键问题就 在于知识的获耿与建立。 3.2鸡疾病诊断专家系统设计 3.2.1系统功能 咨询功能根据用户的需要,能够为用户提供有关饲养鸡疾病方面的知识,解答用户提出的问题。如鸡呼吸声音方面、消化系统、头颈症状等。诊断功能该功能模块由两部分构成,一种是症状诊断功能,根据鸡得病后的症状,由系统识别后给出结果;另一种为形态诊断.根据鸡的动作识别并给出诊断结果。 在诊断过程中抓主要因素,一般地.将呼吸系统、消化系统、头颈症状、神经运动系统、皮肤羽毛症状、冠髻症状、眼症状及解剖喉内脏的症状,在本系统中选择了三个大的方面,消化系统,呼吸系统和头颈方面。通过用户提供症状,可以大致推断出疾病。 3.2.2 鸡疾病诊断专家系统知识开发的技术流程     专家系统的知识开发首先需要进行知识获取、组织、表示,然后建立数据库、 知识库、模型库,在此基础上通过一定的推理机进行推理,得出结论,经过专家 测试后进行完善,最后得到推广应用。以下就是本专家系统开发的技术流程,如 图3-2所示 。。。。。。                     图3-1系统开发流程图 3.2.3 鸡疾病诊断专家系统知识库的设计     建立知识库的前提,要整理好规则。如果想精确的诊断出疾病,必须要提供更多的信息,换句话说就是规则要写的更复杂些。鸡疾病一般分头颈症状,冠髻症状,呼吸系统症状,消化系统症状,神经运动系统,眼症状,皮肤羽毛症状七大症状。如果通过七大症状诊断疾病,可以说知识库的构建相当困难。我选择了三大症状,分别为:消化系统症状,头颈症状,呼吸系统症状。例如规则如下: chicken(ai):- respiratory(abnormal_e), head_neck(abnormal_2), digestion(normal). 在上例中,如果呼吸系统出现症状e,头颈出现症状2,消化系统正常,就可诊断出事ai。那么下面就是对每一个症状具体分类,例如对呼吸系统分为:张口呼吸,喘气,尖叫,罗音等等。用规则表示如下: respiratory(abnormal_a):-breathe(pant). respiratory(abnormal_b):-breathe(opened_mouth). respiratory(abnormal_c):-breathe(screams). respiratory(abnormal_d):-breathe(rale). 其他的方面也同上。 3.3 知识的获取和表示 专家系统的核心是知识,所以专家系统又称之为基于知识的系统。知识库是整个专家系统的灵魂,知识库中知识的表达、组织模式都将影响推理效率,最终影响整个专家系统的智能水平。     所谓知识获取就是将领域专家的知识转移到计算机程序中。专家系统开发周期长、费用高是当前国内外知识工程界普遍感到困难的问题。这中间固然有种种原因,但经验表明,在专家系统开发过程中,花费时间最多的就是知识获取。为了尽可能地缩短这一过程,本系统设计了专门的知识获取程序。鸡疾病诊断系统首先了解鸡各种病的症状,比如鸡饲养户在养鸡过程中经常会遇到传染性疾病,例如:传染性鼻炎,传染性喉气管炎,传染性支气管炎。它们有共性:呼吸系统都会出现不正常的症状,呼吸系统分成不同的症状,根据用户选择,例如传染性喉气管炎,呼吸时会发出罗音。再选择其他症状,例如本系统中的消化系统,头颈症状。迄今为止,在开发专家系统时,还没有一个通用而有效的知识获取方法。一个具体的专家系统知识获取所花的时间和所遇到的困难取决于求解问题的复杂性和问题规模的大小。下面介绍几种知识的获取途径: 1、会谈式知识获取。     这种方式通过系统维护人员与领域专家直接对话进行知识的获取。经过系统维护人员与专家反复讨论、修改,最后所形成的文本应该对问题领域所涉及的重要概念、关系等以更直接明显的方式得到描述和说明。 2、案例分析式知识获取     这种方式主要针对领域专家把善于谈论具体实例而不一定适合谈论抽象术语而提出来的。案例分析法需要把专家的案例讲解过程详细下来,并产生文本。系统维护人员进一步分析文本,与专家讨论、精炼和修正文本,并用具体实例来进行测试和评估,最后产生一个专家知识的结构模型。 3、教学式知识获取     教学式知识获取基本上是系统维护人员通过知识编译器给计算机直接传授知识的工作方法。 4、归纳式知识获取     这种方式是采用归纳推理进行知识获取的方法。它从一些特定案例,不完全和不精确的局部事实、关系、概念等出发归结出带有一般性的推理模式或因果关系。这是一种获取领域专家启发性知识的较为合适的方法,也有利于知识库的自身修改、扩充、更新和完善。 5、假设式知识获取     假设式知识获取可用图来说明。这种方法是根据外界现象的观察,进行归纳,联系、类比、分析、综合等,形成假设,进一步对假设进行验证,即把假设以及由此产生的结论与外界现象进行比较核对,若完全符合,则认为假设成立;若不完全符合,则根据他们之间的差异,对假设进行修正,并再次进行验证。如此多次反复,最终形成满意的结论。图2.1为假设式知识的详细获取流程。 3.3.1 知识表示     经验知识的表示与组织是联系知识获取和诊断推理的桥梁,是基于知识的诊 断系统的重要环节。目前,人工智能研究所提供的知识表示方法,如产生式规则、 框架、语义网络、谓词逻辑等,它们各具特色,在不同的领域可以选用不同的知 识表示方式,但必须满足可用性、可读性和可扩充性。基于规则的(Production Rule)表示是目前专家系统中最广泛的一种知识表示方法。已商品化或实用化的 中小型ES或Es开发工具大都采用或包含这种表示方法。如著名的MYCIN(诊断和治疗传染性疾病专家系统)和DENDRAL(化学质谱分析系统)等,规则表示的一般形式为:IF A THEN B. 其中,A为规则前提条件,由与故障相关的多个征兆组合而成;B是规则的 结论,即疾病;症状的复杂性决定了其疾病通常不能通过一种征兆诊断,往往须利用多种征兆的组合,多种信息的综合利用对诊断疾病非常必要。诊断信息既有来自同一信号源的同类信息,又有来自于不同信号源的异类信息。尽管呼吸症状对诊断疾病类型有着重要作用,但是呼吸症状只是反映疾病一部分信息,还有一些疾病不能根据呼吸症状明显区分开,这就需要引入其它征兆进行判别,如消化系统、头颈症状各种趋势分析等,如属于呼吸系统的张口呼吸,喘气,尖叫等特征。因此,规则前提中包含着多个不同类型的疾病征兆,反映疾病不同方面的信息,规则体现了多种征兆的综合作用,从而可以较准确的进行疾病诊断。 第四章  系统调试 4.1 Prolog软件介绍     Prolog是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。同时它对一些通常的应用程序的编写也很有帮助。使用它能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。 Visual Prolog 6是最新一代的Visual Prolog逻辑程序設計語言,是PDC、Turbo Prolog的后继产品。 新增的功能有: 1.一个独特的导向系统 2.多线程机制 3.Unicode支持 4.改进的DLL支持 5.改进的函数支持 6.改进的异常处理 4.1.1 Prolog语言的特征 (1)prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不足编程序的人。从这个意义上来说,prolog程序不是真正意义上的程序。所谓程序就是按照一定的步骤运行的计算机指令,而prolog程序的运行步骤不由入来决定。它更像一种描述型的语言,用特定的方法描述一个问题,然后由电脑自动找到这个问题的答案。举个极端的例子,你只需要把某个数学题目告诉它,它就会自动的找到答案,而不像使用其他的语言一样,必须人工的编制出某种算法。 (2)prolog程序中没有if、when、ease、for这样的控制流程语句。 程序的运行方式有电脑自己决定,当然就用不到这些控制流程的语句了。通常情况下,程序员不需要了解程序的运行过程,只需要注重程序的描述是否全面,不过prolog也提供了一些控制流程的方法,这些方法和其他语言中的方法有很大的区别。 (3)prolog程序和数据高度统一。 在prolog程序中,是很难分清楚哪些是程序,哪些是数据的。事实上,prolog中的所有东西都有相同的形式,也就是说数据就是程序,程序就是数据。 (4)prolog程序实际上是一个智能数据库。 prolog的原理就是关系数据库,它足建立在关系数据库的基础上的。在以后的学习中 你会发现它和SOL数据库查询语言有很多相似之处。使用prolog可以很方便的处理数据。 (5)强大的递归功能。 在其它的语言中,你也许已经接触过递归程序了。递归是一种非常简洁的方式,它能够有效的解决许多难题。而在prolog中。递归的功能得到了充分的体现, 4.1.2 Prolog语言基本语句 1、事实 事实用米说明一个问题中已知的对象和它们之间的关系。在Prolog程序中,事实由谓词名及用括号括起来的一个或几个对象组成。谓词和对蒙可由用户自己定义。 例如。谓词likes(bill,book).是一个名为like的关系,表示对象bill和book之间有喜欢的关系。 2、规则 规则由几个互相有依赖性的简单句(滑词)组成,用来描述事实之间的依赖关系。从形式上看.规则由左边表示结论的后件谓词和右边表示条件的前提谓词组成。例如,在本系统中,先要判断是呼吸系统的哪个症状 respiratory(abnormal_b):-breathe(opened_mouth).如果是张嘴呼吸的,说明是呼吸系统症状b。 3、目标(问题) 把事实和规则写进Prolog程序中后,就可|向Prolog询问有关问题的昝案,询问的问题就是程序运行的目标。目标的结构与事实或舰则相同,可以是一个简巾的谓词,也可以是多个谓词的组合。爿标分内、外两种,内部目标写在程序中,外部目标在程序运行时由用户手工键入。例如问题?一student(john).表示“john是学生吗?” 一个Prolog程序的运算是搜索求解的过程。搜索求解的每步或者成功或者失败。在程序执行的特定点上,有可能不止有一种解决。当遇到这样的选择点时。就建立所谓的回溯点。一个回溯点是程序状态的一个记录,及添加一个指针到未执行的选择点。如果它证明了初始的选择不能提供解决方案(即失败),那么程序将回溯到记录过的回溯点,从而恢复程序状态和追踪另一个选择。 回溯的基本原则: 1)自顶向下的逐层搜索原则。子目标必须按自顶向下的顺序被满足。 2)从左到右的顺序扫描原则。谓词予句根据它们在程序中出现的顺序,从左到右,进行测试。 3)规则匹配原则。当子目标与规则头匹配时,接下来将测试规则体。规则体进而又将变成一系列新的耍被满足的子目标。 4)事实匹配原则。当在目标树的某一个末端节点(即叶节点)找到一个匹配的事实时,一个目标就得到满足。回溯过程实现,为了实现一个子目标,Visual Prolog从定义谓词的第一个子句开始搜索。这样会发生下列情况: 1)找到一个匹配子句。发生下列三种情况:①如果有另一个可能再满足该子目标的子句,则visual Prolog将放置一个指针(指示一个回溯点),指向下一个匹配的子句:②所有予目标中的自由变量与子句中的值相匹配,则被绑定为对应的值;③如果匹配子句是规则头.那么规则体接着被评估。为了使调用成功,子目标体必须成功。 2)不能找到一个匹配子句,目标失败。Visual Prolog回溯,试图重新满足前一个子目标。当处理到达最后一个回溯点时,Visual Prolog释放所有回溯点后被赋新值的变量,然后试图霞新满足原始调用。Visual Prolog从程序的顶部开始搜索。当它回溯到一个调用时,新的搜索从所设置的最近一个回溯点开始。如果搜索不成功,则再次回溯。如果回溯用尽所有子目标的全部子句,则目标失败。 4.2 程序调试 4.2.1 推理机的概述     所谓推理是指依据一定的原则从已有的事实出发推出结论的过程。在专家系统中,通常使用基于知识的推理。人类解决问题的能力主要体现在两个方面:一是人类拥有大量的知识,二是人类具有选择知识和应用知识的能力。基于实现知识推理的计算机构成了推理机,因此,推理机就是用来控制、协调整个系统的一组程序。推理机是用来模拟人类专家求解问题的思维活动,它按照一定的推理策略,有效选择知识库中的知识,根据用户提出的问题进行推理,最终推导出问题解答。所以说推理过程是一个思维过程,也是一个搜索的过程。在专家系统中,常用的推理方式有正向推理、反向推理和混合推理。对每种推理又可分为精确推理和不精确推理。根据中医专家系统的特点,本系统采用以反向推理为主,正反向推理相结合的强弱模式匹配的推理策略。诊断性推理采用反向推理。它是以某个假设结论作为出发点的推理,又称为目标驱动推理。首先给出一个假设结论,然后搜索知识库中规则,找到匹配的规则来证明结论的正确性。当找不到匹配的规则时则改变假设,重新进行推理。 4.2.2 推理机的使用 当程序启动后,其情形如下图4—2—2所示。 图4—1 Prolog推理机 当编辑器窗口激活时,选择Engine -> Reconsult,将会把文件装入到推理机。在对话框中,还将得到这样一个消息: Reconsulted from: ....\pie\Exe\FILE4.PRO 无论用编辑器如何装入,其内容都不会保存到文件之中。如果想要保存内容,必须使用菜单命令File -> Save。 菜单File -> Consult不管文件是否因编辑而打开,都会装载磁盘文件中的内容。 一旦查阅过定理,就可以回答各种目标。 在对话框窗口的空白行上,键入一个目标,不带前缀“?-”。例如,键入如图5.3所示的查询代码。     图4—2 键入目标 4.2.2 调试结果     本系统提供三个大方面的疾病症状,包括:呼吸系统,消化系统,头颈症状。呼吸系统又包括:喘气,张口呼吸,尖叫,罗音,咳嗽,流鼻涕;消化系统是指通过观察粪便颜色实现的;头颈主要是观察鸡的动作是否正常,包括:头垂地,头发黑,摇头等症状。本系统大约可诊断出20多种病,根据用户提供的不同症状,在Visual Prolog环境下输入,推理机根据知识库里面的规则和事实推出结果。 例如:当一只鸡出现(黑头头,淡黄色稀粪)这些症状时,诊断是什么疾病? 由下图4—2—1可知,鸡疾病诊断专家系统初步诊断可能为组织滴虫病,症状是有用户提供的,例如这个例子症状是头发黑和淡黄色粪便,在推理机下执行即可。               图4—2—1 鸡滴虫组织病的诊断   下图4—2—2同样为鸡疾病诊断专家系统调试的一个例子,鸡的表现症状为:张口呼吸,粪便中带血。同上也可初步诊断鸡疾病。                 图4—2—2 鸡曲霉菌病的诊断 第五章 毕业设计小结 5.1论文小结     我们这个小组是研究性课题,和其他小组都有些不同。开始时间比较早,当时对毕业设计还没有什么概念,只觉得我们的时间多的是。有时候老师会给我们讲些内容,但是具体还是没怎么弄懂。后来到选毕业设计的题目了,更是茫然了。首先是自己感兴趣的,然后适合于专家系统。首先我确定下来的是减肥方面的题目,但是经过思考,无法形成最后想要的一问一答的效果而放弃。因为家里以前养过鸡的缘故,我最后确定了鸡疾病诊断专家系统。     题目确定下来就是建立知识库了,建立知识库的前提是对鸡疾病有很好的了解。通过在网上下载资料,在图书馆借有关书籍大致总结了鸡疾病的种类。最艰难的时期莫过于建立知识库了。如果进一步的确定是哪种疾病,就要输入更多的信息。开始是这么想的,如果符合下列的症状,就是这种疾病。可是实施起来发现想法不可行。有的鸡并不是所有的症状全都符合,可是它可能也是这种病,所以导致很多因为症状少而无法判断。也许是因为好久不动脑筋的缘故,脑袋明显笨了。最终确定先定义好每一种症状,然后如果出现上述症状大致判断出几种病,再提示用户输入更多的信息,再次确定。这次毕业设计最大的感触是学习能力很重要,可以说以前从没接触过Visua Prolog语言,从学习到应用是一个需要思考的过程。只有学习能力提高了,学习其他不论那一种语言都好,我们就可以很好的掌握及应用。 5.2 知识库发展的趋势     用传统NIn]逻辑所表示的知识是一种完全的知识,其推理是精确推理,但在 客观世界中大多数知识属不完全知识,其推理也属不确定性(非精确)推理。近 年来数据库工作者在研制成功演绎数据库、基于谓词逻辑的知识库系统的基础上 充分引用了人工智能AI的技术和方法,重视了不完全知识、不确定性(非精确) 推理、非经典逻辑(非单调逻辑)的知识库系统的研究,不断改进知识库的演绎 算法、查询优化算法、知识库一致性校验算法及知识库语言等方面的研究,并在 所研制的知识库系统中扩大了知识的表示与处理范围,引入了知识获取和知识学 习机制、改进知识库用户界面。将人工智能与数据库技术相结合深入丌展了数据 挖掘、数据库中的知识发现和数据仓库等技术的研究与应用。在知识库系统体系 结构方面引入了多级知识库,综合知识库、开放分们式环境下多AGENT结构,扩大了知识库应用领域的范围。知识库系统的研究还在不断的完善与健全之中。     当然,开发一个正确的、适用性比较好的专家系统是一项庞大的工程,需要 在实践中不断验证和改进,我们在设计过程中肯定还存在不足,需要各位领域专 家的指正,使系统得到更进一步的完善。其次要使专家系统推广应用到实际当中 去,对养殖业发展起到真正的指导作用。 致谢 这次的毕业论文设计总结是在我的指导老师陶文林老师亲切关怀和悉心指导下完成的。从毕业设计选题到设计完成,陶老师给予了我耐心指导与细心关怀,有了老师耐心指导与细心关怀我才不会在设计的过程中迷失方向,失去前进动力。陶老师有严肃的科学态度,严谨的治学精神和精益求精的工作作风,这些都是我所需要学习的,感谢陶老师给予了我这样一个学习机会,谢谢! 感谢与我并肩作战同学们,感谢关心我支持我的朋友们,感谢学校领导、老师们,感谢你们给予我的帮助与关怀,特别感谢苏州市职业大学三年来为我提供的良好学习环境,谢谢! 参考文献 [1] 陈文伟.决策支持系统及丌发(第二舨).北京:清华大学出版社,2000. [2] 蔡德利.鸡疾病诊断专家系统的设计[J].黑龙江八一农垦大学学报;2000年03期. [3] 张信,杜蔷,马衍忠.鸡病数值诊断与防治[M].天津:天津大学出版社,1997. [4] 林尧瑞,张钹,石纯一.专家系统原理及实践[M].北京:清华大学出版社,1988. [5] 石纯一,黄昌宁,王家廞.人工智能原理 [M].北京:清华大学出版社,1993. [6] 邵军力,张景,魏长华.人工智能基础[M].北京:电子工程出版社,2000. [7] 徐洁磐,马玉书,范明.知识库系统导论.北京:科学出版社(数据库丛书),2000. [8] Joseph 6iarratano,GaryRiley(关)著,印鉴,刘星成,汤庸译.专家系统     原理与编程.北京:机械工业出版社.2000. [9] 敖志刚.人工智能与专家系统导论[M].合肥:中国科技大学出版社,2002. [10] 王永庆.人工智能原理与方法[M].西安:西安交通大学出版社,1998. [11] 武波[马玉祥].专家系统[M].北京:北京理工大学出版社,2001. 附录一 源程序 respiratory(abnormal_a):-breathe(pant). respiratory(abnormal_b):-breathe(opened_mouth). respiratory(abnormal_c):-breathe(screams). respiratory(abnormal_d):-breathe(rale). respiratory(abnormal_e):-breathe(cough). respiratory(abnormal_f):-breathe(runny_nose). respiratory(normal):-breathe(normal). head_neck(abnormal_1):- head(black). head_neck(abnormal_2):- head(edema). head_neck(abnormal_3):- head(hang). head_neck(abnormal_4):- head(shaking). head_neck(normal):- head(normal). digestion(abnormal1):- feces(white_loose). digestion(abnormal2):- feces(black_loose). digestion(abnormal3):- feces(red). digestion(abnormal4):- feces(green). digestion(abnormal5):- feces(flaxen_loose). digestion(normal):- feces(normal). chicken(histomoniasis):- respiratory(normal), head_neck(abnormal_1), digestion(abnormal3). chicken(histomoniasis):- respiratory(normal), head_neck(abnormal_1), digestion(abnormal5). chicken(ai):-    respiratory(abnormal_b), head_neck(abnormal_2), digestion(normal). chicken(ai):-    respiratory(abnormal_e), head_neck(abnormal_2), digestion(normal). chicken(ai):-    respiratory(abnormal_c), head_neck(abnormal_2), digestion(normal). chicken(ibd):- respiratory(normal), head_neck(abnormal_3), digestion(abnormal1). chicken(ibd):- respiratory(normal), head_neck(abnormal_3), digestion(normal). chicken(md):- respiratory(normal), head_neck(abnormal_3), digestion(normal). chicken(infectious coryza):- respiratory(normal), head_neck(abnormal_3), digestion(normal). chicken(infectious coryza):- respiratory(abnormal_f), head_neck(abnormal_3), digestion(normal). chicken(md):- respiratory(abnormal_b), head_neck(abnormal_3), digestion(normal). chicken(infectious_coryza):- respiratory(abnormal_b), head_neck(abnormal_3), digestion(normal). chicken(ib):- respiratory(abnormal_b), head_neck(abnormal_4), digestion(normal). chicken(ib):- respiratory(abnormal_d), head_neck(abnormal_4), digestion(normal). chicken(avian_aspergillosis):- respiratory(abnormal_b), head_neck(abnormal_4), digestion(normal). chicken(infectious_coryza):- respiratory(abnormal_b), head_neck(abnormal_4), digestion(normal). chicken(newcastle_disease):- respiratory(normal), head_neck(abnormal_4), digestion(normal). chicken(avian_aspergillosis):- respiratory(abnormal_f), head_neck(abnormal_4), digestion(normal). chicken(avian_aspergillosis):- respiratory(abnormal_a), head_neck(abnormal_4), digestion(normal). chicken(ib):- respiratory(abnormal_d), head_neck(abnormal_4), digestion(normal). chicken(avian_pox):- respiratory(abnormal_b), head_neck(normal), digestion(normal). chicken(mycoplasma_gallisepticam_infection ):- respiratory(abnormal_b), head_neck(normal), digestion(normal). chicken(plasmodium gallinaceum):- respiratory(abnormal_e), head_neck(normal), digestion(abnormal4)。 chicken(mycoplasma_gallisepticam ):- respiratory(abnormal_e), head_neck(normal), digestion(normal). chicken(cryptosporidiosis ):- respiratory(abnormal_e), head_neck(normal), digestion(normal). chicken(newcastle_disease):- respiratory(abnormal_e), head_neck(normal), digestion(normal). chicken(avian_aspergillosis):- respiratory(abnormal_f), head_neck(normal), digestion(normal). chicken(mycoplasma_gallisepticam):- respiratory(abnormal_d), head_neck(normal), digestion(normal). chicken(ailt):- respiratory(abnormal_d), head_neck(normal), digestion(normal). chicken(ailt):- respiratory(abnormal_d), head_neck(normal), digestion(). chicken(infectious coryza):- respiratory(abnormal_e), head_neck(abnormal_4), digestion(abnormal4). chicken(infectious coryza):- respiratory(abnormal_f), head_neck(abnormal_4), digestion(normal). chicken(newcastle disease):- respiratory(abnormal_e), head_neck(abnormal_4), digestion(abnormal4). chicken(newcastle disease):- respiratory(abnormal_e), head_neck(abnormal_4), digestion(normal). chicken(newcastle_disease):- respiratory(normal), head_neck(abnormal_4), digestion(abnormal4). chicken(fowl_typhoid):- respiratory(abnormal_a), head_neck(normal), digestion(normal). chicken(avian_aspergillosis):- respiratory(abnormal_a), head_neck(normal), digestion(normal). chicken(fowl_typhoid):- respiratory(abnormal_a), head_neck(normal), digestion(abnormal1). chicken(poultry_gout):- respiratory(abnormal_a), head_neck(normal), digestion(abnormal1). chicken(AILT):- respiratory(abnormal_a), head_neck(normal), digestion(abnormal4). chicken(poultry_gout):- respiratory(normal), head_neck(normal), digestion(abnormal1). chicken(fowl_typhoid):- respiratory(normal), head_neck(normal), digestion(abnormal1). chicken(fowl_typhoid):- respiratory(abnormal_b), head_neck(normal), digestion(abnormal1). chicken(necrotic_enteritis):- respiratory(normal), head_neck(normal), digestion(abnormal2). chicken(coccidiosis):- respiratory(normal), head_neck(normal), digestion(abnormal3). chicken(nematodosis):- respiratory(normal), head_neck(normal), digestion(abnormal3). chicken(necrotic_enteritis):- respiratory(normal), head_neck(normal), digestion(abnormal3). chicken(avian_arizonosis):- respiratory(normal), head_neck(normal), digestion(abnormal3). chicken(avian_arizonosis):- respiratory(abnormal_b), head_neck(normal), digestion(abnormal3). chicken(botulism):- respiratory(normal), head_neck(normal), digestion(abnormal4). chicken(plasmodium_gallinaceum):- respiratory(normal), head_neck(normal), digestion(abnormal4). chicken(leucocytozoonosis):- respiratory(normal), head_neck(normal), digestion(abnormal4). chicken(avian_leukosis):- respiratory(normal), head_neck(normal), digestion(abnormal4). chicken(avian_streptococcosis):- respiratory(normal), head_neck(normal), digestion(abnormal5).
/
本文档为【疾病诊断专家系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索