【技术实现步骤摘要】
基于线性规划的布尔可满足性判定方法
[0001]本专利技术涉及基于线性规划的布尔可满足性判定方法,属于逻辑电路领域,特别涉及基于线性规划的布尔可满足性判定。
技术介绍
[0002]在计算机科学与工程中,经常遭遇判定一个给定问题是否有解的问题,通常当有解时需要给出该问题一个解答。这类问题可以高效(多项式时间)地规约到布尔命题逻辑公式的可满足性判断问题。因此,如果可以快速地对布尔命题逻辑公式进行可满足性判定,则可以高效地解决相关计算机决策问题。但是,布尔命题逻辑公式的可满足性判断问题在理论上被证明是一个NP完全问题。目前为止,对这类问题没有任何的多项式时间复杂度算法可以判定布尔命题逻辑公式的可满足性。
[0003]传统的布尔命题逻辑公式的可满足性判定方法分为两大类。其中一大类方法基于DPLL技术,或者使用不同的启发式搜索策略以及矛盾冲突驱动优化、加速判定速度,或者使用随机算法得到较高的平均判定速度。另一大类方法基于非线性优化,把可满足性问题转化为非线性优化问题,通过求解其最优值来逼近可满足性。
[0004]这两大 ...
【技术保护点】
【技术特征摘要】
1.基于线性规划的布尔可满足性判定方法,其特征在于,该方法包含以下步骤:S1:对实际工程问题进行分析,提取布尔命题逻辑公式;S2:通过合取范式,将布尔命题逻辑公式转换为等可满足的CNF布尔逻辑公式;S3:将CNF布尔逻辑公式按照每个子句的文字个数固定为3进行等可满足转化,将CNF布尔逻辑公式的可满足性问题(SAT)转化为3
‑
CNF形式的3
‑
SAT问题;S4:将CNF形式的3
‑
SAT问题按照Schaefer结构进行变体,转化为1
‑
in
‑3‑
SAT问题;S5:将1
‑
in
‑3‑
SAT问题等效转化为一个线性规划的最优值大小问题;S6:对线性规划的最优值求解问题进行求解精度设定;S7:求解线性规划问题的最优值,并根据最优值大小来判定布尔命题逻辑公式的可满足性;S8:对于可满足的布尔命题逻辑公式,递归地对线性规划问题添加约束并进行求解,得到可满足问题的一个解答。2.根据权利要求1所述的基于线性规划的布尔可满足性判定方法,其特征在于,所述的布尔命题逻辑公式由n个布尔变量X=(x1,x2,
…
,x
n
),运算符AND(连接,用∧表示),OR(分离,用∨表示),NOT(否定,用表示)和括号构成;所述的1
‑
in
‑3‑
SAT的表达式形如:S=∧
i≤k
(∨
j≤3
L
i,j
(X,U)),其中,k为1
‑
in
‑3‑
SAT的表达式的句子个数,L
i,j
(X,U)为第i个句子中第j个文字,U为Schaefer结构变体构造所新引入的布尔变量;当CNF形式的3
‑
SAT的句子数为m个时,U的个数为6m,k的个数为5m;对于任意的布尔变量x
i
∈X,如果在1
‑
in
‑3‑
SAT的表达式中出现否定形式文字那么需要引入新的布尔变量y
i
∈Y进行替换,以及在原1
‑
in
‑3‑
SAT的表达式后添加一个AND连接的子句(x
i
∧y
i
),并且k=k+1,得到不含否定形式文字的1
‑
in
‑3‑
SAT的表达式S=∧
i≤k
(∨
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。