人工智能之产生式系统

  • 实验目的

理解产生式系统求解问题的过程。

  • 实验环境

Python版本:Python 3及以上

所需要的依赖包:无

可采用的软件:PyCharm

知识库:教材中的动物识别系统中的15条规则。

  • 实验内容与结果

根据教材给的15条规则,建立动物识别系统的规则库;实现推理。

r1: IF   该动物有毛发     THEN  该动物是哺乳动物

r2: IF   该动物有奶       THEN  该动物是哺乳动物

r3: IF   该动物有羽毛     THEN  该动物是鸟

r4: IF   该动物会飞 AND 会下蛋 THEN  该动物是鸟

r5: IF   该动物吃肉       THEN  该动物是食肉动物

r6: IF   该动物有犬齿 AND 有爪 AND 眼盯前方 THEN  该动物是食肉动物

r7: IF   该动物是哺乳动物 AND 有蹄      THEN  该动物是有蹄类动物

r 8: IF   该动物是哺乳动物 AND 是反刍动物   THEN  该动物是有蹄类动物

r9: IF   该动物是哺乳动物 AND 是食肉动物 AND 是黄褐色 AND 身上有暗斑点 THEN  该动物是金钱豹                                    

r10:IF  该动物是哺乳动物 AND 是食肉动物 AND 是黄褐色 AND 身上有黑色条纹 THEN  该动物是虎                                    

r11: IF  该动物是有蹄类动物 AND 有长脖子 AND 有长腿 AND 身上有暗斑点      THEN  该动物是长颈鹿                                    

r 12:IF  该动物有蹄类动物 AND 身上有黑色条纹 THEN  该动物是斑马

r13:IF  该动物是鸟 AND 有长脖子 AND 有长腿 AND 不会飞 AND 有黑白二色   THEN  该动物是鸵鸟

r14: IF  该动物是鸟 AND 会游泳 AND 不会飞 AND 有黑白二色   THEN  该动物是企鹅                        

r15: IF  该动物是鸟 AND 善飞   THEN  该动物是信天翁

当输入相应的条件,根据知识库推理得出相应的知识。

打印推理过程,可文字或画图。

3.1 代码      

3.2 结果与分析:(可以包含数据集分析、实验过程、结果截图、结果分析等)

运行截图:

首先,输入事实数据库,和目标动物

其次,根据规则9-15将对应动物所需的事实导出

然后,选择动物金钱豹25,则所需事实为:[21, 23, 12, 13]

最后,循环遍历需要的事实列表,如**[21, 23, 12, 13]**。判断每一个元素是否在事实数据库中存在,如果存在则继续遍历,不存在则判断事实库中中是否包含能够推出此事实的规则,如:21可根据规则1、2推导出如果有则继续遍历,没有,则推理失败。

遍历所需事实列表结束且每个事实都能存在于事实数据库,则推理成功

3.3 实验总结

通过这个实验,我们学习了如何使用 Python 模拟基于规则的推理系统。具体来说,我们实现了一个简单的动物识别程序,该程序可以根据一些特征来推理出动物的种类。
首先,我们定义了一些规则,这些规则描述了不同的动物特征之间的关系。例如,“有毛发”的动物可能是哺乳动物,“下蛋并且会飞”的动物可能是鸟类等等。这些规则可以用一个字典来表示,其中每个规则都包含两个部分:前提(if)和结论(then)。在推理过程中,我们会遍历所有的规则,找到符合条件的规则,并得出最终的结论。
接下来,我们定义了一个推理函数,该函数接收一个特征列表作为输入,并遍历所有的规则来找出符合条件的规则。对于每个符合条件的规则,我们将其结论添加到一个结果列表中,并最终返回该列表。在实际应用中,推理函数可能会更加复杂,例如,可能需要考虑规则的优先级、模糊匹配等等。
最后,我们编写了一个交互式程序,在程序中,我们首先要求用户输入要查询的特征,然后调用推理函数来得到结果,并将结果输出到屏幕上。在实际应用中,程序可以通过不同的方式来接收用户输入和展示结果,例如,可以使用图形界面、命令行界面或者 Web 界面等等。
总之,这个实验展示了如何使用基于规则的推理系统来解决一些简单的问题。在实际应用中,基于规则的推理系统可以应用于很多领域,例如,智能家居、自动驾驶、金融投资等等。在实际应用中,我们需要根据实际情况来定义规则、设计推理算法,并进行大量的测试和优化,以确保系统的准确性和效率。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值