给定s
公式,我想找到s'
的最小子集s
,它隐含s
中的每个公式。我将s
称为最小的独立集合,因为对于a,b
中的每一对s'
,a
并不暗示b
,反之亦然。O(2^|s|)
在我看来,天真的方法需要{{1}}复杂性。有更有效的方法吗?这个问题可以编码一些如何利用当前的smt / sat解算器(例如不饱和核心)?
答案 0 :(得分:0)
现在可能对你来说太迟了。但你可以通过1循环计算这样的一组。
IS = F1 // first formula in s
for each formula Fi in {F2,..Fn} in s
if ((not IS) AND Fi) is UNSAT
IS = IS AND Fi
集IS
包含独立集。