170 likes | 186 Views
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.
E N D
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.
( 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. )
Boolean circuits: AND OROR OR AND x1x2 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?
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
Some regular languages are computable by constant depth polynomial size circuits (AC0) → AND, OR of arbitrary fan-in, NOT of fan-in 1. • AC0µNC1 Eg.: 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}.
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.
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 . gO(d)( n )). • All regular languages in ACC0 are computable by ACC0-circuits of size O( n . gO(d )( n)) if they are not NC1-complete and of size O(n1+ε) otherwise. g0( n ) = n/2 g 2( n) = log* n g 1( n) = log n g d ( n) = g d -1*( n )
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.
Thm [CFL]: If a regular language has a group-free 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.
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+ε
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)). …
Last ingredient: description of regular languages by regular expressions [S,T].
→ 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.)
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 AC0-circuits with linear number of gates. • [CFL] Integer Addition has AC0-circuits with almost linear number of wires.
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?