动物识别专家系统简介
- 格式:doc
- 大小:40.50 KB
- 文档页数:4
专家系统实例
专家系统是一种基于知识推理的智能信息系统,用于解决特定领域的问题。
它们利用专家知识和推理规则,通过询问用户的问题来识别问题的本质,然后提供相应的解决方案。
以下是一些专家系统实例: 1. 动物识别专家系统:该实例是一个基于人工智能技术的专家系统,用于识别动物物种。
它利用了计算机视觉和自然语言处理技术,通过询问用户有关动物的特征和属性来识别动物。
2. 医学诊断专家系统:该实例是一个用于医学诊断的专家系统,它利用医学知识和推理规则,通过对用户提供的症状和疾病特征进行分析,从而作出准确的医学诊断。
3. 工业控制专家系统:该实例是一个用于工业控制的专家系统,它利用控制理论和推理技术,通过对用户提供的控制命令进行分析和优化,以实现更高效、更安全的工业控制。
4. 农业施肥专家系统:该实例是一个用于农业施肥的专家系统,它利用植物营养知识和推理规则,通过对用户提供的肥料信息和植物需求进行分析,从而提供最佳的施肥方案。
这些专家系统实例展示了人工智能技术在各个领域的应用,可以帮助用户解决各种复杂问题。
•简单动物识别系统的知识表示• 1. 实验目的•理解产生式知识表示方法,能够用选定的编程语言设计产生式系统的规则库和综合数据库。
• 2. 实验环境•在微型计算机上,选一种编程语言。
• 3. 实验要求•(1) 以动物识别系统的产生式规则为例。
•(2) 用选定的编程语言建造知识库和综合数据库,并能对它们进行增加、删除和修改操作。
•学习任务•通过网络搜索,以“专家系统的作用”为主题进行调查。
搜集各种应用专家系统的实例,分析其用途,并根据不同的用途进行分类。
•请上网查找专家系统的相关资料,从不同的角度追溯专家系统的发展史。
•作品结果:把上面两个任务结果,形成一个WORD文档。
其中对专家系统的用途分类形成一个表格。
•用Intermodeller设计一个小型的专家系MYCIN是一个通过提供咨询服务来帮助普通内科医生诊治细菌感染性疾病的专家系统,其于1972年开始研制,74年基本完成,并投入实际应用。
MYCIN的取名来自多种治疗药物的公共后缀,如clindamycin、erythromycin、kanamycin等。
如果说能推测有机化合物分子结构的DENDRAL是世界上第一个有重要实用价值的专家系统,那末MYCIN则是最有影响力的专家系统。
围绕着MYCIN的各种研究工作一直沿续了10年,对于推动知识工程以及专家系统学科的建立和发展具有重要影响。
可以说,早期的专家系统,尤其是医疗诊断和咨询型专家系统,许多都参照了MYCIN系统的技术,如知识表示、不确定推理、推理解释、知识获取等。
MYCIN也设计为典型的产生式系统,由规则库、综合数据库和控制系统三个部分组成;只是基于规则的推理采用逆向方式,即从问题求解的目标出发,搜寻原始证据对于目标成立的支持,并传递和计算推理的不确定性。
从KB系统的组成来看,规则库就是MYCIN的知识库,综合数据库和控制系统联合形成推理机。
其中,综合数据库用以保存问题求解的原始证据(初始状态)和中间结果。
动物识别专家系统-------胡沧粟—058动物识别系统由多种规那么来判别,第一原那么是依照是哺乳动物仍是鸟类来区别大类。
然后依照在哺乳动物类里成立规那么:食肉动物,非食肉,黄褐色,有斑点,长脖子,黑白两色来区分老虎,金钱豹,长颈鹿和斑马。
鸟类里面建议规那么:会飞,可不能飞,长腿,黑白两色来区分信天翁,企鹅和鸵鸟。
将书本上的规那么适当进行了简化,并利用界面的人性化来诱导人们更好的利用软件。
程序由c#语言编写。
本程序系统在考虑到整体结构相同的结构下,将规那么进行了优化。
先将哺乳动物与非哺乳动物进行了区分,从而在选取完第一条规那么后能够挑选掉很多不用的规那么。
在哺乳动物里,规那么如下:1.老虎=食肉+黄褐色2.金钱豹=食肉+有斑点3.长颈鹿=非食肉+长脖子4.斑马=非食肉+黑白两色鸟类动物里面,规那么如下:1.信天翁=会飞2.企鹅=可不能飞+黑白两色3.鸵鸟=可不能飞+长腿程序实际操作图:1.程序界面通过选取哺乳动物和鸟类能够挑选掉很多不需要的信息。
2.当按以上的规那么描述时能够通过下面的显示栏显示判定的动物。
3.当错误输入或选取规那么过量时那么会显示错误提示。
部份程序代码:using System;using ;using ;using ;using ;using ;using人工智能作业;{public partial class form1 : Form{public form1(){InitializeComponent();= true;= false;= str1;= true;}private void button1_Click(object sender, EventArgs e){= false;if ( == true) && == true) && == false) && == false) && == false) && == false))= str1 + "老虎";if ( == true) && == true) && == false) && == false) && == false) && == false)){= str1 + "金钱豹";}if ( == true) && == true) && == false) && == false) && == false) && == false)){= str1 + "长颈鹿";}if ( == true) && == true) && == false) && == false) && == false) && == false))= str1 + "斑马";if ( == true) && == false) && == false) && == false) ){= str1 + "信天翁";}if ( == true) && == true) && == false) && == false)){= str1 + "鸵鸟";}if ( == true) && == true) && == false) && == false)){= str1 + "企鹅";}if ( == str1)){("动物类型描述错误,请从头输入!");= true;}}private void radioButton1_CheckedChanged(object sender, EventArgs e){if == true){= true;}}private void radioButton2_CheckedChanged(object sender, EventArgs e) {if == true){= true;= false;}}private void button2_Click(object sender, EventArgs e){= str1;= true;= false;= false;= false;= false;= false;= false;= false;= false;= false;= false;}}}。
摘要专家系统是目前人工智能中最活跃,最有成效的一个研究领域,它是一种基于知识的系统,它从人类专家那里获得知识,并用来解决只有专家才能解决的困难问题。
该动物识别专家系统是在VC编程环境下编写的基于Windows操作平台上的图形用户界面程序,依据15条规则,构建知识库,能判别七种动物。
该系统具有较好的扩充性,可移植性、透明性,算法简单高效,使用方便,用户界面友好。
在层次树结构的数据结构基础上,采用正向推理的技术构建推理机,解释机构的实现采用了唱片技术和追踪技术。
构建该动物识别专家系统主要目的是为了提高人工智能的理论水平,更深入地了解专家系统的原理、历史、构成和各组成部件的基本原理,并提高VC的编程能力。
关键字:专家系统,知识库,规则,推理机,解释机AbstractExpert system is one of the most active and effective research realms. It can solve difficult problems, which can only be solved by experts. It is a system based on knowledge and can achieve knowledge from experts.This expert system is the visual interface program, which based on Windows operation system in the situation of Visual C++ programming. It can distinguish seven kinds of animals by constructing knowledge base, which is based on 15 rules. This system is moveable, transparent, and expansible. It can be easily used. Its mathematic is simple and efficient the user interface is friendly. The construction of reasoning machine adopts the positive reasoning technology and the realization of explanation adopts the record and pursuit technologyThis animal distinguish expert system aims to raise the theory standard of artificial intelligence. The writer intended to know about the principle, the history and the composition theory of expert system, and upgrade the programming ability.Key W ords: expert system, repository, rule, reasoning machine, explanative machine目录摘要 (1)Abstract (2)目录 (3)前言 (4)第一章需求分析 (6)1.1 需求状况 (6)1.2专家系统的设计要求 (6)1.3组成部分 (10)1.4推理机 (12)第2章概要设计 (14)2.1总体流程的设计 (14)2.1.1创建知识库 (14)2.1.2 设计推理机的工作流程 (17)2.2用户界面设计 (19)2.2.1 用户界面设计的原则 (19)2.2.2设计的用户界面 (20)第3章详细设计 (22)3.1学习VC有感 (22)3.1.1认识VC (22)3.1.2使用MSDN (23)3.2 详细编码 (24)第4章测试与完善 (37)4.1 测试系统 (37)4.2 完善功能 (38)4.2.1改善explain功能 (38)4.2.2 添加backspace功能........................... 错误!未定义书签。
动物识别专家系统一试验题目动物识别专家系统二、试验内容动物识别专家系统是流行的专家系统实验模型,它用产生式规则来表示知识,共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。
动物识别15条规则的中文表示是:规则1:如果:动物有毛发则:该动物是哺乳动物规则2:如果:动物有奶则:该单位是哺乳动物规则3:如果:该动物有羽毛则:该动物是鸟规则4:如果:动物会飞,且会下蛋则:该动物是鸟规则5:如果:动物吃肉则:该动物是肉食动物规则6:如果:动物有犬齿,且有爪,且眼盯前方则:该动物是食肉动物规则7:如果:动物是哺乳动物,且有蹄则:该动物是有蹄动物规则8:如果:动物是哺乳动物,且是反刍动物则:该动物是有蹄动物规则9:如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点则:该动物是豹规则10:如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹则:该动物是虎规则11:如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类则:该动物是长颈鹿规则12:如果:动物有黑条纹,且是有蹄类动物则:该动物是斑马规则13:如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞则:该动物是鸵鸟规则14:如果:动物是鸟,且不会飞,且会游泳,且是黑色的则:该动物是企鹅规则15:如果:动物是鸟,且善飞则:该动物是信天翁动物分类专家系统由15条规则组成,可以识别七种动物,在15条规则中,共出现 30个概念(也称作事实),共30个事实,每个事实给一个编号,从编号从1到30,在规则对象中我们不存储事实概念,只有该事实的编号,同样规则的结论也是事实概念的编号,事实与规则的数据以常量表示,其结构如下:Char *str{}={"chew_cud","hooves","mammal","forward_eyes","claws", "pointed_teeth","eat_meat","lay_eggs","fly","feathers","ungulate", "carnivore","bird","give_milk","has_hair","fly_well","black&white_color","can_swim","long_legs","long_neck","black_stripes","dark_spots","tawny_color","albatross","penguin","ostrich","zebra","giraffe","tiger","cheetah","\0"}程序用编号序列的方式表达了产生式规则,如资料中规则15,如果动物是鸟,且善飞,则该动物是信天翁。
动物识别专家系统摘要专家系统的出现是人工智能在实际应用中最引人注目的成果,也是人工智能最活跃或最富有成效的研究领域。
本文介绍了专家系统的原理、结构和发展方向,在此我们实现了一种动物识别的专家系统,它用产生式规则来表示知识,共15条规则、可以识别七种动物。
关键词:专家系统;人工智能;先进技术;应用领域1专家系统介绍当人类迈步跨进21世纪的时候,信息技术的发展也迎来了新的机遇和挑战。
在最近的几十年中,人工智能技术逐渐得到了广泛地应用,其中专家系统更是获得了很大程度的普及。
专家系统系由知识库、推论引擎及接口为基础而组成的计算机化系统,其目的在于对某一特定领域的问题作判断、解释及认知。
但由于此特定领域可大可小,且对认知的定义亦有不同的解释,故可有小如某些汽车专家系统只能依照外型等特征辨认十余种车,亦有大如某些医学专家系统可依据十二万个不同的医学表征分辨八千余种疾病。
尽管专家系统的定义未尽明确,但基本上当此系统所能处理的问题,其复杂性、对专业知识的需求、以及其执行的信度及效度足可与专家相匹敌时,我们便可称之为专家系统。
而由于专家系统能够提供智能型的决策与辅助解决问题、并对求解的过程做某种程度的解释,因而也可以称为“智能型知识库系统”(Intelligent Knowledge-Based System,IKBS)。
专家系统简化结构如图1所示。
图1 专家系统简化结构我国专家系统的研究起步较晚,大约在80年代初期。
最初开发出来的大都是演示系统,达不到实际应用水平。
到目前为止,在理论研究和实际应用开发上都已有了丰硕的成果,并己应用到工业、农业、军事以及国民经济的各个部门乃至社会生活的许多方面。
1.1 知识库知识库系统的主要工作是搜集人类的知识,将之有系统地表达或模块化,使计算机可以进行推论、解决问题。
知识库中包含两种型态:一是知识本身,即对物质及概念作实体的分析,并确认彼此之间的关系;二是人类专家所特有的经验法则、判断力与直觉。
动物识别专家系统简介
动物识别专家系统是经典的专家系统实验模型,它用产生式规则来表示知识,共15条规则,可以识别七种动物。
这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。
2.1、建立动物识别专家系统的规则库,并用与/或图来描述这个规则库。
规则库由15条规则组成,编写一段程序,把15条规则组成一个表直接赋值给规则库rules,规则名分别是;rule1,rule2,┉,rule15。
( rules
((rule1
(if (animal has hair)) 若动物有毛发(F1)
(then (animal is mammal))) 则动物是哺乳动物(M1)
((rule2
(if (animal gives milk)) 若动物有奶(F2)
(then (animal is mammal))) 则动物是哺乳动物(M1)
((rule3
(if (animal has feathers)) 若动物有羽毛(F9)
(then (animal is bird))) 则动物是鸟(M4)
((rule4
(if (animal flies)) 若动物会飞(F10)
(animal lays eggs)) 且生蛋(F11)
(then (animal is bird))) 则动物是鸟(M4)
((rule5
(if (animal eats meat)) 若动物吃肉类(F3)
(then (animal is carnivore))) 则动物是食肉动物(M2)
((rule6
(if (animal Raspointed teeth)) 若动物有犀利牙齿(F4)
(animal has claws) 且有爪(F5)
(animal has forword eyes)) 且眼向前方(F6)
(then (animal is carnivore))) 则动物是食肉动物(M2)
((rule7
(if (animal has mammal)) 若动物是哺乳动物(M1)
(animal has hoofs)) 且有蹄(F7)
(then (animal is ungulate))) 则动物是有蹄类动物(M3)
((rule8
(if (animal has mammal)) 若动物是哺乳动物(M1)
(animal chews cud)) 且反刍(F8)
(then (animal is ungulate))) 则动物是有蹄类动物(M3)
((rule9
(if (animal is mammal)) 若动物是哺乳动物(M1)
(animal is carnivore) 且是食肉动物(M2)
(animal has tawny color) 且有黄褐色(F12)
(animal has dark sports)) 且有暗斑点(F13)
(then (animal is cheetah))) 则动物是豹(H1)
((rule10
(if (animal is mammal)) 若动物是哺乳动物(M1)
(animal is carnivore) 且是食肉动物(M2)
(animal has tawny color) 且有黄褐色(F12)
(animal has black stripes) 且有黑色条纹(F15)
(then (animal is tiger))) 则动物是虎(H2)
((rule11
(if (animal is ungulate)) 若动物是有蹄类动物(M3)
(animal has long neck) 且有长脖子(F16)
(animal has long legs) 且有长腿(F14)
(animal has dark sports)) 且有暗斑点(F13)
(then (animal is giraffe))) 则动物是长颈鹿(H3)
((rule12
(if (animal is ungulate)) 若动物是有蹄类动物(M3)
(animal has black stripes) 且有黑色条纹(F15)
(then (animal is zebra))) 则动物是斑马(H4)
((rule13
(if (animal is bird)) 若动物是鸟(M4)
(animal does not fly) 且不会飞(F17)
(animal has long neck) 且有长脖子(F16)
(animal has long legs)) 且有长腿(F14)
(animal black and white)) 且有黑白二色(F18)
(then (animal is ostrich))) 则动物是驼鸟(H5)
((rule14
(if (animal is bird)) 若动物是鸟(M4)
(animal does not fly) 且不会飞(F17)
(animal swims) 且会游泳(F19)
(animal black and white)) 且有黑白二色(F18)
(then (animal is penguin))) 则动物是企鹅(H6)
((rule15
(if (animal is bird)) 若动物是鸟(M4)
(animal flies well)) 且善飞(F20)
(then (animal is albatross))) 则动物是信天翁(H6)
在上述规则的说明中,用F1-F20标记的是初始事实或证据,用M1-M4标记的是中间结论,用H1-H7标记的是最终结论。
用标记表示15条规则如下:
R1:F1→M1
R2:F2→M1
R3:F9→M4
R4:F10∧F11→M4
R5:F3→M2
R6:F4∧F5∧F6→M2
R7:F7∧M1→M3
R8:F8∧M1→M3
R9:F12∧F13∧M1∧M2→H1
R10:F12∧F15∧M1∧M2→H2
R11:F13∧F14∧F16∧M3→H3
R12:F15∧M3→H4
R13:F14∧F16∧F17∧F18∧M4→H5
R14:F17∧F18∧F19∧M4→H6
R15:F20∧M4→H7
2.2、推理机及其实现
1、正向推理过程:
根据在综合数据库中给出的已知事实,正向使用规则,即把规则的前件同当前数据库的内容进行匹配来选取可用规则,若有多条规则可用,则采用先选优先的策略,将执行规则的结论添加到综合数据库中,并将用过的规则置上激活标志,直到问题求解或没有可用规则为止.
2、正向推理过程程序实现
首先,将规则库中规则的前件同当前数据库的内容进行匹配,若匹配成功,则将这条规则送入可用规则集中;否则,取下一条规则进行匹配。
接着,如果规则非空且问题未求解,则重复上述过程,调用select-rule(s),从规则集中选择一条规则,将该规则的结论添加到综合数据库中。
最后调用respond命令。
由上可见正向推理过程是递归的。
3、举例说明正向推理机推理过程
若已知的初始事实是F13(有暗斑点)、F12(黄褐色)、F3(若动物吃肉类)及F1(动物有毛发),使用steq函数把已知的初始事实赋值给事实表facts:
(steq facts
((animal has dark spots)
(animal has tawny color)
( animal eats meat)
( animal has hair))
即:facts=(F13 F12 F3 F1)
facts是一个可编辑的表,即可以添加。
steq函数的功能就是对facts进行编辑。
使用在前面建立的rules规则库,叙述正向推理过程如下:
(1)、在rules中查找规则前件的全部条件在当前facts=(F13 F12 F3 F1)中的可用规则,首先找到规则R1,则把R1后件中不在facts中的结论M1添加到facts中,扩充facts为facts=(F13 F12 F3 F1 M1)。
实际上,对facts=(F13 F12 F3 F1)还有一条可用规则R5,因为R5的前件F3也在当前facts 中。
但是,由前面提到的冲突消解策略,若有多条可用规则,则按可用规则在规则库表rules 中的顺序选择第一条可用规则。
(2)、对当前facts在rules中查找可用规则,仍然找到规则R1,但R1的后件结论M1已在facts中,因此不会执行规则R1。
继续查找可用规则,找到规则R5,因为R5的后件结论M2不在当前的facts中,故执行R5,把R5不在facts中的结论M2添加到facts中,扩充facts 为facts=(F13 F12 F3 F1 M1 M2)。
(3)、对当前facts在rules中继续查找可用规则,规则R9的前件在facts中,因此R9是可用规则。
而R9的后件结论H1不在当前的facts中,执行R9,把R9的结论H1扩充到facts 中,使得facts=(F13 F12 F3 F1 M1 M2 H1)。
(4)、对当前facts,在rules中找不到规则的前件所包含的全部条件在facts中且后件有不在
facts中的结论的任何规则,至此,正向推理结束.。