upper bounds on k -sat
DESCRIPTION
Upper bounds on k -SAT. Chris Calabro [email protected]. What is k -SAT?. Variables – x 1 , x 2 , x 3 , … Literals – x 1 , ¬x 1 , x 2 , ¬x 2 ,… Clauses – (x 1 or ¬x 2 or x 3 ), (x 2 ), () CNFs – (x 1 or ¬x 2 or x 3 ) and (x 2 ) k-CNFs – (x 1 or ¬x 2 or x 3 ) and (x 2 ). - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/2.jpg)
9/23/04 2
What is What is kk-SAT?-SAT? Variables – xVariables – x11, x, x22, x, x33, …, … Literals – xLiterals – x11, ¬x, ¬x11, x, x22, ¬x, ¬x22,…,… Clauses – (xClauses – (x11 or ¬x or ¬x22 or x or x33), (x), (x22), ()), () CNFs – (xCNFs – (x11 or ¬x or ¬x22 or x or x33) and (x) and (x22)) k-CNFs – (xk-CNFs – (x11 or ¬x or ¬x22 or x or x33) and (x) and (x22))
k
_____________
![Page 3: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/3.jpg)
9/23/04 3
AssignmentAssignment (x(x11 or ¬x or ¬x22 or x or x33) and (x) and (x22))
![Page 4: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/4.jpg)
9/23/04 4
AssignmentAssignment (x(x11 or or ¬x¬x22 or x or x33) and (x) and (x22))
xx11 xx22 xx33
00 00 00
![Page 5: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/5.jpg)
9/23/04 5
AssignmentAssignment ((xx11 or ¬x or ¬x22 or or xx33) and () and (xx22))
xx11 xx22 xx33
11 11 11
![Page 6: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/6.jpg)
9/23/04 6
Formal problemFormal problem Decision version – k-SAT={F Decision version – k-SAT={F εε k- k-
CNF | exists assignment a with CNF | exists assignment a with F(a)=1}F(a)=1}
Search version – given F Search version – given F εε k-CNF k-CNF find an assignment a with F(a)=1find an assignment a with F(a)=1 or output “not satisfiable”or output “not satisfiable”
k-SAT k-SAT εε NPC NPC
![Page 7: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/7.jpg)
9/23/04 7
OutlineOutline MotivationMotivation
Why care about NPC problems?Why care about NPC problems? Why upper bounds?Why upper bounds? Why SAT?Why SAT? How hard is SAT?How hard is SAT?
AlgorithmsAlgorithms DesignDesign ConclusionConclusion
![Page 8: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/8.jpg)
9/23/04 8
NPCNPC Language L Language L εε NPC iff NPC iff
L L εε NP NP forall A forall A εε NP, A ≤p L NP, A ≤p L
VERIFY={<M,x> | M is a Turing machine, x VERIFY={<M,x> | M is a Turing machine, x εε ΣΣ**, exists w , exists w εε ΣΣ|x||x|, M(x,w) accepts in time |x|} , M(x,w) accepts in time |x|} εε NPCNPC
Solve L Solve L εε NPC efficiently => forall A NPC efficiently => forall A εε NP, NP, solve A efficientlysolve A efficiently
forall L forall L εε NPC, (L NPC, (L εε P iff P=NP) P iff P=NP)
![Page 9: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/9.jpg)
9/23/04 9
The big questionThe big question P = NP?P = NP? Posed by Kurt Gödel to John von Posed by Kurt Gödel to John von
Neumann in 1956Neumann in 1956 Almost the same question: NP ≤ Almost the same question: NP ≤
BPP?BPP?
![Page 10: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/10.jpg)
9/23/04 10
Who cares?Who cares? Complexity theoristsComplexity theorists CryptographersCryptographers EngineersEngineers Everybody else!Everybody else!
![Page 11: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/11.jpg)
9/23/04 11
Possible worldsPossible worlds P=NP? UnresolvedP=NP? Unresolved
Theoreticians need to keep saying, “unless Theoreticians need to keep saying, “unless P=NP”P=NP”
Could be wasting time on pointless theoryCould be wasting time on pointless theory Can’t fully trust current crypto systemsCan’t fully trust current crypto systems
P=NPP=NP Poly hierarchy collapses: for each Poly hierarchy collapses: for each fixedfixed m, m,
can answer questions of formcan answer questions of form
in poly timein poly time
),,( 121 mm xxxxx
![Page 12: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/12.jpg)
9/23/04 12
If SAT If SAT εε DTIME(n DTIME(nkk), k ), k largelarge
Crypto Crypto theorytheory changes changes No OWFsNo OWFs No trapdoor functionsNo trapdoor functions
Crypto Crypto practicepractice? Could there be a ? Could there be a more efficient algorithm out there?more efficient algorithm out there? PRIMES PRIMES εε DTIME(n DTIME(n1212) [AKS02]) [AKS02] PRIMES PRIMES εε RTIME(n RTIME(n33) [M76,R80]) [M76,R80] What about BQP?What about BQP?
![Page 13: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/13.jpg)
9/23/04 13
If SAT If SAT εε DTIME(n DTIME(nkk), k ), k smallsmall
No RSA, Diffie-Hellman, DES, AES, No RSA, Diffie-Hellman, DES, AES, SHA1SHA1
Symmetric key crypto not Symmetric key crypto not necessarily doomednecessarily doomed Info theoretically secure key exchange Info theoretically secure key exchange
in bounded-storage model [AR99]in bounded-storage model [AR99] Quantum key exchange [BB84]Quantum key exchange [BB84]
![Page 14: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/14.jpg)
9/23/04 14
Secure symmetric Secure symmetric encryptionencryption
![Page 15: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/15.jpg)
9/23/04 15
The good stuffThe good stuff Test circuits/programs for Test circuits/programs for
correctnesscorrectness Automatically generate proofs of Automatically generate proofs of
mathematical theoremsmathematical theorems Build better machinesBuild better machines
Faster CPUFaster CPU Perfect airplane wingPerfect airplane wing
Solve AI problemsSolve AI problems
![Page 16: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/16.jpg)
9/23/04 16
Black-box mistake-bounded Black-box mistake-bounded learninglearning
Online problem: at time tOnline problem: at time t Input – (xInput – (x11,y,y11),…,(x),…,(xtt,y,ytt) where |x) where |xii|=n, |y|=n, |yii||
=1 coming from circuit C=1 coming from circuit C Output – circuit COutput – circuit Ctt Goal – CGoal – Ctt equivalent to C equivalent to C
Can bound # times t with CCan bound # times t with Ctt(x(xt+1t+1)≠y)≠yt+1t+1 by O(|C|by O(|C|2 2 lg|C|)lg|C|)
If |C| can be estimated, O(|C| lg|C|)If |C| can be estimated, O(|C| lg|C|)
![Page 17: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/17.jpg)
9/23/04 17
Why upper bounds?Why upper bounds? Most researchers (61 to 9) think Most researchers (61 to 9) think
P≠NP [Gas02]P≠NP [Gas02] Why look for good upper bounds? Why look for good upper bounds?
There aren’t any, right?There aren’t any, right?
NP problems could be easy in NP problems could be easy in average caseaverage case
There could be practical algorithmsThere could be practical algorithms
![Page 18: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/18.jpg)
9/23/04 18
Why SAT?Why SAT? Why not subset sum, vertex cover, Why not subset sum, vertex cover,
hampath, TSP?hampath, TSP? Formulas look like natural language Formulas look like natural language
questionsquestions Common problems Common problems efficientlyefficiently reduce reduce
to SAT, often preserving structure of to SAT, often preserving structure of solution spacesolution space
Many practical algorithms for SATMany practical algorithms for SAT
![Page 19: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/19.jpg)
9/23/04 19
An applicationAn application Circuit equivalence checkingCircuit equivalence checking
Standard techniques – random simulation, Standard techniques – random simulation, BDDsBDDs
Alternative – reduce to SATAlternative – reduce to SAT
[BCCFZ99] compared performance on [BCCFZ99] compared performance on real circuits with 1000s of gatesreal circuits with 1000s of gates
BDDsBDDs SATOSATO> 1 day> 1 day 1 min – 1 1 min – 1
hh
![Page 20: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/20.jpg)
9/23/04 20
How hard is SAT?How hard is SAT? DefineDefine
sskk=inf{=inf{εε>0 | exists random alg A solving k->0 | exists random alg A solving k-SAT in time O(2SAT in time O(2εεnn)})}
σσkk=inf{=inf{εε>0 | exists random alg A solving >0 | exists random alg A solving uniqueunique k-SAT in time O(2 k-SAT in time O(2εεnn)})}
ss∞∞=lim=limk→∞k→∞ s skk σσ∞∞=lim=limk→∞k→∞ σσkk
Exponential time hypothesis (ETH) – sExponential time hypothesis (ETH) – s33>0>0forall k≥3 (ETH↔sforall k≥3 (ETH↔skk>0)>0)
![Page 21: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/21.jpg)
9/23/04 21
Upper bounds on sUpper bounds on skk
kk 33 44 ∞∞
Upper Upper boundbound
.415037 .415037 [Sch99][Sch99]
.75 [PPZ97].75 [PPZ97] 11
.411706 .411706 [SSW01][SSW01]
.58496 .58496 [Sch99][Sch99]
.411635 .411635 [HSSW02][HSSW02]
.56249 .56249 [PPSZ03][PPSZ03]
.411112 .411112 [Rol03][Rol03]
![Page 22: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/22.jpg)
9/23/04 22
OutlineOutline MotivationMotivation
Why care about NPC problems?Why care about NPC problems? Why upper bounds?Why upper bounds? Why SAT?Why SAT? How hard is SAT?How hard is SAT?
AlgorithmsAlgorithms DesignDesign ConclusionConclusion
![Page 23: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/23.jpg)
9/23/04 23
OutlineOutline MotivationMotivation AlgorithmsAlgorithms
Problem variantsProblem variants Incremental assignmentIncremental assignment Local searchLocal search HeuristicsHeuristics
DesignDesign ConclusionConclusion
![Page 24: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/24.jpg)
9/23/04 24
Problem variantsProblem variants General k-SAT – worst caseGeneral k-SAT – worst case Unique k-SAT – promise problemUnique k-SAT – promise problem
YES – exactly 1 solutionYES – exactly 1 solution NO – 0 solutionsNO – 0 solutions
Random k-SATRandom k-SAT Choose m random k-clauses with replacementChoose m random k-clauses with replacement Plant a solution – choose random assignment a, then Plant a solution – choose random assignment a, then
choose m clauses that agree with achoose m clauses that agree with a k-SAT from “real world” problemk-SAT from “real world” problem
Bounded model checkingBounded model checking Circuit fault analysisCircuit fault analysis PlanningPlanning
![Page 25: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/25.jpg)
9/23/04 25
Algorithmic paradigmsAlgorithmic paradigms Incremental assignment (DPLL) – Incremental assignment (DPLL) –
assign variables 1 at a time, assign variables 1 at a time, simplifying formula as you gosimplifying formula as you go
Local search – choose an initial Local search – choose an initial assignment, perform random walk assignment, perform random walk directed by formuladirected by formula
Heuristics – combine features of Heuristics – combine features of other algorithms ad hocother algorithms ad hoc
![Page 26: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/26.jpg)
9/23/04 26
Incremental assignmentIncremental assignmentOrdered-DLL(F)Ordered-DLL(F)
do t timesdo t timesfor i=1,…,nfor i=1,…,nchoose unassigned var x at randomchoose unassigned var x at randomif clause {x} if clause {x} εε F, assign x ← 1 F, assign x ← 1else if {¬x} else if {¬x} εε F, assign x ← 0 F, assign x ← 0else assign x at randomelse assign x at randomsimplify F by removing true clauses, false simplify F by removing true clauses, false literalsliteralsif F=1, return assignmentif F=1, return assignment
![Page 27: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/27.jpg)
9/23/04 27
Incremental assignment - Incremental assignment - analysisanalysis
Idea – lower bound probability p that each Idea – lower bound probability p that each variable gets forcedvariable gets forced
DefinitionDefinition Clause C Clause C εε F is F is criticalcritical at solution a iff C has at solution a iff C has
exactly 1 true literal at aexactly 1 true literal at a Solution a is Solution a is isolatedisolated iff flipping any variable in a iff flipping any variable in a
yields a nonsolutionyields a nonsolution Claim – a isolated => F has ≥ 1 critical clause Claim – a isolated => F has ≥ 1 critical clause
for each variable => p ≥ 1/k, conditioned on for each variable => p ≥ 1/k, conditioned on making random assignments in agreement making random assignments in agreement with awith a
![Page 28: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/28.jpg)
9/23/04 28
Incremental assignment - Incremental assignment - analysisanalysis
Corollary – a isolated => Pr(find a in 1 Corollary – a isolated => Pr(find a in 1 iteration) ≥ 2iteration) ≥ 2-(1-1/k)n-(1-1/k)n
Either there is a nearly isolated Either there is a nearly isolated solution or there are many solutions solution or there are many solutions => running time ≤ poly(n)2=> running time ≤ poly(n)2(1-1/k)n(1-1/k)n [PPZ97][PPZ97]
Strengthened analysis – poly(n)(2Strengthened analysis – poly(n)(2nn/s)/s)1-1-
1/k1/k [CIKP03] [CIKP03]
![Page 29: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/29.jpg)
9/23/04 29
ResolutionResolution Each clause provides info about Each clause provides info about
solution setsolution set Why not add preprocessing step that Why not add preprocessing step that
adds clauses implied by formula F?adds clauses implied by formula F?
(x(x11 or or αα) and (¬x) and (¬x11 or or ββ) => ) => αα or or ββ Definition – F is Definition – F is fully resolvedfully resolved iff F is iff F is
closed under resolutionclosed under resolution
![Page 30: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/30.jpg)
9/23/04 30
Resolution is completeResolution is complete Let S = solution space of formula FLet S = solution space of formula F Definition – variable x is Definition – variable x is determineddetermined iff iff
forall a forall a εε S, a(x)=1 S, a(x)=1 or forall a or forall a εε S, a(x)=0 S, a(x)=0
Theorem – let F be fully resolved, x be Theorem – let F be fully resolved, x be a variable, b a variable, b εε {0,1}, then {0,1}, then
F is satisfiable iff ¬(Ø F is satisfiable iff ¬(Ø εε F) F) x is determined iff F contains a unit clause x is determined iff F contains a unit clause
in xin x F|F|x←bx←b is fully resolved is fully resolved
![Page 31: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/31.jpg)
9/23/04 31
Bounded resolutionBounded resolution Problems with full resolutionProblems with full resolution
Resolvent of 2 k-clauses could have size 2k-Resolvent of 2 k-clauses could have size 2k-22
Exponentially many large clausesExponentially many large clauses Shortest resolution refutation of Shortest resolution refutation of
unsatisfiable formulas may be exponentially unsatisfiable formulas may be exponentially largelarge
Simple solution – s-bounded resolutionSimple solution – s-bounded resolution For some constant s, produce resolvent R For some constant s, produce resolvent R
only if |R| ≤ sonly if |R| ≤ s
![Page 32: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/32.jpg)
9/23/04 32
Resolve SATResolve SAT Algorithm – preprocess F by performing s-Algorithm – preprocess F by performing s-
bounded resolution (s=O(lg n)), then use bounded resolution (s=O(lg n)), then use ordered-DLLordered-DLL
Bound improves from poly(n)2Bound improves from poly(n)2(1-1/k)n(1-1/k)n to to poly(n)2poly(n)2(1-(1-μμkk/(k-1))n/(k-1))n where where , k≥5, k≥5
Same bound for unique k-SAT, k≥3Same bound for unique k-SAT, k≥3
Best k-SAT alg for k≥4. O(2Best k-SAT alg for k≥4. O(2.5625n.5625n) for k=4.) for k=4. Best unique k-SAT alg for k≥3. O(2Best unique k-SAT alg for k≥3. O(2.3863n.3863n) for ) for
k=3.k=3.
1 11 )(
1j k
k jj
![Page 33: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/33.jpg)
9/23/04 33
Local searchLocal searchLocal-search(F)Local-search(F)
do t timesdo t timeschoose random assignment achoose random assignment ado 3n timesdo 3n timesif F(a)=1, return aif F(a)=1, return achoose an unsatisfied clause Cchoose an unsatisfied clause Cchoose var x in C at randomchoose var x in C at randomflip x in aflip x in a
![Page 34: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/34.jpg)
9/23/04 34
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Can model each iteration as a
Markov processMarkov process States – 0,1,2,…States – 0,1,2,… State i represents dist(a,z)=iState i represents dist(a,z)=i State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
![Page 35: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/35.jpg)
9/23/04 35
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---1---2---0---1---2---33---4---5---6---7---…---4---5---6---7---…
![Page 36: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/36.jpg)
9/23/04 36
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---1---0---1---22---3---4---5---6---7---…---3---4---5---6---7---…
![Page 37: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/37.jpg)
9/23/04 37
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---1---2---0---1---2---33---4---5---6---7---…---4---5---6---7---…
![Page 38: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/38.jpg)
9/23/04 38
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---1---0---1---22---3---4---5---6---7---…---3---4---5---6---7---…
![Page 39: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/39.jpg)
9/23/04 39
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---0---11---2---3---4---5---6---7---…---2---3---4---5---6---7---…
![Page 40: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/40.jpg)
9/23/04 40
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---1---0---1---22---3---4---5---6---7---…---3---4---5---6---7---…
![Page 41: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/41.jpg)
9/23/04 41
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
0---0---11---2---3---4---5---6---7---…---2---3---4---5---6---7---…
![Page 42: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/42.jpg)
9/23/04 42
Local search - analysisLocal search - analysis Let z be a particular solutionLet z be a particular solution Can model each iteration as a Markov Can model each iteration as a Markov
processprocess States – 0,1,2,…States – 0,1,2,… State i represents d(a,z)=IState i represents d(a,z)=I State 0 is absorbingState 0 is absorbing Initial state is binomial (n,1/2), then Initial state is binomial (n,1/2), then
algorithm performs a random walkalgorithm performs a random walk
00---1---2---3---4---5---6---7---…---1---2---3---4---5---6---7---…
![Page 43: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/43.jpg)
9/23/04 43
Local search - analysisLocal search - analysis Pr(go left) ≥ 1/kPr(go left) ≥ 1/k Pr(go right) ≤ 1-1/kPr(go right) ≤ 1-1/k Let p = Pr(reach 0 in one iteration)Let p = Pr(reach 0 in one iteration)
Naïve analysis – p ≥Naïve analysis – p ≥Pr(reach 0 by successive left moves) ≥ Pr(reach 0 by successive left moves) ≥
Better analysis – use reflection principle to Better analysis – use reflection principle to showshowp ≥ p ≥
Running time – Running time – [Sch99][Sch99]
nk ))1(( 1
21
nknpoly ))1(()( 11
211
nknpoly ))1(2)(( 1
![Page 44: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/44.jpg)
9/23/04 44
HeuristicsHeuristics Complete – gives correct answer with Complete – gives correct answer with
probability 1 (satz, SATO, zChaff)probability 1 (satz, SATO, zChaff) Incomplete – sometimes fails to find Incomplete – sometimes fails to find
witnesswitness Probabilistically Approximately Complete Probabilistically Approximately Complete
(PAC) – succeed with probability 1 without (PAC) – succeed with probability 1 without restarts if given enough time (UnitWalk)restarts if given enough time (UnitWalk)
Essentially incomplete – succeed with Essentially incomplete – succeed with probability <1 unless restarted (GSAT, probability <1 unless restarted (GSAT, GWSAT, HSAT, HWSAT, WalkSAT)GWSAT, HSAT, HWSAT, WalkSAT)
![Page 45: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/45.jpg)
9/23/04 45
UnitWalkUnitWalkchoose initial assignment achoose initial assignment ado t timesdo t times
use ordered-DLL (with a as use ordered-DLL (with a as randomness!) to find next randomness!) to find next assignmentassignment
![Page 46: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/46.jpg)
9/23/04 46
VariantsVariants UnitWalk+WalkSAT – alternate steps of UnitWalk+WalkSAT – alternate steps of
UnitWalk and WalkSAT!UnitWalk and WalkSAT! UnitWalk+incBinSAT+WalkSAT – add UnitWalk+incBinSAT+WalkSAT – add
preprocessing step of 2-bounded resolutionpreprocessing step of 2-bounded resolution
Common benchmarksCommon benchmarks Random formulas, circuit problems, bounded-Random formulas, circuit problems, bounded-
model checking, planning problemsmodel checking, planning problems Variables and clauses – 100s to 10,000sVariables and clauses – 100s to 10,000s Running times – seconds to minutesRunning times – seconds to minutes
![Page 47: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/47.jpg)
9/23/04 47
OutlineOutline MotivationMotivation AlgorithmsAlgorithms
Problem variantsProblem variants Incremental assignmentIncremental assignment Local searchLocal search HeuristicsHeuristics
DesignDesign ConclusionConclusion
![Page 48: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/48.jpg)
9/23/04 48
OutlineOutline MotivationMotivation AlgorithmsAlgorithms DesignDesign
SparsificationSparsification IsolationIsolation
ConclusionConclusion
![Page 49: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/49.jpg)
9/23/04 49
SparsificationSparsification Given k-CNF F, Given k-CNF F, εε > 0, > 0,
we can generate in time poly(n)2we can generate in time poly(n)2εεnn a a disjunction G of 2disjunction G of 2εεnn k-CNFs G k-CNFs Gii, each of size , each of size O(n) [IPZ98]O(n) [IPZ98]
Each GEach Gii can be produced in time poly(n) can be produced in time poly(n)
Can be used as a preprocessing step whenCan be used as a preprocessing step when Algorithm is exponential time anywayAlgorithm is exponential time anyway Linear sized formulas are neededLinear sized formulas are needed
![Page 50: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/50.jpg)
9/23/04 50
Sparsification exampleSparsification example Theorem – Theorem – σσ33 = 0 => s = 0 => s∞∞ = 0 = 0
[CIKP03][CIKP03] Proof shows a reduction from general Proof shows a reduction from general
k-SAT to unique 3-SATk-SAT to unique 3-SAT To do this requires clause width reductionTo do this requires clause width reduction Standard algorithm produces formula Standard algorithm produces formula
with O(n+m) variables (m = #clauses in with O(n+m) variables (m = #clauses in input formula)input formula)
Sparsify first! Then O(n+m)=O(n)Sparsify first! Then O(n+m)=O(n)
![Page 51: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/51.jpg)
9/23/04 51
IsolationIsolation Reducing general k-SAT to unique k-Reducing general k-SAT to unique k-
SAT [VV86]SAT [VV86] Intersect solution space with O(n) linear Intersect solution space with O(n) linear
equations in GF(2)equations in GF(2) Reduces the number of solutions to 1 Reduces the number of solutions to 1
with inverse polynomial success with inverse polynomial success probabilityprobability
Need to Need to squaresquare number of variables to number of variables to represent such equationsrepresent such equations
![Page 52: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/52.jpg)
9/23/04 52
IsolationIsolation SolutionSolution
use use sparsesparse linear equations ( linear equations (εεn variables each) to n variables each) to constrain solutions to a small Hamming ball (radius constrain solutions to a small Hamming ball (radius εεn)n)
Use random restriction – set O(Use random restriction – set O(εεn) variables at n) variables at random to select just 1 solution from ballrandom to select just 1 solution from ball
The above isolates with subexponential The above isolates with subexponential success probabilitysuccess probability
TheoremTheorem sskk ≤ ≤ σσkk+o(1)+o(1) ss∞∞ = = σσ∞∞
![Page 53: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/53.jpg)
9/23/04 53
OutlineOutline MotivationMotivation AlgorithmsAlgorithms DesignDesign
SparsificationSparsification IsolationIsolation
ConclusionConclusion
![Page 54: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/54.jpg)
9/23/04 54
OutlineOutline MotivationMotivation AlgorithmsAlgorithms DesignDesign ConclusionConclusion
Fate of k-SATFate of k-SAT Open problemsOpen problems
![Page 55: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/55.jpg)
9/23/04 55
Fate of k-SATFate of k-SAT Last few improvements to best 3-SAT Last few improvements to best 3-SAT
algorithms have improved constant in algorithms have improved constant in exponent by only a puny amount exponent by only a puny amount – .4150, .4117, .4116, .4111 – are these – .4150, .4117, .4116, .4111 – are these techniques running out of steam?techniques running out of steam?
Paradigm shifts yield greater Paradigm shifts yield greater improvements – .667, .415improvements – .667, .415
Conjecture – ETH false (sConjecture – ETH false (s33 = 0). = 0).
![Page 56: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/56.jpg)
9/23/04 56
Open problemsOpen problems sskk = = σσkk?? ETH => sETH => skk increases infinitely often. increases infinitely often.
Does sDoes skk strictlystrictly increase? increase? Local search variants usually involve Local search variants usually involve
clever initial assignments. Can we also clever initial assignments. Can we also find better search directions?find better search directions?
Can resolve SAT analysis be tightened?Can resolve SAT analysis be tightened? Other algorithmic paradigms?Other algorithmic paradigms?
![Page 57: Upper bounds on k -SAT](https://reader036.vdocuments.net/reader036/viewer/2022062323/568167af550346895ddcfe53/html5/thumbnails/57.jpg)
9/23/04 57
ThanksThanks M. Paturi, R. ImpagliazzoM. Paturi, R. Impagliazzo Theory lab denizensTheory lab denizens