一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于线性规划的布尔可满足性判定方法与流程

2022-02-25 22:16:06 来源:中国专利 TAG:


1.本发明涉及基于线性规划的布尔可满足性判定方法,属于逻辑电路领域,特别涉及基于线性规划的布尔可满足性判定。


背景技术:

2.在计算机科学与工程中,经常遭遇判定一个给定问题是否有解的问题,通常当有解时需要给出该问题一个解答。这类问题可以高效(多项式时间)地规约到布尔命题逻辑公式的可满足性判断问题。因此,如果可以快速地对布尔命题逻辑公式进行可满足性判定,则可以高效地解决相关计算机决策问题。但是,布尔命题逻辑公式的可满足性判断问题在理论上被证明是一个np完全问题。目前为止,对这类问题没有任何的多项式时间复杂度算法可以判定布尔命题逻辑公式的可满足性。
3.传统的布尔命题逻辑公式的可满足性判定方法分为两大类。其中一大类方法基于dpll技术,或者使用不同的启发式搜索策略以及矛盾冲突驱动优化、加速判定速度,或者使用随机算法得到较高的平均判定速度。另一大类方法基于非线性优化,把可满足性问题转化为非线性优化问题,通过求解其最优值来逼近可满足性。
4.这两大类方法各有优缺点:基于dpll技术的方法是一种最经典的搜索技术。从理论上讲,完备的dpll方法总能判定一个给的布尔命题逻辑公式是否可满足;但是其最坏计算复杂度是指数级的,由此导致难以解决规模较大的复杂问题。局部的的dpll方法可能在求解大规模的可满足公式的解具有优势,但是,如果公式本身是不可满足的而且具有较大的最小不可满足内核则该方法通常无法给出有效结果。基于优化的方法一度在效率上具有明显的优势,但是由于相应的优化问题不是凸的,这使得很可能得到的是局部最优值。这种情况下的结果是不可靠的,该类方法已经逐渐沉寂。
5.但是,在很多领域,比如,人工智能、机器人、自动推理、逻辑规划、图匹配、网络结构对比、计算机辅助制造、计算机图形学、计算机系统结构设计、电子设计自动化、数据库系统以及调度优化等等,不可避免地遭遇类似的逻辑决策问题,如参考文献[1]。
[0006]
综上所述,快速、准确的逻辑决策技术具有重要科学意义与实用价值。
[0007]
[1]gi-joonnam,sakallah,k.a.,rutenbar,r.a.(2002).anewfpgadetailedroutingapproachviasearch-basedbooleansatisfiability[j].ieeetransactionsoncomputer-aideddesignofintegratedcircuitsandsystems.21(6):674.
[0008]
[2]aroras,barakb.computationalcomplexity:amodernapproach[b].北京图书出版公司北京公司,2012.
[0009]
[3]schaefer,thomasj.(1978).

thecomplexityofsatisfiabilityproblems

[c].proceedingsofthe10thannualacmsymposiumontheoryofcomputing.sandiego,california.pp.216-226.


技术实现要素:

[0010]
有鉴于此,本发明提供及基于线性规划的布尔可满足性判定方法,用于解决多变元、无结构布尔命题 逻辑公式的可满足性的判定效率问题。
[0011]
为达到上述目的,本发明提供如下技术方案:
[0012]
基干线性规划的布尔可满足性判定方法,其特征在于,包括如下步骤:
[0013]
s1:对实际工程问题进行分析,提取布尔命题逻辑公式;
[0014]
s2:通过合取范式(conjunctive normal form),将布尔命题逻辑公式转换为等可满足的cnf布尔逻 辑公式;具体过程可参考文献[2];
[0015]
s3:将cnf布尔逻辑公式按照每个子句的文字个数固定为3进行等可满足转化,将cnf布尔逻辑公 式的可满足性问题(sat)转化为等可满足的3-cnf形式的3-sat问题;具体过程可参考文献[2];
[0016]
s4:将3-cnf形式的3-sat问题按照schaefer结构进行变体,转化为等可满足的1-in-3-sat问题; 具体过程可参考文献[3];
[0017]
s5:将1-in-3-sat问题等效转化为一个线性规划的最优值大小问题;
[0018]
s6:对线性规划的最优值求解问题进行求解精度设定;
[0019]
s7:求解线性规划问题的最优值,并根据最优值大小来判定布尔命题逻辑公式的可满足性;
[0020]
s8:对于可满足的布尔命题逻辑公式,递归地对线性规划问题添加约束并进行求解,得到可满足问题 的一个可满足赋值。
[0021]
进一步,所述的布尔命题逻辑公式由n个布尔变量x=(x1,x2,

,xn),运算符and(连接,用^表 示),or(分离,用表示),not(否定,用表示)和括号构成;所述的1-in-3-sat的表达式形如: 其中,k为1-in-3-sat的表达式的句子个数,l
i,j
(x,u)为第i个句子中第j 个文字,u为schaefer结构变体构造所新引入的布尔变量;当cnf形式的3-sat的句子数为m个时,u 的个数为6m,k的个数为5m;对于任意的布尔变量xi∈x,如果在1-in-3-sat的表达式中出现否定形 式文字那么需要引入新的布尔变量yi∈y进行替换,以及在原1-in-3-sat的表达式后添加一个and 连接的子句(xi^yi),并且k=k 1,得到不含否定形式文字的1-in-3-sat的表达式 [0022]
进一步,步骤s5所述的等效转化过程具体为:
[0023]
s501:根据1-in-3-sat问题可满足性可知:s是1-in-3-sat可满足的充要条件是以下线性方程
[0024][0025]
有0|1解;
[0026]
s502:将步骤s501中线性方程改写为a
·
v=i的形式,其中,a为元素是0或者1的k
×
t系数矩 阵,v=[x,u,y]
t
为t维的列向量,i为k维元素都为1的列向量,其中,t为布尔变量(x,y,u)的总 数;
[0027]
s503:设t
×
t维矩阵c=a
t
·
a,令c为矩阵c对角线元素构成的列向量,随机生成一
个待定变量 矩阵z=(z
i,j
)
1≤i≤t,1≤j≤t
,令z为矩阵z对角线元素构成的列向量,那么步骤s501中线性方程有0|1解的 等价条件为线性规划问题的最优值大于0:
[0028]
目标函数:max c
t
·z[0029][0030]
其中,*表示张量积,z
0,0
为待定变量。
[0031]
进一步,步骤s6所述的求解精度设定为:首先,设定求解最优值精度为其中,ε为人为选取 的远小于k的正数;然后选取一个充分小的可行解求解精度δ。
[0032]
可优选的,ε取0.1,δ取0.001。
[0033]
进一步,步骤s7所述的根据最优值大小来判定布尔命题逻辑公式的可满足性具体为:
[0034]
s701:当求解的出的目标函数最大值小于则直接返回结果——布尔命题逻辑公式不可满足,并结 束;
[0035]
s702:当求解的出的目标函数最大值大于则返回结果——布尔命题逻辑公式可满足,并继续执行 步骤s8。
[0036]
进一步,所述的步骤s8具体为:
[0037]
s801:设定一个充分小的正数ρ;
[0038]
s802:从z的可行解z
@
的对角线元素中,选取z
@s,s
>ρ且最小的对角线元素,其中,i≤s≤t;
[0039]
s803:将z
s,s
=1作为约束添加到约束条件中,重新对线性规划问题进行求解,同时,令i=i 1;
[0040]
s804:从i=1开始,重复执行步骤s802~步骤s803的迭代,直到i=t;
[0041]
s805:将迭代完成的可行解z
@
的对角线元素构成一个向量,进行四舍五入取整,则该向量为可满足 问题的一个解答。
[0042]
可优选的,ρ取0.01。
[0043]
本发明的有益效果在于:本发明提供了基于线性规划的布尔可满足性判定方法,利用schaefer-sat问 题与线性规划的联系,把布尔命题逻辑公式的可满足性问题转化为线性规划极值求解问题,使得实现了在 多项式时间复杂度下的快速判定,能够判定的提高效率,节约能源。
附图说明
[0044]
为了使本发明的目的、技术方案,本发明提供如下附图进行说明:
[0045]
图1为本发明方法的流程图;图2为本发明实施例的布尔逻辑电路示意图,其中x=(x1,x2,x3,x4)为输入。
具体实施方式
[0046]
实施例:在电子自动设计中,电路回路经常用一个等价的布尔命题逻辑公式描述,然后通过检查布尔 命题逻辑公式的可满足性来检验逻辑电路。
[0047]
在本实例中,假设要对一个逻辑电路的可满足性问题进行判定,我们提出一种“基于线性规划的布尔 可满足性判定方法”。
[0048]
下面将结合附图,对本发明的优选实例进行详细的描述。
[0049]
如图1所示,本发明步骤如下:
[0050]
s1:结合图2,对逻辑电路可满足性进行分析,提取布尔命题逻辑公式为:s1:结合图2,对逻辑电路可满足性进行分析,提取布尔命题逻辑公式为:
[0051]
所述的布尔命题逻辑公式由4个布尔变量x=(x1,x2,x3,x4),运算符and(连接,用^表示),or (分离,用表示),not(否定,用表示)和括号构成。
[0052]
s2:通过合取范式(conjunctivenormal form),将布尔命题逻辑公式转换为等可满足的cnf布尔逻 辑公式:
[0053]
s3:将cnf布尔逻辑公式按照每个子句的文字个数固定为3进行等可满足转化,将cnf布尔逻辑公 式的可满足性问题(sat)转化为3-cnf形式的3-sat问题;写成3-cnf的形式为:为:
[0054]
s4:将3-cnf形式的3-sat问题按照schaefer结构进行变体,转化为1-in-3-sat问题。
[0055]
得到1-in-3-sat公式为:sat公式为:sat公式为:
[0056]
如果出现的布尔变量x的否定形式,需要引入新的布尔变量y进行替换,以及在原布尔逻辑公式后添加 同样数目的句子and连接一个得到不含否定的公式
[0057]
因此,1-in-3-sat公式进一步改写为:sat公式进一步改写为:sat公式进一步改写为:
[0058]
其中,k=17为该表达式的句子个数,l
i,j
(x,y,u)为第i个句子中第j个文字,u=(u1,

,u
18
)为 新引入布尔变量;此时cnf形式的3-sat的句子数为3个,u的个数为18,y的个数为2,布尔变量总数 量为25个。
[0059]
s5:将1-in-3-sat问题等效转化为一个线性规划的最优值大小问题。
[0060]
s501:根据1-in-3-sat问题可满足性,建立线性方程组。
[0061]
s502:将步骤s501中线性方程改写为a
·
v=i的形式,其中,a为元素是0或者1的17
×
25维系 数矩阵,v=[x,y,u]
t
为25维的列向量,i为17维元素都为1的列向量;
[0062][0063]
s503:设25
×
25维矩阵c=a
t
·
a,令c为矩阵c对角线元素构成的列向量,随机生成一个待定变 量矩阵z=(z
i,j
)
1≤i≤25,1≤j≤25
,令z为矩阵z对角线元素构成的列向量,那么步骤s501中线性方程的等价 线性规划问题为:
[0064]
目标函数:max c
t
·z[0065][0066]
其中,*表示张量积,z
0,0
为待定变量。
[0067]
s6:对线性规划的最优值求解问题进行求解精度设定。
[0068]
首先,设定求解最优值精度为然后选取一个充分小的可行解求解精度δ取0.001。
[0069]
s7:求解线性规划问题的最优值,并根据最优值大小来判定布尔命题逻辑公式的可满足性。
[0070]
求解的出的目标函数最大值为17,则返回结果——布尔命题逻辑公式可满足,并继续执行步骤s8。
[0071]
s8:对a
·
v=i,递归地对线性规划问题添加约束并进行求解,得到a
·
v=i的一个0|1解(0,1,1, 0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0),该点也对应电路逻辑的一个可满足赋值。
[0072]
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已 经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的 改变,而不偏离本发明权利要求书所限定的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献