产生式实验--动物识别

产生式实验–动物识别

第一部分是初始化综合数据库,分为两类,一类是间接数据库,即不指向最终动物的信息。另一类是直接数据库,即指向最终动物的信息。使用的是列表里面存储规则和结果,即每条规则后面紧跟一个结果,规则存到集合里方便后续用 is.subset()判断是否在已知动物特征中,规 则对应的结果用字符串表示,不需要转换。
添加间接数据库

同理添加直接数据库
在这里插入图片描述

第二部分输入动物已知特征,查询种类 将输入的动物特征字符串转换为集合,因为字符串不可变,列表不方便比较。如果 规则是动物特征的子集,则把规则对应的结果加到特征集合里,同时去掉已用过的特征(即规则)。
在这里插入图片描述
**

完整代码

**

middle=[]#存放规则和中间结果
final=[]#存放规则特征和最终结果
#规则特征用集合表示,既能修改动物特征集合,又方便用.issubset()判断规则是否是动物特征的子集,进而将对应结果加入动物特征集合,同时要从动物特征集合删去用过的规则。
def changetoset(str):#将字符串转化为集合的函数
    li0=set()
    tr=""
    for i in range(0,len(str)):
        if (str[i]!=" "):
            tr+=str[i]
        else:
            li0.add(tr)
            tr=""
            i+=1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值