State complexity

Last updated

State complexity is an area of theoretical computer science dealing with the size of abstract automata, such as different kinds of finite automata. The classical result in the area is that simulating an -state nondeterministic finite automaton by a deterministic finite automaton requires exactly states in the worst case.

Contents

Transformation between variants of finite automata

Finite automata can be deterministic and nondeterministic, one-way (DFA, NFA) and two-way (2DFA, 2NFA). Other related classes are unambiguous (UFA), self-verifying (SVFA) and alternating (AFA) finite automata. These automata can also be two-way (2UFA, 2SVFA, 2AFA).

All these machines can accept exactly the regular languages. However, the size of different types of automata necessary to accept the same language (measured in the number of their states) may be different. For any two types of finite automata, the state complexity tradeoff between them is an integer function where is the least number of states in automata of the second type sufficient to recognize every language recognized by an -state automaton of the first type. The following results are known.

The 2DFA vs. 2NFA problem and logarithmic space

Unsolved problem in computer science:
Does every -state 2NFA have an equivalent -state 2DFA?

It is an open problem whether all 2NFAs can be converted to 2DFAs with polynomially many states, i.e. whether there is a polynomial such that for every -state 2NFA there exists a -state 2DFA. The problem was raised by Sakoda and Sipser, [15] who compared it to the P vs. NP problem in the computational complexity theory. Berman and Lingas [16] discovered a formal relation between this problem and the L vs. NL open problem. This relation was further elaborated by Kapoutsis. [17]

State complexity of operations for finite automata

Given a binary regularity-preserving operation on languages and a family of automata X (DFA, NFA, etc.), the state complexity of is an integer function such that

Analogous definition applies for operations with any number of arguments.

The first results on state complexity of operations for DFAs were published by Maslov [18] and by Yu, Zhuang and Salomaa. [19] Holzer and Kutrib [20] pioneered the state complexity of operations on NFA. The known results for basic operations are listed below.

Union

If language requires m states and language requires n states, how many states does require?

Intersection

How many states does require?

Complementation

If language L requires n states then how many states does its complement require?

Concatenation

How many states does require?

Kleene star

Reversal

Finite automata over a unary alphabet

State complexity of finite automata with a one-letter (unary) alphabet, pioneered by Chrobak, [34] is different from the multi-letter case.

Let be Landau's function.

Transformation between models

For a one-letter alphabet, transformations between different types of finite automata are sometimes more efficient than in the general case.

Union

Intersection

Complementation

Concatenation

Kleene star

Further reading

Surveys of state complexity were written by Holzer and Kutrib [40] [41] and by Gao et al. [42]

New research on state complexity is commonly presented at the annual workshops on Descriptional Complexity of Formal Systems (DCFS), at the Conference on Implementation and Application of Automata (CIAA), and at various conferences on theoretical computer science in general.

Related Research Articles

In theoretical computer science and formal language theory, a regular language is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science.

In mathematics and computer science, the Krohn–Rhodes theory is an approach to the study of finite semigroups and automata that seeks to decompose them in terms of elementary components. These components correspond to finite aperiodic semigroups and finite simple groups that are combined in a feedback-free manner.

<span class="mw-page-title-main">Deterministic finite automaton</span> Finite-state machine

In the theory of computation, a branch of theoretical computer science, a deterministic finite automaton (DFA)—also known as deterministic finite acceptor (DFA), deterministic finite-state machine (DFSM), or deterministic finite-state automaton (DFSA)—is a finite-state machine that accepts or rejects a given string of symbols, by running through a state sequence uniquely determined by the string. Deterministic refers to the uniqueness of the computation run. In search of the simplest models to capture finite-state machines, Warren McCulloch and Walter Pitts were among the first researchers to introduce a concept similar to finite automata in 1943.

In automata theory, a finite-state machine is called a deterministic finite automaton (DFA), if

In automata theory, an alternating finite automaton (AFA) is a nondeterministic finite automaton whose transitions are divided into existential and universal transitions. For example, let A be an alternating automaton.

In the theory of computation and automata theory, the powerset construction or subset construction is a standard method for converting a nondeterministic finite automaton (NFA) into a deterministic finite automaton (DFA) which recognizes the same formal language. It is important in theory because it establishes that NFAs, despite their additional flexibility, are unable to recognize any language that cannot be recognized by some DFA. It is also important in practice for converting easier-to-construct NFAs into more efficiently executable DFAs. However, if the NFA has n states, the resulting DFA may have up to 2n states, an exponentially larger number, which sometimes makes the construction impractical for large NFAs.

In computer science, in particular in automata theory, a two-way finite automaton is a finite automaton that is allowed to re-read its input.

Language equations are mathematical statements that resemble numerical equations, but the variables assume values of formal languages rather than numbers. Instead of arithmetic operations in numerical equations, the variables are joined by language operations. Among the most common operations on two languages A and B are the set union AB, the set intersection AB, and the concatenation AB. Finally, as an operation taking a single operand, the set A* denotes the Kleene star of the language A. Therefore, language equations can be used to represent formal grammars, since the languages generated by the grammar must be the solution of a system of language equations.

In mathematics and computer science, the probabilistic automaton (PA) is a generalization of the nondeterministic finite automaton; it includes the probability of a given transition into the transition function, turning it into a transition matrix. Thus, the probabilistic automaton also generalizes the concepts of a Markov chain and of a subshift of finite type. The languages recognized by probabilistic automata are called stochastic languages; these include the regular languages as a subset. The number of stochastic languages is uncountable.

A read-only Turing machine or two-way deterministic finite-state automaton (2DFA) is class of models of computability that behave like a standard Turing machine and can move in both directions across input, except cannot write to its input tape. The machine in its bare form is equivalent to a deterministic finite automaton in computational power, and therefore can only parse a regular language.

In computer science, a pebble automaton is any variant of an automaton which augments the original model with a finite number of "pebbles" that may be used to mark tape positions.

<span class="mw-page-title-main">DFA minimization</span> Task of transforming a deterministic finite automaton

In automata theory, DFA minimization is the task of transforming a given deterministic finite automaton (DFA) into an equivalent DFA that has a minimum number of states. Here, two DFAs are called equivalent if they recognize the same regular language. Several different algorithms accomplishing this task are known and described in standard textbooks on automata theory.

In graph theory, the cycle rank of a directed graph is a digraph connectivity measure proposed first by Eggan and Büchi. Intuitively, this concept measures how close a digraph is to a directed acyclic graph (DAG), in the sense that a DAG has cycle rank zero, while a complete digraph of order n with a self-loop at each vertex has cycle rank n. The cycle rank of a directed graph is closely related to the tree-depth of an undirected graph and to the star height of a regular language. It has also found use in sparse matrix computations and logic (Rossman 2008).

In mathematics, a local language is a formal language for which membership of a word in the language can be determined by looking at the first and last symbol and each two-symbol substring of the word. Equivalently, it is a language recognised by a local automaton, a particular kind of deterministic finite automaton.

<span class="mw-page-title-main">Weighted automaton</span> Finite-state machine where edges carry weights

In theoretical computer science and formal language theory, a weighted automaton or weighted finite-state machine is a generalization of a finite-state machine in which the edges have weights, for example real numbers or integers. Finite-state machines are only capable of answering decision problems; they take as input a string and produce a Boolean output, i.e. either "accept" or "reject". In contrast, weighted automata produce a quantitative output, for example a count of how many answers are possible on a given input string, or a probability of how likely the input string is according to a probability distribution. They are one of the simplest studied models of quantitative automata.

In automata theory, an unambiguous finite automaton (UFA) is a nondeterministic finite automaton (NFA) such that each word has at most one accepting path. Each deterministic finite automaton (DFA) is an UFA, but not vice versa. DFA, UFA, and NFA recognize exactly the same class of formal languages. On the one hand, an NFA can be exponentially smaller than an equivalent DFA. On the other hand, some problems are easily solved on DFAs and not on UFAs. For example, given an automaton A, an automaton A which accepts the complement of A can be computed in linear time when A is a DFA, whereas it is known that this cannot be done in polynomial time for UFAs. Hence UFAs are a mix of the worlds of DFA and of NFA; in some cases, they lead to smaller automata than DFA and quicker algorithms than NFA.

<span class="mw-page-title-main">Kai Salomaa</span> Finnish Canadian theoretical computer scientist

Kai Tapani Salomaa is a Finnish Canadian theoretical computer scientist, known for his numerous contributions to the state complexity of finite automata. His highly cited 1994 joint paper with Yu and Zhuang laid the foundations of the area. He has published over 100 papers in scientific journals on various subjects in formal language theory. Salomaa is a full professor at Queen's University.

In automata theory, a self-verifying finite automaton (SVFA) is a special kind of a nondeterministic finite automaton (NFA) with a symmetric kind of nondeterminism introduced by Hromkovič and Schnitger. Generally, in self-verifying nondeterminism, each computation path is concluded with any of the three possible answers: yes, no, and I do not know. For each input string, no two paths may give contradictory answers, namely both answers yes and no on the same input are not possible. At least one path must give answer yes or no, and if it is yes then the string is considered accepted. SVFA accept the same class of languages as deterministic finite automata (DFA) and NFA but have different state complexity.

Giovanni Pighizzini is an Italian theoretical computer scientist known for his work in formal language theory and particularly in state complexity of two-way finite automata. He earned his PhD in 1993 from the University of Milan, where he is a full professor since 2001. Pighizzini serves as the Steering Committee Chair of the annual Descriptional Complexity of Formal Systems academic conference since 2006.

In theoretical computer science and formal language theory, the complementation of an automaton is the problem of computing an automaton that accepts precisely the words rejected by another automaton. Formally, given an automaton A which recognizes a regular language L, we want to compute an automaton recognizing precisely the words that are not in L, i.e., the complement of L.

References

  1. Rabin, M. O.; Scott, D. (1959). "Finite Automata and Their Decision Problems". IBM Journal of Research and Development. 3 (2): 114–125. doi:10.1147/rd.32.0114. ISSN   0018-8646.
  2. Lupanov, Oleg B. (1963). "A comparison of two types of finite sources". Problemy Kibernetiki. 9: 321–326.
  3. 1 2 Leung, Hing (2005). "Descriptional complexity of NFA of different ambiguity". International Journal of Foundations of Computer Science. 16 (5): 975–984. doi:10.1142/S0129054105003418. ISSN   0129-0541.
  4. 1 2 Schmidt, Erik M. (1978). Succinctness of Description of Context-Free, Regular and Unambiguous Languages (Ph.D.). Cornell University.
  5. Jirásková, Galina; Pighizzini, Giovanni (2011). "Optimal simulation of self-verifying automata by deterministic automata". Information and Computation. 209 (3): 528–535. doi:10.1016/j.ic.2010.11.017. ISSN   0890-5401.
  6. 1 2 3 Kapoutsis, Christos (2005). "Removing Bidirectionality from Nondeterministic Finite Automata". Mathematical Foundations of Computer Science 2005. Lecture Notes in Computer Science. Vol. 3618. pp. 544–555. doi:10.1007/11549345_47. ISBN   978-3-540-28702-5. ISSN   0302-9743.
  7. Shepherdson, J. C. (1959). "The Reduction of Two-Way Automata to One-Way Automata". IBM Journal of Research and Development. 3 (2): 198–200. doi:10.1147/rd.32.0198. ISSN   0018-8646.
  8. Moore, F.R. (1971). "On the Bounds for State-Set Size in the Proofs of Equivalence Between Deterministic, Nondeterministic, and Two-Way Finite Automata". IEEE Transactions on Computers. C-20 (10): 1211–1214. doi:10.1109/T-C.1971.223108. ISSN   0018-9340. S2CID   206618275.
  9. Birget, Jean-Camille (1993). "State-complexity of finite-state devices, state compressibility and incompressibility". Mathematical Systems Theory. 26 (3): 237–269. doi:10.1007/BF01371727. ISSN   0025-5661. S2CID   20375279.
  10. Vardi, Moshe Y. (1989). "A note on the reduction of two-way automata to one-way automata". Information Processing Letters. 30 (5): 261–264. CiteSeerX   10.1.1.60.464 . doi:10.1016/0020-0190(89)90205-6. ISSN   0020-0190.
  11. Chandra, Ashok K.; Kozen, Dexter C.; Stockmeyer, Larry J. (1981). "Alternation". Journal of the ACM. 28 (1): 114–133. doi: 10.1145/322234.322243 . ISSN   0004-5411. S2CID   238863413.
  12. Fellah, A.; Jürgensen, H.; Yu, S. (1990). "Constructions for alternating finite automata∗". International Journal of Computer Mathematics. 35 (1–4): 117–132. doi:10.1080/00207169008803893. ISSN   0020-7160.
  13. Ladner, Richard E.; Lipton, Richard J.; Stockmeyer, Larry J. (1984). "Alternating Pushdown and Stack Automata". SIAM Journal on Computing. 13 (1): 135–155. doi:10.1137/0213010. ISSN   0097-5397.
  14. Geffert, Viliam; Okhotin, Alexander (2014). Transforming Two-Way Alternating Finite Automata to One-Way Nondeterministic Automata. Lecture Notes in Computer Science. Vol. 8634. pp. 291–302. doi:10.1007/978-3-662-44522-8_25. ISBN   978-3-662-44521-1. ISSN   0302-9743.
  15. Sakoda, William J.; Sipser, Michael (1978). "Nondeterminism and the Size of Two Way Finite Automata". Proceedings of the tenth annual ACM symposium on Theory of computing - STOC '78. STOC 1978. ACM. pp. 275–286. doi: 10.1145/800133.804357 .
  16. Berman, Piotr; Lingas, Andrzej (1977). On the complexity of regular languages in terms of finite automata. Vol. Report 304. Polish Academy of Sciences.
  17. Kapoutsis, Christos A. (2014). "Two-Way Automata Versus Logarithmic Space". Theory of Computing Systems. 55 (2): 421–447. doi:10.1007/s00224-013-9465-0. S2CID   14808151.
  18. 1 2 3 4 5 Maslov, A. N. (1970). "Estimates of the number of states of finite automata". Soviet Mathematics - Doklady. 11: 1373–1375.
  19. 1 2 3 4 5 6 7 8 9 10 Yu, Sheng; Zhuang, Qingyu; Salomaa, Kai (1994). "The state complexities of some basic operations on regular languages". Theoretical Computer Science. 125 (2): 315–328. doi:10.1016/0304-3975(92)00011-F. ISSN   0304-3975.
  20. 1 2 3 4 5 6 7 8 9 10 11 Holzer, Markus; Kutrib, Martin (2003). "Nondeterministic descriptional complexity of regular languages". International Journal of Foundations of Computer Science (Submitted manuscript). 14 (6): 1087–1102. doi:10.1142/S0129054103002199. ISSN   0129-0541.
  21. 1 2 Göös, Mika; Kiefer, Stefan; Yuan, Weiqiang (12 February 2022). "Lower Bounds for Unambiguous Automata via Communication Complexity". arXiv: 2109.09155 [cs.FL].
  22. 1 2 3 4 Jirásek, Jozef; Jirásková, Galina; Šebej, Juraj (2016). Operations on Unambiguous Finite Automata. Lecture Notes in Computer Science. Vol. 9840. pp. 243–255. doi:10.1007/978-3-662-53132-7_20. ISBN   978-3-662-53131-0. ISSN   0302-9743.
  23. 1 2 3 4 5 Jirásek, Jozef Štefan; Jirásková, Galina; Szabari, Alexander (2015). Computer Science -- Theory and Applications. Lecture Notes in Computer Science. Vol. 9139. pp. 231–261. doi:10.1007/978-3-319-20297-6_16. ISBN   978-3-319-20296-9. ISSN   0302-9743.
  24. 1 2 3 4 5 6 7 8 9 Kunc, Michal; Okhotin, Alexander (2012). "State complexity of operations on two-way finite automata over a unary alphabet". Theoretical Computer Science. 449: 106–118. doi: 10.1016/j.tcs.2012.04.010 . ISSN   0304-3975.
  25. 1 2 3 4 Kunc, Michal; Okhotin, Alexander (2011). "State Complexity of Union and Intersection for Two-way Nondeterministic Finite Automata". Fundamenta Informaticae. 110 (1–4): 231–239. doi:10.3233/FI-2011-540.
  26. Birget, Jean-Camille (1993). "Partial orders on words, minimal elements of regular languages, and state complexity". Theoretical Computer Science. 119 (2): 267–291. doi:10.1016/0304-3975(93)90160-U. ISSN   0304-3975.
  27. Jirásková, Galina (2005). "State complexity of some operations on binary regular languages". Theoretical Computer Science. 330 (2): 287–298. doi:10.1016/j.tcs.2004.04.011., Theorem 5
  28. Raskin, Mikhail (2018). "A Superpolynomial Lower Bound for the Size of Non-Deterministic Complement of an Unambiguous Automaton". DROPS-IDN/V2/Document/10.4230/LIPIcs.ICALP.2018.138. Schloss-Dagstuhl - Leibniz Zentrum für Informatik. doi: 10.4230/LIPIcs.ICALP.2018.138 .
  29. Indzhev, Emil; Kiefer, Stefan (1 August 2022). "On complementing unambiguous automata and graphs with many cliques and cocliques". Information Processing Letters. 177: 106270. arXiv: 2105.07470 . doi: 10.1016/j.ipl.2022.106270 . ISSN   0020-0190. S2CID   234741832 . Retrieved 29 May 2022.
  30. 1 2 Geffert, Viliam; Mereghetti, Carlo; Pighizzini, Giovanni (2007). "Complementing two-way finite automata". Information and Computation. 205 (8): 1173–1187. doi: 10.1016/j.ic.2007.01.008 . ISSN   0890-5401.
  31. 1 2 3 Jirásková, Galina; Okhotin, Alexander (2008). On the State Complexity of Operations on Two-Way Finite Automata. Lecture Notes in Computer Science. Vol. 5257. pp. 443–454. doi:10.1007/978-3-540-85780-8_35. ISBN   978-3-540-85779-2. ISSN   0302-9743.
  32. Mirkin, Boris G. (1966). "On dual automata". Cybernetics. 2: 6–9. doi:10.1007/bf01072247. S2CID   123186223.
  33. Leiss, Ernst (1985). "Succinct representation of regular languages by boolean automata II". Theoretical Computer Science. 38: 133–136. doi:10.1016/0304-3975(85)90215-4. ISSN   0304-3975.
  34. 1 2 3 4 Chrobak, Marek (1986). "Finite automata and unary languages". Theoretical Computer Science. 47: 149–158. doi:10.1016/0304-3975(86)90142-8. ISSN   0304-3975.
  35. Kunc, Michal; Okhotin, Alexander (2011). Developments in Language Theory. Lecture Notes in Computer Science. Vol. 6795. pp. 324–336. CiteSeerX   10.1.1.616.8835 . doi:10.1007/978-3-642-22321-1_28. ISBN   978-3-642-22320-4. ISSN   0302-9743.
  36. Mereghetti, Carlo; Pighizzini, Giovanni (2001). "Optimal Simulations between Unary Automata". SIAM Journal on Computing. 30 (6): 1976–1992. doi:10.1137/S009753979935431X. hdl: 2434/35121 . ISSN   0097-5397.
  37. 1 2 Geffert, Viliam; Mereghetti, Carlo; Pighizzini, Giovanni (2003). "Converting two-way nondeterministic unary automata into simpler automata". Theoretical Computer Science. 295 (1–3): 189–203. doi:10.1016/S0304-3975(02)00403-6. ISSN   0304-3975.
  38. 1 2 3 4 Okhotin, Alexander (2012). "Unambiguous finite automata over a unary alphabet". Information and Computation. 212: 15–36. doi: 10.1016/j.ic.2012.01.003 . ISSN   0890-5401.
  39. Raskin, Michael (2018). "A superpolynomial lower bound for the size of non-deterministic complement of an unambiguous automaton". Proc. ICALP 2018. pp. 138:1–138:11. doi: 10.4230/LIPIcs.ICALP.2018.138 .
  40. Holzer, Markus; Kutrib, Martin (2009). "Nondeterministic finite automata — recent results on the descriptional and computational complexity". International Journal of Foundations of Computer Science. 20 (4): 563–580. doi:10.1142/S0129054109006747. ISSN   0129-0541.
  41. Holzer, Markus; Kutrib, Martin (2011). "Descriptional and computational complexity of finite automata—A survey". Information and Computation. 209 (3): 456–470. doi:10.1016/j.ic.2010.11.013. ISSN   0890-5401.
  42. Gao, Yuan; Moreira, Nelma; Reis, Rogério; Yu, Sheng (2015). "A Survey on Operational State Complexity". arXiv: 1509.03254v1 [cs.FL].