资源简介
实验目的:
1、利用产生式系统的结构设计出动物识别系统,从而理解知识的产生式表示法;
2、实现基于产生式表示法的动物识别系统,从而掌握产生式系统的工作原理;
3、实现浏览器/服务器架构,并且让动物识别系统在服务器上正常运行。
实验内容:
用WEB语言实现一个简单的动物识别系统。该系统引用书中P37页的十五条规则,可以识别老虎、金钱豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁这7种动物。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Experiment01
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void checkedListBox_SelectedIndexChanged(object sender EventArgs e)
{
}
private void enterButton_Click(object sender EventArgs e)//当“看看“按钮按下时
{
long inputSet = 0;//记录选择的事实集其二进制的第i位为1表示i号复选框被选中
for (int i = 0; i < Rules.len; ++i)
{
if (this.checkedListBox.GetItemChecked(i))//第i个复选框被选中
{
inputSet |= 1L << i;//把inputSet的二进制的第i位变为1
}
}
Rules rules = new Rules();//规则
RecoginzeSystem recoginzer = new RecoginzeSystem();//推理用
long result = recoginzer.recoginze(inputSet rules);//计算新的事实集
int cnt = 0;//统计设别出的动物个数0或大于1时为无法识别
string output=“无法识别...“;
if ((result & (1L << 11))>0)//result的二进制第11为1时
{ output = “是老虎“; cnt++; }
if ((result & (1L << 13)) > 0)//result的二进制第13为1时
{ output = “是金钱豹“; cnt++; }
if ((result & (1L << 08))>0)//如此类推
{ output = “是斑马“; cnt++; }
if ((result & (1L << 10))>0)
{ output = “是长颈鹿“; cnt++; }
if ((result & (1L << 16))>0)
{ output = “是企鹅“; cnt++; }
if ((result & (1L << 19))>0)
{ output = “是信天翁“; cnt++; }
if (cnt > 1) output = “是外星动物!!“;
this.resultTextBox.Text = output.ToString();//结果输出
}
private void resultTextBox_TextChanged(object sender EventArgs e)
{
}
private void MainForm_Load(object sender EventArgs e)
{
}
private void resultTipLabel_Click(object sender EventArgs e)
{
}
}
public class Rules//规则类
{
/*
00.不会飞
01.吃肉
02.会飞
03.会下蛋
04.会游泳
05.善飞
06.身上有暗斑点
07.身上有黑色条纹
08.是斑马
09.是哺乳动物
10.是长颈鹿
11.是虎
12.是黄褐色
13.是金钱豹
14.是嚼反刍动物
15.是鸟
16.是企鹅
17.是肉食动物
18.是鸵鸟
19.是信天翁
20.是有碲类动物
21.眼盯前方
22.有长脖子
23.有长腿
24.有碲
25.有黑白二色
26.有毛发
27.有奶
28.有犬齿
29.有羽毛
30.有爪
*/
public const int len = 31;
public long[] factSets;//事实
public long[] resultSets;//结果
//factSets[i]对应resultsSets[i]
public Rules()
{
factSets = new long[len];
resultSets = new long[len];
//rule00
factSets[0]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5589 2008-04-15 19:30 动物识别系统1.0\IA\IA\ClientBS.class
文件 4134 2008-04-17 22:20 动物识别系统1.0\IA\IA\ClientBS.java
文件 1219 2008-04-02 21:49 动物识别系统1.0\IA\IA\Rule.class
文件 975 2008-04-02 15:40 动物识别系统1.0\IA\IA\Rule.java
文件 4860 2008-04-13 14:44 动物识别系统1.0\IA\IA\RuleDB.class
文件 6693 2008-04-17 22:19 动物识别系统1.0\IA\IA\RuleDB.java
文件 920 2008-04-02 21:49 动物识别系统1.0\IA\IA\RuleElement.class
文件 643 2008-04-02 15:23 动物识别系统1.0\IA\IA\RuleElement.java
文件 1330 2008-04-18 03:20 动物识别系统1.0\IA\IA\save.txt
文件 3121 2008-04-14 00:05 动物识别系统1.0\IA\IA\Server.class
文件 8320 2008-04-14 13:05 动物识别系统1.0\IA\IA\Server.jar
文件 2316 2008-04-17 22:14 动物识别系统1.0\IA\IA\Server.java
文件 2935 2008-04-13 13:07 动物识别系统1.0\IA\IA\ServerThread.class
文件 2106 2008-04-17 22:16 动物识别系统1.0\IA\IA\ServerThread.java
文件 60 2008-04-13 10:39 动物识别系统1.0\IA\IA\test.html
文件 47104 2008-04-17 22:34 动物识别系统1.0\IA\IA\人工智能实验一.doc
目录 0 2008-04-17 22:41 动物识别系统1.0\IA\IA
目录 0 2008-04-17 22:47 动物识别系统1.0\IA
文件 14328 2008-04-17 18:18 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Debug\Experiment01.vshost.exe
文件 490 2007-07-21 01:33 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Debug\Experiment01.vshost.exe.manifest
目录 0 2008-04-17 03:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Debug
文件 11264 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish\Application Files\Experiment01_1_0_0_0\Experiment01.exe.deploy
文件 7221 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish\Application Files\Experiment01_1_0_0_0\Experiment01.exe.manifest
目录 0 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish\Application Files\Experiment01_1_0_0_0
目录 0 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish\Application Files
文件 5327 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish\Experiment01.application
文件 461760 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish\setup.exe
目录 0 2008-04-17 21:58 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\app.publish
文件 1590 2008-04-17 22:37 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\Experiment01.application
文件 11264 2008-04-17 22:37 动物识别系统1.0\Experiment01\Experiment01\Experiment01\bin\Release\Experiment01.exe
............此处省略50个文件信息
- 上一篇:Utils.java
- 下一篇:Android8.1.0源码
相关资源
- 用模拟退火算法实现旅行商问题Java
- java A*算法解决八数码、十五数码
- java语言解决八数码问题完整版
- 人工智能自动扫雷
- 带人工智能的五子棋java源程序
- 清华大学人工智能大作业源码
- java动物识别系统
- 人工智能机器人alice的java版源代码A
- 基于java实现的决策树代码
- 人工智能实验 ID3决策树java实现
- 人工智能专家系统动物识别系统JAVA
- 八数码问题(附实验报告文档java实现
- 一个动物识别专家系统在 JAVA语言下的
- java版围棋v4
- 人工智能微信小程序之识别图片上的
- 人工智能中产生式系统中动物识别系
- KNN人工智能机器学习算法JAVA实现
- 基于Web的人工智能专家系统简易动物
- 人工智能实验——动物识别系统的改
- 学堂云人工智能课后答案
- 软件工程-人工智能实验-八数码问题
- myGoBangjava文件.zip
- 人工智能作业 鲁滨逊归结原理
- 五子棋人机对战程序(含源码)
- Alice聊天机器人源码及DEMO
- 杭电人工智能导论-五子棋
- java实现八数码
- Java实现可修改知识库的动物识别专家
- 五子棋(人工智能课的大作业
评论
共有 条评论