当前位置:
文档之家› 人工智能动物识别系统JAVA
人工智能动物识别系统JAVA
/用数组创复选框
{newCheckbox("有毛发"),newCheckbox("有奶"),newCheckbox("有羽毛"),
newCheckbox("会飞,且生蛋"),newCheckbox("吃肉"),
newCheckbox("有犬齿,且有爪,且眼盯前方"),newCheckbox("有蹄"),
}
jp.add(but1);
but1.setBounds(30,280,100,30);jp.add(but2);
but2.setBounds(150,280,100,30);jp.add(jl2);
jl2.setBounds(30,330,200,30);jp.add(jl3);
jl3.setBounds(30,380,200,30);but1.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
/推 理 机if((Checkbox[0].getState()==true|Checkbox[1].getState()==true)
&&(Checkbox[4].getState()==true|Checkbox[5].getState()==true)&&(Checkbox[8].getState()==true))
推 理机
知 识库
用户知识工程师
图1一个基于规则专家系统的完整结构
三、实验内容
运用下列规则,设计并实现一个小型动物分类专家系统。 规 则 1:
如果:动物有毛发
则:该动物是哺乳动物 规 则 2:
如果:动物有奶
则:该单位是哺乳动物 规 则 3:
如果:该动物有羽毛 则:该动物是鸟
规 则 4:
如果:动物会飞,且会下蛋 则:该动物是鸟
5、加深理解推理机的算法原理并初步掌握其编程实现方法。
二、实验环境
1、硬件环境:微机
2、编程语言不限
三、实验原理
一个基于规则专家系统的完整结构示于图1。其中,知识库、推理机和工作存储器是构成专家系统的核心。 系统的主要部分是知识库和推理引擎。知识库由谓词演算事实和有关讨论主题的规则构成。推理引擎由所有操纵 知识库来演绎用户要求的信息的过程构成-如消解、前向链或反向链。用户接口可能包括某种自然语言处理系统, 它允许用户用一个有限的自然语言形式与系统交互;也可能用带有菜单的图形接口界面。解释子系统分析被系统 执行的推理结构,并把它解释给用户。
实验报告
课程名称
系别电子信息科学学院专业班级指导教师
学号____________姓名____________实验日期2016.4.1实验成绩___________
一、实验目的
1、加深理解专家系统的结构原理与实际应用。
2、初步掌握知识获取的基本方法。
3、掌握产生式规则知识表示方法及其编程实现方法。
4、初步掌握知识库的组建方法。
newCheckbox("反刍动物"),
newCheckbox("黄褐色有暗斑点"),newCheckbox("黄褐色有黑条纹"),
newCheckbox("暗斑点,长腿,长脖子"),newCheckbox("黑条纹"),
newCheckbox("长腿,长脖子,黑色,不会飞"),newCheckbox("不会飞,会游泳,黑色的"),
规 则14:
如果:动物是鸟,且不会飞,且会游泳,且是黑色的 则:该动物是企鹅
规 则15:
如果:动物是鸟,且善飞 则:该动物是信天翁
利用上述15条规则,可区分7种动物。
(2)推理机设计:采用正向推理。
(3)实验代码
packagetx;
importjava.awt.Checkbox;importjava.awt.*;
规 则 5:
如果:动物吃肉
则:该动物是肉食动物 规 则 6:
如果:动物有犬齿,且有爪,且眼盯前方 则:该动物是食肉动物
规 则 7:
如果:动物是哺乳动物,且有蹄 则:该动物是有蹄动物
规 则 8:
如果:动物是哺乳动物,且是反刍动物 则:该动物是有蹄动物
规 则 9:
如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点 则:该动物是豹
privateJLabelj l 3=newJLabel("");publicRZS()
{/图形界面
jp.setLayout(null);jp.add(jl1);
jl1.setBounds(30,0,200,30);for(inti=0;i<=5;i++)
{
jp.add(C heckbox[i]) ; Checkbox[i].setBounds(30,30+i*50,200,26);
规 则10:
如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹 则:该动物是虎
规 则11:
如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类 则:该动物是长颈鹿
规 则12:
如果:动物有黑条纹,且是有蹄类动物 则:该动物是斑马
规 则13:
如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞 则:该动物是鸵鸟
importjava.awt.event.*;importjavax.swing.*;
publicclassRZSextendsJFrameimplementsActionListener{privatestaticJPaneljp=newJPanel();
privateJLabeljl1=newJLabel("请选择条件:");sta ticCheckbox[]Checkbox=
newCheckbox("善飞")
};
staticJButtonbut1=newJButton("确定");staticJButtonbut2=newJButton("重置");
staticJLabellblImage=newJLabel(newImageIcon("E:\照片\nice.jpg"));privateJLabeljl2=newJLabel("推出结果:");
}
for(inti=5;i<=10;i++)
{
jp.add(Checkbox[i]);
Checkbox[i].setBounds(230,30+(i-5)*50,200,26);
}
for(inti=10;i<=14;i+i]);
Checkbox[i].setBounds(430,30+(i-10)*50,200,26);