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

β–Ά
complexity theory of polynomial time problems
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Complexity Theory of Polynomial-Time Problems

Karl Bringmann

Lecture 11: Nondeterministic SETH

slide-2
SLIDE 2

Complexity Inside P

SAT 2n EDIT n2 LCS n2 FrΓ©chet n2 diameter n2 OV n2 Colinearity n2 Negative Triangle n3 Radius n3 3SUM-hard APSP equivalent SETH-hard APSP n3 3SUM n2 BMM π‘œ" SlidingWindowHD π‘œ" BMM-hard

can we relate SAT / 3SUM / APSP / BMM?

slide-3
SLIDE 3

Relating Hypotheses

  • nly very weak relations are known

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

slide-4
SLIDE 4
  • I. Nondeterministic SETH
slide-5
SLIDE 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 NP: all problems solvable in polytime by a nondet. Turing machine k-SAT algorithm: guess a satisfying assignment, check correctness 𝑃(π‘œ + 𝑛) 3SUM algorithm: guess 𝑏, 𝑐, 𝑑 ∈ 𝐡 and check 𝑏 + 𝑐 + 𝑑 = 0 𝑃(1)/𝑃(π‘œ) β€žguess a short proof of satisfiability and check itβ€œ guesses on an accepting path = proof that we have a YES-instance

slide-6
SLIDE 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 co-NP: all problems solvable in polytime by a co-nondet. Turing machine 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 k-SAT: β€žguess a short proof of unsatisfiability and check itβ€œ – Is this possible ? guesses on a rejecting path = proof that we have a NO-instance classic computational complexity:

slide-7
SLIDE 7

(Co-)Nondeterministic SETH

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 not even a 𝑃(2 ?)* @) co-nondet. algorithm is known! Nondeterministic SETH: k-SAT has no no 𝑃(2 ?)* @) co-nondet. algorithm do not allow randomization! if NP β‰  co-NP, then k-SAT has no 𝑃(poly(π‘œ)) co-nondet. algorithm

[CGIMPS’16]

slide-8
SLIDE 8

Potential Reduction from SAT to 3SUM

an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.:

3SUM

total time 𝑠(π‘œ) size π‘œ? reduction instance 𝐽1 size π‘œ% instance 𝐽𝑙

… …

for any fomula 𝜚, algorithm 𝐡(𝜚) correctly solves k-SAT on 𝜚 𝐡 runs in time 𝑠(π‘œ) = 𝑃(2 ?)E @) for some 𝛿 > 0 for any 𝜁 > 0 there is a πœ€ ∈ (0, 𝛿) s.t. βˆ‘ π‘œK

()* % KL?

≀ 2 ?)N @ Properties:

k-SAT

π‘œ variables, 𝑛 ≀ π‘œ% clauses fomula 𝜚 e.g. 𝑙 = 1 and π‘œ? = 2@/(𝑛O, then π‘œ?

()* ≀ 2 ?)*/( @π‘œO% ≀ 2 ?)*/P @

slide-9
SLIDE 9

Potential Reduction from SAT to 3SUM

an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.:

3SUM

total time 𝑠(π‘œ) size π‘œ? reduction instance 𝐽1 size π‘œ% instance 𝐽𝑙

… …

for any fomula 𝜚, algorithm 𝐡(𝜚) correctly solves k-SAT on 𝜚 𝐡 runs in time 𝑠(π‘œ) = 𝑃(2 ?)E @) for some 𝛿 > 0 for any 𝜁 > 0 there is a πœ€ ∈ (0, 𝛿) s.t. βˆ‘ π‘œK

()* % KL?

≀ 2 ?)N @ Properties:

k-SAT

π‘œ variables, 𝑛 ≀ π‘œ% clauses fomula 𝜚

𝑃(π‘œ()*) algorithm 𝑃(2 ?)N @) algorithm ⟸

slide-10
SLIDE 10

Potential Reduction from SAT to 3SUM

an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.:

3SUM

total time 𝑠(π‘œ) size π‘œ? reduction instance 𝐽1 size π‘œ% instance 𝐽𝑙

… …

for any fomula 𝜚, algorithm 𝐡(𝜚) correctly solves k-SAT on 𝜚 𝐡 runs in time 𝑠(π‘œ) = 𝑃(2 ?)E @) for some 𝛿 > 0 for any 𝜁 > 0 there is a πœ€ ∈ (0, 𝛿) s.t. βˆ‘ π‘œK

()* % KL?

≀ 2 ?)N @ Properties:

k-SAT

π‘œ variables, 𝑛 ≀ π‘œ% clauses fomula 𝜚

  • nondet. 𝑃(π‘œ()*) algorithm and

co-nondet. 𝑃(π‘œ()*) algorithm

  • nondet. 𝑃(2 ?)N @) algorithm and

co-nondet. 𝑃(2 ?)N @) algorithm ⟸

slide-11
SLIDE 11

Potential Reduction from SAT to 3SUM

an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.:

3SUM

total time 𝑠(π‘œ) size π‘œ? reduction instance 𝐽1 size π‘œ% instance 𝐽𝑙

… …

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

k-SAT

π‘œ variables, 𝑛 ≀ π‘œ% clauses fomula 𝜚 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β€œ

slide-12
SLIDE 12

Potential Reduction from SAT to 3SUM

an deterministic algorithm 𝐡 for k-SAT with oracle access to 3SUM s.t.:

3SUM

total time 𝑠(π‘œ) size π‘œ? reduction instance 𝐽1 size π‘œ% instance 𝐽𝑙

… … k-SAT

π‘œ variables, 𝑛 ≀ π‘œ% clauses fomula 𝜚

  • nondet. 𝑃(π‘œ()*) algorithm and

co-nondet. 𝑃(π‘œ()*) algorithm

  • nondet. 𝑃(2 ?)N @) algorithm and

co-nondet. 𝑃(2 ?)N @) algorithm ⟸ no nondet. 𝑃(π‘œ()*) algorithm or no co-nondet. 𝑃(π‘œ()*) algorithm no nondet. 𝑃(2 ?)N @) algorithm or no co-nondet. 𝑃(2 ?)N @) algorithm ⟹ =NSETH

slide-13
SLIDE 13

Ruling Out Reductions

either 3SUM has strongly subquadratic algorithms

  • r 3SUM is hard for a different reason than k-SAT
  • r NSETH fails

then there is no deterministic reduction from k-SAT to 3SUM If NSETH holds and 3SUM has a 𝑃(π‘œ()*) co-nondeterministic algorithm

we will show this

has drawbacks, but this is the only tool for negative results in this area

slide-14
SLIDE 14

Co-Nondeterministic Algorithm for 3SUM

Thm: 3SUM has a co-nondeterministic algorithm in time 𝑃 V(π‘œP/()

[CGIMPS’16]

3SUM: given set 𝐡 of integers in {βˆ’π‘œY, … , π‘œY}, are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0?

𝑃 V hides polylogarithmic factors in n 𝑃 V 𝑔 π‘œ = \ 𝑃 𝑔 π‘œ logO π‘œ

O^_

𝑃 V 𝑔 π‘œ = 𝑃(𝑔 π‘œ β‹… polylog π‘œ)

slide-15
SLIDE 15

Co-Nondeterministic Algorithm for 3SUM

Thm: 3SUM has a co-nondeterministic algorithm in time 𝑃 V(π‘œP/()

[CGIMPS’16]

1) guess prime π‘ž ≀ π‘œP/( logπ‘œ 2) compute 𝑒 = 𝑏,𝑐,𝑑 ∈ 𝐡P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž 𝑃 V(π‘ž)

3SUM: given set 𝐡 of integers in {βˆ’π‘œY, … , π‘œY}, are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0?

𝑃 V(π‘ž)

slide-16
SLIDE 16

Recall: 3SUM for Small Numbers

3SUM is in time 𝑃 π‘œ + 𝑃 V(𝑉) for numbers in {0, …, 𝑉} define polynomial 𝑄 π‘Œ ≔ βˆ‘ π‘Œk

k∈l

has degree at most 𝑉 compute 𝑅 π‘Œ ≔ 𝑄 π‘Œ β‹… 𝑄 π‘Œ β‹… 𝑄 π‘Œ = (βˆ‘ π‘Œk

k∈l

)(βˆ‘ π‘Œk

k∈l

)(βˆ‘ π‘Œk

k∈l

) what is the coefficient of π‘Œn in 𝑅(π‘Œ)? use efficient polynomial multiplication (via Fast Fourier Transform): polynomials of degree 𝑒 can be multiplied in time 𝑃 V(𝑒) (π‘Œk β‹… π‘Œp β‹… π‘ŒO = π‘ŒkqpqO) it is the number of (𝒃,𝒄, 𝒅) summing to 𝒖

slide-17
SLIDE 17

Co-Nondeterministic Algorithm for 3SUM

Thm: 3SUM has a co-nondeterministic algorithm in time 𝑃 V(π‘œP/()

[CGIMPS’16]

1) guess prime π‘ž ≀ π‘œP/( logπ‘œ 2) compute 𝑒 = 𝑏,𝑐,𝑑 ∈ 𝐡P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž 𝑃 V(π‘ž)

3SUM: given set 𝐡 of integers in {βˆ’π‘œY, … , π‘œY}, are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0?

let 𝐢 ≔ 𝑏 mod π‘ž 𝑏 ∈ 𝐡} (in general 𝐢 is a multi-set!) let 𝑠

_ ≔

𝑏, 𝑐, 𝑑 ∈ 𝐢P | 𝑏 + 𝑐 + 𝑑 = 0 let 𝑠

? ≔

𝑏, 𝑐, 𝑑 ∈ 𝐢P | 𝑏 + 𝑐 + 𝑑 = π‘ž let 𝑠

( ≔

𝑏, 𝑐, 𝑑 ∈ 𝐢P | 𝑏 + 𝑐 + 𝑑 = 2π‘ž then 𝑒 = 𝑠

_ + 𝑠 ? + 𝑠 (

universe size 𝑉 = π‘ž

slide-18
SLIDE 18

Co-Nondeterministic Algorithm for 3SUM

Thm: 3SUM has a co-nondeterministic algorithm in time 𝑃 V(π‘œP/()

[CGIMPS’16]

1) guess prime π‘ž ≀ π‘œP/( logπ‘œ 2) compute 𝑒 = 𝑏,𝑐,𝑑 ∈ 𝐡P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž 4) guess distinct 𝑏?,𝑐?,𝑑? ,… , 𝑏n,𝑐n, 𝑑n ∈ 𝐡P such that 𝑏K + 𝑐K + 𝑑K = 0 mod π‘ž βˆ€π‘— 3) if 𝑒 > 𝛽 β‹… π‘œP/( logπ‘œ: accept 5) check that for all 𝑏K, 𝑐K, 𝑑K we have 𝑏K + 𝑐K + 𝑑K β‰  0 6) if everything works out: reject (otherwise accept) 𝑃 V(π‘ž) βœ” time 𝑃 V(π‘œP/() YES-instance: all paths accept NO-instance: at least one path rejects βœ” if we reject then we have a NO-instance βœ”

3SUM: given set 𝐡 of integers in {βˆ’π‘œY, … , π‘œY}, are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0? (constant 𝛽 to be fixed later)

slide-19
SLIDE 19

Co-Nondeterministic Algorithm for 3SUM

show that there exists a prime π‘ž ≀ π‘œP/( logπ‘œ such that 𝑒 = 𝑏, 𝑐,𝑑 ∈ 𝐡P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž < 𝛽 β‹… π‘œP/( logπ‘œ NO-instance: at least one path rejects: M := # tuples (𝑏, 𝑐, 𝑑, π‘ž) with 𝑏, 𝑐,𝑑 ∈ 𝐡 and prime π‘ž s.t. 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž

3SUM: given set 𝐡 of integers in {βˆ’π‘œY, … , π‘œY}, are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0?

each 𝑏 + 𝑐 + 𝑑 is in βˆ’3π‘œY , …, 3π‘œY βˆ– {0}, so it has at most log(3π‘œY) prime factors thus 𝑁 ≀ π‘œP log 3π‘œY ≀ 3𝑑 β‹… π‘œP log π‘œ by prime number theorem: there are at least π‘œP/(/𝛾 primes π‘ž ≀ π‘œP/( log π‘œ thus there is a prime π‘ž contained in at most 𝑁/(π‘œP/(/𝛾) tuples (𝑏, 𝑐, 𝑑, π‘ž) thus there is a prime π‘ž with 𝑒 ≀ 𝑁/(π‘œP/(/𝛾) ≀ 3𝑑 β‹… 𝛾 β‹… π‘œP/( log(π‘œ) set 𝛽 ≔ 3𝑑 β‹… 𝛾

slide-20
SLIDE 20

Co-Nondeterministic Algorithm for 3SUM

Thm: 3SUM has a co-nondeterministic algorithm in time 𝑃 V(π‘œP/()

[CGIMPS’16]

𝑃 V(π‘ž) βœ” time 𝑃 V(π‘œP/() YES-instance: all paths accept NO-instance: at least one path rejects βœ” if we reject then we have a NO-instance βœ”

3SUM: given set 𝐡 of integers in {βˆ’π‘œY, … , π‘œY}, are there 𝑏, 𝑐, 𝑑 ∈ 𝐡 s.t. 𝑏 + 𝑐 + 𝑑 = 0? (constant 𝛽 to be fixed later)

βœ” 1) guess prime π‘ž ≀ π‘œP/( logπ‘œ 2) compute 𝑒 = 𝑏,𝑐,𝑑 ∈ 𝐡P | 𝑏 + 𝑐 + 𝑑 = 0 mod π‘ž 4) guess distinct 𝑏?,𝑐?,𝑑? ,… , 𝑏n,𝑐n, 𝑑n ∈ 𝐡P such that 𝑏K + 𝑐K + 𝑑K = 0 mod π‘ž βˆ€π‘— 3) if 𝑒 > 𝛽 β‹… π‘œP/( logπ‘œ: accept 5) check that for all 𝑏K, 𝑐K, 𝑑K we have 𝑏K + 𝑐K + 𝑑K β‰  0 6) if everything works out: reject (otherwise accept)

slide-21
SLIDE 21
  • I. Randomized Nondeterministic SETH
slide-22
SLIDE 22

Randomized Nondeterministic SETH

Nondeterministic SETH: k-SAT has no no 𝑃(2 ?)* @) co-nondet. algorithm what if we allow randomization? Thm: k-SAT has a randomized co-nondeterministic 𝑃(2@/(poly(π‘œ)) algorithm with error probability 2)€(@) Thm: OV has a randomized co-nondeterministic 𝑃(π‘œ poly(𝑒,log π‘œ)) algorithm with error probability π‘œ)€(?)

⟸

[Williams’16]

then the hypothesis is wrong!

slide-23
SLIDE 23

Tools: Basics on Polynomials

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time univariate polynomials 𝑄 π‘Œ = βˆ‘ 𝑏Kπ‘ŒK

@ KL_

, 𝑅 π‘Œ = βˆ‘ 𝑐Kπ‘ŒK

Ζ’ KL_

, 𝑛 ≀ π‘œ multiplication 𝑄 π‘Œ β‹… 𝑅(π‘Œ): 𝑃 V π‘œ (by FFT, without proof) division with remainder: 𝑃 V π‘œ (without proof) 𝑄 π‘Œ = 𝑇 π‘Œ β‹… 𝑅 π‘Œ + 𝑆(π‘Œ), where 𝑆(π‘Œ) has degree < 𝑛 we write 𝑆 π‘Œ = 𝑄 π‘Œ mod 𝑅 π‘Œ evaluate 𝑄(π‘Œ) at a given point 𝑦: 𝑃(π‘œ) Hornerβ€˜s method: 𝑄 𝑦 = 𝑏_ + 𝑦 β‹… 𝑏? + 𝑦 β‹… 𝑏( + 𝑦 β‹… …

slide-24
SLIDE 24

Tools: Multipoint Evaluation on Polynomials

multipoint evaluation: 𝑃 V π‘œ 1) let 𝑀 π‘Œ ≔ (π‘Œ βˆ’ 𝑦?)β‹―(π‘Œ βˆ’ 𝑦@/() and 𝑆 π‘Œ ≔ (π‘Œ βˆ’ 𝑦@/(q?)β‹― (π‘Œ βˆ’ 𝑦@) evaluate 𝑄(π‘Œ) at given points π‘Œ = 𝑦?,… , 𝑦@ 2) let 𝑄

‰ π‘Œ ≔ 𝑄 π‘Œ mod 𝑀(π‘Œ)

and 𝑄

Ε  π‘Œ ≔ 𝑄 π‘Œ mod 𝑆(π‘Œ)

3) recursively compute 𝑄

‰(𝑦?),…, 𝑄 ‰(𝑦@/() and 𝑄 Ε (𝑦@/(q?),…, 𝑄 Ε (𝑦@)

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time univariate polynomial 𝑄 π‘Œ = βˆ‘ 𝑏Kπ‘ŒK

@ KL_

𝑄 π‘Œ = 𝑇 π‘Œ β‹… 𝑀 π‘Œ + 𝑄

‰(π‘Œ)

𝑄 𝑦K = 𝑇 𝑦K β‹… 𝑀 𝑦K + 𝑄

‰ 𝑦K

= 0 for 𝑗 ≀ π‘œ/2 polynomial division: π‘ˆ π‘œ = 2π‘ˆ π‘œ/2 + 𝑃 V π‘œ = 𝑃 V π‘œ = 𝑄

‰ 𝑦K

slide-25
SLIDE 25

Tools: Multipoint Evaluation on Polynomials

computing 𝑀 π‘Œ ≔ (π‘Œ βˆ’ 𝑦?)β‹―(π‘Œ βˆ’ 𝑦@/(): fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time univariate polynomial 𝑄 π‘Œ = βˆ‘ 𝑏Kπ‘ŒK

@ KL_

(π‘Œ βˆ’ 𝑦K) 𝑄

K,R π‘Œ : = β€’ π‘Œ βˆ’ 𝑦% R %LK

computes canonical polynomials 𝑄Yβ‹…(Ε½q?, Yq? (Ε½ π‘Œ defined by straight-forward binary tree logπ‘œ in layer 𝑗: π‘œ/2K multiplications of polynomials of degree 2K total time 𝑃 V π‘œ

slide-26
SLIDE 26

Tools: Polynomial Interpolation

polynomial interpolation: 𝑃 V π‘œ given pairs 𝑦?,𝑧? ,… , (𝑦@, 𝑧

@) find a polynomial 𝑄(π‘Œ) with 𝑄 𝑦K = 𝑧K for all 𝑗

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time univariate polynomial 𝑄 π‘Œ = βˆ‘ 𝑏Kπ‘ŒK

@ KL_

Lagrangeβ€˜s formula: 𝑄 π‘Œ = β€’ 𝑧K β‹… β€’ π‘Œ βˆ’ 𝑦R 𝑦K βˆ’ 𝑦R

Rβ€˜K K

Caveat: β€ždivision by π‘¦β€œ in β„€β€š means multiplication with the inverse 𝑦)? extended Euclidean algorithm: computes 𝑑,𝑒 with 𝑑 β‹… 𝑦 + 𝑒 β‹… π‘ž = gcd 𝑦, π‘ž = 1 modulo π‘ž: 𝑑 β‹… 𝑦 = 1 so 𝑑 = 𝑦)? is the inverse of 𝑦

slide-27
SLIDE 27

Tools: Polynomial Interpolation

1st goal: compute 𝑄 π‘Œ = β€’ 𝑧K

β€œ β‹… β€’ π‘Œ βˆ’ 𝑦R Rβ€˜K K

  • 𝑧K

β€œ β‹… β€’ π‘Œ βˆ’ 𝑦R Rβ€˜K K

=

  • 𝑧K

β€œ β‹…

  • π‘Œ βˆ’ 𝑦R

?”R”@/( Rβ€˜K ?”K”@/(

β‹… 𝑆 π‘Œ recursion: +

  • 𝑧K

β€œ β‹…

  • π‘Œ βˆ’ 𝑦R

@/(β€’R”@ Rβ€˜K @/(β€’K”@

β‹… 𝑀 π‘Œ (for 𝑧K

β€œ:= 𝑧K β‹… ∏ ? β€”Λœ)β€”β„’ Rβ€˜K

) let 𝑀 π‘Œ ≔ (π‘Œ βˆ’ 𝑦?)β‹―(π‘Œ βˆ’ 𝑦@/() and 𝑆 π‘Œ ≔ (π‘Œ βˆ’ 𝑦@/(q?)β‹― (π‘Œ βˆ’ 𝑦@)

slide-28
SLIDE 28

Tools: Polynomial Interpolation

2nd goal: compute factors 𝑑K = β€’ 1 𝑦K βˆ’ 𝑦R

Rβ€˜K

π‘…β€œ π‘Œ = β€’β€’ π‘Œ βˆ’ 𝑦R

Rβ€˜K K

= β€’ 𝑗 β‹… 𝑏Kπ‘ŒK)?

@ KL_

compute the derivative of can compute π‘…β€œ π‘Œ in time 𝑃 V π‘œ 𝑅 π‘Œ ≔ β€’ π‘Œ βˆ’ 𝑦K

@ KL?

= β€’ 𝑏Kπ‘ŒK

@ KL_

then we have π‘…β€œ 𝑦% = β€’ β€’ 𝑦% βˆ’ 𝑦R

Rβ€˜K K

= β€’ 𝑦% βˆ’ 𝑦R

Rβ€˜%

= 𝑑%

)?

compute all π‘…β€œ 𝑦% for 𝑙 = 1, … ,π‘œ in time 𝑃 V π‘œ by multipoint evaluation

slide-29
SLIDE 29

Tools: Polynomial Interpolation

polynomial interpolation: 𝑃 V π‘œ given pairs 𝑦?,𝑧? ,… , (𝑦@, 𝑧

@) find a polynomial 𝑄(π‘Œ) with 𝑄 𝑦K = 𝑧K for all 𝑗

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time univariate polynomial 𝑄 π‘Œ = βˆ‘ 𝑏Kπ‘ŒK

@ KL_

Lagrangeβ€˜s formula: 𝑄 π‘Œ = β€’ 𝑧K β‹… β€’ π‘Œ βˆ’ 𝑦R 𝑦K βˆ’ 𝑦R

Rβ€˜K K

can be computed in time 𝑃 V π‘œ !

slide-30
SLIDE 30

Tools: Arithmetic Circuits

arithmetic circuits are a (succinct) representation of (multivariate) polynomials fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time

Γ— + Γ— 42 π‘Œ? π‘Œ( + Γ— π‘ŒP 7

input gates labeled with variables π‘Œ?,…, π‘Œ%

  • univariate if 𝑙 = 1

each other gate is a β€œ+” or β€œΓ—β€ (unbounded fanin)

  • r a β€œβˆ’β€ (fanin 1)
  • r a constant (fanin 0)

fanout is unbounded

  • ne output gate

given an input 𝑦?,… ,𝑦% ∈ β„€β€š (no cyclic dependencies) the output 𝐷(𝑦?,… ,𝑦%) is the number computed

42 + π‘Œ?π‘Œ( π‘Œ?π‘Œ( βˆ’π‘Œ( π‘ŒP + π‘ŒP β‹… 7

βˆ’

by the output gate (in β„€β€š) = 7 = 1 = 1 = βˆ’2 = 7 = 8 = βˆ’1 = βˆ’2 = 40 = 42 = 640

slide-31
SLIDE 31

Tools: Arithmetic Circuits

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time

Γ— + Γ— 2 π‘Œ + 3

1 + 2π‘Œ 2π‘Œ 3 βˆ’ π‘Œ

βˆ’ 1

βˆ’4π‘ŒP + 10π‘Œ( + 6π‘Œ =

π‘Œ Γ— 6 10 βˆ’4

representation as circuit is not unique

+ Γ— + Γ—

circuit = unstructured, succinct polynomial = structured, verbose

slide-32
SLIDE 32

Tools: Arithmetic Circuits

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time

2

working modulo π‘ž is necessary

  • ver β„€ numbers can get very large:

Γ— Γ— Γ— Γ— Γ— Γ— = 2(

slide-33
SLIDE 33

Tools: Arithmetic Circuits

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time

Γ— + Γ— 42 π‘Œ? π‘Œ( + Γ— π‘ŒP 7

42 + π‘Œ?π‘Œ( π‘Œ?π‘Œ( βˆ’π‘Œ( π‘ŒP + π‘ŒP β‹… 7

βˆ’

size 𝑑 = number if wires 𝑙 inputs degree(input gate) = 1 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) degree 𝑒 = β€žlargest degree of any monomial assuming no cancelationsβ€œ 1 1 1 1 1 1 2 2 6

slide-34
SLIDE 34

Tools: Evaluation of Circuits

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time size 𝑑 = number if wires 𝑙 inputs

Γ— + Γ— 2 π‘Œ + 3

1 + 2π‘Œ 2π‘Œ 3 βˆ’ π‘Œ

βˆ’ 1

evaluating a circuit at given input: 𝑃(s) degree 𝑒

slide-35
SLIDE 35

Tools: Identity Testing

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time size 𝑑 = number if wires 𝑙 inputs given two circuits 𝐷?,𝐷(, do they represent the same polynomial over β„€β€š? degree 𝑒 assume that 𝐷?,𝐷( are univariate and assume π‘ž β‰₯ 2𝑒 this has a randomized 𝑃 V(𝑑)-time algorithm with error probability 1 βˆ’ 𝑑)€(?) this problem is called polynomial identity testing 1) for log𝑑 rounds: 2) pick random 𝑦 ∈ β„€β€š 3) if 𝐷?(𝑦) β‰  𝐷((𝑦): return β€žnot identicalβ€œ 4) return β€židenticalβ€œ 𝐷? π‘Œ βˆ’ 𝐷((π‘Œ) is a poly- nomial 𝑅(π‘Œ) of degree 𝑒 if 𝐷?(π‘Œ) β‰  𝐷((π‘Œ) then 𝑅(π‘Œ) is not the 0-polynomial and thus has at most 𝑒 roots with probability β‰₯ 1/2 we pick a non-root 𝑦 Schwarz-Zippel-Lemma:

slide-36
SLIDE 36

Tools: Evaluation of Circuits

fix field β„€β€š and assume that field operations can be performed in 𝑃(1) time size 𝑑 = number if wires 𝑙 inputs

Γ— + Γ— 2 π‘Œ + 3

1 + 2π‘Œ 2π‘Œ 3 βˆ’ π‘Œ

βˆ’ 1

evaluating a circuit at given input: 𝑃(s) no near-linear time algorithm known converting a univariate circuit to a polynomial: 𝑃 V(s β‹… d) degree 𝑒 (write each gate as a degree polynomial) multipoint evaluation (at π‘œ points): trivial algorithm: 𝑃(π‘œ β‹… s) conversion + multipoint evaluation for polynomials = multipoint evaluation for univariate circuits in 𝑃 V(s β‹… d + π‘œ + 𝑒) (for multivariate: degree 𝑒 polynomial has up to 𝑒 + 𝑙 + 1 𝑙 monomials ☹)

slide-37
SLIDE 37

OV as Multipoint Evaluation on Circuits

circuit 𝐷(𝑏, 𝑐) for testing orthogonality of 𝑏, 𝑐: Given sets 𝐡,𝐢 βŠ† 0,1 Β€ of size π‘œ Decide whether there are 𝑏 ∈ 𝐡, 𝑐 ∈ 𝐢 such that 𝑏 βŠ₯ 𝑐 OV: 𝐷(𝑏, 𝑐) = β€’(1 βˆ’ 𝑏K𝑐K)

Β€ KL?

Γ— + Γ— 1 𝑏? 𝑐? βˆ’ 1 … βˆ’ Γ— 𝑏€ 𝑐€ βˆ’

slide-38
SLIDE 38

OV as Multipoint Evaluation on Circuits

circuit 𝐷(𝑏) for testing orthogonality of 𝑏 with any 𝑐 ∈ 𝐢: Given sets 𝐡,𝐢 βŠ† 0,1 Β€ of size π‘œ Decide whether there are 𝑏 ∈ 𝐡, 𝑐 ∈ 𝐢 such that 𝑏 βŠ₯ 𝑐 OV: 𝐷(𝑏) = β€’ 𝐷(𝑏, 𝑐)

p∈¦

= β€’ β€’(1 βˆ’ 𝑏K𝑐K)

€ KL? p∈¦

+ …

for each 𝑐 ∈ 𝐢

𝐷(𝑏, 𝑐) …

  • 𝑒 inputs (for the coordinates of 𝑏)
  • size 𝑃(π‘œπ‘’)
  • degree ≀ 2𝑒
  • for any 𝑏 ∈ {0,1}Β€: 0 ≀ 𝐷(𝑏) ≀ π‘œ
  • pick prime π‘ž β‰₯ π‘œ and work modulo π‘ž, i.e., over field β„€β€š
slide-39
SLIDE 39

(Co-)Nondet. Multipoint Evaluation on Circuits

Given circuit 𝐷 on inputs π‘Œ?,… ,π‘Œ% with size 𝑑 and degree 𝑒 over β„€β€š can assume π‘ž β‰₯ 2π‘œπ‘’, π‘ž ≀ π‘œΒ§(?) Given inputs 𝑨?,… ,𝑨@ ∈ β„€β€š

%

want to evaluate 𝐷 on each 𝑨R = (𝑨R 1 , …, 𝑨R 𝑙 ) 1) compute polynomials 𝑆? π‘Œ , …, 𝑆%(π‘Œ) such that 𝑆K π‘˜ = 𝑨R[𝑗] by polynomial interpolation 𝑃 V(π‘™π‘œ) new goal: evaluate univariate circuit π·β€œ π‘Œ = 𝐷(𝑆? π‘Œ , …, 𝑆%(π‘Œ)) on π‘Œ = 1, … ,π‘œ 2) guess a polynomial 𝑅 π‘Œ of degree at most π‘’π‘œ 3) check that 𝑅 π‘Œ = 𝐷(𝑆? π‘Œ , … ,𝑆%(π‘Œ)) by β€œpolynomial identity testing” 𝑃(π‘’π‘œ) 𝑃 V(𝑑 + π‘™π‘œ + π‘’π‘œ) 4) multipoint evaluate 𝑅 π‘Œ on π‘Œ = 1, …, π‘œ and return these values 𝑃 V(π‘’π‘œ) 𝐷’ has size ≀ 𝑃(𝑑 + π‘™π‘œ) and depth ≀ π‘’π‘œ

slide-40
SLIDE 40

Co-Nondet. Algorithm for OV

5) ACCEPT if βˆ‘ 𝑅(π‘˜)

@ RL?

β‰₯ 1 1) compute polynomials 𝑆? π‘Œ , …, 𝑆%(π‘Œ) such that 𝑆K π‘˜ = 𝑨R[𝑗] by polynomial interpolation 𝑃 V(π‘™π‘œ) new goal: evaluate univariate circuit π·β€œ π‘Œ = 𝐷(𝑆? π‘Œ , …, 𝑆%(π‘Œ)) on π‘Œ = 1, … ,π‘œ 2) guess a polynomial 𝑅 π‘Œ of degree at most π‘’π‘œ 3) check that 𝑅 π‘Œ = 𝐷(𝑆? π‘Œ , … ,𝑆%(π‘Œ)) by β€œpolynomial identity testing”, if not: ACCEPT 𝑃(π‘’π‘œ) 𝑃 V(𝑑 + π‘™π‘œ + π‘’π‘œ) 4) multipoint evaluate 𝑅 π‘Œ on π‘Œ = 1, …, π‘œ and return these values 𝑃 V(π‘’π‘œ) 𝐷’ has size ≀ 𝑃(𝑑 + π‘™π‘œ) and depth ≀ π‘’π‘œ use circuit 𝐷(𝑏) for testing orthogonality of 𝑏 with any 𝑐 ∈ 𝐢 βŠ† {0,1}Β€ evaluate 𝐷(𝑏) at each 𝑏 ∈ 𝐡 𝑒 inputs, size 𝑃(π‘’π‘œ), degree ≀ 2𝑒 𝑃 V(π‘’π‘œ) YES-instance: all paths accept NO-instance: at least one path rejects ...with high probability

slide-41
SLIDE 41

Co-Nondet. Algorithm for OV

5) ACCEPT if βˆ‘ 𝑅(π‘˜)

@ RL?

β‰₯ 1 1) compute polynomials 𝑆? π‘Œ , …, 𝑆%(π‘Œ) such that 𝑆K π‘˜ = 𝑨R[𝑗] by polynomial interpolation 𝑃 V(π‘™π‘œ) new goal: evaluate univariate circuit π·β€œ π‘Œ = 𝐷(𝑆? π‘Œ , …, 𝑆%(π‘Œ)) on π‘Œ = 1, … ,π‘œ 2) guess a polynomial 𝑅 π‘Œ of degree at most π‘’π‘œ 3) check that 𝑅 π‘Œ = 𝐷(𝑆? π‘Œ , … ,𝑆%(π‘Œ)) by β€œpolynomial identity testing”, if not: ACCEPT 𝑃(π‘’π‘œ) 𝑃 V(𝑑 + π‘™π‘œ + π‘’π‘œ) 4) multipoint evaluate 𝑅 π‘Œ on π‘Œ = 1, …, π‘œ and return these values 𝑃 V(π‘’π‘œ) 𝐷’ has size ≀ 𝑃(𝑑 + π‘™π‘œ) and depth ≀ π‘’π‘œ 𝑃 V(π‘’π‘œ) NO-instance: If we correctly guess 𝑅 π‘Œ 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 𝑅 π‘Œ then we ACCEPT If we wrongly guess 𝑅 π‘Œ then identity test fails with prob. 1 βˆ’ π‘œ)€(?) for any guess: we ACCEPT with probability 1 βˆ’ π‘œ)€(?)

slide-42
SLIDE 42

Conclusion

No randomization allowed Nondeterministic SETH: k-SAT has no no 𝑃(2 ?)* @) co-nondet. algorithm If it holds, then there is no deterministic reduction from SETH to 3SUM, This is the only tool for ruling out reductions! β€žRandomized Nondeterministic SETHβ€œ: is wrong! We have seen a 𝑃 V(π‘’π‘œ) co-nondeterministic algorithm for OV uses many tools for computing with polynomials and arithmetic circuits since 3SUM has a 𝑃 V(π‘œP/() co-nondeterministic algorithm