一种基于代数化的快速逻辑决策方法技术

技术编号:17781194 阅读:57 留言:0更新日期:2018-04-22 10:33
本发明专利技术涉及一种基于代数化的快速逻辑决策方法,属于计算机领域。本发明专利技术充分利用布尔值的内在秉性与二次不变性质,采用抽象提取的技术,把一个布尔命题逻辑的可满足性问题转化为一个线性方程组的求解问题,使得不可满足的逻辑决策问题可以在多项式时间的复杂度下快速判定。同时也为快速判断可满足的逻辑决策问题提供核心的技术支持。本发明专利技术可应用到人工智能、机器人、自动推理、逻辑规划、图匹配、网络结构对比、计算机辅助制造、计算机图形学、计算机系统结构设计、电子设计自动化、数据库系统以及调度优化等领域,可以提高效率,节约能源。

【技术实现步骤摘要】
一种基于代数化的快速逻辑决策方法
本专利技术属于计算机领域,涉及一种基于代数化的快速逻辑决策方法。
技术介绍
在计算机科学与工程中,许多的计算与判定问题都可以高效地规约到布尔命题逻辑公式的可满足性判断问题。因此,如果可以快速地对布尔命题逻辑公式进行可满足性判定,则可以高效地解决相关计算机决策问题。但是,布尔命题逻辑公式的可满足性判断问题在理论上被证明是一个NP完全问题。目前为止,对这类问题没有任何的多项式时间复杂度算法可以判定布尔命题逻辑公式的可满足性。传统的布尔命题逻辑公式的可满足性判定方法分为两大类。其中一大类方法基于DPLL技术,或者使用不同的启发式搜索策略以及矛盾冲突驱动优化、加速判定速度,或者使用随机算法得到较高的平均判定速度。另一大类方法基于非线性优化,把可满足性问题转化为非线性优化问题,通过求解其最优值来逼近可满足性。这两大类方法各有优缺点。基于DPLL技术的方法是一种最经典的搜索技术。从理论上讲,完备的DPLL方法总能判定一个给的布尔命题逻辑公式是否可满足;但是其最坏计算复杂度是指数级的,由此导致难以解决规模较大的复杂问题。局部的的DPLL方法可能在求解大规模的可满足公式的解具有优势,但是,如果公式本身是不可满足的而且具有较大的最小不可满足内核则该方法通常无法给出有效结果。基于优化的方法一度在效率上具有明显的优势,但是由于相应的优化问题不是凸的,这使得很可能得到的是局部最优值。这种情况下的结果是不可靠的,该类方法已经逐渐沉寂。但是,在计算机工程中,在很多领域,比如,人工智能、机器人、自动推理、逻辑规划、图匹配、网络结构对比、计算机辅助制造、计算机图形学、计算机系统结构设计、电子设计自动化、数据库系统以及调度优化等等,不可避免地遭遇类似的逻辑决策问题。综上所述,快速、准确的逻辑决策方法具有重要科学意义与实用价值。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于代数化的快速逻辑决策方法,用于解决多变元、无结构布尔命题逻辑公式的可满足性的判定效率问题,充分挖掘布尔和的代数性质以及其二次形式化的抽象关系,提高布尔命题逻辑公式的可满足性判定速度。为达到上述目的,本专利技术提供如下技术方案:一种基于代数化的快速逻辑决策方法,该方法包含以下步骤:S1:根据实际工程应用,对需要进行决策判断的问题建立布尔命题逻辑公式;S2:把布尔命题逻辑公式转换为等价的CNF布尔逻辑公式;S3;把CNF布尔逻辑公式转化为等可满足的3-CNF公式;S4:把3-CNF公式进一步转化为一个等可满足的CNF形式1-in-3-SAT公式;S5:把CNF形式1-in-3-SAT公式转化为一个等价的线性布尔系统;S6:对线性布尔系统进行二次延拓得到一个二次布尔方程系统;S7:抽象二次布尔方程系统为一个线性布尔系统;S8:计算判定抽象线性布尔系统是否有实数解,如果存在实数解则进入步骤S9,否则进入步骤S11;S9:计算判定步骤S8中的实数解是否唯一,如果唯一则进入步骤S10,否则,输出不可判定,并且算法终止;S10:计算判定唯一解是否能得到步骤S5中线性布尔系统的布尔解,如果是,则输出系统相容,并且算法终止,否则,输出系统不相容,并且算法终止;S11:如果抽象线性布尔系统没有实数解,则输出不可判定,并且算法终止。进一步,步骤S1中所述布尔命题逻辑公式F由布尔变量X1,X2,…,Xn经过布尔运算迭代生成,n为变量个数,k,i,j皆为取值在区间[1,n]的整数,F为一般形布尔公式。进一步,步骤S2中所述CNF布尔逻辑公式为:其中,Lij(X)是某个Xk或者的关于布尔变量Xk的文字,是该公式的一个句子,ji是该句子的长度,表示第i个句子中文字的个数,m是该公式的句子个数,F为一般形布尔公式,F*是由F生成的CNF形式的布尔公式。进一步,步骤S3中所述等可满足的3-CNF公式为使得公式中每个句子的长度至多为三,M表示F*生成的3-CNF公式中句子的个数,l为下标。进一步,步骤S4中,通过EOS法则把3-CNF公式S*进一步转化为一个等可满足的CNF形式1-in-3-SAT公式;EOS法则为:用(X∨U1∨U2)∧(Y∨U2∨U3)∧(Z∨U4)∧(U1∨U3∨U5)∧(U2∨U4∨U6)取代形如X∨Y∨Z的句子,其中U1,U2,…U6为新引入布尔变量;记所得公式为K、U为新引入的变量。进一步,步骤S5中,所述等价的线性布尔系统为此时,变元X和U作为方程的布尔变元;步骤S6中,简记线性布尔系统为A·Y=II,其中A是线性布尔系统的系数矩阵,Y为变元X和U的列向量,II为所有坐标皆为单位1的列向量;另记Y(2)为所有坐标为Z对应位置坐标的平方的列向量,则二次延拓布尔方程组为进一步,步骤S7中,抽象二次布尔方程系统为一个线性布尔系统,引进新的布尔变量Z1,…,ZN取代线性布尔系统中的所有二次单项式YiYj,其中1≤i,j≤K,N为变量个数;则抽象所得的线性方程组为B·Z=b;其中B为布尔系数矩阵,b为布尔常数。进一步,步骤S10中,判定一个实数解能否得到一个布尔解为:如果B·Z=b的唯一实数解包含非布尔值,则步骤S5中线性布尔系统不存在布尔解,此时系统不相容;如果B·Z=b的唯一实数解的所有值都是布尔值,则根据规则,即对所有YiYj=1赋值Yi=Yj=1,剩余未赋值的YK皆赋值为0,生成一个对Y的布尔赋值,判定该布尔赋值是否是等价的线性布尔系统的布尔解;如果是,则证实系统相容;否则系统一定不相容。本专利技术的有益效果在于:本专利技术充分利用布尔值的内在秉性与二次不变性质,采用抽象提取的技术,把一个布尔命题逻辑的可满足性问题转化为一个线性方程组的求解问题,使得不可满足的逻辑决策问题可以在多项式时间的复杂度下快速判定。同时也为快速判断可满足的逻辑决策问题提供核心的技术支持。该技术应用到人工智能、机器人、自动推理、逻辑规划、图匹配、网络结构对比、计算机辅助制造、计算机图形学、计算机系统结构设计、电子设计自动化、数据库系统以及调度优化等领域,可以提高效率,节约能源。附图说明为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:图1为本专利技术流程图;图2为图1的详细方法流程图。具体实施方式下面将结合附图,对本专利技术的优选实施例进行详细的描述。如图1、图2所示,本专利技术流程如下:S1:根据实际工程应用,对需要进行决策判断的问题建立布尔命题逻辑公式;S2:把布尔命题逻辑公式转换为等价的CNF布尔逻辑公式;S3;把CNF布尔逻辑公式转化为等可满足的3-CNF公式;S4:把3-CNF公式进一步转化为一个等可满足的CNF形式1-in-3-SAT公式;S5:把CNF形式1-in-3-SAT公式转化为一个等价的线性布尔系统;S6:对线性布尔系统进行二次延拓得到一个二次布尔方程系统;S7:抽象二次布尔方程系统为一个线性布尔系统;S8:计算判定抽象线性布尔系统是否有实数解,如果存在实数解则进入步骤S9,否则进入步骤S11;S9:计算判定步骤S8中的实数解是否唯一,如果唯一则进入步骤S10,否则,输出不可判定,并且算法终止;S10:计算判定唯一解是否能得到步骤S5中线性布尔系统的布尔解,如果是,则输出系统相容,并且算法终止,否则,输出系统不相容,并且算法终止;S本文档来自技高网
...
一种基于代数化的快速逻辑决策方法

【技术保护点】
一种基于代数化的快速逻辑决策方法,其特征在于:该方法包含以下步骤:S1:根据实际工程应用,对需要进行决策判断的问题建立布尔命题逻辑公式;S2:把布尔命题逻辑公式转换为等价的CNF布尔逻辑公式;S3;把CNF布尔逻辑公式转化为等可满足的3‑CNF公式;S4:把3‑CNF公式进一步转化为一个等可满足的CNF形式1‑in‑3‑SAT公式;S5:把CNF形式1‑in‑3‑SAT公式转化为一个等价的线性布尔系统;S6:对线性布尔系统进行二次延拓得到一个二次布尔方程系统;S7:抽象二次布尔方程系统为一个线性布尔系统;S8:计算判定抽象线性布尔系统是否有实数解,如果存在实数解则进入步骤S9,否则进入步骤S11;S9:计算判定步骤S8中的实数解是否唯一,如果唯一则进入步骤S10,否则,输出不可判定,并且算法终止;S10:计算判定唯一解是否能得到步骤S5中线性布尔系统的布尔解,如果是,则输出系统相容,并且算法终止,否则,输出系统不相容,并且算法终止;S11:如果抽象线性布尔系统没有实数解,则输出不可判定,并且算法终止。

【技术特征摘要】
1.一种基于代数化的快速逻辑决策方法,其特征在于:该方法包含以下步骤:S1:根据实际工程应用,对需要进行决策判断的问题建立布尔命题逻辑公式;S2:把布尔命题逻辑公式转换为等价的CNF布尔逻辑公式;S3;把CNF布尔逻辑公式转化为等可满足的3-CNF公式;S4:把3-CNF公式进一步转化为一个等可满足的CNF形式1-in-3-SAT公式;S5:把CNF形式1-in-3-SAT公式转化为一个等价的线性布尔系统;S6:对线性布尔系统进行二次延拓得到一个二次布尔方程系统;S7:抽象二次布尔方程系统为一个线性布尔系统;S8:计算判定抽象线性布尔系统是否有实数解,如果存在实数解则进入步骤S9,否则进入步骤S11;S9:计算判定步骤S8中的实数解是否唯一,如果唯一则进入步骤S10,否则,输出不可判定,并且算法终止;S10:计算判定唯一解是否能得到步骤S5中线性布尔系统的布尔解,如果是,则输出系统相容,并且算法终止,否则,输出系统不相容,并且算法终止;S11:如果抽象线性布尔系统没有实数解,则输出不可判定,并且算法终止。2.根据权利要求1所述的一种基于代数化的快速逻辑决策方法,其特征在于:步骤S1中所述布尔命题逻辑公式F由布尔变量X1,X2,…,Xn经过布尔运算迭代生成,n为变量个数,k,i,j皆为取值在区间[1,n]的整数,F为一般形布尔公式。3.根据权利要求2所述的一种基于代数化的快速逻辑决策方法,其特征在于:步骤S2中所述CNF布尔逻辑公式为:其中,Lij(X)是某个Xk或者的关于布尔变量Xk的文字,是该公式的一个句子,ji是该句子的长度,表示第i个句子中文字的个数,m是该公式的句子个数,F为一般形布尔公式,F*是由F生成的CNF形式的布尔公式。4.根据权利要求3所述的一种基于代数化的快速逻辑决策方法,其特征在于:步骤S3中所述等可满足的3-CNF公式为使得公式中每个句子的长度至多为三,M表示F*生成的3-CNF公式中句子的个数,l为下标。5.根据权利要求4所述的一种基于代数化的快速逻辑决策方法,其特征在于:步骤S4中,通过EOS法则把3-CNF公式S*进一步...

【专利技术属性】
技术研发人员:刘江方成玲
申请(专利权)人:中国科学院重庆绿色智能技术研究院方成玲
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1