• 基于C#实现的小型动物识别推理系统


    资源下载地址:https://download.csdn.net/download/sheziqiong/85896806
    资源下载地址:https://download.csdn.net/download/sheziqiong/85896806

    一 实验题目

    制作小型动物识别系统进行正向推理

    二 实验目的

    1 熟悉和掌握产生式系统的构成和运行机制;

    2 掌握基于规则推理的基本方法和技术,掌握正确的正向推理和逆向推理方法;

    3 熟悉在具体问题中如何实现正向推理和逆向推理的求解流程。

    三 实验要求

    以动物识别系统为例,用选定的编程语言建造规则库和综合数据库,并能对它们进行增加、删除和修改操作,开发能进行正确的正向推理或反向推理的推理机。

    四 数据结构

    1)规则采用文件记录

    在这里插入图片描述

    每一条规则由“:”分割,在每一条规则中,每一个事实用空格分开,最后一个为结论,当需要加入规则时可以在文件中直接加入也可以在窗体中加入。

    2)在程序中所用到的数据结构是C#提供的dictionary字典,key字段我存放的是规则的前件,value字段我存放的是规则的结论

    在这里插入图片描述

    五 实验算法

    主界面如下:(界面的实现是通过网上下载的界面美化类,继承这个界面类得到的,压缩包是CSkin 16.1.14.3,老师如果想验证可以查看一下这个压缩包中的使用教程配置一下VS)

    在这里插入图片描述

    1. 我先设计了一个工具类Tools,用来支持规则匹配算法

    在这里插入图片描述

    如果用户输入的事实中包含了一条知识的所有前件则返回一个true否则返回false

    2.接着我设计了一个文件读写工具类File_tools用来简化文件读写操作

    在这里插入图片描述

    第一个方法是read_rules功能是根据输入的路径读到文件中的所有文本

    第二个方法是update_rules功能是用来添加指定的规则到文件中

    3.当主界面加载的时候需要初始化字典数据结构,从文件中读到规则然后依次将规则放入到字典中:
    在这里插入图片描述

    4.当用户勾选完了所需要的知识后,按下开始推理按钮,按钮的触发事件对应的函数的功能是,首先得到用户所有的输入事实构造一个List:
    在这里插入图片描述

    接下来便进入一个循环,每次将已有的事实和规则集中的知识前件进行匹配,即每次遍历知识库,把发生匹配的知识放到一个List中,如果说这个List不为空,说明本次有相应的知识发生了匹配,然后要做的工作是把已知事实中包含的匹配的知识的前件删除,然后把匹配的知识的结论加入到已知事实的末尾:

    在这里插入图片描述

    如果遍历一遍知识库,发现没有知识与之匹配了,即List为空时,并且这时是第一次推理,则推理失败,没有匹配项,而如果这是不是第一次推理,则可以输出事实集中的最后一项作为结果:
    在这里插入图片描述

    六 实验结果

    运行截图:
    在这里插入图片描述

    在这里插入图片描述

    匹配失败的例子:
    在这里插入图片描述

    点击高级选项:
    在这里插入图片描述

    查看系统中所有的规则:
    在这里插入图片描述

    添加一条规则:
    在这里插入图片描述

    再次查看所有规则:
    在这里插入图片描述
    资源下载地址:https://download.csdn.net/download/sheziqiong/85896806
    资源下载地址:https://download.csdn.net/download/sheziqiong/85896806

  • 相关阅读:
    win10笔记本电脑 QQ能发消息但是不能传输文件 微信断网 浏览器也打不开
    Spring Boot概述
    vue+element项目创建步骤
    Vuex 4.x 模拟实现
    JAVA培训之数据库表关联关系
    Elasticsearch搜索引擎该怎么使用,这篇文章彻底讲透(荣耀典藏版)
    【手把手带你学会KMP算法】
    linux: 切换并配置root
    生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)
    华为OD机试 - 数字反转打印(Java 2023 B卷 100分)
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/125599664