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