$\mathsf{NC}$ captures the idea of efficiently parallelizable, and one interpretation of it is problems that are solvable in time $O(\log^c n)$ using $O(n^k)$ parallel processors for some constants $c$, $k$. My question is if there is an analogous complexity class where time is $n^c$ and number of processors is $2^{n^k}$. As a fill-in-the-blank question:
$\mathsf{NC}$ is to $\mathsf{P}$ as __ is to $\mathsf{EXP}$
In particular, I am interested in a model where we have an exponential number of computers arranged in a network with polynomially bounded degree (lets say the network is independent of the input/problem or atleast somehow easy to construct, or any other reasonable uniformity assumption). At each time step:
- Every computer reads the polynomial number of polynomial sized messages it received in the previous time step.
- Every computer runs some polytime computation that can depend on these messages.
- Every computer passes a message (of polylength) to each of its neighbours.
What is the name of a complexity class corresponding to these sort of models? What is a good place to read about such complexity classes? Are there any complete-problems for such a class?
$NC^k = ASpaceTime(O(\log n), (\log n)^k)$, $NC = ASpaceTime(O(\log n), (\log n)^{O(1)})$, $P = Time(n^{O(1)})$, $EXP = Time(2^{n^{O(1)}})$.
So the corresponding class to $NC^k$ might be something like $ASpaceTime(n^{O(1)}, 2^{O(\log n)^k})$ and then the corresponding class to $NC$ will be $ASpaceTime(n^{O(1)}, 2^{(\log n)^{O(1)}})$. It is just some algebraic manipulation, I haven't checked if it satisfies your requirements, but I think it will satisfy the three conditions but will not have exponentially many computers. I think you should drop that requirement otherwise(more)
– Kaveh May 27 '11 at 04:32