Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Exact Algorithm for the Boolean Connectivity Problem for k-CNF Kazuhisa Makino (U. of Tokyo) Suguru Tamaki (Kyoto U.) Masaki Yamamoto (Tokai U.)

Similar presentations


Presentation on theme: "An Exact Algorithm for the Boolean Connectivity Problem for k-CNF Kazuhisa Makino (U. of Tokyo) Suguru Tamaki (Kyoto U.) Masaki Yamamoto (Tokai U.)"— Presentation transcript:

1 An Exact Algorithm for the Boolean Connectivity Problem for k-CNF Kazuhisa Makino (U. of Tokyo) Suguru Tamaki (Kyoto U.) Masaki Yamamoto (Tokai U.)

2 (One of) Our Motivation Question: Can we solve generalized k-SAT in moderately exponential time?

3 (One of) Our Motivation Question: Can we solve generalized k-SAT in moderately exponential time? Generalized: Max-SAT, #SAT, QBF-SAT, Stochastic SAT, periodic SAT, …

4 (One of) Our Motivation Question: Can we solve generalized k-SAT in moderately exponential time? Moderately exponential: (2-c k ) n for some c k >0, c k depends only on k – n: number of variables – (2-c) n for some c>0, c independent of k, seems impossible even for standard k-SAT (SETH)

5 Example: Max-k-SAT Task: find an assignment that maximize the number (total weight) of satisfied clauses Complexity: NP-hard for k≥2 Non-trivial exact algorithm: – k=2: 1.732 n [Williams, ICALP 04] – k≥3: Open – PSAPCE algorithm for k=2 is also open

6 Example: #k-SAT Task: count the number of satisfying assignments Complexity: #P-complete for k ≥ 2 Non-trivial exact algorithm: – (2-c k ) n for some c k >0, c k depends only on k (DPLL- type algorithm) – PSPACE algorithm

7 Example: k-QBF Task: decide a quantified formula is true/false Complexity: P (k=2), PSPACE-complete (k≥3) (in PH if #alternation is bounded) Non-trivial exact algorithm (special case): – Σ 2 -k-SAT: (2-c k ) n for some c k >0, c k depends only on k (by easy reduction to standard k-SAT) – Π 2 -3-SAT cannot be solved in (2-c) n for any c>0, unless SAT can be solved in (2-c’) n for some c’>0 [Calabro, Impagliazzo, Paturi]

8 (One of) Our Motivation Question: Can we solve generalized k-SAT in moderately exponential time? – (2-c k ) n for some c k >0, c k depends only on k Yes only for #SAT and some special cases of QBF (afawk) Other examples? – Should be natural extension of SAT

9 Our Target Problem: Conn-k-SAT (The Boolean Connectivity Problem) Input: k-CNF formula φ – H φ : the subgraph of n-dimensional hypercube induced by satisfying assignments of φ Task: decide H φ is connected or not – Empty graph (unsat case) is connected Complexity: P (k=2), PSPACE-complete (k ≥ 3) [Gopalan et al., ICALP 06]

10 Example 1 (0,0,0) (1,1,0) (0,0,1) (1,0,1) (0,1,0) (1,0,0) (1,1,1)(0,1,1)

11 Example 1 (0,0,0) (1,1,0) (0,0,1) (1,0,1) (0,1,0) (1,0,0) (1,1,1)(0,1,1) SAT UNSAT

12 Example 1 (0,0,0) (1,1,0) (0,0,1) (1,0,1) (0,1,0) (1,0,0) (1,1,1)(0,1,1) SAT UNSAT Induced edge Yes, connected

13 Example 2 (0,0,0) (1,1,0) (0,0,1) (1,0,1) (0,1,0) (1,0,0) (1,1,1)(0,1,1)

14 Example 2 (0,0,0) (1,1,0) (0,0,1) (1,0,1) (0,1,0) (1,0,0) (1,1,1)(0,1,1) SAT UNSAT

15 Example 2 (0,0,0) (1,1,0) (0,0,1) (1,0,1) (0,1,0) (1,0,0) (1,1,1)(0,1,1) SAT UNSAT Induced edge No, two connected components

16 Our Results Theorem: Conn-k-SAT can be solved in time (2-c k ) n for some c k >0, c k depends only on k – E.g., (2-c 3 )=1.914

17 Some Remarks (First) non-trivial algorithm for PSPACE- complete version of k-SAT – Contrast to the hardness of Π 2 -3-SAT (2 n -time) – (of course, hardness class and running time of exact algorithms do not coincide) Exponential space algorithm – Lack of small-size (length dn for d<1) witness

18 Complexity of Boolean Connectivity in Schaefer’s framework Classification w.r.t. formula type [Gopalan et al., ICALP 06], [MTY, SAT 07]: – P: affine(linear), bijunctive(2CNF), IHSB+, IHSB- IHSB-/IHSB+: special case of Horn/dual-Horn – coNP-complete: Horn/dual-Horn – coNP-complete: Non-Schaefer, tight Schaefer={affine,bijunctive,Horn, dual-Horn} – PSPACE-complete: Non-tight Open: coNP-complete for Horn but not IHSB-?

19 Motivation for Boolean Connectivity Understanding the solution space of k-CNF – Solution space geometry of random k-SAT [Achlioptas, Ricci-Tersenghi, STOC 06] – Possible solution space of k-CNF → Circuit lower bound, better SAT algorithm [Hastad, STOC 86], [Paturi, Pudlak, Saks, Zane, JACM 05],…

20 Motivation for Boolean Connectivity Combinatorial interests [Ekin, Hammer, Kogan, DAM 99] Also in graph coloring problem [Bonsma, Cereceda MFCS 07] [Cereceda, van den Heuvel, Johnson, DM 08]

21 Technical Details Our Task: Given k-CNF φ, deciede G φ =(V,E) is connected or not – V :=SAT(φ)={x ∈ {0,1} n | φ(x)=1} – E :={e=(y,z), y,z ∈ V | d(y,z)=1} d(y,z): Hamming distance between y,z If G φ given, O(|V|+|E|)-time

22 Naïve algorithm Assume V=SAT(φ) is given Construct E by: – for each y ∈ V, for each z s.t. d(y,z)=1, if φ(z)=1 then add (y,z) to E – Takes n|V|-steps Check G(V,E) is connected Running time: n|V|poly(| φ |) steps |V| can be Ω(2 n ) !

23 Main idea Reducing the size of V Fact: Efficient k-SAT algorithm can enumerate all satisfying assignments in (2-c) n time – Output may be partial assignments (1,*,0,1,*,*,…,0) *: don’t care Change the notion of adjacent

24 Simple Backtracking Algorithm x z y ? ? ?

25 Some Properties Recursive call stops when φ becomes SAT/UNSAT under current partial assignment → each leaf may be a partial assignment Enumeration: – For any y ∈ SAT(φ), there exists a leaf (partial assignment) consistent to y – For any two leaves y,z, d(y,z)≥1 (enumerated once)

26 Some Properties Running time: (2-c k ) n for some c k >0, c k depends only on k #(leaves of depth t) ≤ (2-c k ) t

27 Connectivity in Reduced Graph V’ :={satisfying partial assignments of φ} E’ :={e=(y,z), y,z ∈ V | d’(y,z)=1} d’(y,z):= #{i | y i ≠ z i, y i ≠*, z i ≠*} Fact: G=(V,E) is connected iff so is G’=(V’,E’)

28 Main idea Construct V’ by efficient k-SAT algorithm – |V’|≤(2-c k ) n for some c k – y ∈ V’ may be partial assignment How to construct E’? – Checking all neighbors? → y ∈ V’ has exponentially large #neighbors – Checking all pairs? → |V’| 2 exceeds 2 n

29 Main idea Decompose V’=U ∪ W – U :={y ∈ V’ | #* of y > t } shallow leaves – W :={y ∈ V’ | #* of y ≤ t } deep leaves Intuition – |U| is small → checking all pairs: |U| 2 << 2 n – y ∈ W has small #neighbors → checking all neighbors: |W|2 t << 2 n

30 Our Algorithm (Over Simplified) Construct V’ by efficient k-SAT algorithm Decompose V’:=U ∪ W – U:={y in V | #*(y) > t } shallow leaves – W:={y in V | #*(y) ≤ t } deep leaves Construct E’ by: – Checking all pairs of U – Checking all neighbors of W Check G’=(V’,E’) is connected

31 Upper bounds Construct V’ by (2-c k ) n -time k-SAT algorithm Construct E’ by: – Checking all pairs of U – Checking all neighbors of W |U| ≤(2-c k ) n-t → |U| 2 ≤(2-c k ) 2(n-t) ---(a) #{neighbors of W} ≤ ∑ t’>t (2-c k ) n-t’ 2 t’ ---(b) Choosing t appropriately, (a),(b) ≤ (2-c k ’) n

32 Conclusion Theorem: Conn-k-SAT can be solved in time (2-c k ) n for some c k >0, c k depends only on k – c 3 =1.914, c 4 =…, (First) non-trivial algorithm for PSPACE- complete version of k-SAT (w.r.t n)

33 Future Works Better upper bounds for CONN-k-SAT? – (Maybe, but not the scope of our paper) PSPACE algorithm? (possible for Horn-formula) Variation: ST-CONN is faster? (PSPACE- completeness known) Thank You !


Download ppt "An Exact Algorithm for the Boolean Connectivity Problem for k-CNF Kazuhisa Makino (U. of Tokyo) Suguru Tamaki (Kyoto U.) Masaki Yamamoto (Tokai U.)"

Similar presentations


Ads by Google