Transcript
Page 1: Beating Brute Force Search for QBF  Satisfiability

Beating Brute Force Search for QBF Satisfiability

Rahul SanthanamUniversity of Edinburgh

(joint work with Ryan Williams)

Page 2: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background– Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 3: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background– Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 4: Beating Brute Force Search for QBF  Satisfiability

The QBFSAT Problem

• Input: A quantified Boolean formula ψ = Q1 X1 Q2 X2 ... Qk Xk φ(X1, ... , Xk)– Qi’s are quantifiers in , : if Qi = , then Qi+1 = , and

conversely– Xi’s are blocks of variables– This is a k-QBFSAT instance. The number of alternations is

k-1 (alternatively, the number of quantifier blocks is k)– φ is by default a formula in CNF if Qk = , else in DNF (more

generally, it could be a Boolean formula/circuit)• Question: Is ψ true?

Page 5: Beating Brute Force Search for QBF  Satisfiability

The QBFSAT Problem

Ψ = x y z(x V y) Λ (x’ V z)

x

yy

zzzz

0 110 1 1 0 0

Page 6: Beating Brute Force Search for QBF  Satisfiability

The QBFSAT Problem

Ψ = x y z(x V y) Λ (x’ V z)

x

yy

zzzz

0 110 1 1 0 0

Ψ is a YES instance

Page 7: Beating Brute Force Search for QBF  Satisfiability

Easy Facts

• Brute Force Search: QBFSAT can be solved in time 2n poly(m) on QBFs of size m with n variables

• Hardness: QBFSAT is PSPACE-complete• QBFSAT is unlikely to be in P, but can we do

better than brute-force search?

Page 8: Beating Brute Force Search for QBF  Satisfiability

Conventional Algorithmic Paradigms for Satisfiability

• DLL/Branching Algorithms: Explore tree of potential assignments by iteratively choosing variables to branch on

• Local Search: Perform local search of solution space for a satisfying assignment

Page 9: Beating Brute Force Search for QBF  Satisfiability

Conventional Algorithmic Paradigms applied to QBFSAT

• DLL/Branching Algorithms: Power of DLL algorithms for SAT comes from choice of variables to branch on. For QBFs, this choice is much more restricted

• Local Search: “Solutions” are not polynomial-size any more, so search of solution space becomes infeasible

Page 10: Beating Brute Force Search for QBF  Satisfiability

Notation

• Given a function s: N → N, we say that QBFSAT has savings s if there is an algorithm for QBFSAT running in time 2n-s(n) poly(m), where n is the number of variables and m the instance size

• We call savings ω(log(n)) non-trivial• C-SAT: Satisfiability problem for circuit class C

Page 11: Beating Brute Force Search for QBF  Satisfiability

The Relevance of Theory to Practice

• Algorithmic ideas which make implementations more effective/efficient

• Insights into the structure of hard instances

Page 12: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background– Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 13: Beating Brute Force Search for QBF  Satisfiability

Our Results: Algorithms

• Theorem 1: k-QBFSAT has savings Ω(n1/(k+1)) when m = poly(n) (Note that this is non-trivial when k = o(log(n)/loglog(n))

• Theorem 2: k-QBFSAT has savings Ω(k) (Note that this is non-trivial when k = ω(log(n)))

Page 14: Beating Brute Force Search for QBF  Satisfiability

Our Results: Connections to Circuit Lower Bounds

• Theorem 3: Non-trivial savings for QBFSAT would imply NEXP does not have poly-size Boolean formulas

• Theorem 4: Savings Ω(nω(1)/k) for k-QBFSAT would imply NEXP does not have poly-size Boolean formulas

Page 15: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background – Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 16: Beating Brute Force Search for QBF  Satisfiability

Reminder of Theorem 1

• Theorem 1: k-QBFSAT has savings Ω(n1/(k+1)) when m = poly(n)

Page 17: Beating Brute Force Search for QBF  Satisfiability

Reminder of Theorem 1

• Theorem 1: k-QBFSAT has savings Ω(n1/(k+1)) when m = poly(n)

• Proof Idea: Branching + memoization– Let ψ = Q X Q’ Y φ(X,Y), where |X| = n-n1/(k+1), and Q, Q’

are strings of quantifiers– Let f(X) = Q’ Y φ(X,Y). First compute the truth table of f

in time O(2n-n^1/(k+1))– To solve ψ, branch on X, using stored truth table to

answer leaf queries in the branching tree. This can again be done in time O(2n-n^1/(k+1))

Page 18: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background – Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 19: Beating Brute Force Search for QBF  Satisfiability

Proof Sketch for Theorem 2

• Reminder of Theorem 2: k-QBFSAT has savings Ω(k)

• The algorithm works even when φ (the quantifier-free part) is a Boolean circuit

• Somewhat counter-intuitive: Problem gets easier when number of alternations increases!

Page 20: Beating Brute Force Search for QBF  Satisfiability

The Idea

• Essentially same as “game tree evaluation” of [Snir85] and [Saks-Wigderson86]

• Evaluate existential and universal branches randomly, halting the existential search when a 1 is returned and the universal search when a 0 is returned

• In either the YES or NO case, this saves Ω(1) bits on average for every two consecutive alternations

Page 21: Beating Brute Force Search for QBF  Satisfiability

Illustration

Ψ = x y z(x V y) Λ (x’ V z)

x

yy

zzzz

0 110 1 1 0 0

Ψ is a YES instance

Right branch, chosen with probability 1/2

Page 22: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background – Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 23: Beating Brute Force Search for QBF  Satisfiability

Improved Algorithms?

• Can we hope to achieve better savings than in Theorems 1 and 2?

• How do different variants of QBFSAT relate to each other, eg., when φ is a Boolean formula as opposed to a CNF?

Page 24: Beating Brute Force Search for QBF  Satisfiability

Reducing FormulaSAT to QBFSAT

• Lemma 1: There is a polynomial-time algorithm which, given as input any Boolean formula on n variables of size poly(n), outputs an equivalent QBFSAT instance with n+O(log(n)) variables, size poly(n) and O(log(n)) alternations– Complexity inspiration: Classical result that NC1 =

ALOGTIME– Much more efficient than Tseitin transformation

Page 25: Beating Brute Force Search for QBF  Satisfiability

Reducing QBFormulaSAT to QBFSAT

• Lemma 1’: There is a polynomial-time algorithm which, given as input any quantified Boolean formula with k’ alternations on n variables of size poly(n), outputs an equivalent QBFSAT instance with n+O(log(n)) variables, size poly(n) and k’+O(log(n)) alternations– Complexity inspiration: Classical result that NC1 =

ALOGTIME

Page 26: Beating Brute Force Search for QBF  Satisfiability

Implications

• Corollary: If QBFSAT in time 1.9n, then QBFormulaSAT in time 1.9n+o(n)

• By Williams’ algorithms-lbs connection for formulas, if FormulaSAT has savings ω(log(n)), then NEXP does not have poly-size formulas

• Reminder of Theorem 4: Non-trivial savings for QBFSAT would imply NEXP does not have poly-size formulas

• Proof: By Lemma 1, non-trivial savings for QBFSAT imply non-trivial savings for FormulaSAT

Page 27: Beating Brute Force Search for QBF  Satisfiability

Reducing FormulaSAT to k-QBFSAT

• Lemma 2: There is a polynomial-time algorithm which, given as input any Boolean formula on n variables of size poly(n), outputs an equivalent QBFSAT instance with n+O(n1/k) variables, size poly(n) and O(k) alternations– Complexity inspiration: Nepomnjascii’s result that

every language in NC1 in Σk-LIN for some fixed k

Page 28: Beating Brute Force Search for QBF  Satisfiability

Reducing QBFormulaSAT to k-QBFSAT

• Lemma 2’: There is a polynomial-time algorithm which, given as input any quantified Boolean formula with k’ alternations on n variables of size poly(n), outputs an equivalent QBFSAT instance with n+O(n1/k) variables, size poly(n) and k’+O(k) alternations– Complexity inspiration: Nepomnjascii’s result that

every language in NC1 in Σk-LIN for some fixed k

Page 29: Beating Brute Force Search for QBF  Satisfiability

Implications

• Corollary: If k-QBFSAT in time 1.9n, then QBFormulaSAT in time 1.9n+o(n)

• By Williams’ algorithms-lbs connection for formulas, if FormulaSAT has savings ω(log(n)), then NEXP does not have poly-size formulas

• Reminder of Theorem 4: Savings Ω(nω(1)/k) for k-QBFSAT would imply NEXP does not have poly-size formulas

• Proof: By Lemma 2, savings Ω(nω(1)/k) for k-QBFSAT imply non-trivial savings for FormulaSAT

Page 30: Beating Brute Force Search for QBF  Satisfiability

The Relevance of Theory to Practice

• Algorithmic ideas which make implementations more effective/efficient: Game tree search, reductions of FormulaSAT to QBFSAT and k-QBFSAT?

• Insights into the structure of hard instances: Instances are hard for k around log(n), doesn’t matter much whether base formula φ is constant width CNF or a general Boolean formula

Page 31: Beating Brute Force Search for QBF  Satisfiability

Plan of the Talk

• Introduction– Background– Results

• Algorithmic Results– Small Number of Quantifier Alternations– Large Number of Quantifier Alternations

• Implications for Circuit Complexity• Future Directions

Page 32: Beating Brute Force Search for QBF  Satisfiability

Future Directions

• Algorithms for QBFSAT using polynomial space?

• Better algorithms when instances are structured?

• Evidence against improved algorithms based on conventional hardness assumptions?

Page 33: Beating Brute Force Search for QBF  Satisfiability

Thank You!


Recommended