Lecture 6: Polynomial-time hierarchy

A visit to the polynomial-time hierarchy

PNP,coNPLNP=Θ2PPNP=Δ2P

Thm:

  1. LexicoSAT is Δ2P-complete
  2. CircuitSAT is Δ2P-complete
LexicoSAT:

the set of φ(x1,,xn) s.t. v(xn)= in the first (lexicographically) valuation v that satisfies φ

CircuitSAT:

evaluate xn in the following program/circuit:

  x_1 = ∃ Y_1; F_1(Y_1)
  x_2 = ∃ Y_2; F_2(Y_2, x_1)
  ⋮
  x_n = ∃ Y_n; F_n(Y_n, x_1, ⋯, x_{n-1})
CircuitSATΔ2=PNP

⟶ you call the SAT oracle n times

BUT: you have to store the intermedite xi (not the the formulas, they’re part of the input), so it’s not trivially in LNP


LexicoSATΔ2=PNP
  1. ask: is φSAT
  2. then, set x1=, and is φ(x1)SAT
  3. then, set xn=, and is φ(x1,,xn1)SAT

But again, you have to recall the xi ⟶ not easily in LNP


CircuitSAT is Δ2-hard

NB: Recall that SAT is Σ2=NPNP-complete

Let LΔ2, a PTIME det. TM calling SAT (or any other NP-complete problem), write its transition table.

Your xi are here of the form xt,ia, and

xt+1,ia=y1,,yp(n);Fxi(y1,,yp(n),(xt,jxi[j])j,i)

LexicoSAT is Δ2-hard

Let’s show that CircuitSATLLexicoSAT

Given S

  • x1Y1,F1(Y1)
  • xnYn,Fn(Yn,x1,,xn1)

where the Yi are all disjoint

S is the conjunction of

  • x1F1(Y1)
  • xnFn(Yn,x1,,xn1)
  • (xnz)(xnz)

with the ordering

x1xnY1Ynz
  1. S is satisifiable (set all the xi and z to (and everything else as well)).
  2. vS:x1,,xn in S (when you run the program) can be extended to a satisfying assignment (set z to the same value as xn)
  3. any v for S is smaller or equal (lexicographically) than vS

    By contradiction: assume that:

    • v satisifies S
    • v agrees with vS on x1,,xi
    • v>vS on xi+1 (the first position where they disagree):

      • v(xi+1)=
      • vS(xi+1)=⊥

      then it means that v(Fi+1(Yi+1,x1,,xi))=, so that there exists indeed a satisfying assignment for the formula Yi+1,Fi+1(Yi+1,x1,,xi), and by definition of vS, xi+1 has to be set to : contradiction.

ParitySAT

ParitySAT
{φ1,,φn such that an even number of φi are satisifiable.}

Obviously:

  • ParitySATΔ2: you use the SAT oracle n times and remember the result
  • But you also have ParitySATθ2P=LNP: you use the SAT oracle n times and each time, you remember the last bit (parity).

NB: counting how many of these valuations are satisfying ones is also in θ2P=LNP, since counting can be done in logspace.


Thm:

  1. ParitySAT is Θ2P-complete
  2. Θ2P=LNP=P||NP=PNP[O(logn)]
P||NP:

there is just one call to the oracle, but we call all the questions (prepared in advance) in parallel (that is, we can’t use the answer of one question for another question)

PNP[O(r(n))]:

you can only call the oracle r(n) times


ParitySATPNP[O(log(n))]: call the following oracle logn times (dichotomic search):

L={(φ1,,φn,k) there are at least k satisifiable formulas}NP

(LNP: guess the k formulas, call SAT)


Lemma: PNP[O(log(n))]=P||NP

Let LPNP[O(log(n))], does p(n) queries at most clogn times.

can simulate the behavior of by building a tree, branching each time call the oracle instead of calling it as well ⟹ the overall size of the time is polynomial, since calls the oracle a logarithmic number of times.

Then, makes all the calls in parallel, and, as a result, knows which path to follow in the tree.

Let LPNP, recognizes by .

With the same trick as the one used to show ParitySATPNP[O(log(n))], computes the numbered of satisfied queries.

L={(w1,,wp(n),k)there exist k satisifiable wi in SAT s.t. the rest of the computation is accepting}
  • guess which ones are part of the k ones
  • if the computation is accepting (in NP, à la Cook-Levin): check in polynomial time that the k wi guessed are actually satisifiable.


θkLΣk1=P||Σk1=LΣk1[logn]

NB: NPNP[1]=NPNP

indeed: as NPNP reduces to SATNPNP[1] (guess the number of times you call the oracle)

Boolean Hierarchy (over NP) = Difference Hierarchy

  • First stage: NP and coNP
  • Second one: B1 intersection of languages in NP with languages in coNP (by abuse of notation, denoted by NPcoNP) and coB1
  • Third one: B2=B1B1 and coB2

Alternation of union and intersection (with complementary).

Leave a comment