The Polynomial Hierarchy
Deciding Satifiability We’ve already seen, that deciding whether a formula is satisfiable… x1 …xn(x1x2x8)… (x6x3) x1x2x3… [(x1x2x8)…(x6x3)] only existential quantifier existential & universal quantifiers PSPACE-complete NP-complete
Technical Note x1x2…xk is the same as x=<x1,x2,…,xk> Thus, allowing several adjacent quantifiers of the same type does not change the problem.
i alternating quantifiers The Hierarchy Definition (i): i is the class of all languages reducible to deciding the sat. of a formula of type: x1x2 x3… R(x1,x2,x3,…) i alternating quantifiers
i alternating quantifiers The Hierarchy Definition (i): i is the class of all languages reducible to deciding the sat. of a formula of type: x1x2x3… R(x1,x2,x3,…) i alternating quantifiers
PH (Polynomial-time Hierarchy) Definition: PH = i i
Simple Observations “base”: 1=NP “connection between and ”: i=coi “hierarchy”: ii+1 and ii+1 “upper bound”: PHPSPACE
Can the Hierarchy Collapse? Proposition: If NP=coNP, then PH=NP. Proof Idea: By induction on i, i=NP.
Recall: Arithmetical Hierarchy co-r.e. DEC=r.e.co-r.e. DEC=Decidable Sets
Oracle TM Generalize TM M to “oracle TM” M with states Q,Y,N and special “oracle tape.” When M enters state Q it jumps to Y if word on oracle tape is in B otherwise jumps to N. Oracle B Y Q N oracle tape M will erase the oracle tape after entering Y/N
PTIME executions
NP executions (configuration trees)
Alternating Computation Configuration Type Existential Universal Negating + - + Accepting - - + + - + - Rejecting Computation Tree
Back to Alternation For an accepting tree there exists a witness subtree for acceptance (and similar for rejection) Witness subtree contains a single accepting son for every accepting node, and a single rejecting son for every rejecting node A witness subtree is finite, even when the tree itself is infinite! Infinite branches are irrelevant!
Negating Nodes ? Create for every node its dual node which yields the “same” transitions Dual of accepting node is rejecting Dual of rejecting node is accepting Dual of universal node is existential Dual of existential node is universal Dual of Dual is identity Replace every negating node by an existential one, dualizing the entire subtree below it (think de Morgan!) Negating states are unnecessary - by dualizing parts of the computation tree they can be removed.
Eliminating Negating Nodes + + + - - + - - + + + - + + - - + + + - - - + + + - - - + - - + - + - + + + - + - - + + - + + - - - - + + - - Dualized nodes -