Circuit complexity of regular languages.

advertisement
Circuit Complexity of
Regular Languages
Michal Koucký
(Institute of Mathemaics, AS ČR, Praha)
Regular languages
Introduced in 50’s. Many equivalent definitions:

Languages recognized by finite automata.

Languages described by regular expressions.

Languages corresponding to word problems over
finite monoids.
2
Why regular languages today?
 ( Used in practice, formal verification of
systems… )

Provide insight into computation and circuit
complexity.

Provide understanding of elementary functions
such as Integer Addition.
3
Boolean circuits:
AND
OR
OR
OR
AND
x1
x2
x4
x7
→ non-uniform model of time-bounded computation.
Fundamental question: How large circuits does one need
to compute specific Boolean functions, e.g., SAT?
4

All regular languages are computable by
logarithmic depth linear size circuits (NC1).
→ AND, OR of fan-in 2, NOT of fan-in 1.
a
b
b a
a
…
b
b
a
a
…
b
5

Some regular languages are computable by constant
depth polynomial size circuits (AC0)
→ AND, OR of arbitrary fan-in, NOT of fan-in 1.

Eg.:

AC0 µ NC1
TH-2 = { w in {0,1}* that contain at least 2 ones}
LENGTH(2) = { w in {0,1}* of even length}
[FSS’84]: Not all regular languages are computable by
AC0 circuits.
Eg.: PARITY = { w in {0,1}* that contain even number
of ones}.
6

Some more regular languages are computable by
constant depth polynomial size circuits with additional
MOD-q gates (ACC0)
→ AND, OR, MOD-q of arbitrary fan-in, NOT of fan-in 1.

AC0 ( ACC0 µ NC1
Eg.: PARITY = { w in {0,1}* that contain even number
of ones}.
Big Open Problem: ACC0 = NC1 ?

[Barrington] – regular NC1 – complete languages.
7


All regular languages are computable by linear
size NC1-circuits.
Thm:
All regular languages in AC0 are computable by
AC0-circuits of size O( n . g O(d )( n )).
 All regular languages in ACC0 are computable by
ACC0-circuits of size O( n . g O(d )( n )) if they are
not NC1-complete and of size O(n1+ε) otherwise.

g 0( n ) = n/2
g 1( n ) = log n
g 2( n ) = log* n
g d ( n ) = g d -1*( n )
8

Corollary: To separate ACC0 from NC1 it
suffices to show that a chosen NC1-complete
regular language cannot be computed by ACC0
circuits of size, say, O( n3/2 ).
E.g.: Word problem over S5.
9

Thm [CFL]: If a regular language has a groupfree syntactic monoid then it is computable by
AC0-circuits of size O( n . g d ( n )).
Note: LENGTH(2) is in AC0 but its syntactic
monoid contains a group.
10
Proof: (ideas)

If evaluating the product of n monoid elements can be
done by circuits of size n k then it can be done by
circuits of size n (1 + k)/2
√n
√n
√n
…
√n
→ circuits of size n1+ε
11

Chandra-Fortune-Lipton procedure:
If evaluating the prefix product of n monoid elements
can be done by circuits of size O( n . g2d ( n )) [*] then it
can be done by circuits of size O( n . g2d +1( n )).
…
12

Last ingredient: description of regular languages
by regular expressions [S,T].
13
→ all regular languages are computable by their respective
circuits of almost linear size. (size measured by wires
and/or gates.)
Question: Is it possible that all regular languages are
computable by their respective circuits of linear size?
Thm [KPT]: Language U = (ac*bc*)* is computable by
ACC0-circuits with linear number of gates but not with
linear number of wires (it requires Θ( n . g d ( n )) wires.)
14
Question: Is U = (ac*bc*)* computable by AC0-
circuits with linear number of gates?
Yes → U separates AC0-circuits with linear
number of wires from that with linear number
of gates.
No → Integer Addition does not have AC0circuits with linear number of gates.

[CFL] Integer Addition has AC0-circuits with almost
linear number of wires.
15
 ttP / poly
Open problems

Is ACC0 equal to NC1 ?

Has Integer Addition AC0 circuits with
linear number of gates?

Has (ac* bc*)* AC0 circuits with linear
number of gates?
16
Download