Boolean hierarchy
The boolean hierarchy is the
Formal definition
BH is defined as follows:[2]
- BH1 is NP.
- BH2k is the class of languages which are the coNP.
- BH2k+1 is the class of languages which are the NP.
- BH is the union of all the BHi classes.
Derived classes
- DP (Difference Polynomial Time) is BH2.[3]
Equivalent definitions
Defining the conjunction and the disjunction of classes as follows allows for more compact definitions. The conjunction of two classes contains the languages that are the intersection of a language of the first class and a language of the second class. Disjunction is defined in a similar way with the union in place of the intersection.
- C ∧ D = { A ∩ B | A ∈ C B ∈ D }
- C ∨ D = { A ∪ B | A ∈ C B ∈ D }
According to this definition, DP = NP ∧ coNP. The other classes of the Boolean hierarchy can be defined as follows.
The following equalities can be used as alternative definitions of the classes of the Boolean hierarchy:[4]
Alternatively,[5] for every k ≥ 3:
Hardness
Hardness for classes of the Boolean hierarchy can be proved by showing a reduction from a number of instances of an arbitrary
- BH2k-hardness is proved if and the number of xi ∈ A is odd
- BH2k+1-hardness is proved if and the number of xi ∈ A is even
Such reductions work for every fixed k. If such reductions exist for arbitrary k, the problem is hard for PNP[O(log n)].
References