Lecture 6: Polynomial-time hierarchy
A visit to the polynomial-time hierarchy
Thm:
- LexicoSAT is
-complete - CircuitSAT is
-complete
- LexicoSAT:
-
the set of
s.t. in the first (lexicographically) valuation that satisfies - CircuitSAT:
-
evaluate
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})
⟶ you call the SAT oracle
BUT: you have to store the intermedite
- ask: is
- then, set
, and is - ⋮
- then, set
, and is
But again, you have to recall the
CircuitSAT is -hard
NB: Recall that
Let
Your
LexicoSAT is -hard
Let’s show that
Given
- ⋮
where the
- ⋮
with the ordering
is satisifiable (set all the and to (and everything else as well)). in (when you run the program) can be extended to a satisfying assignment (set to the same value as )-
any
for is smaller or equal (lexicographically) thanBy contradiction: assume that:
satisifies agrees with on-
on (the first position where they disagree):then it means that
, so that there exists indeed a satisfying assignment for the formula , and by definition of , has to be set to : contradiction.
ParitySAT
- ParitySAT
-
Obviously:
: you use the SAT oracle times and remember the result- But you also have
: you use the SAT oracle times and each time, you remember the last bit (parity).
NB: counting how many of these valuations are satisfying ones is also in
Thm:
- ParitySAT is
-complete
:-
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)
:-
you can only call the oracle
times
(
Lemma:
Let
Then,
Let
With the same trick as the one used to show
- guess which ones are part of the
ones - if the computation is accepting (in NP, à la Cook-Levin): check in polynomial time that the
guessed are actually satisifiable.
NB:
indeed: as
Boolean Hierarchy (over ) = Difference Hierarchy
- First stage:
and - Second one:
intersection of languages in with languages in (by abuse of notation, denoted by ) and - Third one:
and - ⋮
Alternation of union and intersection (with complementary).
Leave a comment