Beating Brute Force Search for QBF Satisfiability
description
Transcript of Beating Brute Force Search for QBF Satisfiability
![Page 1: Beating Brute Force Search for QBF Satisfiability](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/23.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/29.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/31.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051421/568161b1550346895dd175d5/html5/thumbnails/33.jpg)
Thank You!