We investigate the time complexity of the following counting problem: for a given set of words A, a length n and a number k, check whether A contains exactly k words of length n (in symbol, if cA(n) = k). Oracle alternating Turing machines of a constant number of alternations (∑const-ATMs) are used to solve the problem. A machine queries its oracle to check, in a single step, if x ∈ A, for any word x. We prove that no ∑const-ATM can solve in polynomial time even the following restricted counting problem: for a fixed l, u:N→N, l < u and an integer p≥2, for a given set A such that l≤cA≤u and numbers n and k, check whether cA(n) = k mod p, provided that between l and u there is a function f with superpolynomial min(f(n), 2n-f(n)). In other words, it shows that counting requires superpolynomial amount of time, unless A or Ā is sparse or an unbounded number of alternations can be made. Then we consider an approximate counting problem and prove a new lower bound on the complexity of ∑const-ATMs that solve that problem in polynomial time. © 1991.
Piotrów, M. (1991). On the complexity of counting in the polynomial hierarchy. Theoretical Computer Science, 81(1), 77–95. https://doi.org/10.1016/0304-3975(91)90317-U