Almost-wide probabilistic polynomial time #
We use the constant-error, power-of-two characterization of AWPP from
Fenner: a GapP function divided by 2 ^ p(n) lies in [2/3, 1] on
members and [0, 1/3] on nonmembers. Integer inequalities avoid division and rounding.
The counting functions are verifier-based. Uniform error reduction is proved in
Complexity/Computability/Complexity/Classes/AWPP/Amplification.lean, and PP-lowness for the strict
adaptive oracle-verifier model in
Complexity/Computability/Complexity/Classes/AWPP/Lowness.lean.
Main definitions #
AWPP: bounded-error GapP ratios with a length-dependent dyadic denominator.
Main results #
BPP_subset_AWPP,SPP_subset_AWPP,AWPP_subset_PP.compl_mem_AWPP,PolyTimeReducible.mem_AWPP: complement and reduction closure.mem_AWPP_of_polyTime_exponent: padding input-dependent dyadic denominators.
References #
theorem Cslib.Complexity.mem_AWPP_of_polyTime_exponent {α : Type} {enc : α ↪ List Bool} {A : Set α} {g : α → ℤ} {r : α → ℕ} (hg : g ∈ GapP enc) (hr : Turing.MultiTapeTM.ComputableTidilyInPolyTime r enc Turing.MultiTapeTM.encUnary) (hA : ∀ (a : α), (0 ≤ g a ∧ g a ≤ 2 ^ r a) ∧ (a ∈ A → 2 * 2 ^ r a ≤ 3 * g a) ∧ (a ∉ A → 3 * g a ≤ 2 ^ r a)) :
An efficiently computed unary exponent can be padded to a polynomial in input length. Multiplying numerator and denominator by the same power of two preserves the ratio.