《小型专家系统设计(三).doc》由会员分享,可在线阅读,更多相关《小型专家系统设计(三).doc(6页珍藏版)》请在金锄头文库上搜索。
1、武夷学院实验报告(三)课程名称:_ 智能信息处理_ 项目名称:小型专家系统设计 姓名:安小圣 专业:10计科 班级:2学号:20104061049_同组成员:无一、 实验准备 注:1、实验准备部分包括实验环境准备和实验所需知识点准备。2、若是单人单组实验,同组成员填无。:1、 实验环境: PC机, Windows 7, Eclipse 软件。2、 实验目的:加深对课程内容的理解与掌握,培养综合运用所学知识开发智能系统的初步能力。3、 实验要求:1)用产生式规则作为知识表示,用产生式系统实现该专家系统。 2)程序运行时,应有人机对话过程。4、 实验内容:建造一个小型专家系统(如分类、诊断、测试等
2、类型),具体应用领域自选,具体名称字体。二 实验过程记录 注:实验过程记录要包含实验步骤,页码不够可自行添加。:1 、打开Eclipse,新建一个public MainFrame 文件,输入如下函数代码:package example1_1;import java.awt.*; /包含用于创建用户界面和绘制图形图像的所有类import java.awt.event.*; /提供处理由 AWT 组件所激发的各类事件的接口和类public class MainFrame extends Frame implements ActionListener /* param args*/static Ma
3、inFrame frm=new MainFrame();static Checkbox ckb1=new Checkbox(有毛发);static Checkbox ckb2=new Checkbox(有奶);static Checkbox ckb3=new Checkbox(有羽毛);static Checkbox ckb4=new Checkbox(会飞生蛋);static Checkbox ckb5=new Checkbox(吃肉);static Checkbox ckb6=new Checkbox(有犬齿,有爪眼睛,紧盯着前方);static Checkbox ckb7=new Che
4、ckbox(反刍食物);static Checkbox ckb8=new Checkbox(黄褐色有黑的斑点);static Checkbox ckb9=new Checkbox(黄褐色有黑色条纹);static Checkbox ckb10=new Checkbox(有长腿长脖子,黄褐色暗斑点);static Checkbox ckb11=new Checkbox(白色有黑条纹);static Checkbox ckb12=new Checkbox(不会飞,长腿长脖子,黑白色);static Checkbox ckb13=new Checkbox(不会飞,黑白色,会游泳);static Ch
5、eckbox ckb14=new Checkbox(善飞);static Checkbox ckb15=new Checkbox(有蹄);static Label lab=new Label(显示动物名);static Button but1=new Button(确定);static Button but2=new Button(重设);public static void main(String args) / TODO Auto-generated method stub frm.setSize(400,300); frm.setTitle(动物识别系统); frm.setLayout(
6、new FlowLayout(FlowLayout.LEFT); lab.setBackground(Color.green); /* ckb1.addItemListener(frm); ckb2.addItemListener(frm); ckb3.addItemListener(frm); ckb4.addItemListener(frm); ckb5.addItemListener(frm); ckb8.addItemListener(frm); ckb9.addItemListener(frm); ckb11.addItemListener(frm); ckb10.addItemLi
7、stener(frm); ckb14.addItemListener(frm); ckb7.addItemListener(frm); ckb12.addItemListener(frm); ckb13.addItemListener(frm); ckb6.addItemListener(frm); ckb15.addItemListener(frm);*/ lab.setAlignment(Label.CENTER); but1.addActionListener(frm); but2.addActionListener(frm); frm.add(lab); frm.add(ckb1);
8、frm.add(ckb2); frm.add(ckb3); frm.add(ckb4); frm.add(ckb6); frm.add(ckb8); frm.add(ckb9); frm.add(ckb11); frm.add(ckb12); frm.add(ckb14); frm.add(ckb5); frm.add(ckb7); frm.add(ckb10); frm.add(ckb13); frm.add(ckb15); frm.add(but1); frm.add(but2); frm.setVisible(true); frm.addWindowListener(new Window
9、Adapter()public void windowClosing(WindowEvent e)System.exit(0);); public void itemStateChanged( ItemEvent e) /这个是推理机 if(ckb1.getState()=true|ckb2.getState()=true)&(ckb6.getState()=true|ckb5.getState()=true)&(ckb8.getState()=true) lab.setText( 金钱豹 ) ; else if(ckb1.getState()=true|ckb2.getState()=tru
10、e)&(ckb6.getState()=true|ckb5.getState()=true)&(ckb9.getState()=true) lab.setText(老虎); else if(ckb1.getState()=true|ckb2.getState()=true)&(ckb7.getState()=true|ckb15.getState()=true)&(ckb10.getState()=true) lab.setText(长颈鹿); else if(ckb1.getState()=true|ckb2.getState()=true)&(ckb7.getState()=true|ck
11、b15.getState()=true)&(ckb10.getState()=true) lab.setText(斑马); else if(ckb3.getState()=true|ckb4.getState()=true)&(ckb13.getState()=true) lab.setText(企鹅); else if(ckb3.getState()=true|ckb4.getState()=true)&(ckb14.getState()=true) lab.setText(信天翁); else lab.setText(sorry); public void actionPerformed(
12、ActionEvent e) /这部分是结果的显示 Button but=(Button)e.getSource(); if(but=but1)&(ckb1.getState()=true|ckb2.getState()=true)&(ckb6.getState()=true|ckb5.getState()=true)&(ckb8.getState()=true) lab.setText( 金钱豹 ) ; else if(but=but1)&(ckb1.getState()=true|ckb2.getState()=true)&(ckb6.getState()=true|ckb5.getSta
13、te()=true)&(ckb9.getState()=true) lab.setText(老虎); else if(but=but1)&(ckb1.getState()=true|ckb2.getState()=true)&(ckb7.getState()=true|ckb15.getState()=true)&(ckb10.getState()=true) lab.setText(长颈鹿); else if(but=but1)&(ckb1.getState()=true|ckb2.getState()=true)&(ckb7.getState()=true|ckb15.getState()=true)&(ckb10.getSta