Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project.

Similar presentations


Presentation on theme: "Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project."— Presentation transcript:

1 Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project

2 Motivation Difficulty of boolean formulas varies greatly –difficulty = # decisions by solver = time to solve –difficulty varies between formulas of same size Difficulty depends on many factors –size of formula, clause : variable ratio, algorithm, luck What factors influence the difficulty and to what degree? Can we fit a function to the difficulty using these features?

3 literal = (negated) variablevariables CNF and 3-SAT Conjunctive Normal Form (CNF): k-SAT = CNF with exactly k literals / clause –no two literals in clause have same variable –no two identical clauses –k ≥ 3 is NP-complete (e.g. 3-SAT) clausal density = # clauses / # variables clause = disjuntion of literals CNF = conjunction of clauses

4 Phase Transition Scatter Plot

5 Phase Transition Curve

6 Unsatisfiable Core subset of the clauses that is unsatisfiable "proof" or "reason" for unsatisfiability very hard to obtain a minimal core ZChaff SAT solver iterative technique empirically close to minimal use unsat core as feature in function fit –larger the core  more clauses solver visits

7 What I Did examined only unsatisfiable 3-SAT formulas generated 2550 random unsat 3-SAT ran BerkMin SAT solver on each ran ZChaff unsat core technique on each recorded clauses, vars, unsat core, time fit data with Gaussian kernel

8 time vs density

9 time vs unsat core

10 Bad Results... features clauses890,000 vars580,000 unsat core340,000 clauses, vars290,000 clauses, vars, ucore80,000 biggest outliers when unsat core = clauses

11 Better Results... leaving out all formulas with 100% unsatisfiable core biggest outliers when unsat core = clauses - 1 featuresall formulasucore < clauses clauses890,000730,000 vars580,000370,000 unsat core340,000160,000 clauses, vars290,0008,500 clauses, vars, ucore80,0007,500

12 Observations difficulty extremely volatile even with fixed clauses, vars, and unsat core especially volatile at the phase transition unsat core helps explain some difficulty, but does not tell the whole story

13 Questions Remain curve not useful to predict the difficulty –takes longer to find unsat core than to solve Q: could we predict unsat core if we already have the difficulty? most applications don't generate random CNF's Q: how well does the function predict the behavior of non-random formulas?

14 Another Experiment performed regression again, but with time as a feature and unsat core as the value obtained 10 CNFs generated by The Alloy Analyzer and converted them to 3-SAT predicted the percentage of clauses in the unsat core and compared to actual number

15 Unsat Core Predictions very hard to predict... CNF #ActualPredicted 16.69%51.15% 222.11%24.94% 34.28%26.53% 41.56%0.21% 510.30%0.01% 68.31%0.00% 716.01%0.00% 813.65%46.58% 914.93%0.00% 1012.92%0.11%

16 For Future Students lots of engineering completed –generation of random CNFs –read/write of CNFs to appropriate file format –interface with command line SAT solver –implement fix point technique –conversion to 3-SAT –regression with kernel code, write-up, and this presentation available on my NMM page


Download ppt "Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project."

Similar presentations


Ads by Google