Complexity Theory of Polynomial-Time Problems

Similar documents
Complexity Theory of Polynomial-Time Problems

Complexity Theory of Polynomial-Time Problems

Complexity Theory of Polynomial-Time Problems

Lecture Examples of problems which have randomized algorithms

CS 151 Complexity Theory Spring Solution Set 5

Strong ETH Breaks With Merlin and Arthur. Or: Short Non-Interactive Proofs of Batch Evaluation

Complexity Classes IV

CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010

Advanced topic: Space complexity

2 Evidence that Graph Isomorphism is not NP-complete

1 Randomized Computation

1 PSPACE-Completeness

6.S078 A FINE-GRAINED APPROACH TO ALGORITHMS AND COMPLEXITY LECTURE 1

CS154, Lecture 17: conp, Oracles again, Space Complexity

On enumerating monomials and other combinatorial structures by polynomial interpolation

Input Decidable Language -- Program Halts on all Input Encoding of Input -- Natural Numbers Encoded in Binary or Decimal, Not Unary

Algorithms as Lower Bounds

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn

CSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds

Lecture 12: Interactive Proofs

Complexity Theory of Polynomial-Time Problems

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Geometric Problems in Moderate Dimensions

Umans Complexity Theory Lectures

PAPER On the Degree of Multivariate Polynomials over Fields of Characteristic 2

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

-bit integers are all in ThC. Th The following problems are complete for PSPACE NPSPACE ATIME QSAT, GEOGRAPHY, SUCCINCT REACH.

Compute the Fourier transform on the first register to get x {0,1} n x 0.

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn

1 Non-deterministic Turing Machine

Lecture 26. Daniel Apon

Introduction to Cryptology. Lecture 19

Lecture 20: conp and Friends, Oracles in Complexity Theory

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

BBM402-Lecture 11: The Class NP

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Almost transparent short proofs for NP R

Models of Computation

Notes on Complexity Theory Last updated: October, Lecture 6

A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties:

A FINE-GRAINED APPROACH TO

20.1 2SAT. CS125 Lecture 20 Fall 2016

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Note 8

JASS 06 Report Summary. Circuit Complexity. Konstantin S. Ushakov. May 14, 2006

1 From previous lectures

Intro to Rings, Fields, Polynomials: Hardware Modeling by Modulo Arithmetic

Lecture 59 : Instance Compression and Succinct PCP s for NP

Polynomial Representations of Threshold Functions and Algorithmic Applications. Joint with Josh Alman (Stanford) and Timothy M.

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

Umans Complexity Theory Lectures

Shor s Algorithm. Polynomial-time Prime Factorization with Quantum Computing. Sourabh Kulkarni October 13th, 2017

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Kernel-Size Lower Bounds. The Evidence from Complexity Theory

Limitations of Algorithm Power

Stanford University CS254: Computational Complexity Handout 8 Luca Trevisan 4/21/2010

Chapter 5 The Witness Reduction Technique

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine.

conp, Oracles, Space Complexity

Questions Pool. Amnon Ta-Shma and Dean Doron. January 2, Make sure you know how to solve. Do not submit.

Discrete Mathematics and Probability Theory Fall 2014 Anant Sahai Note 7

Notes for Lecture 3... x 4

Fast Polynomial Multiplication

Lecture 21: Algebraic Computation Models

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Theoretical Cryptography, Lectures 18-20

Lecture 7: Polynomial time hierarchy

Introduction to Interactive Proofs & The Sumcheck Protocol

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

On some fine-grained questions in algorithms and complexity

6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

Definition: conp = { L L NP } What does a conp computation look like?

1 The Low-Degree Testing Assumption

CPSC 536N: Randomized Algorithms Term 2. Lecture 9

1 AC 0 and Håstad Switching Lemma

Lecture 10 Oct. 3, 2017

Lecture 19: Interactive Proofs and the PCP Theorem

NP-Completeness. Algorithmique Fall semester 2011/12

CS Communication Complexity: Applications and New Directions

Lecture 22: Counting

Exponential time vs probabilistic polynomial time

Complexity Theory of Polynomial-Time Problems

Notes on Computer Theory Last updated: November, Circuits

Enumeration: logical and algebraic approach

Complexity Classes V. More PCPs. Eric Rachlin

Introduction to Complexity Theory

Polynomial Hierarchy

Lecture 3: Reductions and Completeness

Lecture 19: Finish NP-Completeness, conp and Friends

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

Lecture 7: Schwartz-Zippel Lemma, Perfect Matching. 1.1 Polynomial Identity Testing and Schwartz-Zippel Lemma

Definition: Alternating time and space Game Semantics: State of machine determines who

Fine Grained Counting Complexity I

Boolean and arithmetic circuit complexity

Algebraic approach to exact algorithms, Part III: Polynomials over nite elds of characteristic two

Lecture 8 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture Notes. Advanced Discrete Structures COT S

Theorem 11.1 (Lund-Fortnow-Karloff-Nisan). There is a polynomial length interactive proof for the

6.S897 Algebra and Computation February 27, Lecture 6

Transcription:

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

Complexity Inside P SAT 2 n 3SUM n 2 OV n 2 Colinearity n 2 3SUM-hard APSP n 3 APSP equivalent Radius n 3 LCS n 2 SETH-hard BMM n " Negative Triangle n 3 EDIT n 2 Fréchet n 2 SlidingWindowHD n " diameter n 2 BMM-hard can we relate SAT / 3SUM / APSP / BMM?

Relating Hypotheses only very weak relations are known e.g. ETH implies that k-sum has no n #(%) algorithm OPEN: SETH implies that 3SUM has no O(n ()* ) 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 O(n + m) guess a short proof of satisfiability and check it 3SUM algorithm: guess a, b, c A and check a + b + c = 0 O(1)/O(n)

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 O(poly(n)) 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 O(poly(n)) co-nondet. algorithm not even a O(2?)* @ ) co-nondet. algorithm is known! Nondeterministic SETH: [CGIMPS 16] k-sat has no no O(2?)* @ ) co-nondet. algorithm 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 A for k-sat with oracle access to 3SUM s.t.: Properties: k-sat fomula φ n variables, m n % clauses reduction total time r(n) 3SUM instance I 1 size n? instance I k size n % for any fomula φ, algorithm A(φ) correctly solves k-sat on φ A runs in time r(n) = O(2?)E @ ) for some γ > 0 for any ε > 0 there is a δ (0, γ) s.t. % ()* KL? n K 2?)N @ e.g. k = 1 and n? = 2 @/( m O, then n? ()* 2?)*/( @ n O% 2?)*/P @

Potential Reduction from SAT to 3SUM an deterministic algorithm A for k-sat with oracle access to 3SUM s.t.: Properties: k-sat fomula φ n variables, m n % clauses reduction total time r(n) 3SUM instance I 1 size n? instance I k size n % for any fomula φ, algorithm A(φ) correctly solves k-sat on φ A runs in time r(n) = O(2?)E @ ) for some γ > 0 for any ε > 0 there is a δ (0, γ) s.t. % ()* KL? n K 2?)N @ O(2?)N @ ) algorithm O(n ()* ) algorithm

Potential Reduction from SAT to 3SUM an deterministic algorithm A for k-sat with oracle access to 3SUM s.t.: Properties: k-sat fomula φ n variables, m n % clauses reduction total time r(n) 3SUM instance I 1 size n? instance I k size n % for any fomula φ, algorithm A(φ) correctly solves k-sat on φ A runs in time r(n) = O(2?)E @ ) for some γ > 0 for any ε > 0 there is a δ (0, γ) s.t. % ()* KL? n K 2?)N @ nondet. O(2?)N @ ) algorithm and co-nondet. O(2?)N @ ) algorithm nondet. O(n ()* ) algorithm and co-nondet. O(n ()* ) algorithm

Potential Reduction from SAT to 3SUM an deterministic algorithm A for k-sat with oracle access to 3SUM s.t.: k-sat fomula φ n variables, m n % clauses reduction total time r(n) 3SUM instance I 1 size n? instance I k size n % for each instance I R : guess whether it is YES- or NO-instance if we guessed YES: guess a proof π R that I R is a YES-instance if we guessed NO: guess a proof π R that I R is a NO-instance if we guessed correctly: π = (π?,, π % ) forms a proof that φ is satisfiable or unsatisfiable algorithm A is the proof checker

Potential Reduction from SAT to 3SUM an deterministic algorithm A for k-sat with oracle access to 3SUM s.t.: k-sat fomula φ n variables, m n % clauses reduction total time r(n) 3SUM instance I 1 size n? instance I k size n % nondet. O(2?)N @ ) algorithm and co-nondet. O(2?)N @ ) algorithm nondet. O(n ()* ) algorithm and co-nondet. O(n ()* ) algorithm no nondet. O(2?)N @ ) algorithm or no co-nondet. O(2?)N @ ) algorithm =NSETH no nondet. O(n ()* ) algorithm or no co-nondet. O(n ()* ) algorithm

Ruling Out Reductions If NSETH holds and 3SUM has a O(n ()* ) co-nondeterministic algorithm we will 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 A of integers in { n Y,, n Y }, are there a, b, c A s.t. a + b + c = 0? Thm: 3SUM has a co-nondeterministic algorithm in time OV(n P/( ) [CGIMPS 16] OV hides polylogarithmic factors in n OV f n = O(f n polylog n) OV f n = \ O f n log O n O^_

Co-Nondeterministic Algorithm for 3SUM 3SUM: given set A of integers in { n Y,, n Y }, are there a, b, c A s.t. a + b + c = 0? Thm: 3SUM has a co-nondeterministic algorithm in time OV(n P/( ) 1) guess prime p n P/( logn [CGIMPS 16] OV(p) 2) compute t = a, b, c A P a + b + c = 0 mod p OV(p)

Recall: 3SUM for Small Numbers 3SUM is in time O n + OV(U) for numbers in {0,, U} define polynomial P X has degree at most U k l X k compute Q X P X P X P X = ( k l X k )( k l X k )( X k k l ) what is the coefficient of X n in Q(X)? it is the number of (a, b, c) summing to t (X k X p X O = X kqpqo ) use efficient polynomial multiplication (via Fast Fourier Transform): polynomials of degree d can be multiplied in time OV(d)

Co-Nondeterministic Algorithm for 3SUM 3SUM: given set A of integers in { n Y,, n Y }, are there a, b, c A s.t. a + b + c = 0? Thm: 3SUM has a co-nondeterministic algorithm in time OV(n P/( ) 1) guess prime p n P/( logn [CGIMPS 16] 2) compute t = a, b, c A P a + b + c = 0 mod p OV(p) let B a mod p a A} (in general B is a multi-set!) let r _ a, b, c B P a + b + c = 0 let r? a, b, c B P a + b + c = p universe size U = p let r ( a, b, c B P a + b + c = 2p then t = r _ + r? + r (

Co-Nondeterministic Algorithm for 3SUM 3SUM: given set A of integers in { n Y,, n Y }, are there a, b, c A s.t. a + b + c = 0? Thm: 3SUM has a co-nondeterministic algorithm in time OV(n P/( ) 1) guess prime p n P/( logn [CGIMPS 16] 2) compute t = a, b, c A P a + b + c = 0 mod p 3) if t > α n P/( logn: accept (constant α to be fixed later) OV(p) 4) guess distinct a?, b?, c?,, a n, b n, c n A P such that a K + b K + c K = 0 mod p i 5) check that for all a K, b K, c K we have a K + b K + c K 0 6) if everything works out: reject (otherwise accept) time OV(n P/( ) if we reject then we have a NO-instance YES-instance: all paths accept NO-instance: at least one path rejects

Co-Nondeterministic Algorithm for 3SUM 3SUM: given set A of integers in { n Y,, n Y }, are there a, b, c A s.t. a + b + c = 0? NO-instance: at least one path rejects: show that there exists a prime p n P/( logn such that t = a, b, c A P a + b + c = 0 mod p < α n P/( logn M := # tuples (a, b, c, p) with a, b, c A and prime p s.t. a + b + c = 0 mod p each a + b + c is in 3n Y,, 3n Y {0}, so it has at most log(3n Y ) prime factors thus M n P log 3n Y 3s n P log n by prime number theorem: there are at least n P/( /β primes p n P/( log n thus there is a prime p contained in at most M/(n P/( /β) tuples (a, b, c, p) thus there is a prime p with t M/(n P/( /β) 3s β n P/( log(n) set α 3s β

Co-Nondeterministic Algorithm for 3SUM 3SUM: given set A of integers in { n Y,, n Y }, are there a, b, c A s.t. a + b + c = 0? Thm: 3SUM has a co-nondeterministic algorithm in time OV(n P/( ) 1) guess prime p n P/( logn [CGIMPS 16] 2) compute t = a, b, c A P a + b + c = 0 mod p 3) if t > α n P/( logn: accept (constant α to be fixed later) OV(p) 4) guess distinct a?, b?, c?,, a n, b n, c n A P such that a K + b K + c K = 0 mod p i 5) check that for all a K, b K, c K we have a K + b K + c K 0 6) if everything works out: reject (otherwise accept) time OV(n P/( ) if we reject then we have a NO-instance YES-instance: all paths accept NO-instance: at least one path rejects

I. Randomized Nondeterministic SETH

Randomized Nondeterministic SETH Nondeterministic SETH: k-sat has no no O(2?)* @ ) co-nondet. algorithm what if we allow randomization? then the hypothesis is wrong! Thm: k-sat has a randomized co-nondeterministic O(2 @/( poly(n)) algorithm with error probability 2 ) (@) [Williams 16] Thm: OV has a randomized co-nondeterministic O(n poly(d, log n)) algorithm with error probability n ) (?)

Tools: Basics on Polynomials fix field Z and assume that field operations can be performed in O(1) time univariate polynomials P X = @ KL_ a K X K, Q X = b K X K, m n ƒ KL_ multiplication P X Q(X): OV n (by FFT, without proof) division with remainder: OV n (without proof) P X = S X Q X + R(X), where R(X) has degree < m we write R X = P X mod Q X evaluate P(X) at a given point x: O(n) Horner s method: P x = a _ + x a? + x a ( + x

Tools: Multipoint Evaluation on Polynomials fix field Z and assume that field operations can be performed in O(1) time univariate polynomial P X = @ KL_ a K X K multipoint evaluation: OV n evaluate P(X) at given points X = x?,, x @ 1) let L X (X x? ) (X x @/( ) and R X (X x @/(q? ) (X x @ ) 2) let P X P X mod L(X) and P Š X P X mod R(X) 3) recursively compute P (x? ),, P (x @/( ) and P Š (x @/(q? ),, P Š (x @ ) polynomial division: T n = 2T n/2 + OV n = OV n P X = S X L X + P (X) P x K = S x K L x K + P x K = P x K = 0 for i n/2

Tools: Multipoint Evaluation on Polynomials fix field Z and assume that field operations can be performed in O(1) time univariate polynomial P X = @ KL_ a K X K computing L X (X x? ) (X x @/( ): logn 0 straight-forward binary tree (X x K ) computes canonical polynomials defined by P Y ( Ž q?, Yq? ( Ž P K,R X : = X x % R %LK in layer i: n/2 K multiplications of polynomials of degree 2 K total time OV n X

Tools: Polynomial Interpolation fix field Z and assume that field operations can be performed in O(1) time univariate polynomial P X = polynomial interpolation: OV n @ KL_ a K X K given pairs x?, y?,, (x @, y @ ) find a polynomial P(X) with P x K = y K for all i Lagrange s formula: P X = y K K R K X x R x K x R Caveat: division by x in Z means multiplication with the inverse x )? extended Euclidean algorithm: computes s, t with s x + t p = gcd x, p = 1 modulo p: s x = 1 so s = x )? is the inverse of x

Tools: Polynomial Interpolation 1st goal: compute P X = y K X x R K R K (for y K := y K? R K ) ) let L X (X x? ) (X x @/( ) and R X (X x @/(q? ) (X x @ ) recursion: y K X x R = y K X x R R X K R K? K @/(? R @/( R K + y K X x R L X @/( K @ @/( R @ R K

Tools: Polynomial Interpolation 2nd goal: compute factors s K = R K 1 x K x R compute the derivative of @ Q X X x K KL? @ = a K X K KL_ Q X = K R K X x R @ = i a K X K)? KL_ can compute Q X in time OV n then we have Q x % = x % x R K R K = x % x R R % = s % )? compute all Q x % for k = 1,, n in time OV n by multipoint evaluation

Tools: Polynomial Interpolation fix field Z and assume that field operations can be performed in O(1) time univariate polynomial P X = polynomial interpolation: OV n @ KL_ a K X K given pairs x?, y?,, (x @, y @ ) find a polynomial P(X) with P x K = y K for all i Lagrange s formula: P X = y K can be computed in time OV n! K R K X x R x K x R

Tools: Arithmetic Circuits fix field Z and assume that field operations can be performed in O(1) time arithmetic circuits are a (succinct) representation of (multivariate) polynomials input gates labeled with variables X?,, X % - univariate if k = 1 each other gate is a + or (unbounded fanin) or a (fanin 1) or a constant (fanin 0) fanout is unbounded one output gate (no cyclic dependencies) given an input x?,, x % Z the output C(x?,, x % ) is the number computed by the output gate (in Z ) 42 + = 42 = 40 = 2 = 2 X? X ( = 640 = 1 = 1 + = 8 = 1 = 7 X P 7 42 + X? X ( X? X ( X ( X P + X P 7 = 7

Tools: Arithmetic Circuits fix field Z and assume that field operations can be performed in O(1) time representation as circuit is not unique + + 1 3 2 X 1 + 2X 2X 3 X = circuit = unstructured, succinct + 6 + 10 4 X 4X P + 10X ( + 6X polynomial = structured, verbose

Tools: Arithmetic Circuits fix field Z and assume that field operations can be performed in O(1) time working modulo p is necessary over Z numbers can get very large: 2 = 2 (

Tools: Arithmetic Circuits fix field Z and assume that field operations can be performed in O(1) time k inputs size s = number if wires degree d = largest degree of any monomial assuming no cancelations degree(input gate) = 1 6 degree(constant gate) = 0 degree( gate) = degree of child degree( + gate) = maximum of degrees of children degree( gate) = sum of degrees of children degree of circuit = degree(output gate) 42 0 + 2 1 2 X? X ( 1 1 + 1 1 1 X P 7 0 42 + X? X ( X? X ( X ( X P + X P 7

Tools: Evaluation of Circuits fix field Z and assume that field operations can be performed in O(1) time k inputs size s = number if wires degree d evaluating a circuit at given input: O(s) + + 1 3 2 X 1 + 2X 2X 3 X

Tools: Identity Testing fix field Z and assume that field operations can be performed in O(1) time k inputs size s = number if wires degree d given two circuits C?,C (, do they represent the same polynomial over Z? this problem is called polynomial identity testing assume that C?,C ( are univariate and assume p 2d Schwarz-Zippel-Lemma: this has a randomized OV(s)-time algorithm with error probability 1 s ) (?) 1) for logs rounds: 2) pick random x Z 3) if C? (x) C ( (x): return not identical 4) return identical C? X C ( (X) is a polynomial Q(X) of degree d if C? (X) C ( (X) then Q(X) is not the 0-polynomial and thus has at most d roots with probability 1/2 we pick a non-root x

Tools: Evaluation of Circuits fix field Z and assume that field operations can be performed in O(1) time k inputs size s = number if wires degree d evaluating a circuit at given input: O(s) multipoint evaluation (at n points): no near-linear time algorithm known trivial algorithm: O(n s) 1 + + 3 converting a univariate circuit 2 X to a polynomial: OV(s d) (write each gate as a degree polynomial) 1 + 2X 2X 3 X conversion + multipoint evaluation for polynomials = multipoint evaluation for univariate circuits in OV(s d + n + d) (for multivariate: degree d polynomial has up to d + k + 1 k monomials )

OV as Multipoint Evaluation on Circuits OV: Given sets A, B 0,1 of size n Decide whether there are a A, b B such that a b circuit C(a, b) for testing orthogonality of a, b: C(a, b) = (1 a K b K ) + KL? 1 1 a? b? a b

OV as Multipoint Evaluation on Circuits OV: Given sets A, B 0,1 of size n Decide whether there are a A, b B such that a b circuit C(a) for testing orthogonality of a with any b B: C(a) = C(a, b) = (1 a K b K ) + p p KL? - d inputs (for the coordinates of a) - size O(nd) - degree 2d C(a, b) for each b B - for any a {0,1} : 0 C(a) n - pick prime p n and work modulo p, i.e., over field Z

(Co-)Nondet. Multipoint Evaluation on Circuits Given circuit C on inputs X?,, X % with size s and degree d over Z % Given inputs z?,, z @ Z want to evaluate C on each z R = (z R 1,, z R k ) can assume p 2nd, p n (?) 1) compute polynomials R? X,, R % (X) such that R K j = z R [i] OV(kn) by polynomial interpolation new goal: evaluate univariate circuit C X = C(R? X,, R % (X)) on X = 1,, n C has size O(s + kn) and depth dn 2) guess a polynomial Q X of degree at most dn 3) check that Q X = C(R? X,, R % (X)) by polynomial identity testing O(dn) OV(s + kn + dn) 4) multipoint evaluate Q X on X = 1,, n and return these values OV(dn)

Co-Nondet. Algorithm for OV use circuit C(a) for testing orthogonality of a with any b B {0,1} evaluate C(a) at each a A d inputs, size O(dn), degree 2d YES-instance: all paths accept NO-instance: at least one path rejects...with high probability 1) compute polynomials R? X,, R % (X) such that R K j = z R [i] OV(kn) by polynomial interpolation new goal: evaluate univariate circuit C X = C(R? X,, R % (X)) on X = 1,, n C has size O(s + kn) and depth dn 2) guess a polynomial Q X of degree at most dn 3) check that Q X = C(R? X,, R % (X)) by polynomial identity testing, if not: ACCEPT O(dn) OV(s + kn + dn) 4) multipoint evaluate Q X on X = 1,, n and return these values OV(dn) 5) ACCEPT if @ RL? Q(j) 1 OV(dn)

Co-Nondet. Algorithm for OV NO-instance: If we correctly guess Q X then the identity test works with prob. 1 and we correctly report non-existence of an orthogonal pair = REJECT YES-instance: If we correctly guess Q X then we ACCEPT If we wrongly guess Q X then identity test fails with prob. 1 n ) (?) for any guess: we ACCEPT with probability 1 n ) (?) 1) compute polynomials R? X,, R % (X) such that R K j = z R [i] OV(kn) by polynomial interpolation new goal: evaluate univariate circuit C X = C(R? X,, R % (X)) on X = 1,, n C has size O(s + kn) and depth dn 2) guess a polynomial Q X of degree at most dn 3) check that Q X = C(R? X,, R % (X)) by polynomial identity testing, if not: ACCEPT O(dn) OV(s + kn + dn) 4) multipoint evaluate Q X on X = 1,, n and return these values OV(dn) 5) ACCEPT if @ RL? Q(j) 1 OV(dn)

Conclusion Nondeterministic SETH: k-sat has no no O(2?)* @ ) co-nondet. algorithm No randomization allowed If it holds, then there is no deterministic reduction from SETH to 3SUM, since 3SUM has a OV(n P/( ) co-nondeterministic algorithm This is the only tool for ruling out reductions! Randomized Nondeterministic SETH : is wrong! We have seen a OV(dn) co-nondeterministic algorithm for OV uses many tools for computing with polynomials and arithmetic circuits