动物识别系统实验报告
动物识别系统实验报告
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;
动物识别系统实验报告
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{
动物疫病识别及病原观察实验报告
动物疫病识别及病原观察实验报告
一、实验目的
本实验旨在通过对动物疫病的识别及病原观察,掌握动物疫病的基本知识和诊断方法,提高动物疫病的防治能力。
二、实验原理
动物疫病是指能够引起动物生理、生化、免疫等方面的异常变化,导致动物生产能力下降、死亡或者对人类健康造成威胁的疾病。
动物疫病的病原体主要包括细菌、病毒、真菌、寄生虫等。
诊断动物疫病的方法主要有临床诊断、病理诊断、实验室诊断等。
三、实验步骤
1.观察动物疾病症状
在实验室中,我们观察了几只小白鼠的症状,发现它们出现了呼吸急促、体温升高、食欲不振等症状,初步判断可能是感染了某种病原体。
2.采集样本
为了进一步确定病原体,我们需要采集样本进行实验室检测。
我们选择了小白鼠的血液和粪便样本进行检测。
3.实验室检测
我们将采集到的血液和粪便样本分别进行了细菌培养和病毒检测。
经过培养和检测,我们发现血液样本中存在一种名为“链球菌”的细菌,而粪便样本中则检测出了一种名为“肠病毒”的病毒。
4.诊断疾病
根据实验室检测结果,我们可以初步诊断出小白鼠感染了链球菌和肠病毒,导致了其出现的症状。
四、实验结果
通过本次实验,我们成功地诊断出了小白鼠感染了链球菌和肠病毒,导致了其出现的症状。
同时,我们也掌握了动物疫病的基本知识和诊断方法,提高了动物疫病的防治能力。
五、实验结论
动物疫病是一种严重的疾病,对于动物生产和人类健康都有很大的威胁。
通过本次实验,我们深入了解了动物疫病的诊断方法和病原体,为今后的动物疫病防治工作提供了重要的参考和依据。
动物识别专家系统实验报告
题目:动物识别专家系统一.实验目的理解和掌握产生式只是表示方法,能够用选定的编程语言实现产生式系统的规则库。
二.实验内容(1)以动物识别系统的产生式规则为例。
(2)用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作。
三.实验原理动物识别专家系统是流行的专家系统实验模型,它用产生式r来表示知识,共15条r、可以识别七种动物,这些r既少又简单,可以改造他们,也可以加进新的r,还可以用来识别其他东西的新r来取代这些r。
动物识别15条r: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 是鸟AND 不会飞THEN该动物是鸵鸟r14:IF动物是鸟AND 不会飞AND 会游泳AND 是黑色的THEN该动物是企鹅r15:IF动物是鸟AND 善飞THEN该动物是信天翁四.推理树部分推理树如下:五.代码程序是用java编写的规则对象代码:public class Rule {private ArrayList<Integer> premise = new ArrayList<Integer>();private int result;public void addPremise(int item) { premise.add(item);}public int size() {return premise.size();}public int getPremiseAt(int index) {return premise.get(index);}public void setResult(int result) {this.result = result;}public int getResult() {return result;}}规则库代码如下:public class RuleBase {private ArrayList<Rule> rules= new ArrayList<Rule>();public int size() {return rules.size();}public RuleBase() {init();}public void addRule(Rule rule) {rules.add(rule);}public Rule getRuleAt(int index) {return rules.get(index);}public void init() {Rule rule1 = new Rule();rule1.addPremise(0); rule1.setResult(20);rules.add(rule1);Rule rule2 = new Rule();rule2.addPremise(1); rule2.setResult(20);rules.add(rule2);Rule rule3 = new Rule();rule3.addPremise(2); rule3.setResult(21);rules.add(rule3);Rule rule4 = new Rule();rule4.addPremise(3); rule4.addPremise(13); rule4.setResult(21);rules.add(rule4);Rule rule5 = new Rule();rule5.addPremise(19); rule5.setResult(22);rules.add(rule5);Rule rule6 = new Rule();rule6.addPremise(4); rule6.addPremise(15); rule6.addPremise(12); rule6.setResult(22);rules.add(rule6);Rule rule7 = new Rule();rule7.addPremise(20); rule7.addPremise(9); rule7.setResult(23);rules.add(rule7);Rule rule8 = new Rule();rule8.addPremise(20); rule8.addPremise(18); rule8.setResult(23);rules.add(rule8);Rule rule9 = new Rule();rule9.addPremise(20); rule9.addPremise(22); rule9.addPremise(14); rule9.addPremise(11);rule9.setResult(24);rules.add(rule9);Rule rule10 = new Rule();rule10.addPremise(20); rule10.addPremise(22); rule10.addPremise(11); rule10.addPremise(5);rule10.setResult(25);rules.add(rule10);Rule rule11 = new Rule();rule11.addPremise(23); rule11.addPremise(6); rule11.addPremise(7); rule11.addPremise(14);rule11.setResult(30);Rule rule12 = new Rule();rule12.addPremise(23); rule12.addPremise(5); rule12.setResult(26);rules.add(rule12);Rule rule13 = new Rule();rule13.addPremise(21); rule13.addPremise(6); rule13.addPremise(17); rule13.addPremise(7);rule13.setResult(27);rules.add(rule13);Rule rule14 = new Rule();rule14.addPremise(21); rule14.addPremise(10); rule14.addPremise(17); rule14.addPremise(8);rule14.setResult(28);rules.add(rule14);Rule rule15 = new Rule();rule15.addPremise(21); rule15.addPremise(16); rule15.setResult(29);}}综合数据库代码如下:public class Database {ArrayList<Integer> db = new ArrayList<Integer>();public void addFact(int item) {db.add(item);}public boolean contains(int item) {return db.contains(item);}}控制系统代码如下:public class Machine {public static String inference(Database db) { RuleBase ruleBase = new RuleBase();int result = 0;for (int i = 0; i < ruleBase.size(); i++) { int size = ruleBase.getRuleAt(i).size();boolean flag = true;for (int j = 0; j < size; j++) {if(!db.contains(ruleBase.getRuleAt(i).getPremiseAt(j))) { flag = false;break;}}if (flag) {int fact = ruleBase.getRuleAt(i).getResult();db.addFact(fact);if (fact >= 24) {result = fact;break;}}}switch (result) {case 24:return"金钱豹";case 25:return"老虎";case 26:return"斑马";case 27:return"鸵鸟";case 28:return"企鹅";case 29:return"信天翁";case 30:return"长颈鹿";default:return"不存在";}}}六.截图七.感想通过这次课程设计我对专业课的学习有了更加深刻的认识,让我知道了学无止境的道理。
鸟类观赏识别实验报告
浙江农林大学实验室开放项目(2012—2013—2)鸟类分类与校园鸟类识别姓名学号学院专业一、实验目的鸟类种类众多,形态多样,是动物中数量较多的一类,对维护生态平衡具有重要的意义。
通过室外调查浙江农林大学植物园不同区域、不同植被环境分布的不同鸟类类群,结合标本室内鸟类标本进行分类鉴定,识别不同类群的鸟类种类,了解植物园鸟类多样性的分布;同时通过室外鸟类调查来学习基本的观鸟方法和鸟类识别技巧,达到锻炼实验操作和实际动手的能力。
二、实验仪器与材料1、仪器设备双筒望远镜、单筒望远镜、相机、投影仪、笔记本电脑,不同型号规格解剖器材、标本瓶、硼酸、明矾、铁丝、脱脂棉、标签纸、野外记录本等。
2、材料标本室各种类群鸟类拨制标本;各种类群鸟类分类、生态、识别、图片资料和观鸟手册等;各种校园野生鸟类。
三、实验内容、方法与步骤(一)鸟类的形态特征1、鸟类外形:鸟类身体呈纺锤形,体外被覆羽毛,具有流线型的外廓,从而减少了飞行中的阻力。
头端具角质的喙,是啄食器官。
喙的形状与食性有密切关系。
颈长而灵活,尾骨退化、躯干紧密坚实、后肢强大,这些都是与飞行生活方式密切相关的:躯干坚实和尾骨退化有利于飞行的稳定;颈部发达可弥补前时变成翅膀后的不便;眼大,具眼睑及瞬膜可保护眼球。
瞬膜是一种近于透明的膜,能在飞翔时遮覆眼球,以避免干燥气流和灰尘对眼球的伤害。
鸟类瞬膜内缘具有一种羽状上皮,在地栖性的鸟类(如鸽与雉鸡)尤为发达,能借以刷洗灰尘;水禽及猛禽则很少。
耳孔略凹陷,周围着生耳羽,有助于收集声波。
夜行性鸟类(如猫头鹰)的耳孔极为发达。
前肢变成翼,后肢具4趾,这是鸟类外形上与其它脊椎动物不同的显著标志。
拇指通常向后,适于树栖握枝。
鸟类足型的形态与生活方式有密切关系。
尾段着生有扇状的正羽,称为尾羽,在飞翔中起着舵的作用。
尾羽的形状与飞翔特点有关。
2、皮肤:鸟类皮肤的特点是薄、松、干、软,缺乏腺体。
鸟类唯一的皮肤腺是一对或单个的尾脂腺,由导管开口于尾背方的乳头状突起上,能分泌油脂以保护羽毛不致变形,并可防水。
动物识别系统
学生实验报告实验课名称:人工智能实验项目名称:产生式系统实验专业名称:计算机科学与技术班级: 2012240201学号: 12学生姓名:雷彬教师姓名:陈亮亮2014年12 月10 日实验日期:2012 年12 月10 日实验室名称:明远2202首先给定初始事实,将初始事实放入动态数组中,并用初始事实与15条规则进行匹配,如果规则匹配成功,将规则的后件存入数组中,再用数组中所有的元素与规则进行匹配,满足即加入数组,直到匹配出动物。
如果给定初始事实能推出多种动物,按照数组中条件的先后顺序,顺序循环匹配规则,先匹配出哪种动物就显示该动物。
五.源程序:// MFC_AnimalDlg.cpp : 实现文件#include"stdafx.h"#include"MFC_Animal.h"#include"MFC_AnimalDlg.h"#include"afxdialogex.h"#ifdef_DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialogEx{public:CAboutDlg();// 对话框数据enum { IDD = IDD_ABOUTBOX };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD){}void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)END_MESSAGE_MAP()// CMFC_AnimalDlg 对话框CMFC_AnimalDlg::CMFC_AnimalDlg(CWnd* pParent/*=NULL*/) : CDialogEx(CMFC_AnimalDlg::IDD, pParent){m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CMFC_AnimalDlg::DoDataExchange(CDataExchange* pDX){CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_COMBO1, m_point1);DDX_Control(pDX, IDC_COMBO4, m_point2);DDX_Control(pDX, IDC_COMBO5, m_point3);DDX_Control(pDX, IDC_COMBO6, m_point4);DDX_Control(pDX, IDC_COMBO7, m_point5);DDX_Control(pDX, IDC_COMBO8, m_point6);DDX_Control(pDX, IDC_COMBO9, m_point7);}BEGIN_MESSAGE_MAP(CMFC_AnimalDlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON2, &CMFC_AnimalDlg::OnClickedButton2) ON_BN_CLICKED(IDC_BUTTON1, &CMFC_AnimalDlg::OnClickedButton1) END_MESSAGE_MAP()// CMFC_AnimalDlg 消息处理程序BOOL CMFC_AnimalDlg::OnInitDialog(){CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。
牛骨骼识别实验报告
一、实验目的1. 熟悉牛的骨骼系统组成及其在动物体内的功能。
2. 掌握牛骨骼的基本结构和形态特点。
3. 提高观察和识别骨骼的能力。
二、实验时间2023年X月X日三、实验地点实验室四、实验材料1. 牛骨骼标本一套(包括头骨、躯干骨、四肢骨等)2. 解剖刀、解剖剪、解剖镊等解剖工具3. 实验记录本、铅笔、绘图工具五、实验步骤1. 观察头骨(1)观察牛头骨的整体形状、大小和结构。
(2)识别头骨的主要部分,如额骨、顶骨、颞骨、鼻骨、上颌骨、下颌骨等。
(3)观察头骨的连接方式,如颅骨之间的缝、颞下颌关节等。
2. 观察躯干骨(1)观察牛脊柱的整体形状、大小和结构。
(2)识别脊柱的主要部分,如颈椎、胸椎、腰椎、荐椎、尾椎等。
(3)观察脊柱的连接方式,如椎骨之间的关节、椎间盘等。
(4)识别胸廓的组成部分,如肋骨、胸骨等。
3. 观察四肢骨(1)观察牛四肢骨的整体形状、大小和结构。
(2)识别四肢骨的主要部分,如肱骨、桡骨、尺骨、股骨、胫骨、腓骨、跗骨、跖骨、趾骨等。
(3)观察四肢骨的连接方式,如关节、骨间连结等。
4. 绘制骨骼图根据观察到的骨骼结构和形态,绘制牛骨骼的骨骼图,标注各部分名称。
六、实验结果与分析1. 头骨牛头骨呈长方形,主要由额骨、顶骨、颞骨、鼻骨、上颌骨、下颌骨等组成。
颅骨之间的缝有额缝、顶缝、颞缝等,颞下颌关节连接上颌骨和下颌骨。
2. 躯干骨牛脊柱呈"S"形,由颈椎、胸椎、腰椎、荐椎、尾椎等组成。
椎骨之间有椎间盘连接,胸廓由肋骨和胸骨组成,保护心脏和肺部。
3. 四肢骨牛四肢骨包括上肢骨和下肢骨。
上肢骨由肱骨、桡骨、尺骨组成,下肢骨由股骨、胫骨、腓骨、跗骨、跖骨、趾骨组成。
四肢骨之间有多个关节连接,如肩关节、肘关节、髋关节、膝关节等。
七、实验总结通过本次实验,我们对牛的骨骼系统有了更深入的了解,掌握了牛骨骼的基本结构和形态特点。
在观察过程中,我们学会了如何识别骨骼,提高了观察和识别能力。
动物识别系统实验报告
人工智能实验报告二班级:XXXX 姓名:XXXX 学号:XXXXX 一.实验目的1. 理解并掌握基于规则系统的表示与推理。
2. 学会编写小型的产生式系统,理解正向推理和反向推理的过3. 程以及两者的差别。
4. 学会设计简单的人机交互界面。
二.实验预习内容及实验环境:1. 了解动物识别系统问题;2. 产生式系统的组成部分,正向推理,逆向推理的算法和产生式系统的类型。
三、实验内容和步骤:1.内容:结合第五章内容,以动物识别系统(或货物袋装系统)为例,实现基于规则的系统构造实验。
2.要求:1>结果显示要求(1)有若干选择动物特征的选择列表;(2)表现判断动物时,使用了哪些规则;(3)表现数据库的变化;(正向推理中表现每使用一次规则后,产生新事实。
反向推理中表现新的目标事实有哪些需要证明,哪些已经得到证实);(4)显示规则的调用次序;(5)显示最后的结果,包含动物能识别出来和动物不能识别出来两种情况。
(6)至少检查两个例子实现正向推理和反向推理的区别;老虎的例子如上所示,以下为金钱豹的例子:正向推理:反向推理:2>指出综合数据库和规则库分别使用哪些函数实现的?综合数据库和规则库均采用数组完成。
其中的综合数据库为一个string类型的数组,内容为事实的名称字符串,下标则为该事实的序号。
数组长度为33,表示共有33个事实(最后7个为动物名称)。
代码如下:string facts[factnum]={"有爪","有犬齿","有奶","有毛发","目视前方","吃肉","有蹄","有羽毛","会飞","生蛋","不会飞","黑白色","会游泳","善飞","不怕风浪","长腿","长脖子","有暗斑点","白色","黑色斑点","黑色条纹","黄褐色","食肉动物","鸟","哺乳动物","有蹄动物","老虎","金钱豹","长颈鹿","斑马","鸵鸟","企鹅","海燕"};规则库为一个结构体数组。
人工智能动物识别系统JAVA
实验报告
课程名称
系别电子信息科学学院专业班级指导教师
学号____________姓名____________实验日期2016.4.1实验成绩___________
}
jp.add(lblImage);lblImage.setBounds(630,30,300,400);this.add(jp);
this.setTitle("动物识别系统");this.setBounds(100,100,1000,500);this.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
/用数组创复选框
{newCheckbox("有毛发"),newCheckbox("有奶"),newCheckbox("有羽毛"),
newCheckbox("会飞,且生蛋"),newCheckbox("吃肉"),
newCheckbox("有犬齿,且有爪,且眼盯前方"),newCheckbox("有蹄"),
publicclassRZSextendsJFrameimplementsActionListener{privatestaticJPaneljp=newJPanel();
privateJLabeljl1=newJLabel("请选择条件:");sta ticCheckbox[]Checkbox=
人工智能动物识别系统 实验报告
人工智能导论实验报告题目动物识别专家系统学院信息科学与工程学院专业计算机科学与技术姓名侯立军学号 *********** 班级计信1301二O一五年十一月二十六日1 设计内容题目:动物识别专家系统内容:动物识别专家系统是流行的专家系统实验模型,他用产生是规则来表示知识可以识别不同的动物。
这些规则既少又简单,可以改造他们,也可以加入新的规则,还可以用来识别其他新规则来取代这些规则。
2 基本原理2.1 产生式系统的问题求解基本过程:(1) 初始化综合数据库,即把欲解决问题的已知事实送入综合数据库中;(2) 检查规则库中是否有未使用过的规则,若无转 (7);(3) 检查规则库的未使用规则中是否有其前提可与综合数据库中已知事实相匹配的规则,若有,形成当前可用规则集;否则转(6);(4) 按照冲突消解策略,从当前可用规则集中选择一个规则执行,并对该规则作上标记。
把执行该规则后所得到的结论作为新的事实放入综合数据库;如果该规则的结论是一些操作,则执行这些操作;(5) 检查综合数据库中是否包含了该问题的解,若已包含,说明解已求出,问题求解过程结束;否则,转(2);(6) 当规则库中还有未使用规则,但均不能与综合数据库中的已有事实相匹配时,要求用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,执行下一步;(7) 若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。
2.2 正向推理正向推理是以已知事实作为出发点的一种推理,又称数据驱动推理、前向链推理及前件推理等。
2.2.1 正向推理的基本思想:从用户提供的初始已知事实出发,在知识库KB中找出当前可适用的知识,构成可适用知识集KS,然后按某种冲突消解策略从KS中选出一条知识进行推理,并将推出的新事实加入到数据库中作为下一步推理的已知事实,在此之后再在知识库中选取可适用的知识进行推理,如此重复,直到求得了所要求的解,或者知识库中再无可适用的知识为止。
人工智能的实验报告
一、实验目的1. 理解人工智能在动物识别领域的应用,掌握相关算法和模型。
2. 掌握深度学习在图像识别中的应用,学习使用神经网络进行图像分类。
3. 实现一个基于人工智能的动物识别系统,提高动物识别的准确率和效率。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.63. 开发工具:PyCharm4. 依赖库:TensorFlow、OpenCV、NumPy、Pandas三、实验内容1. 数据收集与预处理实验使用的数据集为公开的动物图像数据集,包含多种动物图片,共3000张。
数据预处理步骤如下:(1)将原始图像转换为统一尺寸(如224x224像素);(2)对图像进行灰度化处理,减少计算量;(3)对图像进行归一化处理,使图像像素值在0到1之间;(4)将图像数据转换为NumPy数组,方便后续处理。
2. 模型构建与训练实验采用卷积神经网络(CNN)进行图像识别。
模型构建步骤如下:(1)定义卷积层:使用卷积层提取图像特征,卷积核大小为3x3,步长为1,激活函数为ReLU;(2)定义池化层:使用最大池化层降低特征维度,池化窗口大小为2x2;(3)定义全连接层:将卷积层和池化层提取的特征进行融合,输入层大小为64x64x32,输出层大小为10(代表10种动物类别);(4)定义损失函数和优化器:使用交叉熵损失函数和Adam优化器进行模型训练。
训练模型时,采用以下参数:(1)批处理大小:32;(2)学习率:0.001;(3)训练轮数:100。
3. 模型评估与测试训练完成后,使用测试集对模型进行评估。
测试集包含1000张图像,模型准确率为80.2%。
4. 系统实现与演示根据训练好的模型,实现一个基于人工智能的动物识别系统。
系统功能如下:(1)用户上传动物图像;(2)系统对上传的图像进行预处理;(3)使用训练好的模型对图像进行识别;(4)系统输出识别结果。
四、实验结果与分析1. 模型准确率:80.2%,说明模型在动物识别任务中具有一定的识别能力。
实验一:产生式系统-动物识别系统
《人工智能导论》实验报告实验一:产生式系统——动物识别系统一、实验目的1、掌握知识的产生式表示法2、掌握用程序设计语言编制智能程序的方法二、实验内容1、所选编程语言:C语言;2.拟订的规则:(1)若某动物有奶,则它是哺乳动物。
(2)若某动物有毛发,则它是哺乳动物。
(3)若某动物有羽毛,则它是鸟。
(4)若某动物会飞且生蛋,则它是鸟。
(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。
(6)若某动物是哺乳动物且吃肉,则它是食肉动物。
(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。
(8)若某动物是哺乳动物且反刍食物,则它是有蹄动物。
(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。
(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。
(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。
(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。
(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。
(15)若某动物是鸟且善飞,则它是海燕。
2、设计思路:用户界面:采用问答形式;知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时也建立了事实库。
事实库是一个动态链表,一个事实是链表的一个结点。
知识库通过事实号与事实库发生联系。
数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果;推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库中的规则对综合数据库中的数据进行逻辑操作。
推理机担负两项基本任务:一是检查已有的事实和规则,并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。
将推理机制同规则对象封装在一起,事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结论为真,否则系统不知道结论真假。
小鼠新奇物体实验报告
一、实验背景新奇物体识别实验是行为心理学中常用的实验方法,主要用于研究动物和人类对新异刺激的反应能力。
本实验旨在探究小鼠对新奇物体的识别能力,以及这种能力与学习记忆之间的关系。
二、实验目的1. 了解小鼠对新奇物体的识别能力。
2. 探究新奇物体识别能力与学习记忆的关系。
3. 为后续相关研究提供实验依据。
三、实验材料1. 实验动物:雄性昆明小鼠,体重20-25克,年龄6-8周。
2. 实验环境:标准鼠笼,温度控制在22-25℃,湿度控制在40%-60%。
3. 实验器材:新奇物体(如塑料瓶、纸盒等)、计时器、电子天平、鼠笼等。
四、实验方法1. 实验分组:将实验动物随机分为两组,每组10只,分别为实验组(新奇物体组)和控制组(普通物体组)。
2. 实验流程:a. 将实验动物置于鼠笼中,适应环境30分钟。
b. 实验组将小鼠置于包含新奇物体的鼠笼中,观察小鼠对新奇物体的反应,记录时间。
c. 控制组将小鼠置于包含普通物体的鼠笼中,观察小鼠对普通物体的反应,记录时间。
d. 实验结束后,将小鼠放回鼠笼,观察其对新奇物体和普通物体的反应变化。
五、实验结果1. 实验组小鼠对新奇物体的反应时间为(平均时间±标准差)X秒,控制组小鼠对普通物体的反应时间为(平均时间±标准差)Y秒。
2. 实验结束后,观察实验组小鼠对新奇物体的反应时间明显缩短,而控制组小鼠对普通物体的反应时间无明显变化。
六、分析与讨论1. 实验结果表明,小鼠具有对新奇物体的识别能力,且这种能力与学习记忆有关。
2. 实验组小鼠在经历新奇物体刺激后,对新奇物体的反应时间明显缩短,说明小鼠通过学习记忆,提高了对新奇物体的识别能力。
3. 与控制组相比,实验组小鼠对新奇物体的反应时间更短,说明新奇物体对小鼠具有更强的吸引力,促使小鼠进行学习记忆。
七、结论1. 小鼠具有对新奇物体的识别能力,且这种能力与学习记忆有关。
2. 新奇物体对小鼠具有更强的吸引力,促使小鼠进行学习记忆。
人工智能实验报告
暨南大学人工智能实验报告题目:动物识别系统院系:信科院计算机系专业:计算机软件与理论学号: 0934061004学生姓名:张韶远成绩:日期: 2009年11月10日一、目的与要求1.掌握人工智能的知识表示技术,能用产生式表示法表示知识,并实现一个用于识别的专家系统。
2.推理策略采用正向推理和反向推理两种。
二、主要内容1.学习人工智能的知识表示技术,关键掌握产生式知识表示的具体应用方法。
2.实现的动物识别系统的主要功能如下:2.1系统能通过正向、反向推理得到正确的动物识别结果。
2.2系统能动态地添加规则、能显示推理过程。
三.实验原理产生式表示:产生式表示是知识表示的一种。
这种方法是建立在因果关系的基础上的,可很容易的描述事实、规则及其不确定性度量。
1.事实的表示:事实可看成是断言一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以是一个词。
不一定是数字。
一般使用三元组(对象,属性,值)或(关系,对象1,对象2)来表示事实,其中对象就是语言变量,若考虑不确定性就成了四元组表示(增加可信度)。
这种表示的机器内部实现就是一个表。
如事实“老李年龄是35岁”,便写成(Lee,age,35)事实“老李、老张是朋友”,可写成(friend,Lee,Zhang)2.规则的表示:规则用于表示事物间的因果关系,以if condition then action 的单一形式来描述,将规则作为知识的单位。
其中的condition 部分称为条件式前件或模式,而action部分称作动作、后件或结论。
后件。
前件和后件也可以是有“与”、“或”、“非”等逻辑运算符的组合的表达式。
条件部分常是一些事实的合取或析取,而结论常是某一事实B。
如果不考虑不确定性,需另附可信度度量值。
产生式过则的含义是:如果前件满足,则可得到后件的结论或者执行后件的相应动作,即后件由前件来触发。
一个产生式生成的结论可以作为另一个产生式的前提或语言变量使用,进一步可构成产生式系统。
产生式系统实验报告
3、建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。
4、然后按“确定”按钮即可。
此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。
((CButton*)GetDlgItem(IDC_CHECK9))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK10))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK11))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK19))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK20))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK21))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK15))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK16))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK17))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK3))->SetCheck(BST_UNCHECKED);
贝类方位辨别实验报告(3篇)
第1篇一、实验目的1. 了解贝类的生物特性,特别是其方位辨别能力。
2. 探究不同环境因素对贝类方位辨别能力的影响。
3. 通过实验验证贝类方位辨别能力的科学原理。
二、实验背景贝类是一类生活在水中的无脊椎动物,它们在自然界中扮演着重要的角色。
贝类具有多种生物学特性,其中方位辨别能力是其中之一。
方位辨别能力是指贝类在环境中能够感知并判断自身位置的能力。
本研究旨在通过实验验证贝类的方位辨别能力,并探讨影响其方位辨别能力的因素。
三、实验材料与方法1. 实验材料:牡蛎、扇贝、鲍鱼等贝类,实验箱、坐标纸、光源、温度计、湿度计等。
2. 实验方法:(1)分组:将贝类分为实验组和对照组,实验组为牡蛎、扇贝、鲍鱼,对照组为其他贝类。
(2)实验设置:在实验箱中设置不同环境条件,如光照、温度、湿度等。
(3)实验过程:将贝类置于实验箱中,观察其方位辨别能力。
记录贝类在实验过程中的行为表现,如游动方向、停留位置等。
(4)数据分析:对实验数据进行分析,比较实验组和对照组的方位辨别能力差异,探讨环境因素对贝类方位辨别能力的影响。
四、实验结果与分析1. 贝类方位辨别能力差异实验结果显示,实验组贝类在实验过程中表现出较强的方位辨别能力,而对照组贝类的方位辨别能力相对较弱。
这说明不同种类的贝类在方位辨别能力上存在差异。
2. 环境因素对贝类方位辨别能力的影响(1)光照:在光照条件下,实验组贝类表现出较强的方位辨别能力,而对照组贝类的方位辨别能力较弱。
这表明光照对贝类方位辨别能力有显著影响。
(2)温度:在适宜的温度范围内,实验组贝类的方位辨别能力较强,而温度过高或过低时,贝类的方位辨别能力有所下降。
这说明温度对贝类方位辨别能力有显著影响。
(3)湿度:在适宜的湿度条件下,实验组贝类的方位辨别能力较强,而湿度过高或过低时,贝类的方位辨别能力有所下降。
这说明湿度对贝类方位辨别能力有显著影响。
五、实验结论1. 贝类具有方位辨别能力,且不同种类的贝类在方位辨别能力上存在差异。
动物器官鉴别实验报告
一、实验目的通过本次实验,旨在掌握动物器官的基本形态和结构,提高对动物内脏器官的识别能力,为后续实验研究奠定基础。
二、实验材料与器材1. 实验动物:小白鼠1只2. 器材:解剖剪、解剖刀、镊子、解剖盘、解剖显微镜、生理盐水、75%酒精、棉球、解剖针、解剖图谱三、实验步骤1. 准备工作(1)将小白鼠固定在解剖盘上,用解剖剪剪开腹部皮肤,暴露腹部器官。
(2)用生理盐水清洁器官表面,用75%酒精消毒。
2. 器官识别(1)心脏- 观察心脏的形状、大小和颜色。
- 观察心脏的四个腔室:左心房、左心室、右心房、右心室。
- 观察心脏的瓣膜:二尖瓣、三尖瓣、主动脉瓣、肺动脉瓣。
(2)肝脏- 观察肝脏的形状、大小和颜色。
- 观察肝脏的左右叶、前后叶。
- 观察肝脏的血管:门静脉、肝静脉、肝动脉。
(3)脾脏- 观察脾脏的形状、大小和颜色。
- 观察脾脏的中央动脉和脾窦。
(4)肺脏- 观察肺脏的形状、大小和颜色。
- 观察肺脏的叶间裂和肺叶。
- 观察肺脏的支气管和肺血管。
(5)肾脏- 观察肾脏的形状、大小和颜色。
- 观察肾脏的皮质、髓质和肾盂。
- 观察肾脏的血管:肾动脉、肾静脉。
(6)胃- 观察胃的形状、大小和颜色。
- 观察胃的胃底、胃体、胃窦。
- 观察胃的血管:胃左动脉、胃右动脉、胃网膜动脉。
(7)小肠- 观察小肠的形状、大小和颜色。
- 观察小肠的绒毛和肠腺。
- 观察小肠的血管:肠系膜上动脉、肠系膜上静脉。
(8)大肠- 观察大肠的形状、大小和颜色。
- 观察大肠的盲肠、结肠、直肠。
- 观察大肠的血管:肠系膜下动脉、肠系膜下静脉。
3. 器官对比(1)将实验动物的器官与解剖图谱进行对比,确认器官名称和位置。
(2)对比不同动物的器官,了解器官的异同。
四、实验结果与分析1. 实验动物心脏为两房两室结构,四个瓣膜分别对应四个心腔。
2. 实验动物肝脏为左右叶,血管丰富,具有代谢和解毒功能。
3. 实验动物脾脏为中央动脉和脾窦结构,具有过滤血液和储存红细胞功能。
蜗牛嗅觉实验报告
一、实验目的通过本实验,探究蜗牛是否具有嗅觉,以及其嗅觉的灵敏度和识别能力。
二、实验材料1. 实验动物:蜗牛(品种不限)若干2. 实验用品:培养皿、棉签、酒精、硫酸铜、氯化钠、葡萄糖、苹果汁、醋、清水、温度计、显微镜、数据记录表三、实验方法1. 实验前准备(1)将蜗牛放置在适宜的环境中,保持温度和湿度适宜,观察蜗牛的生活状态。
(2)准备好实验用品,包括培养皿、棉签、酒精、硫酸铜、氯化钠、葡萄糖、苹果汁、醋、清水等。
2. 实验步骤(1)将蜗牛分为实验组和对照组,每组若干只。
(2)实验组:用棉签蘸取不同物质(酒精、硫酸铜、氯化钠、葡萄糖、苹果汁、醋、清水)涂抹在蜗牛的触角上,观察蜗牛的反应。
(3)对照组:用棉签蘸取清水涂抹在蜗牛的触角上,观察蜗牛的反应。
(4)在实验过程中,记录蜗牛的反应时间、反应强度和反应类型。
(5)将实验结果进行统计分析,比较实验组和对照组的差异。
3. 实验结果分析(1)蜗牛对酒精的反应:蜗牛对酒精的反应较为敏感,触角接触到酒精后,蜗牛会迅速将头部缩回壳内,并停止爬行。
(2)蜗牛对硫酸铜的反应:蜗牛对硫酸铜的反应较为敏感,触角接触到硫酸铜后,蜗牛会迅速将头部缩回壳内,并停止爬行。
(3)蜗牛对氯化钠的反应:蜗牛对氯化钠的反应较弱,触角接触到氯化钠后,蜗牛会稍微停止爬行,但很快恢复。
(4)蜗牛对葡萄糖的反应:蜗牛对葡萄糖的反应较弱,触角接触到葡萄糖后,蜗牛会稍微停止爬行,但很快恢复。
(5)蜗牛对苹果汁的反应:蜗牛对苹果汁的反应较弱,触角接触到苹果汁后,蜗牛会稍微停止爬行,但很快恢复。
(6)蜗牛对醋的反应:蜗牛对醋的反应较为敏感,触角接触到醋后,蜗牛会迅速将头部缩回壳内,并停止爬行。
(7)蜗牛对清水的反应:蜗牛对清水的反应较弱,触角接触到清水后,蜗牛会稍微停止爬行,但很快恢复。
4. 实验结论(1)蜗牛具有嗅觉,能够识别不同物质的味道。
(2)蜗牛对不同物质的嗅觉灵敏度不同,对酒精、硫酸铜和醋的嗅觉灵敏度较高,对氯化钠、葡萄糖和苹果汁的嗅觉灵敏度较低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工智能实验报告题目:基于web的动物识别系统院系:信科院计算机系日期:2013年10月31日目录1. 实验目的及开发工具 (1)2. 实验原理 (1)3. 数据库设计 (1)3.1 数据库设计思想 (1)3.2 数据库系统结构 (2)4. 系统设计 (2)4.1系统首页 (3)4.2 动物识别 (4)4.3 添加规则 (6)4.4 删除规则 (10)5. 实验心得 (11)6. 实验总结 (11)1. 实验目的及开发工具编写一个基于WEB的动物识别系统,实现对动物的识别,理解产生式表达式;熟悉产生式系统的基本过程;熟悉与数据库结合。
本系统采用的开发工具为SQL server 2005,Visual Studio 2008 ,程序设计语言为2.0 , C# 。
2.实验原理产生式系统是把一组产生式放在一起,并让它们相互配合,协同作用,一个产生式的结论可以供另一个产生式作为已知事实使用,以求得问题的解决。
产生式的基本形式为P Q或者if P then Q产生式规则分析如下:动物识别系统的部分推理网络3. 数据库设计3.1 数据库设计思想通过以上分析,我们建立了一个DBai数据库,其中存放两张表,分别是条件表Condition和规则表principle。
表1 :条件表Condition项目名数据结构说明ConditionID Int 编号,主键ConditionContent Varchar(20)条件内容表2:规则表principle项目名数据结构说明RuleID Int 编号,主键Condition1 Int 条件1编号Condition2 Int 条件2编号Condition3 Int 条件3编号Condition4 Int 条件4编号Condition5 Int 条件5编号Conclusion Int 结论3.2 数据库系统结构条件表是一个用来存放与求解问题有关的各种当前信息的数据结构。
例如问题的初始状态、输入的事实、推理得到的中间结论和最终结论。
规则表是一个用来存放与求解问题有关的所有规则的集合,也称为知识库。
它包含了问题从初始状态转换成目标状态所需要的所有变换规则。
在推理过程中,当规则表中某条规则的前提可以和综合数据库中的已知事实相匹配时,该规则被激活。
由它推出的结论将被作为新的事实放入数据库,称为后面推理的已知事实。
所以数据库系统结构如下:数据库条件表规则表4. 系统设计本系统分为三个功能模块,分别是动物识别、添加规则、删除规则。
系统实现如下,其中distinguish.aspx实现动物识别;Addrule.aspx实现添加规则;Deleterule.aspx实现删除规则;主页实现为main.aspx和top.aspx;连接数据库调用DBFunction.cs。
4.1系统首页在浏览器上显示动物识别系统的首页如下图所示。
连接数据库的关键代码:public DBFunction(DBTransactionType TranType) {string Constring = "server=;uid=dbai;pwd=syssys;database=dbai";_con = new SqlConnection(Constring);try {_con.Open();_cmd = _con.CreateCommand();if (TranType == DBTransactionType.WithTran){_tran = _con.BeginTransaction();_cmd.Transaction = _tran;}}catch (Exception ex){throw ex;}}4.2 动物识别单击“动物识别”按钮,页面跳转后可根据条件对动物进行判别,比如选择“有羽毛”,点击“查询”按钮,则系统显示识别的结果,如下图所示:主要源代码:using (DBFunction DBfun = new DBFunction(DBTransactionType.NonTran)){//查询在这次用户选择的所有的规则能够得到的所有的规则,将这些规则的所有结论都放到congditions中,作为其他的条件。
dt = DBfun.ExecforQuery("select * from principle");int l = 5;int test = 0;while (l > 0){for (i = 0; i < dt.Rows.Count; i++){string sql_condition_chosen = find_sql(chosen);DataTable dt_conditions = DBfun.ExecforQuery(sql_condition_chosen);bool check = true;for (int j = 1; j < 6; j++){if (dt.Rows[i][j].ToString() == ""){ }else {if (!is_in(dt.Rows[i][j].ToString().Trim(), dt_conditions)){check = false;break;}}}if (check == true && rule_is_chosen[i] == false {test = 1;string to_exe;DataTable dt_temp = null;result += "从";to_exe = string.Format("select * from Condition a,Condition b where a.ConditionID<b.ConditionID and b.ConditionContent='{0}'", dt.Rows[i]["Conclusion"].ToString());dt_temp = DBfun.ExecforQuery(to_exe);int number = dt_temp.Rows.Count;condition_is_chosen[number] = true;rule_is_chosen[i] = true;to_exe = string.Format(@"select ConditionContent from Condition whereConditionID='{0}' orConditionID='{1}' or ConditionID='{2}' or ConditionID='{3}' orConditionID='{4}'",dt.Rows[i]["Condition1"].ToString(),dt.Rows[i]["Condition2"].ToString(),dt.Rows[i]["Condition3"].ToString(),dt.Rows[i]["Condition4"].ToString(),dt.Rows[i]["Condition5"].ToString());dt_temp = DBfun.ExecforQuery(to_exe);for (int n = 0; n < dt_temp.Rows.Count; n++){if (n < dt_temp.Rows.Count - 1) {result += dt_temp.Rows[n]["ConditionContent"].ToString() + "和";}else {result += dt_temp.Rows[n]["ConditionContent"].ToString();}}result += "可以看出,该动物";to_exe = string.Format(@"select ConditionContent from Condition where ConditionID='{0}'", dt.Rows[i]["Conclusion"].ToString());dt_temp = DBfun.ExecforQuery(to_exe);result += dt_temp.Rows[0]["ConditionContent"].ToString() + "\n\n";rule_is_chosen[i] = true;string conclu = string.Format("select * from Condition where ConditionID<'{0}'", dt.Rows[i]["Conclusion"].ToString());dt_temp = DBfun.ExecforQuery(conclu);int number_of_rule = dt_temp.Rows.Count;chosen[number_of_rule] = number_of_rule;}}l--;}if (test == 0)result += "从所选条件不能推出任意结论";}this.TextBox1.Text = result;}4.3 添加规则如果对规则库进行添加,可单击“添加规则”按钮,输入需要添加的条件和结论即可。
主要源代码://添加已经在数据库中的项for (int j = 0; j < this.CheckBoxList1.Items.Count; j++) {if (this.CheckBoxList1.Items[j].Selected == true) {condition[numbers] = Int32.Parse(this.CheckBoxList1.Items[j].Value.ToString());numbers++;}}//添加用户自己输入的项using (DBFunction DBfun = new DBFunction(DBTransactionType.WithTran)) { //如果用户填写了这个空并且这个条件不在数据库中,就将它添加到数据库中。