首页> 中国专利> 用于数学证明问题类人解题的规则过滤方法、系统、计算机装置和存储介质

用于数学证明问题类人解题的规则过滤方法、系统、计算机装置和存储介质

摘要

本发明公开了一种用于数学证明问题类人解题的规则过滤方法、系统、计算机装置和存储介质,规则过滤方法包括获取至少一个产生式规则,其中产生式规则包括用于表示条件的左部和用于表示结论的右部,以待证明问题遍历对比各产生式规则的右部,当产生式规则的右部包括待证明问题,将该产生式规则标记为可用规则,获取各可用规则的左部作为规则过滤的结果等步骤。本发明通过选取具有与待证明问题相应的右部的产生式规则,以其左部作为规则过滤的结果,能够过滤掉无关的产生式规则,减少数学证明问题推理过程中的规则冗余,减少非必要规则过多形成的组合爆炸,提高数学证明问题类人解题的效率。本发明广泛应用于计算机技术领域。

著录项

  • 公开/公告号CN113297484A

    专利类型发明专利

  • 公开/公告日2021-08-24

    原文格式PDF

  • 申请/专利权人 广州大学;

    申请/专利号CN202110553659.X

  • 申请日2021-05-20

  • 分类号G06F16/9535(20190101);G06F16/9536(20190101);

  • 代理机构44205 广州嘉权专利商标事务所有限公司;

  • 代理人黎扬鹏

  • 地址 510006 广东省广州市大学城外环西路230号

  • 入库时间 2023-06-19 12:19:35

说明书

技术领域

本发明涉及计算机技术领域,尤其是一种用于数学证明问题类人解题的规则过滤方法、系统、计算机装置和存储介质。

背景技术

类人解题是指通过机器处理自然文本输入,进行逻辑推理分析,给出类人解题的系统。中国的吴文俊教授所提出的吴方法完成了几何问题机器自动求解及作答的突破,机械化自动求解理论及自动推理平台的研究推进了一系列数学和信息技术问题的研究及探讨。以吴方法为基础的自动推理系统效果显著,但由于其使用门槛较高,其相关使用人员需要具备较高的编程代码能力和程序问题处理能力,且所给出的作答结果较晦涩难懂,其自动求解系统并未被广泛推广和使用。

一些现有的类人解题技术应用了产生式规则来表示知识,产生式规则能通过接近于人类思维特点的形式获取和表达知识,直观且便于推理。但是,产生式规则之间存在相互作用,从而形成规则间的冗余或冲突,这可能导致降低推理效率,使得类人解题技术存在一致性和完整性方面的缺陷。

发明内容

针对上述至少一个技术问题,本发明的目的在于提供一种用于数学证明问题类人解题的规则过滤方法、系统、计算机装置和存储介质。

一方面,本发明实施例包括一种用于数学证明问题类人解题的规则过滤方法,包括:

获取至少一个产生式规则;所述产生式规则包括左部和右部,所述左部用于表示条件,所述右部用于表示结论;

以待证明问题遍历对比各所述产生式规则的右部,当所述产生式规则的右部包括所述待证明问题,将该所述产生式规则标记为可用规则;

获取各所述可用规则的左部作为规则过滤的结果。

进一步地,所述产生式规则表现为函数的形式,所述函数的参数为所述产生式规则的左部,所述函数的编译结果为所述产生式规则的右部。

进一步地,所述获取至少一个产生式规则,包括:

通过.Net的反射操作获取至少一个所述函数;

以获取到的所述函数作为所述产生式规则。

进一步地,用于数学证明问题类人解题的规则过滤方法还包括:

显示所述用于数学证明问题类人解题的规则过滤方法的执行过程。

进一步地,用于数学证明问题类人解题的规则过滤方法还包括:

显示所述用于数学证明问题类人解题的规则过滤方法的执行时间。

另一方面,本发明实施例还包括一种用于数学证明问题类人解题的规则过滤系统,包括:

获取模块,用于获取至少一个产生式规则;所述产生式规则包括左部和右部,所述左部用于表示条件,所述右部用于表示结论;

推理模块,用于以待证明问题遍历对比各所述产生式规则的右部,当所述产生式规则的右部包括所述待证明问题,将该所述产生式规则标记为可用规则,获取各所述可用规则的左部作为规则过滤的结果。

进一步地,所述获取模块用于通过.Net的反射操作获取至少一个所述函数,以获取到的所述函数作为所述产生式规则,其中,所述函数的参数为所述产生式规则的左部,所述函数的编译结果为所述产生式规则的右部。

进一步地,用于数学证明问题类人解题的规则过滤系统还包括:

显示模块,用于显示所述用于数学证明问题类人解题的规则过滤方法的执行过程和执行时间。

另一方面,本发明实施例还包括一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行用于数学证明问题类人解题的规则过滤方法。

另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行用于数学证明问题类人解题的规则过滤方法。

本发明的有益效果是:实施例中的规则过滤方法,通过根据待证明问题直接对产生式规则进行遍历选择,避免一些现有技术中对产生式规则进行分类和标记的过程,能够节约时间而且效率更高;通过选取具有与待证明问题相应的右部的产生式规则,以其左部作为规则过滤的结果,能够过滤掉无关的产生式规则,减少数学证明问题推理过程中的规则冗余,减少非必要规则过多形成的组合爆炸,提高数学证明问题类人解题的效率。

附图说明

图1为实施例中用于数学证明问题类人解题的规则过滤方法的流程图;

图2为实施例中用于数学证明问题类人解题的规则过滤方法的原理图。

具体实施方式

本实施例中,参照图1,用于数学证明问题类人解题的规则过滤方法包括以下步骤:

S1.获取至少一个产生式规则;产生式规则包括左部和右部,左部用于表示条件,右部用于表示结论;

S2.以待证明问题遍历对比各产生式规则的右部,当产生式规则的右部包括待证明问题,将该产生式规则标记为可用规则;

S3.获取各可用规则的左部作为规则过滤的结果。

步骤S1-S3的原理如图2所示。

步骤S1中,在规则库中建立规则列表,通过.Net的反射操作获取至少一个函数,以获取到的函数作为产生式规则,以规则列表保存多个产生式规则。本实施例中每个产生式规则都是函数的形式,即通过.Net的反射操作到的每个函数都是一个产生式规则。以函数的参数作为产生式规则的左部,以函数的编译结果作为产生式规则的右部,其中产生式规则的左部又可以称为前件或者条件,产生式规则的右部又可以称为后件或者结论,即每个产生式规则都可以写为<前件>—<后件>或者<条件>—<结论>的格式。

本实施例中,每个产生式规则都可以用来表达一个数学证明推理规则,例如对于“两角的值相等则角A等于角B”这一规则,当使用产生式规则表达时,产生式规则的左部为“两角的值相等”,同一产生式规则的右部为“角A等于角B”。

步骤S1中,建立待证明列表,待证明列表中存储至少一个待证明问题,其中的待证明问题可以是数学证明问题中的已知条件,例如“已知AB比MN等于a,CD比MN等于a,求证AB等于CD”。针对每一个待证明问题都执行步骤S2-S3,因此对于待证明列表中的每个待证明问题,需要执行多次由步骤S2-S3组成的循环,每次执行循环之后都将该待证明问题从待证明列表中删除,直至待证明列表为空。由于对每个待证明问题执行的步骤S2-S3都具有相似的原理,因此可以只说明对一个待证明问题执行步骤S2-S3的过程。

参照图2,步骤S2中,从规则列表中逐个地读取出各个产生式规则,将产生式规则的右部与待证明问题进行对比,如果一个产生式规则的右部包括待证明问题,或者产生式规则的右部与待证明问题相同,那么将这个产生式规则标记为可用规则,反之则不将这个产生式规则标记为可用规则。在完成规则列表中的全部产生式规则与待证明问题的对比之后,结束对该待证明问题执行的步骤S2-S3循环过程,转入对待证明列表中下一待证明问题执行的步骤S2-S3循环过程。

步骤S3中,获取各可用规则的左部,作为执行步骤S1-S3所得的规则过滤的结果。

本实施例中,还可以将数学证明问题类人解题的规则过滤方法的执行过程也就是步骤S1-S3可视化,然后将步骤S1-S3的执行过程显示出来,从而使得用户可以观看到数学证明问题类人解题的过程。

本实施例中,还可以统计数学证明问题类人解题的规则过滤方法的执行过程也就是步骤S1-S3的执行时间,然后执行时间显示出来,从而使得用户可以观看到数学证明问题类人解题的所消耗时间。

本实施例中,用于数学证明问题类人解题的规则过滤系统包括:

获取模块,用于获取至少一个产生式规则;产生式规则包括左部和右部,左部用于表示条件,右部用于表示结论;具体地,获取模块用于通过.Net的反射操作获取至少一个函数,以获取到的函数作为产生式规则,其中,函数的参数为产生式规则的左部,函数的编译结果为产生式规则的右部;

推理模块,用于以待证明问题遍历对比各产生式规则的右部,当产生式规则的右部包括待证明问题,将该产生式规则标记为可用规则,获取各可用规则的左部作为规则过滤的结果;

显示模块,用于显示用于数学证明问题类人解题的规则过滤方法的执行过程和执行时间。

其中,获取模块、推理模块和显示模块可以是具有相应功能的软件模块、硬件模块或者软件和硬件的组合。

本实施例中的规则过滤方法,通过根据待证明问题直接对产生式规则进行遍历选择,避免一些现有技术中对产生式规则进行分类和标记的过程,能够节约时间而且效率更高;通过选取具有与待证明问题相应的右部的产生式规则,以其左部作为规则过滤的结果,能够过滤掉无关的产生式规则,减少数学证明问题推理过程中的规则冗余,减少非必要规则过多形成的组合爆炸,提高数学证明问题类人解题的效率。

可以根据本用于数学证明问题类人解题的规则过滤方法编写计算机程序,将计算机程序写入计算机装置的存储器或者独立的存储介质中,当计算机程序被读取出来后可以指令处理器执行用于数学证明问题类人解题的规则过滤方法,从而实现与方法实施例相同的技术效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号