人工智能实验4三-专家系统方案
- 格式:doc
- 大小:58.00 KB
- 文档页数:7
人工智能专家系统人工智能(Artificial Intelligence,简称AI)专家系统是一种基于计算机技术和人类专家经验的智能化系统。
它能够模拟和实现人类专家在特定领域的问题解决能力,可以用于辅助决策、问题诊断和解决方案推荐等方面。
本文将从专家系统的定义、原理、组成和应用等四个方面进行论述。
一、专家系统的定义专家系统是一种基于知识工程的人工智能系统,它通过模拟和利用领域专家的经验和知识来解决特定领域的问题。
专家系统主要由知识库、推理机和用户界面三部分组成。
知识库存储了经验和知识,推理机则对知识进行推理和运算,用户界面则提供了用户与系统进行交互的接口。
二、专家系统的原理专家系统的原理可以概括为知识获取、知识表示、知识推理和知识应用四个步骤。
知识获取是指将专家的经验和知识进行提取和整理,并存储到系统的知识库中;知识表示是指将知识以适当的形式进行表达和组织,以便系统能够理解和推理;知识推理是指根据系统中的知识,通过推理机对问题进行分析和推理;知识应用是指将推理得到的结果转化为实际解决方案,供用户使用。
三、专家系统的组成专家系统主要由知识库、推理机和用户界面三部分组成。
知识库是专家系统存储知识和经验的地方,常见的形式包括规则库、案例库和模型库等。
推理机是专家系统进行推理和运算的核心组件,它能够根据知识库中的知识进行逻辑推理和问题求解。
用户界面则提供了用户与系统进行交互的接口,使用户能够方便地向系统提供问题并获取解决方案。
四、专家系统的应用专家系统在各个领域都有广泛的应用。
在医疗领域,专家系统可以用于辅助疾病诊断和治疗方案选择;在金融领域,专家系统可以用于风险评估和投资决策;在工业领域,专家系统可以用于故障诊断和维修指导。
此外,专家系统还可以应用于法律、教育、交通等领域,为人们提供更加智能化和便捷化的服务。
综上所述,人工智能专家系统是一种基于计算机技术和人类专家经验的智能化系统。
它能够模拟和实现人类专家在特定领域的问题解决能力,具有广泛的应用前景。
人工智能专家系统课程教案教学内容:本章主要介绍专家系统的定义、结构、特点和类型,分析了基于规则的专家系统、基于框架的专家系统和基于模型的专家系统,归纳了协同式和分布式等新型专家系统,并结合实例介绍了专家系统的设计方法和开发工具。
教学重点:专家系统的特点、专家系统的类型、专家系统的设计等。
教学难点:专家系统的设计。
教学方法:课堂教学为主。
注意结合学生前面所学的人工智能原理、知识的表示等内容,及时提问加深学生对基本原理和概念以及专家系统开发设计等的理解。
利用网络课程中的相关内容,协助对抽象概念的理解。
教学要求:重点掌握专家系统的基本概念和设计,掌握基于规则、基于模型、基于框架的专家系统,了解新型专家系统的一些概念和类型,一般了解专家系统的开发工具以及评价方法。
1专家系统概述教学内容:本小节讨论专家系统的一些基本概念,介绍专家系统的定义、结构、特点和类型。
本小节内容是本章的一个重点,是深入学习讨论专家系统的基础。
教学重点:专家系统的定义、专家系统的结构、专家系统的一般特点、各类专家系统的任务和特点。
教学难点:专家系统的结构与建造步骤。
教学方法:主要通过课堂教学,讲解各种基本概念和系统结构,归纳专家系统的一般特点,分析各类专家系统的任务、特点并进行举例教学要求:重点掌握专家系统的定义与基本结构,掌握专家系统的特点,了解专家系统的类型1.1专家系统的特点1、定义专家系统是一个含有大量的某个领域专家水平的知识与经验智能计算机程序系统,能够利用人类专家的知识和解决问题的方法来处理该领域问题。
简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
2、专家系统特点启发性:专家系统能运用专家的知识与经验进行推理、判断和决策。
透明性:专家系统能够解释本身的推理过程和回答用户提出的问题,以便让用户能够了解推理过程,提高对专家系统的信赖感。
灵活性:专家系统能不断地增长知识,修改原有知识,不断更新。
3、专家系统的优点具体地说,包括下列八个方面:(1)专家系统能够高效率、准确、周到、迅速和不知疲倦地进行工作。
《人工智能》实验报告
一、实验目的
本实验旨在通过实际操作,加深对人工智能的理解,探索人工智能在不同领域的应用。
二、实验过程
1. 准备数据集:选取一个合适的数据集作为实验对象,确保数据质量和多样性。
2. 数据预处理:对选取的数据进行清洗、去噪和标准化等预处理操作。
3. 选择模型:根据实验要求,选择适合的人工智能模型,如神经网络、决策树等。
5. 模型评估:使用测试数据评估模型的性能指标,如准确率、召回率等。
6. 结果分析:对模型的性能进行分析和解释,提出改进意见。
三、实验结果
根据实验所选取的数据集和模型,得到了以下实验结果:
- 在测试数据集上,模型的准确率达到了 Y%。
- 模型的召回率为 Z%。
四、实验总结
通过本次实验,我更深入地了解了人工智能的工作原理和应用
方法,掌握了数据预处理、模型训练和评估的基本流程。
同时,也
发现了一些可以改进的地方,如增加数据集规模、尝试其他模型等。
这些经验对于今后的研究和实践具有重要意义。
五、参考文献
[1] 参考文献1
[2] 参考文献2
...。
人工智能的专家系统技术导言:人工智能(Artificial Intelligence,AI)是一门研究如何使计算机可以像人一样智能地执行任务的学科。
专家系统是其中一种应用广泛的人工智能技术,它模仿人类专家的知识和推理能力,通过计算机实现对复杂问题的解决和决策。
一、专家系统的概述专家系统是一种基于知识的计算机系统,能够模拟人类专家的决策过程,对特定领域的问题进行分析和解决。
它主要由知识库、推理机和用户界面组成。
专家系统的知识库是存储各种领域专家知识的地方,包括事实、规则、经验、案例等。
知识库使用特定的语言表示和存储知识,使得专家系统能够在特定领域中模拟专家的决策过程。
推理机是专家系统的核心,它通过使用专家系统的知识库和推理规则对问题进行推理和决策。
推理机根据用户输入的问题和已有的知识,进行搜索和匹配,产生一系列推理结果。
推理机还可以根据问题的特点,使用不同的推理方式,如正向推理、反向推理、混合推理等。
用户界面是专家系统与用户之间的桥梁,用户通过界面与专家系统交互,输入问题和获取答案。
用户界面可以是命令行界面、图形界面或自然语言界面等,使得用户能够方便地使用专家系统。
二、专家系统的组成1. 知识获取知识获取是专家系统开发的第一步,它通过采访领域专家、查阅文献、观察现场等方式,收集专家知识并转化为计算机可识别的形式。
知识获取的关键是提取和表示知识,需要选择适当的表示方法和知识表示语言。
2. 知识表示知识表示是将采集到的知识以适当的形式表示和存储,使得计算机可以理解和使用这些知识。
常用的知识表示方法有规则表示、语义网络表示、框架表示等。
规则表示是最常用的方法,将知识表示为一系列条件-动作规则,通过匹配规则,实现对问题的推理和决策。
3. 知识推理知识推理是专家系统的核心功能,它利用知识库和推理规则对问题进行推理和决策。
专家系统的推理机通常采用基于规则的推理方法,通过匹配规则和问题,产生推理结果。
推理过程可以是正向推理、反向推理或混合推理,根据问题的特点,选择合适的推理方式。
《人工智能导论》课程实验大纲实验学时:8 课程总学时:46适用专业:计算机科学与技术、软件工程实验项目数:1开课教研室(系):计算机工程大纲执笔人:廉师友一、课程实验的基本理论和目的《人工智能导论》课程主要讲述搜索与问题求解、知识表示与推理、机器学习与知识发现、专家系统、Agent系统、智能化网络和智能程序设计等。
其中专家系统及其设计与实现,涉及该课程的大部分内容,如知识表示与推理、搜索与问题求解、专家系统和智能程序设计等,而且实践性和应用性都很强。
因此,该课程将专家系统设计与实现作为一个上机实验项目,以加深学生对课程内容的理解和掌握,并培养学生综合运用所学知识开发智能系统的初步能力和独立分析问题、解决问题的能力。
二、课程实验的基本要求1.实验前,要认真阅读实验指导书,明确实验目的、内容、方法、步骤和目标;2.自选具体的应用领域,白拟具体的系统名称,但内容绝对不能雷同;3.所实现的专家系统必须上机运行演示;4.提交实验报告。
三、实验项目的设置、内容和学时分配实验项目:1个实验题目:小型专家系统设计与实现(具体应用领域由学生自选,具体系统名称由学生自定。
)实验内容:知识获取与表示、知识库组建、推理机选择/编制、系统调试与测试。
实验学时:8学时四、实验课的考核方法与评分办法采用实验过程考查、实验结果验收和实验报告评阅相结合的考核方法,综合评定实验成绩。
其具体评分标准如下:1.实验准备(所需数据、程序、图形等)20分;2.实验过程(态度、操作、处理问题能力等)20分;3.实验结果(正确性、可用性、创新性等)40分;4.实验报告(格式、内容(翔实、无误)、叙述等)20分;满分共计100分。
审定人: 批准人:。
人工智能与专家系统人工智能(Artificial Intelligence,)AI 是一门旨在模拟、延伸和扩展人类智能的学科,涉及机器学习、自然语言处理、计算机视觉、知识表示和推理等领域。
而专家系统(Expert System)则是人工智能的一个重要应用领域,它通过运用专家知识和推理技术,模拟人类专家的思维过程,解决具有专门知识领域的问题。
一、人工智能的发展与应用从最早的机器学习算法到如今的深度学习网络,人工智能技术已经取得了巨大的突破。
人工智能已广泛应用于自动驾驶、语音识别、图像识别、机器翻译等领域,成为当今科技发展的关键驱动力。
人工智能的快速发展使得专家系统在各个领域中有了更广泛的应用。
二、专家系统的基本原理与结构专家系统是一种模拟专家决策过程的计算机程序。
它由知识库、推理机和解释器三个主要部分组成。
知识库储存专家的知识和规则,推理机根据知识库中的知识和规则进行推理和决策,而解释器则负责解释推理结果并与用户进行交互。
三、专家系统在医疗领域的应用专家系统在医疗领域的应用十分广泛。
例如,利用专家系统可以帮助医生进行疾病诊断与治疗方案的选择,提高医疗效率和诊断准确性。
专家系统还可以用于监测患者的生理参数,实时预警并提供相应的治疗建议。
四、专家系统在金融领域的应用在金融领域,专家系统可以帮助投资人进行投资决策、风险评估和资产配置。
通过分析市场数据和行业动态,专家系统可以提供准确的投资建议,辅助投资人做出更明智的决策。
五、专家系统在工业制造中的应用专家系统在工业制造中的应用也非常广泛。
它可以通过分析生产数据和设备状态,实现智能化生产调度和故障预测。
借助专家系统,企业可以提高生产效率、降低生产成本,并实现工业制造的智能化转型。
六、专家系统的优势与挑战专家系统具有快速决策、高效率和可靠性等优势,可以有效提高工作效率和决策准确性。
然而,专家系统在知识获取、知识表示和知识更新等方面仍面临挑战。
由于领域知识的复杂性和不断变化,专家系统需要不断学习和更新知识,以保持其应用的准确性和可靠性。
人工智能与专家系统(一)引言概述:人工智能(AI)和专家系统(ES)是现代科技领域中备受关注的热门话题。
AI与ES以其独特的方式对问题进行分析和解决,其应用涵盖了各个行业和领域。
本文将介绍人工智能与专家系统的基本概念和原理,并探讨它们在实际应用中的五个重要方面。
正文:一、人工智能的概念和特点1. 人工智能的定义和发展历程2. 人工智能的特点和主要应用领域3. 人工智能的智能表达和学习能力4. 人工智能的算法和技术方法5. 人工智能的优势和挑战二、专家系统的原理和构建方法1. 专家系统的基本原理和概念2. 专家系统的知识表示和推理机制3. 专家系统的知识获取和知识库构建4. 专家系统的规则引擎和推理引擎5. 专家系统的开发工具和平台选择三、人工智能与专家系统在医疗行业的应用1. 人工智能在疾病诊断和治疗方面的应用2. 专家系统在药物设计和医学研究中的应用3. 人工智能在医疗保健管理和健康监测中的应用4. 专家系统在医疗决策支持系统中的应用5. 人工智能与专家系统在医疗领域的前景和挑战四、人工智能与专家系统在智能交通领域的应用1. 人工智能在智能交通系统中的应用和作用2. 专家系统在交通信号优化和路况预测中的应用3. 人工智能与专家系统在车辆自动驾驶方面的应用4. 专家系统在交通管理和规划中的应用5. 人工智能与专家系统在智能交通领域的展望和挑战五、人工智能与专家系统在金融行业的应用1. 人工智能在金融风控和信用评估中的应用2. 专家系统在金融投资和交易决策中的应用3. 人工智能在反欺诈和网络安全中的应用4. 专家系统在金融市场预测和分析中的应用5. 人工智能与专家系统在金融行业的前景和挑战总结:人工智能和专家系统的应用领域正在不断扩大和深化,它们在医疗、交通和金融等行业中展示出了巨大的潜力。
然而,随着应用范围的扩大,诸如数据隐私、伦理道德等挑战也逐渐凸显出来。
因此,进一步深入研究和探索,不断完善和优化人工智能与专家系统,成为促进社会发展和改善人类生活质量的重要任务。
专家系统设计与实现随着科学技术的不断进步,计算机在我们日常生活中的应用也越来越广泛。
在企业管理、医疗诊断、金融领域等各个领域中,计算机已经成为一个不可或缺的工具。
随着人工智能的发展,专家系统也逐渐成为一个可以与人互动的解决方案。
在这篇文章中,我们将探讨如何实现一个高效的专家系统。
一、什么是专家系统?专家系统是一种利用计算机模拟人类专家经验和知识的系统。
它可以用于解决高度复杂的问题,并帮助人们做出更好的决策。
不同于其他类型的软件,专家系统需要通过分析问题,建立知识库,设计推理算法等方法来实现其功能。
二、专家系统的设计和实现1.问题分析在设计一个专家系统之前,我们需要对待解决的问题进行详细分析。
这意味着我们需要了解问题的所有方面,并识别专家系统需要解决的困难和障碍。
这种分析有助于确定知识库的范围和内容,以及特定领域中的相关知识领域。
2.知识库设计准备好问题分析后,要准备知识库。
知识库是专家系统中最重要的部分,因为他们包含专家的大量经验和知识。
这样,它可以用来推理问题解决方案。
设计知识库的关键是收集输入参数和推理规则。
在这一过程中,我们需要考虑多个方面,包括问题主题的现状,经验和证明结果。
3.推理引擎设计推理引擎是一个通过诊断用户输入数据来推断问题的解决方案的过程。
在编写推理算法之前,需要确定特定领域的推理量表准则。
例如,在医学领域,开发专业的推理引擎需要考虑病症的严重程度和紧迫性。
基于这些判断标准,推理引擎可以确定处理问题的最佳方法。
4.用户界面设计除了知识库和推理引擎,一个高效的专家系统还需要包括用户界面,可提供信息的明确界面和用户友好程度也很重要。
这将使用户能够根据问题进行迅速的操作和推理,减少混淆和误差。
5.系统测试专家系统的最后一步是进行测试。
进行密切合作后,系统一旦被投入使用,需要进行实际运行测试。
在这个过程中,需要检测系统是否可以解决特定领域中的所有问题,并根据实际结果检测系统的准确性和效率。
人工智能及应用实验指导书前言《人工智能及应用》课程实验的目的是为了配合课堂教学,进一步强化对人工制能的不同实现途径的理解。
实验的任务是要结合相关的人工智能语言平台(PROLOG语言),熟练掌握和深入理解课堂教学内容。
帮助学生更好地学习本课程,理解和掌握人工智能算法设计与实现所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计等各环节的训练,使学生深刻理解、牢固掌握所用到的一些原理与技术。
实验中的内容和教科书的内容是密切相关的,在反复实践的过程中才能掌握。
使学生在掌握抽象人工智能理论的基础之上学到更多可操作性很强的智能算法技术及实践经验。
目录实验一 Prolog语言及逻辑程序设计 (1)实验二搜索策略实验 (3)实验三专家系统实验 (6)实验一 Prolog语言及逻辑程序设计一、实验目的加深学生对逻辑程序运行机理的理解,使学生掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。
1、熟悉PROLOG语言编程环境的使用;2、了解PROLOG语言中常量、变量的表示方法;3、了解利用PROLOG进行事实库、规则库的编写方法。
二、实验环境计算机,Visual PROLOG教学软件。
三、预习要求实验前应阅读实验指导书,了解实验目的、预习PROLOG语言的相关知识。
四、实验内容1、学习使用Visual PROLOG,包括进入PROLOG主程序、编辑源程序、修改环境目录、退出等基本操作。
2、在Visual prolog集成环境下调试运行简单的Visual PROLOG程序。
3、编写一个描述亲属关系的PROLOG程序,然后再给出一些事实数据,建立一个小型演绎数据库。
可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他亲属关系。
4、修改教材2.2节例2.9的程序,使其能输出图中所有路径(path)。
五、实验方法和步骤1、启动Windows 操作环境。
人工智能如何进行专家系统设计?专家系统作为人工智能领域的重要组成部分,是基于专家知识和经验构建的一种智能化系统。
它在解决复杂问题、做出决策等方面具有巨大的潜力和应用前景。
那么,人工智能如何进行专家系统设计呢?下面将从需求分析、知识获取、知识表示、推理机制等方面展开介绍。
一、需求分析专家系统设计的第一步是需求分析,也是整个设计过程的基础。
在这一阶段,我们需要准确地了解用户的真实需求和问题的特点,以便为其提供有效的解决方案。
需要明确的问题是:用户需要什么样的专家系统?专家系统需要解决哪些问题?这些问题具有怎样的特点和难度?在需求分析阶段,我们还需要考虑到专家系统与用户的交互方式。
根据用户的使用习惯和掌握专业知识的程度,我们可以设计出适合的交互界面,以便用户更好地理解和使用专家系统。
二、知识获取知识获取是专家系统设计的核心环节,也是建立专家系统的关键步骤。
在这个阶段,我们需要从领域专家那里获取专业知识,并将其转化为专家系统可以理解和处理的形式。
知识获取的方式主要包括:面对面访谈、问卷调查、文献研究等。
通过与领域专家的交流和深入研究,我们可以获取到丰富而有用的知识。
此外,还可以借助自然语言处理技术,将大量的文本资料转化为可供专家系统使用的知识。
三、知识表示知识表示是将获取到的知识按照一定的结构和形式进行组织和表示的过程。
一个合理的知识表示方式可以提高专家系统的性能和可扩展性。
常见的知识表示方法有:规则表示、框架表示、语义网络表示等。
其中,规则表示是最常用的一种方法,通过事实和规则的形式来表达知识。
框架表示则是以“类-实例”的形式对知识进行表示,而语义网络则通过节点和边的连接来表示事物之间的关系。
四、推理机制推理机制是专家系统核心的功能之一,它可以根据已有的知识进行演绎、推理和决策,在问题求解过程中起到关键的作用。
推理机制可以分为两类:前向推理和后向推理。
前向推理从已知的事实出发,根据规则和知识进行推理与演绎,得出新的结论。
人工智能中的医学专家系统一、医学专家系统的定义医学专家系统是一种基于人工智能技术的计算机系统,能够模拟医学专家的知识和经验,帮助医生进行疾病诊断、治疗方案选择和医学研究。
医学专家系统可以根据患者的症状、体征和病史等信息,结合医学知识库和推理机制,生成诊断结果和治疗建议。
它可以帮助医生提高诊断的准确性和治疗的效果,减少误诊和漏诊的发生。
医学专家系统的实现基于人工智能技术的三个核心组成部分:知识表示、推理机制和学习能力。
1.知识表示:医学专家系统通过建立医学知识库来表示专家的知识和经验。
知识库包括诊断依据、疾病特征、治疗方案、疗效评估等医学知识,并以逻辑、规则、概念网络等形式进行描述和组织。
知识库的建立需要医学专家的参与,通过专家知识的抽取、整理和表示,构建了医学专家系统的核心。
2.推理机制:医学专家系统采用推理机制模拟专家的思维和决策过程,根据患者的症状信息和知识库中的规则、逻辑等进行推理,生成诊断结果和治疗建议。
推理机制包括基于规则的推理、基于案例的推理、基于模型的推理等,能够根据不同的病例进行灵活推理,生成个性化的诊断和治疗方案。
3.学习能力:医学专家系统通过不断学习丰富和更新知识库,提高系统的诊断和治疗能力。
它可以通过挖掘临床数据、学习医学文献、接受专家指导等方式,不断更新知识库,提高系统的准确性和适用性。
医学专家系统在医学领域有着广泛的应用,主要包括疾病诊断、治疗规划、药物推荐和医学教育等方面。
2.治疗规划:医学专家系统可以根据患者的疾病类型、临床表现、个体特征等信息,结合知识库和推理机制,生成个性化的治疗方案和监测策略,提高治疗的针对性和效果。
3.药物推荐:医学专家系统可以根据患者的病情、病史和药物特征,结合知识库和推理机制,推荐合适的药物种类、用药剂量和药物相互作用等信息,提高用药的安全性和有效性。
4.医学教育:医学专家系统能够成为医学教育的工具,提供临床案例、病例分析、诊断推理等教育内容,帮助医学生和医生不断学习和提升临床能力。
《人工智能导论》实验报告
一、实验题目:识别型专家系统设计
————识别动物专家系统
二、实验目的
1、掌握专家系统的基本构成
2、掌握用人工智能程序设计语言编制智能程序的方法
三、实验容
1、所选编程语言:C语言;
2.拟订的规则:
(1)若某动物有奶,则它是哺乳动物。
(2)若某动物有毛发,则它是哺乳动物。
(3)若某动物有羽毛,则它是鸟。
(4)若某动物会飞且生蛋,则它是鸟。
(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。
(6)若某动物是哺乳动物且吃肉,则它是食肉动物。
(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。
(8)若某动物是哺乳动物且反刍食物,则它是有蹄动物。
(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。
(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。
(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。
(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。
(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。
(15)若某动物是鸟且善飞,则它是海燕。
2、设计思路:
用户界面:采用问答形式;
知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时也建立了事实库。
事实库是一个动态链表,一个事实是链表的一个结点。
知识库通过事实号与事实库发生联系。
数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果;
推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库中的规则对综合数据库中的数据进行逻辑操作。
推理机担负两项基本任务:一是检查已有的事实和规则,并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。
将推理机制同规则对象封装在一起,事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结论为真,否则系统不知道结论真假。
3、程序流程图:
程序运行如下:
以老虎,金钱豹,长颈鹿为例画出程序流程图如下:
四、程序编制:
程序包括知识库,数据库,推理机:
#include "Fact.h"
#include "Rule.h"
#include <stdio.h>
fact *Fact;
//事实集(概念集)
char *str[]={"",
"反刍" /* 1 */, "有蹄" /* 2 */, " 哺乳类" /* 3*/, "眼前" /* 4 */, "有爪" /* 5 */, "犬齿" /* 6 */, "吃肉" /* 7 */, "下蛋 " /* 8 */, " 能飞" /* 9*/, "羽毛" /* 10 */, "有蹄类" /* 11 */, "食肉类" /* 12 */, "鸟类" /* 13 */, "有奶" /* 14 */, "毛发" /* 15 */,
"善飞" /* 16 */, "黑色白条纹"/* 17 */, "游泳" /* 18 */,
"长腿" /* 19 */, "长脖子" /* 20 */, "黑条纹" /* 21 */, "暗斑点" /* 22 */, "黄褐色" /* 23 */, "海燕" /* 24 */,
"企鹅" /* 25 */, "鸵鸟" /* 26 */, "斑马" /* 27 */, "长颈鹿" /* 28 */, "老虎" /* 29 */, "金钱豹" /* 30 */, "\0"
};
//规则之前件(条件)集,注意与下面对应
int rulep[][6]={
{22,23,12,3,0,0}, /*金钱豹30*/ {21,23,12,3,0,0}, /*老虎29*/ {22,19,20,11,0,0}, /*长颈鹿 28*/
21,17,0,0,0,0}, /*斑马27*/ {17,19,20,13,-9,0}, /*鸵鸟26*/ {17,18,13,-9,0,0}, /*企鹅 25*/
{13,16,0,0,0,0}, /* 海燕24*/ {15,0,0,0,0,0}, /*哺乳类3*/ {14,0,0,0,0,0}, /*哺乳类 3*/
{10,0,0,0,0,0}, /*鸟类13*/ {8,9,0,0,0,0}, /*鸟类13*/ {3,7,0,0,0,0}, /*食肉类 12*/
{3,4,5,6,0,0}, /*食肉类12*/ {3,2,0,0,0,0}, /*有蹄类11*/ {3,1,0,0,0,0} /*有蹄类 11*/
};
//规则之后件(结论)集,注意与上面对应
int rulec[]={
30, 29, 28,
27, 26, 25,
24, 3, 3,
13, 13, 12,
12, 11, 11
}; //前7个是要识别的动物
int main()
{ fact *F,*T;
rule *Rule,*R;
char ch[8];
int i=1;
Fact=NULL; //事实链表初始为空
while(strcmp(str[i], "\0")!=0) //在事实链表中填入事实,注意:前插
入 { F=new fact(i,str[i++]);
F->Next=Fact;
Fact=F;
}
F=Fact;
Fact=NULL;
while(F)
{ //倒转上面前插入的事实链表。
inverted the upper link
T=F;
F=F->Next;
T->Next=Fact;
Fact=T;
}
ch[0]='R';ch[1]='U';ch[2]='L';ch[3]='E';ch[4]='_';ch[5]='a';ch[6] ='\0';
Rule=NULL; //规则链表初始为空
for (i=0;i<15;i++) //link the rule
{
R=new rule(ch,rulep[i],rulec[i]);
R->Next=Rule;
Rule=R;
ch[5]++;
}
R=Rule;
for (;;) //开始询问用户。
Query
{ i=R->Query(Fact);
if((i==1)) break; //如果返回“真”,则推理成功,并可以给出最后专家答案!
R=R->Next;
if(!R) break; //所有规则都扫描完,R为空,则退出!
}
if(!R) cout<<endl<<"I don't know"; //所有规则都扫描完的退出,表明无法得到答案,
cout<<endl<<"Press any bar to exit!";
getchar();
return True;
}
五、实验总结
本次识别型专家系统可以采用多种语言编程,如vc,vb,prolog等等,选用c语言设计成动物识别型专家系统;
通过本次专家系统的设计,使我懂得了专家系统的组成,一个简单的专家系统由用户界面,知识库,数据库,推理机,解释机构,知识获取机构;懂得了专家系统的类别,分为解释型,预测型,诊断型,设计型,控制型,管理型专家系统;专家系统的推理机分为正向推理和反向推理,一般选用正向推理;在运行程序的过程中,我认识到智能系统的实践性和理论性的结合;
在规则库里可以增删规则,得到新的识别型专家系统,如识别鸟类,花,交通工具等等;
通过此次设计型实验,在一定程度上锻炼了自己的设计能力和编程能力;。