产生式系统之动物识别系统
产生式系统 识别动物 python 产生式系统的应用实例 转 -回复

产生式系统识别动物python 产生式系统的应用实例转-回复产生式系统(Production System)是人工智能领域中常用的一种知识表示和推理方式,也被广泛应用于自然语言处理、专家系统、智能搜索等领域。
产生式系统以if-then的规则形式表示知识,并通过模式匹配的方式进行推理和推断。
在本文中,我们将以"产生式系统识别动物python 产生式系统的应用实例转"为主题,逐步分析产生式系统的原理和应用,并介绍使用Python实现一个基础的动物识别系统的案例。
一、产生式系统原理及基本概念产生式系统是基于规则的知识表达和推理方式,它由条件部分和结论部分组成。
条件部分描述了一系列前提条件,结论部分则是满足条件部分的推论结果。
产生式系统通过匹配条件部分和已有的事实库进行推理,从而得到新的结论。
产生式系统的基本概念包括规则(rule)、事实(fact)、工作单元(working memory)和控制策略(control strategy)。
规则是产生式系统的基本单位,它包含了if-then的条件推理规则。
例如,一条规则可以是:“如果动物有毛发,并且有四条腿,那么它是哺乳动物”。
事实是产生式系统中的基本数据,它表示系统当前的知识状态。
例如,一条事实可以是:“这个动物有四条腿”。
工作单元是存储和管理事实的数据结构,它可以是一个列表或者一个数据库。
产生式系统通过与工作单元中的事实进行匹配来进行推理。
控制策略是产生式系统的推理策略,它决定了系统在工作单元中进行规则匹配和推理的顺序。
常见的控制策略包括深度优先、广度优先和最佳优先等。
二、动物识别的产生式系统实现在本节,我们将以一个简单的动物识别系统为例,介绍如何使用产生式系统来实现动物识别。
这个动物识别系统可以根据输入的动物特征判断其是什么类别的动物,比如哺乳动物、爬行动物等。
1. 确定知识库和规则库首先,我们需要确定动物特征的知识库和规则库。
知识库包括各种动物的特征信息,规则库则包含了各种动物的分类规则。
动物识别系统实验报告

stringFindMaxNumber ="select max(动物序号) from动物库";
SqlCommandcmd2 =newSqlCommand( FindMaxNumber ,con);
1.1功能需求
1.1.1动物识别正向推理
正向推理是从已知事实出发,通过规则库求的结论,也称为自底向上,或称为数据驱动方式。
正向推理过程的具体步骤是:
(1)读入事实集到工作存储器。
(2)取出某条规则,将规则的全部前件与工作存储器中的所有事实进行比较。如果匹配成功,则所得结果显示到屏幕上,转向(3);否则,直接转向(3)。
动物识别系统设计主体框架:本系统只用了一个页面实现,界面使用上下结构的框架设计,当用户进入系统的时候,打开Default.aspx,该页面分为上下两个部分,上面的部分是用于根据问题输入动物特征,下面的部分是新规则的加入功能部分,也是用户进行添加新规则的页面,这好似一个导航页面,用户可以更具自己的选择进行的操作,由上至下进入不同的功能部分。各个功能模块的设计:
staticint[] a =newint[7];
SqlConnectioncon =newSqlConnection("Server = PC-11; user id = sa;password = ;Database = animal;");
protectedvoidPage_Load(objectsender,EventArgse)
YesOption.Checked =false;
}
protectedvoidNoOption_CheckedChanged(objectsender,EventArgse)
{
a[Convert.ToInt32(Questionselected.SelectedValue)] = 0;
产生式系统 识别动物 python 产生式系统的应用实例 转 -回复

产生式系统识别动物python 产生式系统的应用实例转-回复产生式系统的应用实例– 识别动物产生式系统是一种任务驱动逻辑推理系统,它使用一组规则和事实来推导出新的结论或执行特定的任务。
产生式系统已经被广泛应用于多个领域,包括人工智能、自然语言处理和专家系统等。
本文将介绍如何使用产生式系统来识别不同种类的动物。
一、产生式系统简介产生式系统的核心思想是使用规则和事实来推断新的结果。
它由三个主要组成部分组成:规则集、事实集和控制系统。
规则集是一组逻辑规则,用于描述特定问题的解决方法。
每条规则通常由一个前提和一个结论组成。
前提是一个或多个逻辑表达式,用于描述已知的条件。
结论是一个逻辑表达式,用于描述推理出的结果。
事实集是规则集的初始状态。
它包含已知的事实和问题的初始条件。
在推理过程中,事实集可以根据已推导出的结论进行更新。
控制系统负责控制规则的激活和执行过程。
它根据当前的规则集和事实集状态来选择要执行的规则,直到达到目标或无法推导出新的结论。
二、识别动物的产生式系统实例为了演示如何使用产生式系统来识别动物,我们将创建一个简单的实例。
假设我们有一组规则和事实,用于识别动物的类型。
1. 规则集我们定义了以下规则集来描述动物的特征和类型:规则1:如果动物有羽毛并且会飞,则它是鸟类。
规则2:如果动物有四条腿并且会游泳,则它是鱼类。
规则3:如果动物有四条腿并且是哺乳动物,则它是哺乳类动物。
规则4:如果动物是冷血动物并且有鳞片,则它是爬行类动物。
2. 事实集我们给出了一些已知的事实和问题的初始条件:事实1:动物有羽毛。
事实2:动物会飞。
3. 控制系统我们使用一个简单的控制系统来选择要执行的规则和推导新的结论。
该控制系统重复以下步骤直到达到目标或无法推导出新的结论。
步骤1:遍历规则集中的每一条规则。
步骤2:检查规则的前提是否在事实集中都成立。
步骤3:如果规则的前提都成立,则将规则的结论添加到事实集中,并标记该规则为已执行。
动物识别系统实验报告

condition[numbers] = Int32.Parse(this.CheckBoxList1.Items[j].Value.ToString());
numbers++;
}
}
//添加用户自己输入的项
在推理过程中,当规则表中某条规则的前提可以和综合数据库中的已知事实相匹配时,该规则被激活。由它推出的结论将被作为新的事实放入数据库,称为后面推理的已知事实。所以数据库系统结构如下:
4. 系统设计
本系统分为三个功能模块,分别是动物识别、添加规则、删除规则。系统实现如下,其中distinguish.aspx实现动物识别;Addrule.aspx实现添加规则;Deleterule.aspx实现删除规则;主页实现为main.aspx和top.aspx;连接数据库调用DBFunction.cs。
using (DBFunction DBfun = new DBFunction(DBTransactionType.WithTran)) { //如果用户填写了这个空并且这个条件不在数据库中,就将它添加到数据库中。
if (this.TextBox1.Text.ToString() != "" && !check(this.TextBox1.Text.ToString(),DBfun)) {
bool check = true;
for (int j = 1; j < 6; j++){
if (dt.Rows[i][j].ToString() == "")
{ }
else{
产生式系统 识别动物 python 产生式系统的应用实例 转 -回复

产生式系统识别动物python 产生式系统的应用实例转-回复产生式系统是一种基于规则的计算模型,用于描述和解决问题。
它通过一系列规则和推理机制,根据已知的事实和推断出的结论,来推导出新的结论。
在本文中,我们将探讨产生式系统在识别动物方面的应用实例,并使用Python编程语言来实现。
动物识别是一个常见的问题,并且在生态学、生物学、动物保护等领域具有重要意义。
通过识别动物,我们可以了解它们的行为、环境需求以及保护措施等信息。
产生式系统可以通过构建一组规则来识别动物,并基于输入的特征来推断出动物的种类。
首先,我们需要定义一些输入的特征。
在动物识别中,可能涉及到的特征包括动物的外形、大小、颜色、喜好的食物等。
我们可以将这些特征表示为产生式系统的规则。
例如,假设我们有以下规则:1. 如果动物有鳞片,那么它可能是鱼类。
2. 如果动物有羽毛和善于飞翔,那么它可能是鸟类。
3. 如果动物有毛发,喜欢吃草,那么它可能是哺乳动物。
4. 如果动物有喙和过滤食物的能力,那么它可能是鸟类。
为了将这些规则应用于特定的问题中,我们需要将它们转化为产生式系统的表示形式。
在Python中,可以使用字典(Dictionary)来表示规则。
pythonrules = {"rule1": {"condition": "has_scales","conclusion": "fish"},"rule2": {"condition": "has_feathers and can_fly","conclusion": "bird"},"rule3": {"condition": "has_hair and likes_grass","conclusion": "mammal"},"rule4": {"condition": "has_beak and has_filtering_ability","conclusion": "bird"}}接下来,我们需要获取用户输入的特征。
产生式系统例子

鸟
r3
有羽毛
长腿
长脖子
ቤተ መጻሕፍቲ ባይዱ不会飞
2.3.3 产生式系统的例子——动物识别系统
鸵鸟 r13
鸟
r3
有羽毛
长腿
长脖子
不会飞
2.3.3 产生式系统的例子——动物识别系统
规则表示:
产生式 一阶谓词逻辑(2.2节)
r3: IF 动物有羽毛 THEN 动物是鸟
it_is("鸟"):- positive("有羽毛")
r13:IF 动物是鸟 AND 长脖子 AND 长腿 AND 不会飞 THEN 动物是鸵鸟 animal_is("鸵鸟"):- it_is("鸟"), positive("长脖子"), positive(" 长腿"), positive("不会飞")
2.3.3 产生式系统的例子——动物识别系统
规则表示:
产生式 一阶谓词逻辑(2.2节)
2.3.3 产生式系统的例子——动物识别系统
规则库
推理机
综合数据库
有羽毛
长腿
长脖子
不会飞
2.3.3 产生式系统的例子——动物识别系统
鸟
有羽毛
长腿
长脖子
不会飞
2.3.3 产生式系统的例子——动物识别系统
动物识别专家系统简介
动物识别专家系统简介动物识别专家系统是经典的专家系统实验模型,它用产生式规则来表示知识,共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标记的是最终结论。
AI实验-七种动物识别系统
AI实验-七种动物识别系统AI-动物识别⼀、实验⽬的1. 理解产⽣式系统的结构原理与实际应⽤。
2. 掌握产⽣式规则表⽰及规则库组建的实现⽅法。
3. 熟悉和掌握产⽣式系统的运⾏机制,掌握基于规则推理的基本⽅法。
⼆、实验原理产⽣式系统⽤来描述若⼲个不同的以⼀个基本概念为基础的系统,这个基本概念就是产⽣式规则或产⽣式条件和操作对。
在产⽣式系统中,论域的知识分为两部分:⽤事实表⽰静态知识;⽤产⽣式规则表⽰推理过程和⾏为1.实验要求运⽤所学知识,设计并编程⼀个⼩型的动物识别系统,识别对象:虎、⾦钱豹、斑马、长颈⿅、鸵鸟、企鹅、信天翁七种动物2.识别规则库R1: 有⽑(1) --> 哺乳动物(12)R2: 有奶(2) --> 哺乳动物(12)R3: 有⽻⽑(3) --> 鸟类(13)R4: 会飞(4) & 会下蛋 --> 鸟类(13)R5: 吃⾁(6) --> ⾷⾁动物(14)R6: ⽝齿(7) & 有⽖(8) & 盯前⽅(9) --> ⾷⾁动物(14)R7: 哺乳动物(12) & 有蹄(10) --> 有蹄类动物(15)R8: 哺乳动物(12) & 反刍(11) --> 有蹄类动物(15)R9: 哺乳动物(12) & ⾷⾁动物(14) & 黄褐⾊(16) & 暗斑点(17) --> ⾦钱豹(a)R10: 哺乳动物(12) & ⾷⾁动物(14) & 黄褐⾊(16) & ⿊⾊条纹(18) --> 虎(b)R11: 有蹄类动物(15) & 长脖(19) & 长腿(20) & 暗斑⾊(17) --> 长颈⿅(c)R12: 有蹄类动物(15) & ⿊⾊条纹(18) & --> 斑马(d)R13: 鸟类(13) & 长脖(19) & 长腿(20) & 不会飞(21) & ⿊⽩两⾊(22) --> 鸵鸟(e)R14: 鸟类(13) & 会游泳(23) & 不会飞(21) & ⿊⽩⼆⾊(22) --> 企鹅(f)R15: 鸟类(13) & 善飞(24) --> 信天翁(g)以上为:动物识别规则的15条规则,已编码3.思路分析1. 第⼀次编写时:采⽤的是,条件对应原则,每个条件对应的动物做⼀个集合,多个条件集合取交集,得到对应动物。
动物识别系统
动物识别系统产生式系统产生式系统:把一组产生式放在一起,并让它们互相配合,协同作用,一个产生式生成的结论可以供另一个产生式作为已知事实使用,以求得问题的解决。
产生式的基本形式产生式基本形式是:P→Q或者 if P then Q(1)规则库用于描述相应领域内知识的产生式集合称为规则库。
(2)综合数据库综合数据库又称为全局数据库,或称为事实库、黑板。
用于存放问题求解过程中各种当前信息,例如问题的初始事实、原始证据、推理中得到的中间结论以及最终结论。
综合数据库的内容随着推理的进行是在不断动态变化的。
(3)控制机构控制机构又称为推理机构或推理机,由一组程序组成,实现对问题的推理求解。
*******************************************************#include <stdio.h>#include <stdlib.h>int main(int argc, char** argv) {printf("-------------人工智能-----------\n");printf("----------动物专家识别系统------\n");printf("------------作者:s*******----------\n");printf("----------班级:**级(*)班-------\n");printf("---------学号:**********-------\n\n\n");printf("Copyright 2011 s*******.All rights reserved.\n");printf("Version 1.0\n");printf("\n\n\n");printf("\n\n\n");printf("现在开始识别:\n\n");int x1;int x2;int x3;int x4;//哺乳动物判断int a1, a2;scanf("%d", &a1);//printf("%d",a1);printf("Q2:有奶吗?\n1:YES\n0:NO\n");scanf("%d", &a2);// printf("%d",a2);printf("\n\n\n初步结果:\n");if (a1 == 1 && a2 == 1) {printf("----------是哺乳动物----------\n\n"); x1 = 1;} else {printf("----------不是哺乳动物----------\n\n"); x1 = 0;}printf("\n\n");//鸟判断int b1, b2, b3;printf("Q3:有羽毛吗?\n1:YES\n0:NO\n");scanf("%d", &b1);printf("Q4:会飞吗?\n1:YES\n0:NO\n");scanf("%d", &b2);printf("Q5:会下蛋吗?\n1:YES\n0:NO\n");scanf("%d", &b3);printf("\n\n\n初步结果:\n");if (b1 == 1) {printf("----------是鸟----------\n\n");x2 = 1;} else if (b2 == 1 && b3 == 1) {printf("----------是鸟----------\n\n");x2 = 1;} else {printf("----------不是鸟----------\n\n");x2 = 0;}printf("\n\n");//食肉动物判断int c1, c2, c3, c4;printf("Q6:吃肉吗?\n1:YES\n0:NO\n");scanf("%d", &c1);printf("Q7:有犬齿吗?\n1:YES\n0:NO\n");scanf("%d", &c2);scanf("%d", &c3);printf("Q9:眼盯前方吗?\n1:YES\n0:NO\n");scanf("%d", &c4);printf("\n\n\n初步结果:\n");if (c1 == 1) {printf("----------是食肉动物----------\n\n");x3 = 1;} else if (c2 == 1 && c3 == 1 && c3 == 1) {printf("----------是食肉动物----------\n\n");x3 = 1;} else {printf("----------不是食肉动物----------\n\n"); x3 = 0;}printf("\n\n");//有蹄类动物判断int d1, d2;printf("Q10:有蹄吗?\n1:YES\n0:NO\n");scanf("%d", &d1);printf("Q11:反刍吗?\n1:YES\n0:NO\n");scanf("%d", &d2);printf("\n\n\n初步结果:\n");if (d1 == 1 && x1 == 1) {printf("----------是有蹄类动物----------\n\n"); x4 = 1;} else if (d2 == 1 && x1 == 1) {printf("----------是有蹄类动物----------\n\n"); x4 = 1;} else {printf("----------不是有蹄类动物----------\n\n"); x4 = 0;}printf("\n\n\n\n");printf("下面进行详细判断:\n\n");int n1, n2, n3, n4, n5, n6, n7, n8;printf("Q12:是黄褐色吗?\n1:YES\n0:NO\n");scanf("%d", &n1);printf("Q13:身上有暗斑点?\n1:YES\n0:NO\n");scanf("%d", &n2);printf("Q14:有黑色条纹吗?\n1:YES\n0:NO\n");scanf("%d", &n3);printf("Q15:有长脖子吗?\n1:YES\n0:NO\n");scanf("%d", &n4);printf("Q16:有长腿吗?\n1:YES\n0:NO\n");scanf("%d", &n5);printf("Q17:善飞吗?\n1:YES\n0:NO\n");scanf("%d", &n6);printf("Q18:有黑白二色吗?\n1:YES\n0:NO\n");scanf("%d", &n7);printf("Q19(最后一个问题):会游泳吗?\n1:YES\n0:NO\n");scanf("%d", &n8);printf("\n\n");printf("最终结果:\n");//r9if (x1 == 1 && x2 == 0 && x3 == 1 && x4 == 0 && n1 == 1 && n2 == 1 && n3 == 0 && n4 == 0 && n5 == 0 && n6 == 0 && n7 == 0 && n8 == 0)printf("----------该动物是金钱豹----------");//r10else if (x1 == 1 && x2 == 0 && x3 == 1 && x4 == 0 && n1 == 1 && n2 == 0 && n3 == 1 && n4 == 0 && n5 == 0 && n6 == 0 && n7 == 0 && n8 == 0) printf("----------该动物是虎----------");//r11else if (x1 == 1 && x2 == 0 && x3 == 0 && x4 == 1 && n1 == 0 && n2 == 1 && n3 == 0 && n4 == 1 && n5 == 1 && n6 == 0 && n7 == 0 && n8 == 0) printf("----------该动物是长颈鹿----------");//r12else if (x1 == 1 && x2 == 0 && x3 == 0 && x4 == 1 && n1 == 0 && n2 == 0 && n3 == 1 && n4 == 0 && n5 == 0 && n6 == 0 && n7 == 0 && n8 == 0) printf("----------该动物是斑马----------");//r13else if (x1 == 0 && x2 == 1 && x3 == 0 && x4 == 0 && n1 == 0 && n2 == 0 && n3 == 0 && n4 == 1 && n5 == 1 && n6 == 0 && n7 == 1 && n8 == 0) printf("----------该动物是鸵鸟----------");//r14else if (x1 == 0 && x2 == 1 && x3 == 0 && x4 == 0 && n1 == 0 && n2 == 0 && n3 == 0 && n4 == 0 && n5 == 0 && n6 == 0 && n7 == 1 && n8 == 1) printf("----------该动物是企鹅----------");//r15else if (x1 == 0 && x2 == 1 && x3 == 0 && x4 == 0 && n1 == 0 && n2 == 0 && n3 == 0 && n4 == 0 && n5 == 0 && n6 == 1 && n7 == 0 && n8 == 0) printf("----------该动物是信天翁----------");else printf("没见过");printf("\n\n\n\n\n");getchar();getchar();printf("判断完毕,按任意键退出\n");return (EXIT_SUCCESS);}*******************************************************。
产生式系统 识别动物 python 产生式系统的应用实例 转 -回复
产生式系统识别动物python 产生式系统的应用实例转-回复产生式系统是一种形式化的推理方法,可以用于解决各种问题,从自然语言处理到计算机自动化推理。
本文将介绍一种基于产生式系统的应用实例,即识别动物。
识别动物是一个常见的问题,尤其是在野生动物保护中。
基于产生式系统的方法可以用来构建一个动物识别系统,使其根据给定的特征和属性来识别动物的种类。
首先,我们需要定义一组规则来描述每个动物类别的特征。
例如,哺乳动物可以定义为具有头和四肢的动物,鸟类可以定义为具有翅膀和羽毛的动物。
这些规则可以用产生式的形式表示,如下所示:1. 动物类就是具有头和四肢的动物[动物类] -> [头] [四肢]2. 鸟类就是具有翅膀和羽毛的动物[鸟类] -> [翅膀] [羽毛]接下来,我们可以定义一组事实,即观测到的动物的特征和属性。
例如,我们观察到一个动物具有头和四肢。
这些事实也可以用产生式的形式表示,如下所示:1. 观察到的动物具有头[观察到的动物] -> [头]2. 观察到的动物具有四肢[观察到的动物] -> [四肢]然后,我们可以使用产生式系统来推理出该动物的类别。
推理是通过匹配规则和事实来实现的。
在我们的例子中,推理的过程如下:1. 首先,我们应用规则1来匹配[动物类] -> [头] [四肢]这个规则。
由于规则和事实都匹配,我们得到一个新的事实:3. 观察到的动物属于动物类[观察到的动物] -> [动物类]2. 接下来,我们应用规则2来匹配[鸟类] -> [翅膀] [羽毛]这个规则。
由于规则和事实不匹配,推理过程终止。
通过这个推理过程,我们得出结论:观察到的动物属于动物类。
这意味着我们识别出的动物是一种哺乳动物。
在实际应用中,我们可以根据需要定义更多的规则和事实,以覆盖更多的动物种类和特征。
此外,我们还可以考虑使用概率模型来处理不确定性,例如使用贝叶斯网络。
通过不断优化和改进规则和事实的定义,我们可以构建一个更准确和可靠的动物识别系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• r6:若某动物是哺乳动物且吃肉,则它是食肉动物。 • r7:若某动物是哺乳动物且有蹄,则它是有蹄动物。 • r8:若某动物是有蹄动物且反刍食物,则它是偶蹄动 物。 • r9:若某动物是食肉动物且黄褐色且有黑色条纹,则 它是老虎。 • r10:若某动物是食肉动物且黄褐色且有黑色斑点,则 它是金钱豹。 • r11:若某动物是有蹄动物且长腿且长脖子且黄褐色且 有暗斑点,则它是长颈鹿。 • r12:若某动物是有蹄动物且白色且有黑色条纹,则它 是斑马 • r13:若某动物是鸟且不会飞且长腿且长脖子且黑白色, 则它是驼鸟。 • r14:若某动物是鸟且不会飞且会游泳且黑白色,则它 是企鹅。 • r15:若某动物是鸟且善飞且不怕风浪,则它是海燕。
例子
再给出初始事实: f1:某动物有毛发。 f2:吃肉。 f3:黄褐色。 f4:有黑色条纹。 目标条件为:该动物是什么?
易得,系统运行结果为:该动物是老虎。 推理树如下:
有毛发
吃肉
哺乳动物 黄褐色 食肉动物 有程序演示
谢谢!
产生式系统之动物识别系统 组员:
梁文茂 21号 梁文练 05号 罗梓潜 24号 05计师
产生式规则
设由下列动物识别规则组成一个规则库,推理机 采用上述正向推理算法,建立一个产生式系统。该产 生式系统就是一个小型动物分类知识库系统。规则: r1:若某动物有奶,则它是哺乳动物。 r2:若某动物有毛发,则它是哺乳动物。 r3:若某动物有羽毛,则它是鸟。 r4:若某动物会飞且生蛋,则它是鸟。 r5:若某动物是哺乳动物且有爪且有犬齿且目盯 前方,则它是食肉动物。