一阶逻辑中基于扩展三角形的矛盾体分离演绎推理方法与流程

文档序号:16037837发布日期:2018-11-24 10:13阅读:222来源:国知局

本发明属于基于逻辑的自动演绎推理技术领域,涉及一阶逻辑中基于扩展三角形的矛盾体分离多元动态自动演绎推理方法。

背景技术

逻辑学、数学、系统优化、人工智能、计算机科学等领域大量的科学问题都可形式化为逻辑表示,解决这些问题的本质之一就是对相应逻辑公式属性(可满足性或不可满足性(恒假性))的判定,但因其抽象性、复杂性、规模性,无法人工有效地实现逻辑推理与求解,因而需要借助于计算机自动对其判定。自动推理是将推理过程通过一系列符号而形式化,使计算机自动地按某种规则对这些符号实施一系列演算的过程,它是一种智能化行为。先进的基于逻辑的自动推理理论、方法与系统可为解决这些高度复杂的问题提供严谨、快速的逻辑证明科学手段,可使机器类似于人类证明定理一样自动地、系统地、严格地按照逻辑规则推理证明逻辑公式的属性。这种方法和系统是基本的、必需的、科学的、系统的、普适的工具,也是极其难于构造的工具,可广泛应用于所有基于逻辑的各应用领域的逻辑问题判定。

如前所述,自动推理用于判定形式化为逻辑公式的实际问题的属性,因本发明涉及一阶逻辑中的一种自动演绎推理方法,这里先介绍一下一阶逻辑中的一些相关概念,详细介绍见书《基于归结方法的自动推理》第一章与第二章。一阶逻辑中有四种基本的形式化符号:常量符号(记为a)、变量符号(记为x)、函数符号(记为f)和谓词符号(记为p)。常量符号、变量符号、函数符号构成项(记为t),不含变量符号的项称为基项。作用在项上的谓词符号构成原子公式(简称原子),原子p或原子的非(即“否定”)~p称为文字,如果两个文字中一个是另外一个的非,则称它们互补,或称其为互补对。有限个文字的析取(即文字之间的关系为“或者”的关系)称为子句,记为c=p1∨p2∨···∨pk,其中pi1(i1=1,2,…,k)是一个文字。只含有一个文字的子句称为单文字子句。不含文字的子句称为空子句,记为不含变量符号的子句称为基子句。子句也表示其所含所有文字的集合,即c={p1,p2,···,pk},表示m个子句c1,c2,…,cm的笛卡尔积。一个逻辑公式可以化为合取范式,即有限个子句的合取(即子句之间的关系为“并且”的关系),记为s=c1∧···∧cm。转化为合取范式的公式也称为子句集,记为s={c1,c2,…,cm}。公式的真假性(一般用0表示假,1表示真)通过语义解释实现。(语义)解释通过对公式中所有原子赋以0或者1,再由原子间的逻辑运算(非、析取、合取等)即可得到整个公式的真假性。设空子句的真值恒为“假(0)”。如果一个公式在某一解释下真值为1,则称它为可满足的。如果一个公式在任意解释下的真值都为0,则称其为称为恒假的或不可满足的。在基于逻辑的演绎推理过程中,经常用到替换,即将子句中的变量符号替换为不同于这些变量符号的项。如果替换后的项均为变量,则称此替换为更名替换。

基于逻辑的自动推理研究可追溯到17世纪中叶,莱布尼茨(leibnitz)希望将人对定理的证明过程变成一系列能在机器上自动实现的符号演算过程的设想。而从1959年,王浩从经典逻辑的证明过程中总结出推导规则,用计算机证明了《数学原理》中的220个定理、并于1960年在《ibm研究与发展年报》发表了“迈向数学机械化”(towardmechanicalmathematics)以来,基于逻辑的自动推理系统得到了快速发展,特别是1965年j.a.robinson提出了归结原理之后,基于归结原理的自动推理系统很快成为自动推理领域中最著名最广泛应用的发展方向之一,至今已取得丰硕成果,并成为众多著名自动推理系统的推理机制。其中最基本、最关键的推理机制是二元归结——整个演绎过程中每次演绎“有,且只能有两个子句参与”(尽管有集团归结演绎、线性归结演绎、锁归结演绎等方法,但其中的每一次演绎仍然如此)。二元归结每次从待判定的子句集s中选取有互补对的两个子句,从两个子句中删去该互补对,将剩余文字的析取构成新的子句加入原子句集,重复如上过程,直至得到空子句,即可判定子句集s不可满足。

基于归结原理的自动推理系统虽已取得很多成绩,但在能力与效率方面仍远不能满足客观需要,仅自动推理领域的国际著名问题库tptp中就有大量最难(rating1)的问题至今没有解决。在归结方法中,因为每次演绎有且只能有两个子句参与,故无法体现多个子句间的协同逻辑关系。二元归结的推理机制严重地制约着自动推理的能力与效率进一步提高。因此,需要将静态的、二元的归结演绎推理机制改进推广成为动态的、多元的基于矛盾体分离的演绎推理机制,并在此基础上,提出一阶逻辑中更有效的基于矛盾体分离的多元动态自动演绎推理方法,提高一阶逻辑中的演绎推理能力。



技术实现要素:

本发明提出了一阶逻辑中基于扩展三角形的矛盾体分离多元动态自动演绎推理方法,该方法能有效解决多个子句间的协同逻辑关系,并可应用于程序验证、定理机器证明等领域。

本发明的技术方案如下:

一阶逻辑中基于扩展三角形的矛盾体分离多元动态自动演绎推理方法,其特征在于包括如下步骤:

(一)构造扩展三角形标准矛盾体:对于一阶逻辑中的子句集s={c1,c2,…,cm},综合考虑子句中文字数及替换后互补文字所处的子句等指标,从子句集中(可重复)选取k个子句,构造一阶逻辑中的扩展三角形标准矛盾体;其中,c1,c2,…,cm为一阶逻辑中的子句,m是子句集s中子句的个数,k是选自子句集s用于构造标准矛盾体的子句个数,m≥2,k≥2;

(二)形成标准矛盾体分离式:将步骤(一)中所构造的扩展三角形标准矛盾体从参与构造标准矛盾体的k个子句中删去,并将删去扩展三角形标准矛盾体后的k个子句中做相应替换及相同文字合并后的剩余文字按析取关系组成新的子句,形成标准矛盾体分离式。

(三)根据标准矛盾体分离式判断子句集属性:利用步骤(二)中得到的标准矛盾体分离式,判断子句集的不可满足性;如果能够判断子句集不可满足,则停止,得到结论:被判定的子句集s不可满足;否则,将所得标准矛盾体分离式加入子句集s,形成新的子句集,然后重复步骤(一),接着构造并分离扩展三角形标准矛盾体,直至得到子句集的不可满足性的判定结论,或达到设定的条件(例如,规定矛盾体分离式中文字个数不超过3个、每个子句参与构造标准矛盾体的次数不超过10次等),则停止演绎推理,给出结论:子句集s属性无法判定。

上述步骤(一)中构建扩展三角形标准矛盾体及步骤(二)中形成标准矛盾体分离式的具体步骤如下:

第1步,选择子句d1及文字p1

综合考虑子句中文字数及替换后互补文字所处的子句等指标,从子句集s中选择子句d1及文字p1∈d1,对子句d1做替换σ1(可以是空替换),并在子句d1中做相同文字的合并,子句d1在替换σ1下分成两部分所述所述即从中删去中的文字,中的文字均是析取关系;

第i步选择子句di及文字pi

综合考虑子句中文字数、替换后互补文字所处的子句及从第1步到第i-1步中已选的文字等指标,从子句集s中选择子句di及文字pi∈di;对子句di做替换σi,并在将替换后di中的相同文字合并;

所述子句di在替换σi下分成两部分所述所述即从中删去中的文字,中的文字是析取关系;所述

所述i的取值范围为:2≤i≤k-1;

第k步选择子句dk:

综合考虑子句中文字数及前k-1步中已选的文字等指标,从子句集s中选择子句dk,对子句dk做替换σk,并将替换后dk中的相同文字合并;子句dk在替换σk下分成两部分其中所述即从中删去中的文字,中的文字均是析取关系;

本轮扩展三角形的构造停止于第k步,得到扩展三角形标准矛盾体及相应标准矛盾体分离式

上述步骤(三)中根据标准矛盾体分离式判断子句集属性的具体方法如下:

(1)若则s不可满足;

(2)若且满足设定停止条件(例如,规定矛盾体分离式中文字个数不超过3个、每个子句参与构造扩展三角形矛盾体的次数不超过10次等),则停止演绎推理,给出结论:子句集s属性无法判定;

(3)若且不满足设定停止条件,将步骤(二)中得到的标准矛盾体分离式加入子句集s,返回步骤(一)继续构造并分离扩展三角形标准矛盾体。

上述方法中提到的标准矛盾体及扩展三角形标准矛盾体定义如下。

定义1,设一阶逻辑中的子句集s={c1,c2,…,cm},其中c1,c2,…,cm为一阶逻辑中的子句;称子句为c1,c2,…,cm的标准矛盾体分离式,如果:

(1)c1,c2,…,cm不含相同变元;如含有相同变元,则通过更名替换使其不含相同变元;

(2)对子句ci2,其中i=1,2,…,m;对子句ci2做替换σi(也可以是空替换)并做相同文字的合并,所述ci2做替换σi2、相同文字合并后分为两个部分子句使得:

无相同文字,可为空子句,不为空子句;

②对于任意的所述p1,…,pm中有互补对,称是一个标准矛盾体;

(3)

定义2,设一阶逻辑中子句集s={c1,c2,…,cm},子句d1,d2,…,dk是参与标准矛盾体构造的子句,其中:k是选自子句集s用于构造标准矛盾体的子句个数,k≥2;称如下构造的为一个扩展三角形标准矛盾体,如果:

(1)子句d1,d2,…,dk不含相同变元,如含有相同变元,则可通过更名替换实现该要求;

(2)对子句di,其中i=1,…,k;对子句di做替换σi(也可以是空替换)并做相同文字的合并,对子句di做替换σi、合并后分为两个无相同文字的部分子句使得

可以为空子句,不为空子句,特别

②存在文字pj∈dj(j=1,…,k-1),使得其中(i=2,…,k-1);所述

一般情况下,通过一轮扩展三角形标准矛盾体构造得不到一个能判断子句集属性的标准矛盾体,需要将所得标准矛盾体分离式加入原子句集,多次构造并分离扩展三角形,才能得到一个能判断子句集不可满足性的标准矛盾体,此过程称为基于扩展三角形方法的标准矛盾体分离演绎,即如下定义。

定义3,设一阶逻辑中的子句集s={c1,c2,…,cm};称φ1,φ2,…,φt为一阶逻辑中基于扩展三角形方法的从s到子句φt的标准矛盾体分离演绎序列,如果对i=1,2,…,t:

(1)φi∈s;

或,(2)存在r1,r2,…,rki<i,及替换使其中标准矛盾体分离式是按照扩展三角形方法得到的。

其中t为演绎序列中子句的个数,t≥2,r1,r2,…,rki都是小于i的正整数。

本发明从本质上突破了传统的归结原理每次演绎“有,且只能有两个子句参与”的限制,将静态、二元、归结演绎发展为动态、多元、矛盾体分离演绎。

本发明与传统基于归结原理的自动演绎推理方法相比,具有如下突出优点:

1.具有多元性,可同时使用子句集中的多个甚至全部子句参与演绎;

2.具有动态性,演绎过程中所用子句的个数及选择子句的策略随演绎进程变化;

3.具有并行性,因为每个参与构造矛盾体的子句具有同样的作用和地位,并且这些子句参与的顺序与矛盾体的矛盾性无关;

4.具有协调性,在更大程度上反映了多子句之间的整体协同逻辑关系,而这种整体性的逻辑关系无法用两两子句之间的逻辑关系刻画;

5.具有导向性,大大缩小搜索空间,减少了演绎路径选择的盲目性;

6.具有鲁棒性,在矛盾体内部增加或删减一些文字并不影响演绎结果;

7.具有灵活性,由于动态性增加了演绎过程对子句使用的灵活性;

8.具有方便性,由于灵活性而增加了演绎的方便性。

归结原理推广了经典逻辑中的基本推理规则——mp规则,矛盾体分离拓广了归结原理,因此若将经典逻辑系统中的mp规则拓广为矛盾体分离,则有望将经典逻辑系统拓广为一种新的逻辑系统;本发明给出了一阶逻辑中一种标准矛盾体构造的具体方法,及基于此类标准矛盾体构造的演绎推理方法,该方法除了具有基于矛盾体分离的多元动态自动演绎推理方法的所有优点外,因其在构造矛盾体的过程中不用严格按照互补对的要求寻找所需要的子句,可以根据演绎目标实时调整子句选择策略,因而具有更强的针对性、更大的灵活性,进而具有更高的判定逻辑公式属性的能力。

附图说明

图1为本发明的扩展三角形方法示意图。

具体实施方式

实施例1

基于图1所示的扩展三角形方法,设一阶逻辑中子句集s={c1,c2,c3,c4,c5,c6,c7}:c1=p1(a),c2=~p2(a,b),c3=p3(a,f(c),f(b)),c4=p3(x1,x1,f(x1)),c5=~p3(x2,x3,x4)∨p3(x3,x2,x4),c6=~p3(x5,x6,x7)∨p2(x5,x7),c7=~p1(x8)∨~p3(x9,x10,x11)∨~p2(x8,x11)∨p2(x8,x9)∨p2(x8,x10)。其中,p1,p2,p3为谓词符号,x1,x2,…,x11为变元符号,a,b,c为常元符号,f为函数符号。利用扩展三角形自动演绎推理方法判定s的属性。

做法:从s中选取子句c1,c2,c3,c4,c6,c7,分别做替换σ1,σ2,σ3,σ4,σ6,σ7,在替换下,由这些子句构造扩展三角形矛盾体(如表1),其中,

因所得标准矛盾体分离式为空,可得到子句集s不可满足的结论。

表1基于实施例1中子句集构造的扩展三角形

实施例2

基于扩展三角形方法,设一阶逻辑中子句集s={c1,c2,c3,c4,c5,c6,c7}:

c1=~p1(x11,x12,x13)∨~p2(x11,x13),

c2=p1(x22,x21,x23)∨~p1(x21,x22,x23),

c3=p2(x31,x34)∨~p3(x31)∨~p1(x32,x33,x34)∨~p2(x31,x32)∨~p2(x31,x33),

c4=p1(x41,x41,f1(x41)),

c5=p1(a1,f1(a1),f1(a3)),

c6=p3(a1),

c7=p2(a1,a3)。

其中,p1,p2,p3为谓词符号,x1,x2,…,x41为变元符号,a1,a2,a3为常元符号,f1为函数符号。利用扩展三角形自动演绎推理方法判定s的属性。

(1)针对子句集s:

从s中选取子句c1,c2,c3,c4,c5,c6,c7,分别做替换σ1,σ2,σ3,σ4,σ5,σ6,σ7,在替换下,由这些子句构造扩展三角形矛盾体(如表2),其中,

表2基于扩展三角形的第一次矛盾体分离演绎结果

得到矛盾体分离式r1=p2(a1,f1(a3)),因且无设定停止条件,故令c8=r1,将得到的新子句c8=p2(a1,f1(a3))加入s中得到一个新子句集s1。

(2)针对子句集s1:

从子句集s1中选取子句c8,c1,c5,分别做替换σ8,σ9,σ10,再做一次扩展三角形演绎,在替换下,由这些子句构造扩展三角形矛盾体其中,

因所得标准矛盾体分离式可得到子句集s不可满足的结论。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1