Complementation of automata

Last updated

In theoretical computer science and formal language theory, complementation is a computational problem that applies to automata. An automaton is an abstract machine that verifies a property on its inputs, and either accepts it (if the property is verified) or rejects it (if the property is not verified). The complement of an automaton is another automaton that accepts precisely what the other one rejects, and vice-versa. More precisely, an automaton A defines a formal language L formed of the inputs that A accepts, and complementation is the problem of computing a "complement" automaton that precisely recognizes the words that are not in L, i.e., the complement of L.

Contents

Several questions on the complementation operation are studied in automata theory research, such as:

With deterministic finite automata

With nondeterministic finite automata

With a nondeterministic finite automaton, the state complexity of the complement automaton may be exponential. [2] Lower bounds are also known in the case of unambiguous automata. [3]

With two-way automata

Complementation has also been studied for two-way automata. [4]

With Büchi automata

References

  1. John E. Hopcroft and Jeffrey D. Ullman (1979). Introduction to Automata Theory, Languages, and Computation. Reading/MA: Addison-Wesley. ISBN   0-201-02988-X. p.134-135, Theorem 6.4
  2. 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.
  3. Göös, Mika; Kiefer, Stefan; Yuan, Weiqiang (12 February 2022). "Lower Bounds for Unambiguous Automata via Communication Complexity". arXiv: 2109.09155 [cs.FL].
  4. Geffert, Viliam; Mereghetti, Carlo; Pighizzini, Giovanni (2007-08-01). "Complementing two-way finite automata". Information and Computation. 205 (8): 1173–1187. doi: 10.1016/j.ic.2007.01.008 . ISSN   0890-5401.