complexity theory of polynomial time problems
play

Complexity Theory of Polynomial-Time Problems Lecture 11: - PowerPoint PPT Presentation

Complexity Theory of Polynomial-Time Problems Lecture 11: Nondeterministic SETH Karl Bringmann Complexity Inside P 3SUM n 2 SAT 2 n APSP n 3 APSP equivalent Colinearity n 2 OV n 2 Radius n 3 3SUM-hard Negative Triangle n 3 BMM " LCS


  1. Complexity Theory of Polynomial-Time Problems Lecture 11: Nondeterministic SETH Karl Bringmann

  2. Complexity Inside P 3SUM n 2 SAT 2 n APSP n 3 APSP equivalent Colinearity n 2 OV n 2 Radius n 3 3SUM-hard Negative Triangle n 3 BMM π‘œ " LCS n 2 SETH-hard EDIT n 2 FrΓ©chet n 2 SlidingWindowHD π‘œ " BMM-hard diameter n 2 can we relate SAT / 3SUM / APSP / BMM?

  3. Relating Hypotheses only very weak relations are known e.g. ETH implies that k-SUM has no π‘œ #(%) algorithm OPEN: SETH implies that 3SUM has no 𝑃(π‘œ ()* ) algorithm ? today we will see a barrier for tighter connections

  4. I. Nondeterministic SETH

  5. Nondeterministic Algorithms Turing machine: can choose any applicable transition at any point in time RAM: operation guess() fills a cell with an integer YES -instance: at least one accepting path NO -instance: all paths reject guesses on an accepting path = proof that we have a YES-instance NP: all problems solvable in polytime by a nondet. Turing machine k-SAT algorithm: guess a satisfying assignment, check correctness 𝑃(π‘œ + 𝑛) β€žguess a short proof of satisfiability and check itβ€œ 3SUM algorithm: guess 𝑏, 𝑐, 𝑑 ∈ 𝐡 and check 𝑏 + 𝑐 + 𝑑 = 0 𝑃(1)/𝑃(π‘œ)

  6. Co-Nondeterministic Algorithms Turing machine: can choose any applicable transition at any point in time RAM: operation guess() fills a cell with an integer YES -instance: all paths accept NO -instance: at least one path rejects guesses on a rejecting path = proof that we have a NO-instance co-NP: all problems solvable in polytime by a co-nondet. Turing machine k-SAT: β€žguess a short proof of unsatisfiability and check itβ€œ – Is this possible ? classic computational complexity: if NP β‰  co-NP, then k-SAT has no 𝑷( po poly (𝒐)) co-nondet. algorithm we believe that NP β‰  co-NP, since otherwise the polynomial hierarchy collapses

  7. (Co-)Nondeterministic SETH if NP β‰  co-NP, then k-SAT has no 𝑃(poly(π‘œ)) co-nondet. algorithm not even a 𝑃(2 ?)* @ ) co-nondet. algorithm is known! k-SAT has no no 𝑃(2 ?)* @ ) co-nondet. algorithm Nondeterministic SETH: [CGIMPS’16] do not allow randomization! NSETH implies SETH (without randomization) barely anyone believes that NSETH is true but it formalizes a current barrier NSETH can be used to conditionally rule out reductions

  8. Potential Reduction from SAT to 3SUM an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.: 3SUM reduction k-SAT instance 𝐽 1 size π‘œ ? fomula 𝜚 … π‘œ variables, … 𝑛 ≀ π‘œ % clauses total time instance 𝐽 𝑙 𝑠(π‘œ) size π‘œ % Properties: for any fomula 𝜚 , algorithm 𝐡(𝜚) correctly solves k-SAT on 𝜚 𝐡 runs in time 𝑠(π‘œ) = 𝑃(2 ?)E @ ) for some 𝛿 > 0 % ()* ≀ 2 ?)N @ for any 𝜁 > 0 there is a πœ€ ∈ (0, 𝛿) s.t. βˆ‘ π‘œ K KL? ()* ≀ 2 ?)*/( @ π‘œ O% ≀ 2 ?)*/P @ e.g. 𝑙 = 1 and π‘œ ? = 2 @/( 𝑛 O , then π‘œ ?

  9. Potential Reduction from SAT to 3SUM an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.: 3SUM reduction k-SAT instance 𝐽 1 size π‘œ ? fomula 𝜚 … π‘œ variables, … 𝑛 ≀ π‘œ % clauses total time instance 𝐽 𝑙 𝑠(π‘œ) size π‘œ % Properties: for any fomula 𝜚 , algorithm 𝐡(𝜚) correctly solves k-SAT on 𝜚 𝐡 runs in time 𝑠(π‘œ) = 𝑃(2 ?)E @ ) for some 𝛿 > 0 % ()* ≀ 2 ?)N @ for any 𝜁 > 0 there is a πœ€ ∈ (0, 𝛿) s.t. βˆ‘ π‘œ K KL? 𝑃(2 ?)N @ ) algorithm 𝑃(π‘œ ()* ) algorithm ⟸

  10. Potential Reduction from SAT to 3SUM an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.: 3SUM reduction k-SAT instance 𝐽 1 size π‘œ ? fomula 𝜚 … π‘œ variables, … 𝑛 ≀ π‘œ % clauses total time instance 𝐽 𝑙 𝑠(π‘œ) size π‘œ % Properties: for any fomula 𝜚 , algorithm 𝐡(𝜚) correctly solves k-SAT on 𝜚 𝐡 runs in time 𝑠(π‘œ) = 𝑃(2 ?)E @ ) for some 𝛿 > 0 % ()* ≀ 2 ?)N @ for any 𝜁 > 0 there is a πœ€ ∈ (0, 𝛿) s.t. βˆ‘ π‘œ K KL? nondet. 𝑃(2 ?)N @ ) algorithm and nondet. 𝑃(π‘œ ()* ) algorithm and ⟸ co-nondet. 𝑃(π‘œ ()* ) algorithm co-nondet. 𝑃(2 ?)N @ ) algorithm

  11. Potential Reduction from SAT to 3SUM an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.: 3SUM reduction k-SAT instance 𝐽 1 size π‘œ ? fomula 𝜚 … π‘œ variables, … 𝑛 ≀ π‘œ % clauses total time instance 𝐽 𝑙 𝑠(π‘œ) size π‘œ % for each instance 𝐽 R : guess whether it is YES- or NO-instance if we guessed YES: guess a proof 𝜌 R that 𝐽 R is a YES-instance if we guessed NO: guess a proof 𝜌 R that 𝐽 R is a NO-instance if we guessed correctly: 𝜌 = (𝜌 ? ,… , 𝜌 % ) forms a proof that 𝜚 is satisfiable or unsatisfiable algorithm 𝐡 is the β€žproof checkerβ€œ

  12. Potential Reduction from SAT to 3SUM an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.: 3SUM reduction k-SAT instance 𝐽 1 size π‘œ ? fomula 𝜚 … π‘œ variables, … 𝑛 ≀ π‘œ % clauses total time instance 𝐽 𝑙 𝑠(π‘œ) size π‘œ % nondet. 𝑃(π‘œ ()* ) algorithm and nondet. 𝑃(2 ?)N @ ) algorithm and ⟸ co-nondet. 𝑃(π‘œ ()* ) algorithm co-nondet. 𝑃(2 ?)N @ ) algorithm no nondet. 𝑃(2 ?)N @ ) algorithm or no nondet. 𝑃(π‘œ ()* ) algorithm or ⟹ no co-nondet. 𝑃(π‘œ ()* ) algorithm no co-nondet. 𝑃(2 ?)N @ ) algorithm =NSETH

  13. Ruling Out Reductions If NSETH holds and we will 3SUM has a 𝑃(π‘œ ()* ) co-nondeterministic algorithm show this then there is no deterministic reduction from k-SAT to 3SUM either 3SUM has strongly subquadratic algorithms or 3SUM is hard for a different reason than k-SAT or NSETH fails has drawbacks, but this is the only tool for negative results in this area

  14. Co-Nondeterministic Algorithm for 3SUM 3SUM: given set 𝐡 of integers in {βˆ’π‘œ Y , … , π‘œ Y } , are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0 ? V(π‘œ P/( ) 3SUM has a co-nondeterministic algorithm in time 𝑃 Thm: [CGIMPS’16] V hides polylogarithmic factors in n 𝑃 V 𝑔 π‘œ 𝑃 = 𝑃(𝑔 π‘œ β‹… polylog π‘œ) = \ 𝑃 𝑔 π‘œ log O π‘œ V 𝑔 π‘œ 𝑃 O^_

  15. Co-Nondeterministic Algorithm for 3SUM 3SUM: given set 𝐡 of integers in {βˆ’π‘œ Y , … , π‘œ Y } , are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0 ? V(π‘œ P/( ) 3SUM has a co-nondeterministic algorithm in time 𝑃 Thm: [CGIMPS’16] 1) guess prime π‘ž ≀ π‘œ P/( logπ‘œ V(π‘ž) 𝑃 𝑏,𝑐,𝑑 ∈ 𝐡 P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž V(π‘ž) 2) compute 𝑒 = 𝑃

  16. Recall: 3SUM for Small Numbers V(𝑉) for numbers in {0, …, 𝑉} 3SUM is in time 𝑃 π‘œ + 𝑃 π‘Œ k define polynomial 𝑄 π‘Œ ≔ βˆ‘ k∈l has degree at most 𝑉 π‘Œ k π‘Œ k π‘Œ k compute 𝑅 π‘Œ ≔ 𝑄 π‘Œ β‹… 𝑄 π‘Œ β‹… 𝑄 π‘Œ = (βˆ‘ )(βˆ‘ )(βˆ‘ ) k∈l k∈l k∈l ( π‘Œ k β‹… π‘Œ p β‹… π‘Œ O = π‘Œ kqpqO ) what is the coefficient of π‘Œ n in 𝑅(π‘Œ) ? it is the number of (𝒃,𝒄, 𝒅) summing to 𝒖 use efficient polynomial multiplication (via Fast Fourier Transform): V(𝑒) polynomials of degree 𝑒 can be multiplied in time 𝑃

  17. Co-Nondeterministic Algorithm for 3SUM 3SUM: given set 𝐡 of integers in {βˆ’π‘œ Y , … , π‘œ Y } , are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0 ? V(π‘œ P/( ) 3SUM has a co-nondeterministic algorithm in time 𝑃 Thm: [CGIMPS’16] 1) guess prime π‘ž ≀ π‘œ P/( logπ‘œ 𝑏,𝑐,𝑑 ∈ 𝐡 P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž V(π‘ž) 2) compute 𝑒 = 𝑃 let 𝐢 ≔ 𝑏 mod π‘ž 𝑏 ∈ 𝐡} (in general 𝐢 is a multi-set!) 𝑏, 𝑐, 𝑑 ∈ 𝐢 P | 𝑏 + 𝑐 + 𝑑 = 0 let 𝑠 _ ≔ universe size 𝑉 = π‘ž 𝑏, 𝑐, 𝑑 ∈ 𝐢 P | 𝑏 + 𝑐 + 𝑑 = π‘ž let 𝑠 ? ≔ 𝑏, 𝑐, 𝑑 ∈ 𝐢 P | 𝑏 + 𝑐 + 𝑑 = 2π‘ž let 𝑠 ( ≔ then 𝑒 = 𝑠 _ + 𝑠 ? + 𝑠 (

  18. Co-Nondeterministic Algorithm for 3SUM 3SUM: given set 𝐡 of integers in {βˆ’π‘œ Y , … , π‘œ Y } , are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0 ? V(π‘œ P/( ) 3SUM has a co-nondeterministic algorithm in time 𝑃 Thm: [CGIMPS’16] 1) guess prime π‘ž ≀ π‘œ P/( logπ‘œ 𝑏,𝑐,𝑑 ∈ 𝐡 P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž V(π‘ž) 2) compute 𝑒 = 𝑃 3) if 𝑒 > 𝛽 β‹… π‘œ P/( logπ‘œ : accept (constant 𝛽 to be fixed later) 4) guess distinct 𝑏 ? ,𝑐 ? ,𝑑 ? ,… , 𝑏 n ,𝑐 n , 𝑑 n ∈ 𝐡 P such that 𝑏 K + 𝑐 K + 𝑑 K = 0 mod π‘ž βˆ€π‘— 5) check that for all 𝑏 K , 𝑐 K , 𝑑 K we have 𝑏 K + 𝑐 K + 𝑑 K β‰  0 6) if everything works out: reject (otherwise accept) V(π‘œ P/( ) βœ” time 𝑃 βœ” if we reject then we have a NO-instance YES -instance: all paths accept NO -instance: at least one path rejects βœ”

Recommend


More recommend