Presentation is loading. Please wait.

Presentation is loading. Please wait.

Gábor Kusper  Research Institute for Symbolic Computation (RISC-Linz)

Similar presentations


Presentation on theme: "Gábor Kusper  Research Institute for Symbolic Computation (RISC-Linz)"— Presentation transcript:

1 Solving the Resolution-Free SAT Problem by Hyper-Unit Propagation in Linear Time
Gábor Kusper  Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University, Linz, Austria

2 Outline Motivation Hyper-Unit Propagation Resolution-Free SAT Problem
Unicorn-SAT Algorithm Example General-Unicorn-SAT Algorithm Conclusion

3 Motivation Theorema, Prof. Buchberger http://www.theorema.org/
A1, ..., An G A1, ..., An, G is unsatisfiable

4 Unit Propagation a  b  c a  b a  c a  b  c a  b  c
by a

5 Hyper-Unit Propagation
a  b  c a  b a  c a  b  c a  b  c a  b a  c a  b  c HUP by a  b Hyper-Unit Prop. (HUP) by assignment A on S is denoted by S[A].

6 Resolution Resolution (tautologies are not allowed): a  b a  b
a  c Examples Resolution OK: b  c a b  b  c a  b a  c a  b  c a  b  c Examples Resolution-Free: a  a  c a  b  c a  b  c a  b  c a  b  c Tautologies! Example Resolution-Free Clause Set:

7 Definition A clause set is resolution-free iff resolution cannot be performed on any two clauses of the clause set.

8 L(C): Negation of a Resolution-Mate
a  b  c Let C be: negate a literal A Resolution-Mate of C: a  b  c a  b  c a  b  c These are clauses! L(C): negate all but one literal negate A Sub-Model generated from C: a  b  c a  b  c a  b  c These are assignments!

9 Definition We obtain a resolution-mate of a clause by negating one literal of it. A sub-model generated from clause C is the negation of a resolution-mate of C. It is denoted by L(C). By definition L() = . L(C) is an assignment, L(C) is a clause. L(C) is a resolution-mate of clause C.

10 Res.-Mate is not in S If S is resolution-free, S, CS and B is a resolution-mate of C. Then BS. Proof: C resolves with B! a  b  c a  b  c a  b  c a  b  c a  b  c a  b  c

11  is not in S after Sub-Model Propagation
If S is resolution-free, S, CS and C is minimal (B = L(C) ,i.e., B is a resolution-mate of C). Then S[L(C)]. Proof: Since C is minimal it suffices to show that B  S. It is known from the previous slide. a resolution- mate: S is resolution-free: a sub-model: a  b a  b  c a  b  c minimal: subsumed: not subsumed: a  b a  b a  b  c a  b  c a  b  c a  b  c

12 In Picture START input: S S[A] S[A] HUP S is L[C] = A := a  b by A
resolution-free and S HUP by A L[C] = A := a  b Let A negation of B B := a  b a  b if S[A] =  then M := A Let B a res.-mate of C Let C be a min. clause from S C:= a  b END

13 HUP Preserves Resolution-Free-ness
If S is resolution-free and A is an assignment. Then S[A] is resolution-free. Proof: Assume S[A] is not resolution-free. We show that this contradict with S is resolution-free. S: S[A]: ... y ... x ... ... ... y ... x ...

14 Unicorn-SAT Algorithm
START input: S i := 1 S[Ai] is res.-free S[Ai] S := S[Ai], i := i+1 S is resolution-free and S HUP by Ai Ai := a  b Let Ai negation of B B := a  b a  b if S[Ai] =  then M := A1A2...Ai Let B a res.-mate of C Let C be a min. clause from S C:= a  b END

15 Termination If S  , S and CS. Then S[L(C)]
has fewer clauses than S and contains fewer variables than S. Proof: Hyper-Unit propagation inherits this property from unit propagation.

16 Example sub-model a  b  c a  b  c a  b  d  e a  b  c  d
a  d  e a  b  c  d  e a  b  c  d  e a  b  c  d  e b  c  d  e sub-model a  b  c HUP sub-mo. d  e d  e d  e HUP a  b  c  d  e

17 Time Complexity # variables : n # clauses : m O(nm) Argument:
HUP by Ai can be simulated by length(Ai) UP. If we need k HUP then Summa(length(Ai), i:=1..k) = n. So we can simulate k HUP by n UP. Since UP is O(m) time method Unicorn-SAT is O(nm).

18 General-Unicorn-SAT Algorithm
if i = 0 then unsatisfiable satisfiable if Si i := i-1 i := i+1 if Si+1 =  if Si+1 Si := Sires(C,L(C)) Correct the guess! Si Si+1 if Si then Ai := L(C), where C is a min. clause form Si. Guess a solution! if Si+1 i := i+1 i := i-1 START: i := 1, S0 := S, A0 := , Si := Si-1[Ai-1]

19 Conclusion DPLL like algorithms General-Unicorn-SAT
use unit propagation incrementally construct a solution General-Unicorn-SAT uses hyper-unit propagation guesses a sub-model & correct it if necessary

20 Thank you for your attention!


Download ppt "Gábor Kusper  Research Institute for Symbolic Computation (RISC-Linz)"

Similar presentations


Ads by Google