Computing the Density of States of Boolean Formulas Stefano Ermon, Carla Gomes, and Bart Selman Cornell University, September 2010 Motivation: Significant progress in SAT From 100 variables, 200 constraints (early 90’s) to over 1,000,000 vars. and 5,000,000 clauses in 20 years. Applications: Hardware and Software Verification, Planning, Scheduling, Optimal Control, Protocol Design, Routing, Multi-agent systems, E-Commerce (E-auctions and electronic trading agents), etc. SAT: Given a Boolean formula Φ in CNF, Φ=C1ΛC2 Λ…ΛCm does Φ have a satisfying assignment? Extending SAT technology Model counting problem (number of distinct satisfying assignments): probabilistic inference problems multi-agent / adversarial reasoning (bounded) [Roth ‘96, Littman et. al. ‘01, Sang et. al. ‘04, Darwiche ‘05, Domingos ‘06] MAX-SAT and Weighted MAX-SAT: find a truth assignment that maximizes the number of satisfied clauses or the sum of their weights beyond decision (NP) [Hansen at al. ’90] hard and soft constraints [Heras et al. ’08, Cohen et al. ’06] How can we combine both challenges? Density of states Given a Boolean formula Φ in CNF, Φ=C1ΛC2 Λ…ΛCm with m clauses the density of states is a function n : [0,..,m] that gives the number of truth assignments that violate exactly i clauses, for i =0,..,m n(0) = number of assignments that violate 0 clauses (models) n(1) = number of assignments that violate exactly 1 clause Density of states: a challenging problem Generalizes SAT Generalizes MAX-SAT Decision problem: Φ is satisfiable if and only if n(0)>0 MAX-SAT is the minimum i such that n(i)>0 Generalizes #SAT Number of models = n(0) Statistical physics More generally, the density of states (DOS) gives the number of microstates with energy E Microstates = truth assignments Energy = number of violated clauses Ground states = maximally satisfying assignments Compact, very informative characterization of a physical system Macroscopic thermodynamic quantities (free energy, internal energy,..) Partition function, phase transitions,.. Motivation DOS provides a finer characterization of the structure of a combinatorial search space Statistical physics and CSPs: Insights on problem structure, hardness, new algorithms, Survey Propagation [Montanari et. al. ‘07, Monasson et. al. ‘96, Mézard ’02, Parisi ‘02] By defining different energy functions, it can be naturally used for probabilistic style inference (e.g. Markov Logic, [Domingos ‘06] ) Talk Outline Prior work A novel sampling strategy: MCMC-FlatSat Empirical Validation Small formulas with ground truth Synthetic formulas Random 3-SAT Large structured instances Model counting Conclusions Density of states: prior work Exact Method: Enumeration (exponential) Approximate Uniform Sampling [Belaidouni et. al. ‘02] Sample density from K random truth assignments Impractical, unlikely to hit rare assignments (e.g. solutions) Metropolis Sampling [Rose et. al. ‘96] In theory, the density can be extracted from the Boltzmann distribution Impractical, difficult choice of the temperature and slow mixing times [Wei et. al. ‘04 ] How can we improve the sampling strategy? The flat histogram idea Idea: Set up a Markov Chain that visits all energy levels equally often [F. Wang and Landau ’02, J. Wang et. al. ’99, De Oliveira et. al. ’96] e.g. an equal amount of time at the set of truth assignments with 0 unsat clauses, 1 unsat clause, ... How? Flip a variable, accept new state σ’ with probability n( E ) p min1, n( E) Always accepts “rarer” states (when n(E’)<n(E)) Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1 1 1 1 1 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 3/10 3/10 3/10 3/10 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 3/10 3/10 3/10 3/10 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1 1 1 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1 1 1 1 1 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1 1 1 1 1 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1 1 1 1 1 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1/10 1/3 1/10 1/10 1 Goal: visit all energy levels (colors) equally often Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 1/10 1/3 1/10 1/10 1 Goal: visit all energy levels (colors) equally often Example …and finally… Example RED ↔ 0 unsat clauses, n(0)=1 GREEN ↔ 1 unsat clauses, n(1)=3 BLUE ↔ 2 unsat clauses, n(2)=10 Flat histogram: Intuition Detailed balance holds with those n( E ) transition probabilities p min1, n( E) Properly biased towards “rare” states But there are few “rare” states (Red, Blue, Green) The total time spent in each type of state is the same (flat visit histogram). Note: in contrast, Simulated Annealing concentrates sampling around low energy states (more greedy!) Flat histogram But… how can we even run the Markov Chain? Acceptance probability: p n( E ) min1, n( E) The density n() is unknown and is precisely what we want to compute! Adaptive sampling Start with an initial guess g (our estimate of the true density n) Random walk: Use g for guidance (acceptance probability) Chain will initially not sample uniformly across energy levels Each step, adjust g using a modification factor F Keep track of the visit histogram H When we see a flat H, we must have the right density! The modification factor, F F controls the tradeoff between convergence rate and accuracy Use large modification factors F at the beginning to get rough estimates fast convergence Keep reducing F to get finer estimates Analogous to an annealing process MCMC-FlatSat Initialization Inner Loop H 100 96 105 99 50 0 0 (R ed) 1 2 (B lue) (G reen) Inner Loop : adaptive sampling until the visit histogram is flat (g becomes our new guess for n) MCMC-FlatSat Outer Loop Reduce modification factor and repeat inner loop until g≈n Outline of empirical validation Empirical validation on combinatorial problems Convergence Efficiency (number Accuracy of samples vs search space size) We study: Small formulas with ground Large synthetic formulas Random 3-SAT Large structured Model counting instances truth Formulas with known ground truth Instances from MAXSAT2007 competition (Ramsey, Spin Glass, Max Clique) Direct enumeration is possible (n<=28), so we can compare our estimate with ground truth Metrics: n( E ) n( E ) KL divergence: DKL (n || g ) log Z E g (E) Relative error per point n – ground truth X g – estimate Rel. error (%) Log-density 3.1 % maximum relative error Energy Energy (# unsat clauses) Spin glass instance, 27 variables, 162 clauses Needs ~ 8 *106 flips << search space size (227≈1.3 *108) Max Clique Ramsey n X g Log-density Log-density n – ground truth X g – estimate Energy (# unsat clauses) Energy (# unsat clauses) Instance variables clauses KLdivergence ramk3n7.ra0 21 70 3.9 E-05 2.39 % 2.45 ramk3n8.ra0 28 126 1.1 E-05 5.1 % 3.93 johnson8-2-4.clq 28 420 4.5 E-05 5.5 % 2.90 T3pm3-5555.spn 27 162 1.3 E-05 3.15 % 3.34 Max rel. error Entropy Synthetic formulas Ground truth for larger formulas? Construct synthetic formulas Formulas for which we derive a closed form solution for the density Result on the composition (logical conjunction) of independent formulas (do not share variables) F ( x1, x2 ,...,xl ) ( x1 ) ( x2 ) ... ( xl ) The density of F is the convolution of the density of Φ with itself l times Convolution of uniform densities n X g Log-density Log-density n – ground truth X g – estimate Convolution of pigeon hole formulas Energy (# unsat clauses) Energy (# unsat clauses) Needs ~ 2*107 flips << state space size (250≈1015) Instance variables clauses KL-divergence Max relative error (%) Entropy UnifConv50_100 50 100 1.19 E-05 3.05 % 7.3 PigHoleConv410 200 750 1.26 E-07 2.2 % 33.7 Random k-SAT formulas Well known phase transitions for the satisfiability property P [n (0) 0] in terms of the ratio α (Φ is satisfiable ↔ nΦ(0)>0 ) Analytic result on the average density m 1 1 E [n (i)] k 1 k i 2 2 i m i 2n given a truth assignment, the probability of having a clause that is violated is 1/2k for random k-SAT Log-density Average Densities Ratio clauses to var. α n=50 variables (average over 1000 instances) Needs ~ 108 flips << state space size (250≈1015) Large structured instances No ground truth known Consistency checks Number of models, when exact model counting is feasible (# models=n(0)) Method of the moments: Sample K assignments at random, compute their energies (unsat clauses) Compute sample moments (e.g. average energy, 2nd order moment of energy, ..) Compare with moments obtained using the estimated density g Large structured instances Instance variables clauses g(0) # Ms(1) models M(1) Ms(2) M(2) brock400 2.clq 40 1188 0 0 297.0 297.0 88365.9 88372.3 Spinglass5.pm 125 750 0 0 187.4 187.4 35249.2 35247.1 MANN a27.clq 42 1690 0 0 422.4 422.4 178709 178703 bw large.a 459 4675 1 1 995.2 995.3 996349 996634 Planning problem: n=459 variables m=4675 clauses Log-density Logistic instance Energy (# unsat clauses) Huge search space (2459 truth assignments), but MCMC-FlatSat returns within hours Remarkable precision: Finds the only existing model g(0)=n(0)=1! The mode of the estimated distribution is e300 times larger than the number of models g(0) counts the needles and the haystack! (the moments method indicates g is accurate) Model counting Comparison with state-of-the-art model counters [Gomes et. al. ‘06] SampleMiniSAT [Gogate et. al. ‘07] SampleCount MCMCFlatSat is very accurate Timings are competitive when ratio clauses to variables is not too large DOS provides guidance Information on what is not a model Overhead because it provides more information Model counting comparison SampleCount SampleMiniSAT MCMC-FlatSat Instance variables clauses Exact # models Models Time (s) Models Time (s) Models Time (s) 2bitmax 252 766 2.10×1029 >2.40×1028 29 2.08×1029 345 1.96×1029 1863 wff-3-3.5 150 525 1.40×1014 >1.60×1013 145 1.60×1013 240 1.34×1014 393 wff-3.1.5 100 150 1.80×1021 >1.00×1020 240 1.58×1021 128 1.83×1021 21 wff-4-5.0 100 500 >8.00×1015 120 1.09×1017 191 8.64×1016 189 ls8-norm 301 1603 5.40×1011 >3.10×1010 1140 2.22×1011 168 5.93×1011 2693 Conclusions Computing the density of states is a hard problem (encompasses SAT, MAX-SAT, #SAT) MCMCFlatSat: sampling strategy adapted from physics for combinatorial spaces that adaptively explores the space while collecting statistics Extremely accurate, very efficient (few samples) Provides a compact, rich description of the search space. New insights about structure and local search Very general method: any property can be used for search space partitioning. Many applications to counting and inference problems Extra slides Future work SAT-specific improvements Energy saturation Energy barriers (and related normalization issues) Walksat heuristics (with Metropolis-Hastings updates) Direct application to inference in Markov Logic Formal proof of convergence / counterexamples Application to other counting problems in combinatorial spaces Runtime for random 3-SAT Search space 2^50 Flips 10^8 ≈ 2^26 Related work on random 3-SAT Lots of work on the i=0 (i.e. SAT/UNSAT) case [Gent et. al. ‘94] Previous experimental work for i>0 [Zhang ‘01] Different definition: “no more than i unsat clauses” versus “exactly i unsat clauses” Location on the phase transitions Apparently, same location Analytic results [Achlioptas et al. ‘05] We can see two phase transitions: assignments are unlikely to violate a large number of clauses Other phase transition 50 variables, 1000 instances Other structured instances Histogram flatness (formal) Flatness condition of the visit histogram H is a necessary condition for convergence If g is equal to the true density n, the detailed balance p( ) p p( ) p 1 is satisfied by p( ) n( E ( )) upon convergence, the steady state probability is proportional to the reciprocal of the density of the corresponding energy level Histogram flatness (formal) Flatness condition of the visit histogram H is a necessary condition for convergence c H ( E ) p( ) c | E ( ) E | E ( ) E n( E ) If g=n, the visit histogram H will be flat i.e. energy levels visited equally often Problem: the density n() is unknown and is precisely what we want to compute! Propositional Satisfiability (SAT) Satifiability (SAT): Given a formula in propositional calculus, does it have a model, i.e., is there an assignment to its variables making it true? (a b c) AND (b c) AND (a c) SAT: prototypical hard combinatorial search and reasoning problem. Problem is NP-Complete. (Cook 1971) Prior work - Metropolis Approximate [Rose et. al., ‘96 ] Metropolis sampling at temperature T Energy = number of violated clauses Measure the empirical probability P(E) of energy levels, rescale to get the density n(E) P( E ) n( E ) exp( E ) T mixing times [Wei et. al., ‘04 ] Difficult choice of the temperature Slow Theoretical Convergence Stated as a conjecture in Lee,Okabe and Landau, Convergence and Refinement of the Wang-Landau Algorithm, Computer Physics Communications, 2006 Proof of convergence in Atchade and Liu,The Wang-Landau Algorithm for Monte Carlo computation in general state spaces, Statistica Sinica, 2009 Closed forms k-SAT, m clauses such that each variable appears exactly in one clause, the DOS is m 1 1 n( E ) k 1 k E 2 2 E m E 2n where 1 2 is the fraction of assignments of the variables in a single clause not satisfying it (e.g. in 3-SAT, only 1 over 8 assignments does not satisfy a clause) k Implementation details Use of log-densities New assignment generated by flipping a variable uniformly at random Flatness condition (within 10% of the max) Normalization The density is obtained only up to a constant factor g ( E ) 2n We use the normalization constraint E F0=1.5, reduce by F F Flatness is checked every 1000 moves Random k-SAT formulas k-SAT: each clause has at most k literals Random k-SAT: formulas Φ generated with n variables m clauses produced independently by α randomly choosing a set of k variables from n available negating each one with probability 0.5 is the ratio clauses to variables (m/n) Let P () be the probability measure associated with this generative model for Φ Composition Logical conjunction of formulas Φ that do not share variables F ( x1, x2 ,...,xl ) ( x1 ) ( x2 ) ... ( xl ) The density of F is the convolution of the density of Φ with itself l times Analogous to the probability density of the sum of l independent random variables Closed forms Starting with a formula Φ with uniform density (e.g. ( x1, x2 ) x1 x2 ( x1 x2 ) ( x1 x2 ) ) we construct F ( x1 , x2 ,...,xl ) ( x1 , x2 ) ( x1, x2 ) ... ( xl 1, xl ) Sum of n s-sided dices has closed form probability distribution: