2
SAT The satisfiability problem is a central problem in computer science, in theory and in practice. Terminology: – A Clause is a boolean formula which is an OR of variables and negations of variables. – A CNF formula is an AND of clauses. Object of study for this talk: CNF-SAT: Given a CNF formula, is it satisfiable?

3
Resolution Proof System Lines are clauses, one simple proof step Proof is a sequence of clauses each of which is – an original clause or – follows from previous ones via resolution step a CNF is UNSAT iff can derive empty clause ⊥

5
SAT Solvers Well-known connection between Resolution and SAT solvers based on Backtracking These algorithms are very powerful – sometimes can quickly handle CNF’s with millions of variables. On UNSAT formulas, computation history yields a Resolution proof. – Tree-like Resolution ≈ DPLL algorithm – General Resolution ≿ DPLL + “Clause Learning” Best current SAT solvers use this approach

6
SAT Solvers

7
DPLL requires very little memory Clause learning adds a new clause to the input CNF every time the search backtracks – Uses lots of memory to try to beat DPLL. – In practice, must use heuristics to guess which clauses are “important” and store only those. Hard to do well! Memory becomes a bottleneck. Question: Is this inherent? Or can the right heuristics avoid the memory bottleneck?

12
Size-Space Tradeoffs Informal Question: Can we formally show that memory rather than time can be a real bottleneck for resolution proofs and SAT solvers? Formal Question (Ben-Sasson): “Does there exist a such that any CNF with a refutation of size T also has a refutation of size T in space O()?” Our results: Families of formulas of size n having refutations in Time, Space n log n, but all resolution refutations have T > (n 0.58 log n /S) loglog n/logloglog n Not even close

18
Complexity Measure To measure progress as it occurs in the proof, want to define a complexity measure, which assigns a value to each clause in the proof. Wish list: – Input clauses have small value – Final clause has large value – Doesn’t grow quickly in any one resolution step

19
Complexity Measure for Tseitin Say an assignment to an (unsat) CNF is a critical if it violates only one constraint. For critical to Tseitin formula, “  ’s vertex”: For any Clause, define the “critical vertex set”: () ≔{ () : critical to, falsifies } ()≔ vertex of that constraint

20
Critical Set Examples Blue = 0 Red = 1  function: one odd vertex in corner For the empty clause,Critical set is everything. In these examples, Graph is a Grid.

21
Critical Set Examples Blue = 0 Red = 1 For a clause that doesn’t cut the graph, Critical set is … still everything.

22
Critical Set Examples Blue = 0 Red = 1 For this clause, several components. Parity mismatch in only one, Upper left is critical.

25
Complexity vs. Time Consider the time ordering of any proof, and plot complexity of clauses in memory v. time Only constraints – start low, end high, and because of sub-additivity, cannot skip over any [t, 2t] window of μ-values on the way up. Time μ Input clauses ⊥

26
A Classic Application

27

28
Graph for our result What happens to our formula when we apply a random restriction? Say, each edge is set to 0,1,* with probability 1/3, independently. l n

38
Complexity vs. Time Consider the time ordering of any proof, and divide time into equal epochs (fix later) Time Hi Med Low

39
Two Possibilities Consider the time ordering of any proof, and divide time into equal epochs (fix later) Either, a clause of medium complexity appears in memory for at least one of the breakpoints between epochs, Time Hi Med Low

40
Two Possibilities Time Hi Med Low

41
Analysis

42

43
Two Possibilities Time Hi Med Low

44
Two Possibilities Time Hi Med Low

45
Restating this as a decomposition S T Size is mS T/m

46
An even better tradeoff Don’t just divide into epochs once Recursively divide proof into epochs and sub-epochs where each sub-epoch contains sub-epochs of the next smaller size Prove that, if an epoch does a lot of work, either – Breakpoints contain many complexities – A sub-epoch does a lot of work

47
An even better tradeoff a

48
… Internal Node Size = mS Leaf Node Size = T/m^(h-1)

49
An even better tradeoff

50
Final Tradeoff If space is at most 2 2 / 2 then size blows up by a super-polynomial amount

61
Open Questions More than quasi-polynomial separations? – For Tseitin formulas upper bound for small space is only a log n power of the unrestricted size – Candidate formulas? – Are these even possible? Other proof systems? Other cases for separating search paradigms: “dynamic programming” vs. “binary search”?