2

On page 117 in Arora and Barak, the definition of class $\textbf{NC}$:

For every $d$, a language $L$ is in $\textbf{NC}^d$ if $L$ can be decided by a family of circuits $\{C_n\}$ where $C_n$ has poly(n) size and depth $O(\log^d n)$. The class $\textbf{NC}$ is $\bigcup\limits_{i\ge 1} \textbf{NC}^i$.

Then the authors say:

One can also define uniform $\textbf{NC}$, by requiring the circuits to be logspace-uniform.

Are class $\textbf{NC}$ and uniform $\textbf{NC}$ the same? Or, is a language in the class $\textbf{NC}$ generated by an implicitly logspace computable function? If yes, how to prove that?

minh quý lê
  • 625
  • 4
  • 15

1 Answers1

3

They are not the same, see section 6.2 of Arora and Barak.

For example, the language $\{ 1^n : \text{the $n$th Turing machine halts on input 0} \}$ is in NC but not in uniform NC (for any reasonable definition of uniform) because the language is incomputable.

A language being logspace-uniform NC roughly means that there is a circuit family deciding it, so that the circuits in the family can be generated by a (one) logspace-computable function.

As for your final question, as $L \subseteq NC \subseteq P$ and it is unknown even whether $P = L$, it could be the case that all languages in NC are logspace, but this does not directly follow from the circuits being logspace-generated. (As far as we know, at least.)

steef
  • 46
  • 1