人工智能动物识别系统JAVA.docx

上传人:b****7 文档编号:9829142 上传时间:2023-02-06 格式:DOCX 页数:13 大小:981.33KB
下载 相关 举报
人工智能动物识别系统JAVA.docx_第1页
第1页 / 共13页
人工智能动物识别系统JAVA.docx_第2页
第2页 / 共13页
人工智能动物识别系统JAVA.docx_第3页
第3页 / 共13页
人工智能动物识别系统JAVA.docx_第4页
第4页 / 共13页
人工智能动物识别系统JAVA.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

人工智能动物识别系统JAVA.docx

《人工智能动物识别系统JAVA.docx》由会员分享,可在线阅读,更多相关《人工智能动物识别系统JAVA.docx(13页珍藏版)》请在冰豆网上搜索。

人工智能动物识别系统JAVA.docx

人工智能动物识别系统JAVA

实验报告

课程名称人工智能与专家系统实验名称动物分类专家系统设计

系别电子信息科学学院专业班级指导教师

学号____________姓名____________实验日期实验成绩___________

 

一、实验目的

1、加深明白得专家系统的结构原理与实际应用。

2、初步把握知识获取的大体方式。

3、把握产生式规那么知识表示方式及其编程实现方式。

4、初步把握知识库的组建方式。

5、加深明白得推理机的算法原理并初步把握其编程实现方式。

二、实验环境

1、硬件环境:

微机

2、编程语言不限

三、实验原理

一个基于规那么专家系统的完整结构示于图1。

其中,知识库、推理机和工作存储器是组成专家系统的核心。

系统的要紧部份是知识库和推理引擎。

知识库由谓词演算事实和有关讨论主题的规那么组成。

推理引擎由所有操纵知识库来演绎用户要求的信息的进程组成-如消解、前向链或反向链。

用户接口可能包括某种自然语言处置系统,它许诺用户用一个有限的自然语言形式与系统交互;也可能用带有菜单的图形接口界面。

说明子系统分析被系统执行的推理结构,并把它说明给用户。

推理机

解释器

工作存储器

知识库

外部程序

用户界面

开发界面

用户

知识工程师

图1一个基于规那么专家系统的完整结构

 

三、实验内容

运用以下规那么,设计并实现一个小型动物分类专家系统。

规那么1:

若是:

动物有毛发

则:

该动物是哺乳动物

规那么2:

若是:

动物有奶

则:

该单位是哺乳动物

规那么3:

若是:

该动物有羽毛

则:

该动物是鸟

规那么4:

若是:

动物会飞,且会下蛋

则:

该动物是鸟

规那么5:

若是:

动物吃肉

则:

该动物是肉食动物

规那么6:

若是:

动物有犬齿,且有爪,且眼盯前方

则:

该动物是食肉动物

规那么7:

若是:

动物是哺乳动物,且有蹄

则:

该动物是有蹄动物

规那么8:

若是:

动物是哺乳动物,且是反刍动物

则:

该动物是有蹄动物

规那么9:

若是:

动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点

则:

该动物是豹

规那么10:

若是:

若是:

动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹

则:

该动物是虎

规那么11:

若是:

动物有暗斑点,且有长腿,且有长脖子,且是有蹄类

则:

该动物是长颈鹿

规那么12:

若是:

动物有黑条纹,且是有蹄类动物

则:

该动物是斑马

规那么13:

若是:

动物有长腿,且有长脖子,且是黑色的,且是鸟,且可不能飞

则:

该动物是鸵鸟

规那么14:

若是:

动物是鸟,且可不能飞,且会游泳,且是黑色的

则:

该动物是企鹅

规那么15:

若是:

动物是鸟,且善飞

则:

该动物是信天翁

利用上述15条规那么,可区分7种动物。

(2)推理机设计:

采纳正向推理。

(3)实验代码

packagetx;

import.*;

import.*;

publicclassRZSextendsJFrameimplementsActionListener{

privatestaticJPaneljp=newJPanel();

privateJLabeljl1=newJLabel("请选择条件:

");

staticCheckbox[]Checkbox=

etBounds(30,30+i*50,200,26);

}

for(inti=5;i<=10;i++)

{

(Checkbox[i]);

Checkbox[i].setBounds(230,30+(i-5)*50,200,26);

}

for(inti=10;i<=14;i++)

{

(Checkbox[i]);

Checkbox[i].setBounds(430,30+(i-10)*50,200,26);

}

(but1);

(30,280,100,30);

(but2);

(150,280,100,30);

(jl2);

(30,330,200,30);

(jl3);

(30,380,200,30);

(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

etState()==true||Checkbox[1].getState()==true)

&&(Checkbox[4].getState()==true||Checkbox[5].getState()==true)

&&(Checkbox[8].getState()==true))

("豹");

elseif((Checkbox[0].getState()==true||Checkbox[1].getState()==true)

&&(Checkbox[4].getState()==true||Checkbox[5].getState()==true)

&&(Checkbox[9].getState()==true))

("虎");

elseif((Checkbox[0].getState()==true||Checkbox[1].getState()==true)

&&(Checkbox[6].getState()==true||Checkbox[7].getState()==true)

&&(Checkbox[10].getState()==true))

("长颈鹿");

elseif((Checkbox[0].getState()==true||Checkbox[1].getState()==true)

&&(Checkbox[6].getState()==true||Checkbox[7].getState()==true)

&&(Checkbox[11].getState()==true))

("斑马");

elseif((Checkbox[2].getState()==true)&&(Checkbox[12].getState()==true))

("鸵鸟");

elseif((Checkbox[2].getState()==true||Checkbox[3].getState()==true)

&&(Checkbox[13].getState()==true))

("企鹅");

elseif((Checkbox[2].getState()==true||Checkbox[3].getState()==true)

&&(Checkbox[14].getState()==true))

("信天翁");

else("条件不足或出错,请重新勾选条件");

}

});

(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

etState(false);

}

}

});

(lblImage);

(630,30,300,400);

(jp);

("动物识别系统");

(100,100,1000,500);

(true);

}

publicvoidactionPerformed(ActionEvente){

;

import.*;

publicclassRZSextendsJFrameimplementsActionListener{

privatestaticJPaneljp=newJPanel();

privateJLabeljl1=newJLabel("请选择条件:

");

staticCheckbox[]Checkbox=

{newCheckbox("有毛发"),

newCheckbox("有奶"),

newCheckbox("有羽毛"),

newCheckbox("会飞,且生蛋"),

newCheckbox("吃肉"),

newCheckbox("有犬齿,且有爪,且眼盯前方"),

newCheckbox("有蹄"),

newCheckbox("反刍动物"),

newCheckbox("黄褐色有暗斑点"),

newCheckbox("黄褐色有黑条纹"),

newCheckbox("暗斑点,长腿,长脖子"),

newCheckbox("黑条纹"),

newCheckbox("长腿,长脖子,黑色,可不能飞"),

newCheckbox("可不能飞,会游泳,黑色的"),

newCheckbox("善飞")

};

staticJButtonbut1=newJButton("确信");

staticJButtonbut2=newJButton("重置");

staticJLabellblImage=newJLabel(newImageIcon("E:

\\照片\\"));

privateJLabeljl2=newJLabel("推出结果:

");

privateJLabeljl3=newJLabel("");

publicRZS()

{

(null);

(jl1);

(30,0,200,30);

for(inti=0;i<=5;i++)

{

(Checkbox[i]);

Checkbox[i].setBounds(30,30+i*50,200,26);

}

for(inti=5;i<=10;i++)

{

(Checkbox[i]);

Checkbox[i].setBounds(230,30+(i-5)*50,200,26);

}

for(inti=10;i<=14;i++)

{

(Checkbox[i]);

Checkbox[i].setBounds(430,30+(i-10)*50,200,26);

}

(but1);

(30,280,100,30);

(but2);

(150,280,100,30);

(jl2);

(30,330,200,30);

(jl3);

(30,380,200,30);

(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

etState()==true||Checkbox[1].getState()==true)

&&(Checkbox[4].getState()==true||Checkbox[5].getState()==true)

&&(Checkbox[8].getState()==true))

etState()==false,不然选择两种动物以上会犯错,可是我懒,没改。

("豹");

elseif((Checkbox[0].getState()==true||Checkbox[1].getState()==true)

&&(Checkbox[4].getState()==true||Checkbox[5].getState()==true)

&&(Checkbox[9].getState()==true))

("虎");

elseif((Checkbox[0].getState()==true||Checkbox[1].getState()==true)

&&(Checkbox[6].getState()==true||Checkbox[7].getState()==true)

&&(Checkbox[10].getState()==true))

("长颈鹿");

elseif((Checkbox[0].getState()==true||Checkbox[1].getState()==true)

&&(Checkbox[6].getState()==true||Checkbox[7].getState()==true)

&&(Checkbox[11].getState()==true))

("斑马");

elseif((Checkbox[2].getState()==true)&&(Checkbox[12].getState()==true))

("鸵鸟");

elseif((Checkbox[2].getState()==true||Checkbox[3].getState()==true)

&&(Checkbox[13].getState()==true))

("企鹅");

elseif((Checkbox[2].getState()==true||Checkbox[3].getState()==true)

&&(Checkbox[14].getState()==true))

("信天翁");

else("条件不足或出错,请重新勾选条件");

}

});

(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

etState(false);

}

}

});

(lblImage);

(630,30,300,400);

(jp);

("动物识别系统");

(100,100,1000,500);

(true);

}

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

}

publicstaticvoidmain(String[]args){

newRZS();

}

}

(3)实验结果

例图1:

老虎

例图2:

鸵鸟

例图3:

条件不足

例图4:

重置

四、实验小结:

(内容如下:

1.简述系统各模块设计思想。

2.总结(能够含错误分析、体会总结、编程心得等)

上交报告时,请删去上述红字。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1