人工智能动物识别系统JAVA_第1页
人工智能动物识别系统JAVA_第2页
人工智能动物识别系统JAVA_第3页
人工智能动物识别系统JAVA_第4页
人工智能动物识别系统JAVA_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告课程名称 人工智能与专家系统 实验名称 动物分类专家系统设计 系别 电子信息科学学院 专业班级 指导教师 学号_姓名_实验日期 2021.4.1 实验成绩_实验目的1、 加深理解专家系统的结构原理与实际应用。2、 初步掌握知识获取的根本方法。3、 掌握产生式规那么知识表示方法及其编程实现方法。4、 初步掌握知识库的组建方法。5、加深理解推理机的算法原理并初步掌握其编程实现方法。实验环境1、硬件环境:微机2、编程语言不限三、实验原理一个基于规那么专家系统的完整结构示于图1。其中,知识库、推理机和工作存储器是构成专家系统的核心。系统的主要局部是知识库和推理引擎。知识库由谓词演算事实和

2、有关讨论主题的规那么构成。推理引擎由所有操纵知识库来演绎用户要求的信息的过程构成如消解、前向链或反向链。用户接口可能包括某种自然语言处理系统,它允许用户用一个有限的自然语言形式与系统交互;也可能用带有菜单的图形接口界面。解释子系统分析被系统执行的推理结构,并把它解释给用户。推理机解释器工作存储器知识库外部程序用户界面开发界面用户知识工程师 图1 一个基于规那么专家系统的完整结构三、实验内容运用以下规那么,设计并实现一个小型动物分类专家系统。规那么1:如果:动物有毛发那么 :该动物是哺乳动物规那么2: 如果:动物有奶 那么 :该单位是哺乳动物规那么3: 如果:该动物有羽毛 那么 :该动物是鸟规那

3、么4: 如果:动物会飞,且会下蛋 那么 :该动物是鸟规那么5: 如果:动物吃肉 那么 :该动物是肉食动物规那么6: 如果:动物有犬齿,且有爪,且眼盯前方 那么 :该动物是食肉动物规那么7: 如果:动物是哺乳动物,且有蹄 那么 :该动物是有蹄动物规那么8: 如果:动物是哺乳动物,且是反刍动物 那么 :该动物是有蹄动物规那么9: 如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点 那么 :该动物是豹规那么10: 如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹 那么 :该动物是虎规那么11: 如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类 那么 :该动物是长颈鹿规那么

4、12: 如果:动物有黑条纹,且是有蹄类动物 那么 :该动物是斑马规那么13: 如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞 那么 :该动物是鸵鸟规那么14: 如果:动物是鸟,且不会飞,且会游泳,且是黑色的 那么 :该动物是企鹅规那么15: 如果:动物是鸟,且善飞 那么 :该动物是信天翁利用上述15条规那么,可区分7种动物。2推理机设计:采用正向推理。3实验代码 package tx;import java.awt.Checkbox;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class

5、 RZS extends JFrame implements ActionListener private static JPanel jp = new JPanel(); private JLabel jl1 =new JLabel(请选择条件:); static Checkbox Checkbox=/用数组创复选框 new Checkbox(有毛发), new Checkbox(有奶), new Checkbox(有羽毛), new Checkbox(会飞,且生蛋), new Checkbox(吃肉), new Checkbox(有犬齿,且有爪,且眼盯前方), new Checkbox(有

6、蹄), new Checkbox(反刍动物), new Checkbox(黄褐色有暗斑点), new Checkbox(黄褐色有黑条纹), new Checkbox(暗斑点,长腿,长脖子), new Checkbox(黑条纹), new Checkbox(长腿,长脖子,黑色,不会飞), new Checkbox(不会飞,会游泳,黑色的), new Checkbox(善飞) ; static JButton but1=new JButton(确定); static JButton but2=new JButton(重置); static JLabel lblImage = new JLabel(

7、new ImageIcon(E:照片nice.jpg); private JLabel jl2 =new JLabel(推出结果:); private JLabel jl3 =new JLabel();public RZS() /图形界面 jp.setLayout(null); jp.add(jl1); jl1.setBounds(30, 0, 200,30); for(int i = 0;i=5;i+) jp.add(Checkboxi); Checkboxi.setBounds(30, 30+i*50, 200,26); for(int i = 5;i=10;i+) jp.add(Chec

8、kboxi); Checkboxi.setBounds(230, 30+(i-5)*50, 200,26); for(int i = 10;i=14;i+) jp.add(Checkboxi); Checkboxi.setBounds(430, 30+(i-10)*50, 200,26); 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); j

9、l3.setBounds(30, 380, 200,30); but1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) /推理机 if(Checkbox0.getState()=true|Checkbox1.getState()=true) & (Checkbox4.getState()=true|Checkbox5.getState()=true) & (Checkbox8.getState()=true) jl3.setText(豹 ); else if(Checkbox0.

10、getState()=true|Checkbox1.getState()=true) & (Checkbox4.getState()=true|Checkbox5.getState()=true) & (Checkbox9.getState()=true) jl3.setText(虎); else if(Checkbox0.getState()=true|Checkbox1.getState()=true) & (Checkbox6.getState()=true|Checkbox7.getState()=true) & (Checkbox10.getState()=true) jl3.set

11、Text(长颈鹿); else if(Checkbox0.getState()=true|Checkbox1.getState()=true) & (Checkbox6.getState()=true|Checkbox7.getState()=true) & (Checkbox11.getState()=true) jl3.setText(斑马); else if(Checkbox2.getState()=true) & (Checkbox12.getState()=true) jl3.setText(鸵鸟); else if(Checkbox2.getState()=true|Checkbo

12、x3.getState()=true) & (Checkbox13.getState()=true) jl3.setText(企鹅); else if(Checkbox2.getState()=true|Checkbox3.getState()=true) & (Checkbox14.getState()=true) jl3.setText(信天翁); else jl3.setText(条件缺乏或出错,请重新勾选条件); ); but2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent

13、e) /重置 for(int i=0;i=14;i+) jl3.setText(); Checkboxi.setState(false); ); jp.add(lblImage); lblImage.setBounds(630, 30, 300, 400); this.add(jp); this.setTitle(动物识别系统); this.setBounds(100,100,1000,500); this.setVisible(true); public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub

14、 public static void main(String args) new RZS(); package tx;import java.awt.Checkbox;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class RZS extends JFrame implements ActionListener private static JPanel jp = new JPanel(); private JLabel jl1 =new JLabel(请选择条件:); static Checkb

15、ox Checkbox= new Checkbox(有毛发), new Checkbox(有奶), new Checkbox(有羽毛), new Checkbox(会飞,且生蛋), new Checkbox(吃肉), new Checkbox(有犬齿,且有爪,且眼盯前方), new Checkbox(有蹄), new Checkbox(反刍动物), new Checkbox(黄褐色有暗斑点), new Checkbox(黄褐色有黑条纹), new Checkbox(暗斑点,长腿,长脖子), new Checkbox(黑条纹), new Checkbox(长腿,长脖子,黑色,不会飞), new

16、Checkbox(不会飞,会游泳,黑色的), new Checkbox(善飞) ; static JButton but1=new JButton(确定); static JButton but2=new JButton(重置); static JLabel lblImage = new JLabel(new ImageIcon(E:照片nice.jpg); private JLabel jl2 =new JLabel(推出结果:); private JLabel jl3 =new JLabel();public RZS() jp.setLayout(null); jp.add(jl1); j

17、l1.setBounds(30, 0, 200,30); for(int i = 0;i=5;i+) jp.add(Checkboxi); Checkboxi.setBounds(30, 30+i*50, 200,26); for(int i = 5;i=10;i+) jp.add(Checkboxi); Checkboxi.setBounds(230, 30+(i-5)*50, 200,26); for(int i = 10;i=14;i+) jp.add(Checkboxi); Checkboxi.setBounds(430, 30+(i-10)*50, 200,26); jp.add(b

18、ut1); 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(new ActionListener() public void actionPerformed(ActionEvent e) /推理机 if(Checkbox0.getState()=true|Ch

19、eckbox1.getState()=true) & (Checkbox4.getState()=true|Checkbox5.getState()=true) & (Checkbox8.getState()=true)/这里要把其它的复选框.getState()=false,否那么选择两种动物以上会出错,但是我懒,没改。 jl3.setText(豹 ); else if(Checkbox0.getState()=true|Checkbox1.getState()=true) & (Checkbox4.getState()=true|Checkbox5.getState()=true) & (

20、Checkbox9.getState()=true) jl3.setText(虎); else if(Checkbox0.getState()=true|Checkbox1.getState()=true) & (Checkbox6.getState()=true|Checkbox7.getState()=true) & (Checkbox10.getState()=true) jl3.setText(长颈鹿); else if(Checkbox0.getState()=true|Checkbox1.getState()=true) & (Checkbox6.getState()=true|Checkbox7.getState()=true) & (Checkbox11.getState()=true) jl3.setText(斑马); else if(Checkbox2.getState()=true) & (Checkbox12.getState()=true) jl3.setText(鸵鸟); else if(Checkbox2.getState()=true|Checkbox3.getState()=true) & (Checkbox13.getState()=t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论