动物识别系统(论文)

  • 格式:doc
  • 大小:72.50 KB
  • 文档页数:4

1
动物识别系统
1实验题目:
1. 熟悉和掌握产生式系统的运行机制;
2. 掌握基于产生式系统的正向推理的基本方法;
3. 系统可以识别老虎,金钱豹,斑马,长颈鹿,企鹅,信天翁这6种动
物,其规则库包含15条规则;

2介绍算法设计思想:

15条规则的条件如下
IF 有毛发,有奶,有羽毛,会飞,会下蛋,吃肉,有犬齿,有爪,眼盯前方,
哺乳动物,有蹄,嚼反刍动物,肉食动物,黄褐色,有暗斑点,有黑色条纹,蹄
类动物,有长脖子,有长腿,是鸟,不会飞,会游泳,有黑白二色,善飞。
结论是如下
THEN 该动物是哺乳动物,该动物是鸟,该动物是肉食动物,该动物是有蹄类
动物,该动物是金钱豹,该动物是虎,该动物是长颈鹿,该动物是斑马,该动物
是企鹅,该动物是信天翁。
例如,规则如下:
规则1: IF P1 THEN P2
规则2: IF P2 THEN P3
规则3: IF P3 THEN q3

3关键代码说明
if ((checkBox5.Checked || checkBox14.Checked || checkBox1.Checked) &&
checkBox2.Checked && checkBox21.Checked && checkBox23.Checked)
{
label1.Text = "金钱豹";
}
if ((checkBox5.Checked || checkBox14.Checked ||
checkBox1.Checked) && checkBox2.Checked && checkBox21.Checked &&
checkBox22.Checked)
{
label1.Text = "老虎";
}
if ((checkBox5.Checked || checkBox14.Checked ||
checkBox1.Checked) && checkBox19.Checked && checkBox16.Checked &&
checkBox15.Checked && checkBox23.Checked)
{
2

label1.Text = "长颈鹿";
}
if ((checkBox5.Checked || checkBox14.Checked ||
checkBox1.Checked) && checkBox19.Checked && checkBox22.Checked)
{
label1.Text = "斑马";
}
if ((checkBox12.Checked || checkBox9.Checked ||
checkBox3.Checked) && checkBox8.Checked && checkBox16.Checked &&
checkBox15.Checked)
{
label1.Text = "鸵鸟";
}
if ((checkBox12.Checked || checkBox9.Checked ||
checkBox3.Checked) && checkBox6.Checked && checkBox8.Checked &&
checkBox24.Checked)
{
label1.Text = "企鹅";
}
if ((checkBox12.Checked || checkBox9.Checked ||
checkBox3.Checked) && checkBox11.Checked)
{
label1.Text = "信天翁";
}
this.label1.Text = "不能识别这种动物";
}

private void button2_Click(object sender, EventArgs e)
{
this.checkBox1.Checked = false;
this.checkBox2.Checked = false;
this.checkBox3.Checked = false;
this.checkBox4.Checked = false;
this.checkBox5.Checked = false;
this.checkBox6.Checked = false;
this.checkBox7.Checked = false;
this.checkBox8.Checked = false;
this.checkBox9.Checked = false;
this.checkBox10.Checked = false;

3

this.label1.Text = "";
}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
4实验设计与结果分析
该动物识别系统是根据动物的特征分别出各个动物。本系统我用的语言是c#。
本来我想用数据库,但后面做的过程为了方便我没用数据库。该系统用的只是六
种动物的特征。比如 我们在界面中选长脖子,长腿,暗斑点,有蹄类,有蹄,哺
乳动物,嚼反刍动物,有毛,有奶等选项 在下面就出现该动物的名称长颈鹿。还
比如 我们选有蹄类,黑条纹,有蹄,哺乳动物,嚼反刍动物,有毛,有奶等选项
在下面会出项动物名称斑马。 如果我们在选特征过程当中选错了可以按“重选”
按钮重新选择特征。如果在我们选的特征不符合库里面的动物特征就不能显示动
物名称。就出现“不能识别这种动物”这个提示。
动物识别系统的界面如图(1-1)所示:

图(1-1)
在界面显示的动物名称是长颈鹿。
4

图1-2显示的是系统分不出所找的动物的时候图。下面显示的是“不能识别这种动
物”这个字。

图(1-2)
5分析界面的优缺点
我想本系统在基本上符合老师的要求,但是由于时间较短和技术不够本系统不
是那么完整。比如第一个缺陷是我这个系统没有什么添加的功能。第二个,在选
动物特征的时候如果少了一个特征就直接显示“不能识别这种动物”这个提示。
不能提供相应的动物名称。这个还应该进一步研究。总的来说,这次实验我们收
益颇多,通过这个独立完成的小型项目,培养了我软件开发设计的能力,熟悉了
软件开发的过程步骤,加强了团队协作的能力,进一步掌握了运用Microsoft
Visual Studio 2005进行软件开发,熟悉了C#语言。为以后我们进行软件开发奠
定了基础。