Exponential time vs probabilistic polynomial time

Sylvain Perifel (LIAFA, Paris)

Dagstuhl – January 10, 2012 BPP = P of course! (?)

Common belief: they can be derandomized (true if some circuit lower bounds hold)

Introduction

Probabilistic algorithms:

I can toss a coin

I polynomial time (worst case)

I probability of error <  → class BPP. Introduction

Probabilistic algorithms: BPP = P of course! (?) I can toss a coin

I polynomial time (worst case)

I probability of error <  → class BPP.

Common belief: they can be derandomized (true if some circuit lower bounds hold) NEXP EXP

PSPACE

PH

NP BPP P

However. . .

Even if it is believed that

BPP = P

it is open whether

NEXP 6= BPP (!) NEXP EXP

PSPACE

PH

NP

However. . .

Even if it is believed that

BPP = P

it is open whether BPP NEXP 6= BPP (!) P NEXP EXP

PSPACE

PH

However. . .

Even if it is believed that

BPP = P

it is open whether NP BPP NEXP 6= BPP (!) P NEXP EXP

PSPACE

However. . .

Even if it is believed that

BPP = P PH

it is open whether NP BPP NEXP 6= BPP (!) P NEXP EXP

However. . .

Even if it is believed that PSPACE

BPP = P PH

it is open whether NP BPP NEXP 6= BPP (!) P NEXP

However. . .

EXP

Even if it is believed that PSPACE

BPP = P PH

it is open whether NP BPP NEXP 6= BPP (!) P However. . .

NEXP EXP

Even if it is believed that PSPACE

BPP = P PH

it is open whether NP BPP NEXP 6= BPP (!) P Outline

1. Problem

2. Resource-bounded Kolmogorov complexity

3. Interactive protocols Outline

1. Problem

2. Resource-bounded Kolmogorov complexity

3. Interactive protocols I Another view: a deterministicTM M which takes as input x together with a string of random bits → M(x, r)

BPP: class of languages A such that there is a polynomial-time M satisfying

I if x ∈ A then Prr∈{0,1}p(n) (M(x, r) = 1) ≥ 2/3

I if x 6∈ A then Prr∈{0,1}p(n) (M(x, r) = 0) ≥ 2/3

→ M gives the correct answer with probability ≥ 2/3.

Probabilistic algorithms

I Turing machine that can toss a coin at each step BPP: class of languages A such that there is a polynomial-time Turing machine M satisfying

I if x ∈ A then Prr∈{0,1}p(n) (M(x, r) = 1) ≥ 2/3

I if x 6∈ A then Prr∈{0,1}p(n) (M(x, r) = 0) ≥ 2/3

→ M gives the correct answer with probability ≥ 2/3.

Probabilistic algorithms

I Turing machine that can toss a coin at each step

I Another view: a deterministicTM M which takes as input x together with a string of random bits r → M(x, r) Probabilistic algorithms

I Turing machine that can toss a coin at each step

I Another view: a deterministicTM M which takes as input x together with a string of random bits r → M(x, r)

BPP: class of languages A such that there is a polynomial-time Turing machine M satisfying

I if x ∈ A then Prr∈{0,1}p(n) (M(x, r) = 1) ≥ 2/3

I if x 6∈ A then Prr∈{0,1}p(n) (M(x, r) = 0) ≥ 2/3

→ M gives the correct answer with probability ≥ 2/3. I the probability of error 1/3 can be reduced by repeting the algorithm

I BPP has circuits of polynomial size (Adleman 1978)

Remarks on BPP

Remarks:

I polynomial time whatever the random bits I BPP has circuits of polynomial size (Adleman 1978)

Remarks on BPP

Remarks:

I polynomial time whatever the random bits

I the probability of error 1/3 can be reduced by repeting the algorithm Remarks on BPP

Remarks:

I polynomial time whatever the random bits

I the probability of error 1/3 can be reduced by repeting the algorithm

I BPP has circuits of polynomial size (Adleman 1978) Deterministic: no known polynomial algorithm. . .

Probabilistic: C is evaluated modulo

random integers mi

If we can compute a polynomial number of integers mi st

C() = 0 ⇐⇒ ∀i, C() ≡ 0 mod mi, (|C| = n) Q then i mi doesn’t have circuits of size n: lower bound!

Example

Integer testing: −1 Input: an arithmetic circuit C

computing an integer N × Question: N = 0? +

×

×

+ Probabilistic: C is evaluated modulo

random integers mi

If we can compute a polynomial number of integers mi st

C() = 0 ⇐⇒ ∀i, C() ≡ 0 mod mi, (|C| = n) Q then i mi doesn’t have circuits of size n: lower bound!

Example

Integer testing: −1 Input: an arithmetic circuit C

computing an integer N × Question: N = 0? + Deterministic: no known polynomial algorithm. . . ×

×

+ If we can compute a polynomial number of integers mi st

C() = 0 ⇐⇒ ∀i, C() ≡ 0 mod mi, (|C| = n) Q then i mi doesn’t have circuits of size n: lower bound!

Example

Integer testing: −1 Input: an arithmetic circuit C

computing an integer N × Question: N = 0? + Deterministic: no known polynomial algorithm. . . ×

× Probabilistic: C is evaluated modulo + random integers mi Q then i mi doesn’t have circuits of size n: lower bound!

Example

Integer testing: −1 Input: an arithmetic circuit C

computing an integer N × Question: N = 0? + Deterministic: no known polynomial algorithm. . . ×

× Probabilistic: C is evaluated modulo + random integers mi

If we can compute a polynomial number of integers mi st

C() = 0 ⇐⇒ ∀i, C() ≡ 0 mod mi, (|C| = n) Example

Integer testing: −1 Input: an arithmetic circuit C

computing an integer N × Question: N = 0? + Deterministic: no known polynomial algorithm. . . ×

× Probabilistic: C is evaluated modulo + random integers mi

If we can compute a polynomial number of integers mi st

C() = 0 ⇐⇒ ∀i, C() ≡ 0 mod mi, (|C| = n) Q then i mi doesn’t have circuits of size n: lower bound! I very large class

I problems: Succinct 3SAT, . . .

Best circuit lower bound known (Ryan Williams 2010): NEXP 6⊂ ACC0

(polynomial size, constant depth circuits with modulo gates)

Open:

I NEXP 6⊂ P/poly (polynomial size circuits)? NEXP 6= BPP? I

Nondeterministic exponential time

NEXP:

I languages recognized by a nondeterministicTM working in exponential time Best circuit lower bound known (Ryan Williams 2010): NEXP 6⊂ ACC0

(polynomial size, constant depth circuits with modulo gates)

Open:

I NEXP 6⊂ P/poly (polynomial size circuits)? NEXP 6= BPP? I

Nondeterministic exponential time

NEXP:

I languages recognized by a nondeterministicTM working in exponential time

I very large class

I complete problems: Succinct 3SAT, . . . Open:

I NEXP 6⊂ P/poly (polynomial size circuits)? NEXP 6= BPP? I

Nondeterministic exponential time

NEXP:

I languages recognized by a nondeterministicTM working in exponential time

I very large class

I complete problems: Succinct 3SAT, . . .

Best circuit lower bound known (Ryan Williams 2010): NEXP 6⊂ ACC0

(polynomial size, constant depth circuits with modulo gates) Nondeterministic exponential time

NEXP:

I languages recognized by a nondeterministicTM working in exponential time

I very large class

I complete problems: Succinct 3SAT, . . .

Best circuit lower bound known (Ryan Williams 2010): NEXP 6⊂ ACC0

(polynomial size, constant depth circuits with modulo gates)

Open:

I NEXP 6⊂ P/poly (polynomial size circuits)? NEXP 6= BPP? I One strategy for NEXP 6= BPP: diagonalize over probabilistic machines working in time nlog n → time 2nlog n , outside NEXP.

Why doesn’t simple diagonalization work?

In order to simulate deterministically a probabilistic TM with |r| random bits:

I run M(x, r) for r

I take the majority answer → time ≥ 2|r| Why doesn’t simple diagonalization work?

In order to simulate deterministically a probabilistic TM with |r| random bits:

I run M(x, r) for all r

I take the majority answer → time ≥ 2|r|

One strategy for NEXP 6= BPP: diagonalize over probabilistic machines working in time nlog n → time 2nlog n , outside NEXP. Outline

1. Problem

2. Resource-bounded Kolmogorov complexity

3. Interactive protocols Resource bounded t in time t

I Other variants studied: Buhrman, Fortnow, Laplante, Lee, van Melkebeek, Romashchenko, . . .

I Results on the complexity of computing the resource bounded Kolmogorov complexity: Allender, Mayordomo, Ronneburger, . . .

In this talk: more basic stuffs!

Definition

Kolmogorov complexity: C (x) = minimal size of a program printing x I Other variants studied: Buhrman, Fortnow, Laplante, Lee, van Melkebeek, Romashchenko, . . .

I Results on the complexity of computing the resource bounded Kolmogorov complexity: Allender, Mayordomo, Ronneburger, . . .

In this talk: more basic stuffs!

Definition

Resource bounded Kolmogorov complexity: Ct(x) = minimal size of a program printing x in time t In this talk: more basic stuffs!

Definition

Resource bounded Kolmogorov complexity: Ct(x) = minimal size of a program printing x in time t

I Other variants studied: Buhrman, Fortnow, Laplante, Lee, van Melkebeek, Romashchenko, . . .

I Results on the complexity of computing the resource bounded Kolmogorov complexity: Allender, Mayordomo, Ronneburger, . . . Definition

Resource bounded Kolmogorov complexity: Ct(x) = minimal size of a program printing x in time t

I Other variants studied: Buhrman, Fortnow, Laplante, Lee, van Melkebeek, Romashchenko, . . .

I Results on the complexity of computing the resource bounded Kolmogorov complexity: Allender, Mayordomo, Ronneburger, . . .

In this talk: more basic stuffs! The proof requires enumerating a set of exponential size → open with polynomial time bounds.

THEOREM (Lee and Romashchenko 2005, P. 2007) If (SI) holds with polynomial-time bounds, then EXP 6= BPP and even EXP 6⊂ P/poly.

Example of a link with our problem

Usually C(x, y) & C(x) + C(y|x) (symmetry of information) THEOREM (Lee and Romashchenko 2005, P. 2007) If (SI) holds with polynomial-time bounds, then EXP 6= BPP and even EXP 6⊂ P/poly.

Example of a link with our problem

Usually C(x, y) & C(x) + C(y|x) (symmetry of information)

The proof requires enumerating a set of exponential size → open with polynomial time bounds. Example of a link with our problem

Usually C(x, y) & C(x) + C(y|x) (symmetry of information)

The proof requires enumerating a set of exponential size → open with polynomial time bounds.

THEOREM (Lee and Romashchenko 2005, P. 2007) If (SI) holds with polynomial-time bounds, then EXP 6= BPP and even EXP 6⊂ P/poly. A classical observation

Let M be a BPP machine for a language A working in time t with error 2−t.

Suppose x ∈ A.

(1−)t I Then there are 2 words r such that M(x, r) = 0.

t2t I Hence if M(x, r) = 0 then C (r|x) ≤ (1 − )t.

In other words, if Ct2t (r|x) > (1 − )t then M(x, r) gives the correct result. The converse?

[Cheating. . . ]

If M(x, r) = 0 then Ct2t (r|x) ≤ (1 − )t.

Since there are: (1−)t I 2 words r such that M(x, r) = 0 (1−)t t2t I ≤ 2 words r such that C (r|x) ≤ (1 − )t we have

t Ct2 (r|x) ≤ (1 − )t ⇐⇒ M(x, r) = 0 (!) Going outside BPP

Then for an enumeration (Mn) of probabilistic machines on input x, in NEXP: log n I guess r of size n ,

I check it has high complexity, log n I simulate Mn(x, r) for n steps and take the opposite result.

Hence NEXP 6= BPP! The converse?

If M(x, r) = 0 then Ct2t (r|x) ≤ (1 − )t + α. Hence: t2t I if C (r|x) ≥ (1 − )t + α then M(x, r) = 1; −α I for a fraction 2 of the remaining words r, M(x, r) = 0.

M(x, r) = 1 r ∈ {0, 1}n and complex

M(x, r) = 0 and not complex M(x, r) = 1 but not complex The converse?

If M(x, r) = 0 then Ct2t (r|x) ≤ (1 − )t + α. Hence: t2t I if C (r|x) ≥ (1 − )t + α then M(x, r) = 1; −α I for a fraction 2 of the remaining words r, M(x, r) = 0.

M(x, r) = 1 r ∈ {0, 1}n and complex

M(x, r) = 0 and not complex M(x, r) = 1 but not complex Outline

1. Problem

2. Resource-bounded Kolmogorov complexity

3. Interactive protocols (even better: MAEXP 6⊂ P/poly Buhrman, Fortnow, Thierauf 1998)

Quantifier alternation

THEOREM (Kannan 1982) NEXPNP does not have circuits of polynomial size

Idea (in fact more subtle): in NEXPNP express

2 log n “there is a circuit A0 of size n such that: log n for all circuit A of size n , A(x) 6= A0(x) for some x” Quantifier alternation

THEOREM (Kannan 1982) NEXPNP does not have circuits of polynomial size

Idea (in fact more subtle): in NEXPNP express

2 log n “there is a circuit A0 of size n such that: log n for all circuit A of size n , A(x) 6= A0(x) for some x”

(even better: MAEXP 6⊂ P/poly Buhrman, Fortnow, Thierauf 1998) Exponentially long proof π, BPP-style verifier V that can read a polynomial number of bits from the proof.

π

V

π I if x ∈ A then ∃π st V (x) accepts with proba 1; π I if x ∈ A then ∀π, V (x) rejects with proba ≥ 2/3.

Interactive protocol for NEXP

NEXP = MIP (Babai, Fortnow, Lund 1991) or NEXP = PCP(poly, poly). Interactive protocol for NEXP

NEXP = MIP (Babai, Fortnow, Lund 1991) or NEXP = PCP(poly, poly).

Exponentially long proof π, BPP-style verifier V that can read a polynomial number of bits from the proof.

π

V

π I if x ∈ A then ∃π st V (x) accepts with proba 1; π I if x ∈ A then ∀π, V (x) rejects with proba ≥ 2/3. I With such a powerful verifier, we have “two quantifiers” → hope for going outside from BPP?

I Problem: only a polynomial number of bits of the proof can be read

Question: what can be done in PCP(poly, poly)NEXP?

Protocols with powerful verifier

If NEXP = BPP then the verifier can be BPPNEXP! Question: what can be done in PCP(poly, poly)NEXP?

Protocols with powerful verifier

If NEXP = BPP then the verifier can be BPPNEXP!

I With such a powerful verifier, we have “two quantifiers” → hope for going outside from BPP?

I Problem: only a polynomial number of bits of the proof can be read Protocols with powerful verifier

If NEXP = BPP then the verifier can be BPPNEXP!

I With such a powerful verifier, we have “two quantifiers” → hope for going outside from BPP?

I Problem: only a polynomial number of bits of the proof can be read

Question: what can be done in PCP(poly, poly)NEXP? Last question:

if M is a BPP-machine and C2n (r) = |r|, does M(x, r) give the correct answer?

(time bound 2n instead of t2t)

Conclusion

I hard-to-believe but still open

I (resource-bounded) Kolmogorov complexity might help

I combined with interactive protocols? Conclusion

I hard-to-believe but still open

I (resource-bounded) Kolmogorov complexity might help

I combined with interactive protocols?

Last question:

if M is a BPP-machine and C2n (r) = |r|, does M(x, r) give the correct answer?

(time bound 2n instead of t2t)