Information Technology Reference
In-Depth Information
The class
NC
is considered to be the largest feasibly parallelizable class of languages. By
fea-
sible
we mean that the number of gates (equivalently processors) is no more than polynomial
in the length
n
of the input and by
parallelizable
we mean that circuit depth (equivalently
computation time) must be no more than poly-logarithmic in
n
. Feasibly parallelizable lan-
guages meet both requirements.
The prefix circuits introduced in Section
2.6
belong to
NC
1
, as do circuits constructed
with prefix operations, such as binary addition and subtraction (see Section
2.7
)andthecir-
cuits for solutions of linear recurrences (see Problem
2.24
). (Strictly speaking, these functions
are not predicates and do not define languages. However, comparisons between their values
and a threshold converts them to predicates. In this section we liberally mix functions and
predicates.) The class
NC
1
also contains functions associated with integer multiplication and
division.
The fast Fourier transform (see Section
6.7.3
) and merging networks (see Section
6.8
)can
both be realized by algebraic and combinatorial circuits of depth
O
(log
n
)
,where
n
is the
number of circuit inputs. If the additions and multiplications of the FFT are done over a ring
of integers modulo
m
for some
m
,theFFTcanberealizedbyacircuitofdepth
O
(log
2
n
)
.If
the items to be merged are represented in binary, a comparison operator can be realized with
depth
O
(log
n
)
and merging can also be done with a circuit of depth
O
(log
2
n
)
.Thus,both
problems are in
NC
2
.
When matrices are defined over a field of characteristic zero, the inverse of invertible ma-
trices (see Section
6.5.5
) can be computed by an algebraic circuit of depth
O
(log
2
n
)
.Ifthe
matrix entries when represented as binary numbers have size
n
, the ring operations may be
realized in terms of binary addition and multiplication, and matrix inversion is in
NC
3
.
Also, it follows from Theorem
8.13.3
that the
n
th circuit in the log-space uniform families
of circuits has polynomial size and depth
O
(log
2
n
)
; that is, it is contained in
NC
2
.Also
contained in this set is the transitive closure of a Boolean matrix (see Section
6.4
). Since the
circuits constructed in Chapter
3
to simulate finite-state machines as well as polynomial-time
Turing machines are log-space uniform (see Theorem
8.13.1
), each of these circuit families is
in
NC
2
.
We now relate these complexity classes to one another and to
P
.
THEOREM
8.15.1
For
k ≥
2
,
NC
1
NC
2
NC
k
⊆
⊆
L
⊆
NL
⊆
⊆
NC
⊆
P
.
NC
2
is a restriction
of the result of Theorem
8.13.3
to
r
(
n
)=
O
(log
n
)
. The containments
NC
2
⊆
⊆
Proof
The containment
L
NL
is obvious. The containment
NL
NC
k
⊆
⊆
NC
follow from the definitions. The last containment,
NC
P
, is a consequence of the
fact that the circuit on
n
inputs in a log-space uniform family of circuits, call it
C
n
,can
be generated in polynomial time by a Turing machine that can then evaluate
C
n
in a time
quadratic in its length, that is, in polynomial time. (Theorems
8.5.8
and
8.13.2
apply.)
The first containment, namely
NC
1
⊆
⊆
L
, is slightly more difficult to establish. Given a
NC
1
, consider the problem of recognizing whether or not a string
w
is in
L
.
This recognition task is done in log-space by invoking two log-space transformations, as is
now explained.
The first log-space transformation generates the
n
th circuit,
C
n
, in the family recogniz-
ing
L
.
C
n
has value 1 if
w
is in
L
and 0 otherwise. By definition,
C
n
has size polynomial
in
n
. Also, each circuit is described by a straight-line program, as explained in Section
2.2
.
language
L
∈
Search WWH ::
Custom Search