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 n 2 SETH-hard EDIT n 2 FrΓ©chet n 2 SlidingWindowHD π " BMM-hard diameter n 2 can we relate SAT / 3SUM / APSP / BMM?
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
I. Nondeterministic SETH
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)/π(π)
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
(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
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 π ?
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 βΈ
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
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β
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
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
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^_
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 π’ = π
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 π
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 π’ = π _ + π ? + π (
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