Complexity in Polynomial Time: MAJORITY-3SAT and Related Problems

 
MAJORITY-3SAT
(and Related Problems)
in Polynomial Time
 
Ryan Williams
 
Shyan Akmal
A Hard Problem – 
SAT
 
… over variables                           …
 
Equivalent Question: 
is                  ?
 
Is the fraction of satisfying assignments
positive?
A Hard Problem – 
SAT
A Hard Problem – 
SAT
 
Canonical 
NP-complete 
problem
 
A “sparse version”: 
3SAT
 
Still 
NP-complete
: just add new variables
A Hard Problem – 
#SAT
Given a 
CNF formula     
…  compute
 
Canonical 
#P-complete 
problem
 
A “sparse version”: 
#3SAT
 
Still 
#P-complete
 
Even 
#2SAT 
is 
#P-complete
A Hard Problem – 
MAJ-SAT
 
Given a 
CNF formula     
…  is                           ?
 
Equivalently, compute the most significant binary digit of
 
Canonical 
PP-complete 
problem
 
A “sparse version”: 
MAJ-3SAT
 
Complexity: 
?????
 
adding variables decreases            too much
A ????? Problem – 
MAJ-3SAT
Complexity of 
MAJ-3SAT 
 
… natural complexity question
 
… related to complexity of certain MAP
tasks in planning and scheduling
 
[CM18]
New Results
 
Theorem 2 (THR  -   SAT is easy)
Fix any positive integer     and rational                     with
constant denominator. There is an algorithm which given a
k-CNF     decides if                      in linear time.
 
Theorem 1 (MAJ-3SAT is easy)
There is an algorithm which given a 3-CNF     decides
if                           in linear time.
 
Many Other Results!
Rest of this Talk
 
MAJ-2SAT is Easy
 
MAJ-3SAT is Easy
 
THR  -   SAT is Easy
Intuition I
 
General CNFs
 
k-CNFs
 
A single clause can be “very satisfiable”
 
A single clause is already not that satisfiable…
Intuition II
General CNFs
 
2-CNFs
 
Fix some number of variables     and clauses      …
 
Consider CNFs     and plot             values:
MAJ-2SAT
Given a 2-CNF,     is                          ?
Idea: 
Search For Disjoint Sets
 
}
 An independent constraint
Finding Disjoint Sets
Greedy Algorithm
 
Check clauses one at a time
 
Add clauses with disjoint
variable set from previously
added clauses
 
Produces 
maximal disjoint set
“Large” Disjoint Sets
Given a 2-CNF,     is                          ?
 
Original Question
 
With at least 3 independent
constraints…
 
Implies
 
Return NO for 
MAJ-2SAT
“Small” Disjoint Sets
 
Disjoint set is 
maximal
 – union of
variables clauses forms hitting set
 
Hitting set
 
Consider assignment
 
Formula simplifies to a 1-CNF
 
If                              and                  …
Satisfying 1-CNFs
 
If constraints are inconsistent…
 
If constraints are consistent,
and      distinct variables appear…
 
Loop over assignments
“Small” Disjoint Sets
 
Hitting set
 
Loop over assignments
 
Compute            exactly!
 
 
 
Compute each              exactly
Summary for 2-CNFs
 
2. If 
disjoint set 
is 
large
, return NO
 
3. If instead 
disjoint set 
is 
small
, find small 
hitting set 
of variables
 
4. Loop over all assignments to 
hitting set
, obtaining 1-CNFs
Intuition for 2-CNFs
 
Random-Like
 
Bad Subformula
 
         is small
 
Structured
 
Small Sum of 1-CNFs
 
is easy to compute
Intuition for 2-CNFs
Random-Like
Structured
 
Fix some number of variables     and clauses      …
 
Consider 2-CNFs     and plot             values:
 
gap because numbers here have
many 1s in binary expansion…
MAJ-3SAT
Given a 3-CNF     is                          ?
“Small” Disjoint Sets
 
Hitting set
 
Any assignment
to     induces a 2-CNF
 
But              is hard to compute…
Searching for Disjoint Sets… Again!
 
Loop over assignments
 
 
 
For each 2-CNF       , look for
another disjoint set
 
Either all new disjoint sets
are “small”, or one is “large”
 
If all are small… recover 1-CNFs
 
 
Compute            exactly!
Finding a Sunflower
 
Suppose       has disjoint set
of size at least     …
 
Some literal     from      must
appear many times…
 
Using the Sunflower
 
Otherwise…
 
Different from
 
MAJ-3SAT 
resolved in either case!
Summary for 3-CNFs
 
2. If 
disjoint set 
is 
large
, return NO
 
3. If instead 
disjoint set 
is 
small
, find small 
hitting set 
of variables
 
4. Loop over all assignments to 
hitting set
, obtaining 2-CNFs
 
7. If instead some disjoint set is large, find sunflower; if sunflower
core hits all clauses return YES, otherwise return NO
 
(same as 
MAJ-2SAT
)
 
5. For each 2-CNF, look for a maximal 
disjoint set
Intuition for 3-CNFs
 
Bad Subformula
Big Disjoint Set
 
Structured
Sunflower + Extra
Sum of 1-CNFs
Just Sunflower
Generalizations
 
MAJ-3SAT
 
Extract 
More
 Disjoint Sets
 
Extract 
More
 Sunflowers
 
3-CNF
 
k-CNF
 
3-CNF
THR   -3SAT
THR   -3SAT
Sunflower Lemma  - apply twice
 
    If we find a large disjoint set or sum of 1-CNFs, 
problem solved
 
    Otherwise, we find a large sunflower
 
Estimator
Sunflower Lemma  - apply twice
 
    Another large disjoint set
 
    Another large sunflower
 
    Decompose into sum of  1-CNFs
Sunflower Lemma  - apply twice
    Another large disjoint set
 
tiny
 
disjoint petals
 
tiny
 
Return NO
Sunflower Lemma  - apply twice
    Another large sunflower
 
tiny
Sunflower Lemma  - apply twice
    Decompose into sum of  1-CNFs
 
value known
 
tiny
 
    If                                …
THR   -3SAT
 
If we find a large sunflower with core      in      ,
Then to decide                      it suffices to decide
Keep 
looking for sunflowers 
until the problem is trivial to decide
Assert cores of sunflowers (“influential literals”) to be true
Exploit Gaps 
in
Counts of Satisfying Assignments
Conclusion
 
For 2-CNFs, either            is either easy to compute, or small
 
Extract Disjoint Sets
 
Other problems which have easy threshold versions?
 
Future Directions
 
For 3-CNFs, similar, but single literal may hit all clauses
 
In general: testing k-CNFs at any constant threshold is easy
 
Extract Sunflowers
 
has “gaps” near 1
 
Better parameterized algorithms?
Thank You!
Slide Note
Embed
Share

Dive into the world of MAJORITY-3SAT and its related problems, exploring the complexity of CNF formulas and the satisfiability of assignments. Discover the intricacies of solving canonical NP-complete problems and the significance of variables in determining computational complexity.

  • Complexity Theory
  • Polynomial Time
  • MAJORITY-3SAT
  • Satisfiability Problems

Uploaded on Jul 18, 2024 | 3 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. MAJORITY-3SAT (and Related Problems) in Polynomial Time Shyan Akmal Ryan Williams

  2. A Hard Problem SAT A CNF formula over variables Is the fraction of satisfying assignments positive? Question: is satisfiable? Equivalent Question: is ?

  3. A Hard Problem SAT A Hard Problem SAT Given a CNF formula is ? Canonical NP-complete problem A sparse version : 3SAT Given a 3-CNF formula is ? Still NP-complete: just add new variables

  4. A Hard Problem #SAT Given a CNF formula compute Canonical #P-complete problem A sparse version : #3SAT Still #P-complete Even #2SAT is #P-complete

  5. A Hard Problem MAJ-SAT Given a CNF formula is ? Equivalently, compute the most significant binary digit of Canonical PP-complete problem A sparse version : MAJ-3SAT Complexity: ????? adding variables decreases too much

  6. A ????? Problem MAJ-3SAT Complexity of MAJ-3SAT natural complexity question related to complexity of certain MAP tasks in planning and scheduling [CM18]

  7. Many Other Results! New Results Theorem 1 (MAJ-3SAT is easy) There is an algorithm which given a 3-CNF decides if in linear time. Theorem 2 (THR - SAT is easy) Fix any positive integer and rational with constant denominator. There is an algorithm which given a k-CNF decides if in linear time.

  8. Rest of this Talk MAJ-2SAT is Easy MAJ-3SAT is Easy THR - SAT is Easy

  9. Intuition I General CNFs A single clause can be very satisfiable k-CNFs A single clause is already not that satisfiable

  10. Intuition II General CNFs Fix some number of variables and clauses Consider CNFs and plot values: 2-CNFs

  11. MAJ-2SAT Idea: Search For Disjoint Sets Given a 2-CNF, is ? } Satisfied at most of the time Implies that } An independent constraint Implies that

  12. Finding Disjoint Sets Greedy Algorithm Check clauses one at a time Add clauses with disjoint variable set from previously added clauses Produces maximal disjoint set

  13. Large Disjoint Sets Original Question Given a 2-CNF, is ? With at least 3 independent constraints Implies Return NO for MAJ-2SAT

  14. Small Disjoint Sets Disjoint set is maximal union of variables clauses forms hitting set Hitting set Consider assignment Formula simplifies to a 1-CNF If and

  15. Satisfying 1-CNFs If constraints are inconsistent If constraints are consistent, and distinct variables appear

  16. Small Disjoint Sets Hitting set Loop over assignments Loop over assignments Compute each exactly Compute exactly!

  17. Summary for 2-CNFs 1. Look for a maximal disjoint set in 2. If disjoint set is large, return NO 3. If instead disjoint set is small, find small hitting set of variables 4. Loop over all assignments to hitting set, obtaining 1-CNFs 5. Add up satisfying assignments for all 1-CNFs to compute

  18. Intuition for 2-CNFs Random-Like Structured Bad Subformula Small Sum of 1-CNFs is small is easy to compute

  19. Intuition for 2-CNFs Random-Like Structured Fix some number of variables and clauses Consider 2-CNFs and plot values: gap because numbers here have many 1s in binary expansion

  20. MAJ-3SAT For we have Given a 3-CNF is ? } Satisfied at most of the time Implies that If we find at least disjoint clauses Implies that

  21. But is hard to compute Small Disjoint Sets Hitting set Any assignment to induces a 2-CNF

  22. Searching for Disjoint Sets Again! Loop over assignments For each 2-CNF , look for another disjoint set Either all new disjoint sets are small , or one is large If all are small recover 1-CNFs Compute exactly!

  23. Finding a Sunflower Suppose has disjoint set of size at least Some literal from must appear many times

  24. Using the Sunflower If appears in every clause Otherwise Different from MAJ-3SAT resolved in either case!

  25. Summary for 3-CNFs 1. Look for a maximal disjoint set in (same as MAJ-2SAT) 2. If disjoint set is large, return NO 3. If instead disjoint set is small, find small hitting set of variables 4. Loop over all assignments to hitting set, obtaining 2-CNFs 5. For each 2-CNF, look for a maximal disjoint set 6. If all disjoint sets are small, we can use 1-CNFs to compute 7. If instead some disjoint set is large, find sunflower; if sunflower core hits all clauses return YES, otherwise return NO

  26. Intuition for 3-CNFs Bad Subformula Structured Big Disjoint Set Sum of 1-CNFs Just Sunflower Sunflower + Extra

  27. Generalizations MAJ- SAT k-CNF MAJ-3SAT 3-CNF THR - SAT Extract More Disjoint Sets Extract More Sunflowers 3-CNF

  28. Given a 3-CNF, is ? THR -3SAT Sunflower Lemma For any constants and , given a 3-CNF , we can find (in linear time) either: a disjoint set of size , a sunflower of size , or decompose into a sum of 1-CNFs

  29. THR -3SAT Sunflower Lemma - apply twice 1. Apply lemma to with parameters and If we find a large disjoint set or sum of 1-CNFs, problem solved Otherwise, we find a large sunflower Estimator

  30. THR -3SAT Sunflower Lemma - apply twice 2. Apply lemma to with parameters and Another large disjoint set Another large sunflower Decompose into sum of 1-CNFs

  31. THR -3SAT Sunflower Lemma - apply twice 2. Apply lemma to with parameters and Another large disjoint set tiny tiny Return NO disjoint petals

  32. THR -3SAT Sunflower Lemma - apply twice 2. Apply lemma to with parameters and Another large sunflower tiny

  33. THR -3SAT Sunflower Lemma - apply twice 2. Apply lemma to with parameters and Decompose into sum of 1-CNFs tiny value known If then If then if gaps!

  34. Exploit Gaps in Counts of Satisfying Assignments THR -3SAT If we find a large sunflower with core in , Then to decide it suffices to decide Keep looking for sunflowers until the problem is trivial to decide Assert cores of sunflowers ( influential literals ) to be true

  35. Extract Disjoint Sets Conclusion Extract Sunflowers For 2-CNFs, either is either easy to compute, or small For 3-CNFs, similar, but single literal may hit all clauses In general: testing k-CNFs at any constant threshold is easy has gaps near 1 Future Directions Other problems which have easy threshold versions? Better parameterized algorithms? Thank You!

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#