python动物专家系统_动物识别专家系统 实验报告

这篇博客介绍了如何设计一个动物识别专家系统,通过提问和推理方法来识别动物。系统使用结构体存储动物及其属性,用数组标记属性状态。在提问过程中,系统寻找最能区分动物的问题,以减少提问次数。此外,系统还具备学习功能,允许添加新动物和属性,以提高识别准确性。
摘要由CSDN通过智能技术生成

XXXXX

XXXXX

实验名称

动物识别专家系统

实验目的

本实验的主要目的是熟练使用推理方法,

进行编程完成相应的功

能。

本次试验的预期功能是在系统可以像使用者提出问题,

然后系统

根据该问题的回答来筛选出相应的动物并确定下一个问题。

其中下一

个问题的提出是在尽量减少提问次数的前提下找到的。

同时该系统还

具有增加记录的功能,可以增加包含的动物种类。

实验方案

首先系统中包含了若干动物种类,例如狮子,老虎等。由于每一

种动物都有不同的属性,而根据这些属性就可以确定是哪一种动物。

所以我们要有数据结构可以存储动物以及动物的不同属性。

为了节约

空间,我们将各个属性用一个数据结构存储起来。

这里我用的是数组进行存储,

每一个记录代表了一种属性。

而动

物则用结构体存储,如下。

typedef struct anim

{

int flag[30];

string nam;

}anim;

该结构体中包括了动物的名称以及属性数组。对应的

flag[i]=1,

则对应的第

i

个属性是满足的,反之该动物没有该属性。这样就可以

得到不同动物的属性。

在提问的时候根据该问题的编号,

找到存在该属性的动物并且进

行标记。并且在剩余的动物中,对没有提问的各个属性进行判断,找

到尽可能能把这些动物平分成两部分的问题进行提问。

如此就可以找

到想要的动物。

同时如果猜测不正确可以添加新的动物或者属性,

并设置各个动

物的属性,这样就可以进行学习,使得系统更加准确。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值