实验一: 动物识别专家系统设计

合集下载

专家系统作业报告

专家系统作业报告

华南农业大学信息学院动物识别专家系统一、实验内容按下列规则,写出一个分类专家系统:(1)有毛的动物是哺乳类;(2)有奶的动物是哺乳类;(3)有羽毛的动物是鸟类;(4)若动物会飞且会生蛋,则它是鸟类;(5)吃肉的哺乳类是肉食动物;(6)犬牙利爪,眼睛向前的是肉食动物;(7)反刍食物的哺乳类是有蹄类;(8)有蹄的哺乳类是有蹄类;(9)黄褐色有暗斑点的肉食类是金钱豹;(10)黄褐色有黑条纹的肉食类是老虎;(11)长腿长脖子有黄褐色暗斑的有蹄类是长颈鹿;(12)有黑白条纹的有蹄类是斑马;(13)不会飞长腿长脖的鸟是鸵鸟;(14)不会飞善游泳黑白色的鸟是企鹅;(15)善飞的鸟是信天翁。

二、实验目的1.加深对产生式表示法的认识;2.熟悉数据库的制作与使用。

3. 专家系统的学习与应用三、实验原理四、设计过程1.环境与配置windows系统,Delphi7.0(可视化程序设计)2结果如下3.主要源代码实现过程//unit2.dfmunit Unit1;interfaceusesWindows, Messages, SysUtils, V ariants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, DBCtrls, StdCtrls, ExtCtrls,CheckLst;typeTForm1 = class(TForm)DataSource1: TDataSource;Query1: TQuery;DataSource2: TDataSource;Table1: TTable;GroupBox1: TGroupBox;Panel2: TPanel;Panel1: TPanel;Panel3: TPanel;Splitter1: TSplitter;Splitter2: TSplitter;ListBox1: TListBox;ListBox2: TListBox;Button1: TButton;Button3: TButton;Button5: TButton;Label1: TLabel;Label2: TLabel;Button2: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button5Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementationuses Unit2;var sql,strWhere:String;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);beginsql:='SELECT 结论FROM 推导';with table1 dobeginfirst;while not eof dobeginListBox1.Items.Add(fieldbyname('条件').asString);next;end;end;end;procedure TForm1.Button1Click(Sender: TObject);var i:integer;begini:=0;while i<Listbox1.Items.Count doif ListBox1.Selected[i] thenbeginListBox2.Items.Add(ListBox1.Items[i]);ListBox1.Items.Delete(i);endElsei:=i+1;end;procedure TForm1.Button3Click(Sender: TObject);var i:integer;begini:=0;while i<Listbox2.Items.Count doif ListBox2.Selected[i] thenListBox2.Items.Delete(i)Elsei:=i+1;end;procedure TForm1.Button2Click(Sender: TObject);beginListBox2.Items.Clear;end;procedure TForm1.Button5Click(Sender: TObject);var i,tag:integer;sqlTest,sWtest,sub:String;begini:=0;strWhere:='';while i<Listbox2.Items.Count dobeginif strWhere='' thenbeginsWtest:='WHERE 条件like '+'''%'+ListBox2.Items[i]+'%'' ';sWtest:=sWtest+'and '+'条件not like ''%不'+ListBox2.Items[i]+'%'' ';sqlTest:=sql+sWtest;tag:=0;if Query1.Active then query1.Close;query1.SQL.Clear;query1.SQL.Add(sqlTest);query1.Active:=true;query1.First;while not query1.Eof dobeginif(Pos('类',query1.fieldbyname('结论').asString)<>0)thenbeginif strWhere='' then strWhere:='WHERE 条件like '+'''%'+query1.fieldbyname('结论').asString+'%'' 'elsestrWhere:=strWhere+'or 条件like '+'''%'+query1.fieldbyname('结论').asString+'%'' ';tag:=1;end;query1.Next;end;if tag=0 thenbeginstrWhere:='WHERE 条件like '+'''%'+ListBox2.Items[i]+'%'' ';strWhere:=strWhere+'and '+'条件not like ''%不'+ListBox2.Items[i]+'%'' ';end;endelsebeginsWtest:='WHERE 条件like '+'''%'+ListBox2.Items[i]+'%'' ';sWtest:=sWtest+'and '+'条件not like ''%不'+ListBox2.Items[i]+'%'' ';sqlTest:=sql+sWtest;if Query1.Active then query1.Close;query1.SQL.Clear;query1.SQL.Add(sqlTest);query1.Active:=true;query1.First;tag:=0;while not query1.Eof dobeginif(Pos('类',query1.fieldbyname('结论').asString)<>0)thenbeginsub:=query1.fieldbyname('结论').asString;if(Pos(sub,strWhere)<>0)thenbegintag:=1;break;endelsebeginstrWhere:=strWhere+'and 条件like '+'''%'+query1.fieldbyname('结论').asString+'%'' ';tag:=1;end;end;query1.Next;end;if tag=1 then begin i:=i+1;continue; end;sWtest:=strWhere+'and 条件like '+'''%'+ListBox2.Items[i]+'%'' ';sWtest:=sWtest+'and '+'条件not like ''%不'+ListBox2.Items[i]+'%'' ';sqlTest:=sql+sWtest;if Query1.Active then query1.Close;query1.SQL.Clear;query1.SQL.Add(sqlTest);query1.Active:=true;query1.First;tag:=0;while not query1.Eof dobeginif(Pos('类',query1.fieldbyname('结论').asString)<>0)thenbeginstrWhere:=strWhere+'and 条件like '+'''%'+query1.fieldbyname('结论').asString+'%'' ';tag:=1;end;query1.Next;end;if tag=0 thenbeginstrWhere:=strWhere+'and 条件like '+'''%'+ListBox2.Items[i]+'%'' ';strWhere:=strWhere+'and '+'条件not like ''%不'+ListBox2.Items[i]+'%'' ';end;end;i:=i+1;end;sql:=sql+strWhere;if Query1.Active then query1.Close;query1.SQL.Clear;query1.SQL.Add(sql);query1.Active:=true;if query1.RecordCount=1 thenbeginform2:=Tform2.create(nil);form2.Left:=form1.Left+30;form2.Top:=form1.Top+20;sub:=query1.fieldbyname('结论').asString;tag:=0;if sub='金钱豹' then tag:=1else if sub='老虎' then tag:=2else if sub='长颈鹿' then tag:=3else if sub='斑马' then tag:=4else if sub='鸵鸟' then tag:=5else if sub='企鹅' then tag:=6else if sub='信天翁' then tag:=7;case tag of1:beginform2.Image1.Picture.LoadFromFile('图片/金钱豹.jpg');bel2.Caption:='金钱豹';end;2:beginform2.Image1.Picture.LoadFromFile('图片/老虎.jpg');bel2.Caption:='老虎';end;3:beginform2.Image1.Picture.LoadFromFile('图片/长颈鹿.jpg');bel2.Caption:='长颈鹿';end;4:beginform2.Image1.Picture.LoadFromFile('图片/斑马.jpg');bel2.Caption:='斑马';end;5:beginform2.Image1.Picture.LoadFromFile('图片/鸵鸟.jpg');bel2.Caption:='鸵鸟';end;6:beginform2.Image1.Picture.LoadFromFile('图片/企鹅.jpg');bel2.Caption:='企鹅';end;7:beginform2.Image1.Picture.LoadFromFile('图片/信天翁.jpg');bel2.Caption:='信天翁';end;elsebeginform2.Image1.V isible:=false;form2.DBGrid1.Visible:=true;end;end;form1.Enabled:=false;endelseif query1.RecordCount>1 thenShowMessage('条件不足,请输入充足的条件')elseshowMessage('条件相悖,不存在这样的动物');sql:='SELECT 结论FROM 推导'; ListBox1.Clear;ListBox2.Clear;with table1 dobeginfirst;while not eof dobeginListBox1.Items.Add(fieldbyname('条件').asString);next;end;end;end;end.//unit2.dfmunit Unit2;interfaceusesWindows, Messages, SysUtils, V ariants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, jpeg;typeTForm2 = class(TForm)Label2: TLabel;Image1: TImage;DBGrid1: TDBGrid;procedure FormClose(Sender: TObject; var Action: TCloseAction);private{ Private declarations }public{ Public declarations }end;varForm2: TForm2;implementationuses Unit1;{$R *.dfm}procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);beginform1.Enabled:=true; form2.Release; end;end.五、实验总结通过本次实验对人工智能有了新的高度的认识,尤其是在实现专家系统中,对数据库的操作有了新的认识。

动物识别专家系统的建立

动物识别专家系统的建立


















实用第一 智慧密集
… . . … … … … … .
家豫 绩

童 小 明
摘 要 :专 家 系统是 具 有人 工智 能和推 理功 能 的知识 系统 。 以一 个动 物识 别专 家 系统的 建 立为例 ,
1 1 3 4
()吃 肉的哺 乳类 称为食 肉动 物 ( 肉 &哺乳 类 _ 肉类) 5 吃 >食 。 ( )反 刍食 物 的 哺 乳 类 是 偶 蹄 类 f 刍 食 物 & 哺 乳 类 一 6 反 >
“ 有蹄 类“黄 褐 色” , “ , 1 1 1 1 1 0 2 2 2 4 2 6 5 6 7 8 9 2 1 2 3 2 5 2
父节点 &父节点 子 节点 ( )有 毛 发 的动 物 是 哺 乳 类 ( 毛发 & 动物 一 1 有 >哺 乳 类) 。 ( )有 奶 的动 物 是 哺 乳 类 ( 奶 & 动物 一 2 有 >哺 乳 类) 。
长 脖
鸵 鸟 潜 水 企 鹅 f 毛 发 ¨动 物 ¨哺 乳 类 ¨ 有 奶 ¨ 有 羽 毛 鸟 有 . 类n会 飞-生 蛋 n吃 肉 “反刍 食 物 ”偶 蹄 类 ”有 蹄 * ” , “ , - , * , 一 , ・ 一 ,
( )吃 肉 的 哺 乳类 称 为 食 肉动 物 ; ( )反 刍食 物 的 哺 乳 类 是 5 6 偶蹄 类 ; ( )有 蹄 的 哺乳 类 是 有 蹄 类 ; ( ) 黄褐 色有 暗斑 点 7 8 的 食 肉类 是 金 钱 豹 ; ( )黄 褐 色有 黑 色 条 纹 的食 肉类 是 老 虎 ; 9 (0 1 )尖 牙 利 爪 且 眼 睛 向前 的 是 食 肉动 物 ; ( 1 脖 有 黄 褐 色 1)

人工智能作业——动物识别系统

人工智能作业——动物识别系统

人工智能作业——动物识别系统动物识别专家系统-------胡沧粟—20131313058动物识别系统由多种规则来判别,首先原则是根据是哺乳动物还是鸟类来区别大类。

然后根据在哺乳动物类里建立规则:食肉动物,非食肉,黄褐色,有斑点,长脖子,黑白两色来区分老虎,金钱豹,长颈鹿和斑马。

鸟类里面建议规则:会飞,不会飞,长腿,黑白两色来区分信天翁,企鹅和鸵鸟。

将书本上的规则适当进行了简化,并利用界面的人性化来诱导人们更好的使用软件。

程序由c#语言编写。

本程序系统在考虑到整体结构相同的结构下,将规则进行了优化。

先将哺乳动物与非哺乳动物进行了区分,从而在选取完第一条规则后可以筛选掉很多不用的规则。

在哺乳动物里,规则如下:1.老虎=食肉+黄褐色2.金钱豹=食肉+有斑点3.长颈鹿=非食肉+长脖子4.斑马=非食肉+黑白两色鸟类动物里面,规则如下:1.信天翁=会飞2.企鹅=不会飞+黑白两色3.鸵鸟=不会飞+长腿程序实际操作图:1.程序界面通过选取哺乳动物和鸟类可以筛选掉很多不需要的信息。

2.当按以上的规则描述时可以通过下面的显示栏显示判定的动物。

3.当错误输入或者选取规则过多时则会显示错误提醒。

部分程序代码:using System;using System.Collections.Generic; using ponentModel; using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; namespace人工智能作业;{public partial class form1 : Form {public form1(){InitializeComponent();panel1.Visible = true;panel2.Visible = false;bel3.Text = str1;radioButton1.Checked = true;}private void button1_Click(object sender, EventArgs e){//bel3.Text = str1;this.button1.Enabled = false;if ((checkBox01.Checked == true) && (checkBox03.Checked == true) && (checkBox02.Checked == false) && (checkBox04.Checked == false) && (checkBox05.Checked == false) && (checkBox06.Checked == false))bel3.Text = str1 + "老虎";if ((checkBox01.Checked == true) && (checkBox02.Checked == true) && (checkBox03.Checked == false) && (checkBox04.Checked == false) && (checkBox05.Checked == false) && (checkBox06.Checked == false)){bel3.Text = str1 + "金钱豹";}if ((checkBox04.Checked == true) && (checkBox05.Checked == true) && (checkBox02.Checked == false) && (checkBox01.Checked == false) && (checkBox03.Checked == false) && (checkBox06.Checked == false)){bel3.Text = str1 + "长颈鹿";if ((checkBox04.Checked == true) && (checkBox06.Checked == true) && (checkBox02.Checked == false) && (checkBox01.Checked == false) && (checkBox05.Checked == false) && (checkBox03.Checked == false))bel3.Text = str1 + "斑马";if ((checkBox07.Checked == true) && (checkBox08.Checked == false) && (checkBox09.Checked == false) && (checkBox10.Checked == false) ){bel3.Text = str1 + "信天翁";}if ((checkBox09.Checked == true) && (checkBox08.Checked == true) && (checkBox07.Checked == false) && (checkBox10.Checked == false)){bel3.Text = str1 + "鸵鸟";}if ((checkBox09.Checked == true) && (checkBox10.Checked == true) && (checkBox08.Checked == false) && (checkBox07.Checked == false)){bel3.Text = str1 + "企鹅";}if ((bel3.Text == str1)){MessageBox.Show("动物类型描述错误,请重新输入!");this.button1.Enabled = true;}}private void radioButton1_CheckedChanged(object sender, EventArgs e){if (radioButton1.Checked == true){panel1.Visible = true;panel2.Visible = false;}}private void radioButton2_CheckedChanged(object sender, EventArgs e){if (radioButton2.Checked == true){panel2.Visible = true;panel1.Visible = false;}private void button2_Click(object sender, EventArgs e) {bel3.Text = str1;this.button1.Enabled = true;checkBox01.Checked = false;checkBox02.Checked = false;checkBox03.Checked = false;checkBox04.Checked = false;checkBox05.Checked = false;checkBox06.Checked = false;checkBox07.Checked = false;checkBox08.Checked = false;checkBox09.Checked = false;checkBox10.Checked = 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功能........................... 错误!未定义书签。

动物专家系统实验报告

动物专家系统实验报告
//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");
printf("----------是有蹄类动物----------\n\n");
x4 = 1;
} else if (d2 == 1 && x1 == 1) {
printf("----------是有蹄类动物----------\n\n");
x4 = 1;
} else {
printf("----------不是有蹄类动物----------\n\n");
printf("----------该动物是虎----------");
//r11
else 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)

动物识别专家系统

动物识别专家系统

动物识别专家系统1、专家系统的基本工作原理尽管专家系统有众多类型, 名称各异, 但基本原理框图一致, 如图1 所示。

专家系统的核心是知识库和推理机, 其基本工作过程为: 系统根据知识库中的知识和用户提供的事实进行推理, 不断地由已知前提推出一些初步结论, 并将这些初步结论作为中间结果存放在数据库中, 然后将其作为新的已知事实进行下一步推理, 往复循环, 逐步逼近求解目标。

在这个过程中, 系统可以通过人机接口不断地与用户交流, 向用户提问, 或对用户提出的问题做出解释。

知识库是专家系统的知识存储器, 用来存放求解问题的领域知识。

推理机是专家系统中用来实现推理的程序。

其主要功能是模拟领域专家的思维过程, 控制并执行对问题的求解。

它能根据当前已知的事实, 利用知识库中的知识, 按一定的推理方法和控制策略进行推理, 直到得出相应的结论为止。

它包括推理方法和控制策略两个部分。

大多数专家系统都采用人机对话的交互式解释方法。

知识获取机构主要实现机器学习。

人机接口是领域专家、知识工程师、一般用户间进行交互的界面, 由一组程序及相应的硬件组成, 用于完成输入输出工作。

2、动物识别专家系统在PROLOG 下的实现和使用说明为了更好地阐明专家系统的基本工作原理, 我们用PROLOG语言实现一个简单的动物识别专家系统。

该系统可以识别老虎、金钱豹、斑马、长颈鹿、鸵鸟、企鹅、海燕这7 种动物1、知识库在本系统当中, 知识库中的知识用产生式规则来表示。

本系统能够识别7 种动物, 知识库中共有以下15 条规则。

R1 IF 该动物有毛发THEN 该动物是哺乳动物R2 IF 该动物有奶THEN 该动物是哺乳动物R3 IF 该动物有羽毛THEN 该动物是鸟R4 IF 该动物会飞AND会下蛋THEN 该动物是鸟R5 IF 该动物吃肉THEN 该动物是肉食动物R6 IF 该动物有犬齿AND 有爪AND 眼盯前方THEN 该动物是肉食动物R7 IF 该动物是哺乳动物AND 有蹄THEN 该动物是有蹄类动物R8 IF 该动物是哺乳动物AND 是嚼反刍动物THEN 该动物是有蹄类动物R9 IF 该动物是哺乳动物AND 是肉食动物AND 是黄褐色们AND 身上有暗斑点THEN该动物是金钱豹R10 IF 该动物是哺乳动物AND 是肉食动物AND 是黄褐色AND 身上有黑色条纹THEN 该动物是虎R11 IF 该动物是有蹄类动物AND有长脖子AND 有长腿AND 身上有暗斑点THEN 该动物是长颈鹿R12 IF 该动物是有蹄类动物AND身上有黑色条纹THEN 该动物是斑马R13 IF 该动物是鸟AND 有长脖子AND 有长腿AND 不会飞THEN 该动物是鸵鸟R14 IF 该动物是鸟AND 会游泳AND不会飞AND 有黑白二色THEN 该动物是企鹅R15 IF 该动物是鸟AND 善飞THEN 该动物是海燕在知识库中, 并非简单地给每一种动物一条规则。

动物识别系统实验报告

动物识别系统实验报告
{
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;

动物识别专家系统

动物识别专家系统

动物识别专家系统摘要:专家系统是具有人工智能和推理功能的知识系统。

本系统用15条规则,可识别7种动物,用C编程实现,并对结果进行了分析。

该系统把规则的前提与推理机构结合起来,规则的前提作为推理的情况,规则的结论作为推理过程的状态,推理出最终结果后,就能直接处理,不需要判断。

关键字:专家系统;动物;推理Animal recognition expert systemAbstract: Expert systems are knowledge systems with artificial intelligence and reasoning function. The system uses 15 rules, and can identify seven kinds of animals, using C programming, and the results were analyzed. The system is the premise and reasoning mechanism combining rules, rules for reasoning rule conclusion as the reasoning process , reasoning out the final result , can directly handle, without judge.Key words: Expert systems; Animals; Reasoning1 引言1.1 专家系统简介专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。

专家系统是早期人工智能的一个重要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题 [1]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正向推理的流程图
六、实验报告很要求
1、按实验报告书的格式书写实验报告 2、简明扼要地将实验步骤写清楚 3、对实验结果、实验程序中遇到高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资0配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中体2资2配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,卷.编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试写5交、卷重底电保要。气护设管设装备线备置4高敷、调动中设电试作资技气高,料术课中并3试中、件资且卷包管中料拒试含路调试绝验线敷试卷动方槽设技作案、技术,以管术来及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
则 :该动物是鸟 规则 4: 如果:动物会飞,且会下蛋
则 :该动物是鸟 规则 5: 如果:动物吃肉
则 :该动物是肉食动物 规则 6: 如果:动物有犬齿,且有爪,且眼盯前方
则 :该动物是食肉动物 规则 7: 如果:动物是哺乳动物,且有蹄
则 :该动物是有蹄动物 规则 8: 如果:动物是哺乳动物,且是反刍动物
有蹄
有爪 有犬齿
目盯前方 有奶 有毛发 吃肉 长腿
(2)知识表示: 提示: 动物分类专家系统由 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","h as_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,如果动物是鸟,且善飞,则该动物是 信天翁。相应的规则数组第七条是{16,13,0,0,0,0},第十三个是“bird”(鸟),如果事实成立,询 问使用者下一个事实,第十六个“fly_well”(善飞),如果也成立,则查找结论断言编号数组{30,29,28,27, 26,25,24,3,3,13,12,12,11,11,0}中第七个“24”,这里 24 对应事实数组中的“albatross”(信天翁)。 (3)推理机设计: 正向推理原理: 正向推理又称数据驱动推理,是按照由条件推出结论的方向进行的推理方式,它从一组事实出发, 使用一定的推理规则,来证明目标事实或命题的成立。一般的推理过程是先向综合数据库提供一些初始
2
已知事实,控制系统利用这些数据与知识库中的知识进行匹配,被触发的知识,将其结论作为新的事实 添加到综合数据库中。重复上述过程,用更新过的综合数据库中的事实再与知识库中另一条知识匹配, 将其结论更新至综合数据库中,直到没有可匹配的新知识和不再有新的事实加入到综合数据库中为止。 然后测试是否得到解,有解则返回解,无解则提示运行失败。
实验一: 动物识别专家系统设计(3 学时)
一、实验目的与要求
1、掌握专家系统的基本构成
2、掌握用人工智能程序设计语言编制智能程序的方法
二、实验内容 1、所选编程语言:C 语言;
2、拟订的规则: 规则 1:如果:动物有毛发 则 :该动物是哺乳动物 规则 2: 如果:动物有奶
则 :该单位是哺乳动物 规则 3: 如果:该动物有羽毛
则 :该动物是斑马 规则 13: 如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞
则 :该动物是鸵鸟 规则 14: 如果:动物是鸟,且不会飞,且会游泳,且是黑色的
则 :该动物是企鹅 规则 15: 如果:动物是鸟,且善飞
则 :该动物是信天翁
三、实验原理
用户界面:采用问答形式; 知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的 分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时 也建立了事实库。事实库是一个动态链表,一个事实是链表的一个结点。知识库通过事实号与事实库发 生联系。
正向推理的步骤 1) 将用户提供的初始已知事实送入综合数据库; 2) 检查综合数据库中是否已经包含问题的解,若有则求解结束,否则执行下一步; 3)将初始已知事实与知识库中的知识做匹配,若有,则转 4),否则转 6); 4)将所有的匹配成功的知识构建成一个知识集; 5)若知识集不为空,则按某种冲突消解策略选择一条规则进行推理,并将其推出的新事实更新至综 合数据库,然后转 2);若知识集为空,则转 6) 6)询问用户是否可提供新的事实,若有则将其添加至综合数据库,转 3);否则表示问题求解失败, 退出。
数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果; 推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库 中的规则对综合数据库中的数据进行逻辑操作。推理机担负两项基本任务:一是检查已有的事实和规则, 并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。将推理机制同规则对象封装在一起, 事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条 规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结 论为真,否则系统不知道结论真假。
四、实验步骤
(1)知识获取:
黄褐色 老虎
金钱豹
长颈鹿
有黑色条纹
食肉动物
有黑色斑点
有蹄动物
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷0资配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中2体2资配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,.卷编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试5写交卷、重底保电要。护气设管装设备线置备4高敷动调、中设作试电资技,高气料术并中课3试中且资件、卷包拒料中管试含绝试调路验线动卷试敷方槽作技设案、,术技以管来术及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
相关文档
最新文档