Emptiness problem explained

In theoretical computer science and formal language theory, a formal language is empty if its set of valid sentences is the empty set. The emptiness problem is the question of determining whether a language is empty given some representation of it, such as a finite-state automaton.[1] For an automaton having

n

states, this is a decision problem that can be solved in

O(n2)

time
,[2] or in time

O(n+m)

if the automaton has n states and m transitions. However, variants of that question, such as the emptiness problem for non-erasing stack automata, are PSPACE-complete.[3]

The emptiness problem is undecidable for context-sensitive grammars, a fact that follows from the undecidability of the halting problem. It is, however, decidable for context-free grammars.[3]

See also

Notes and References

  1. Book: Sipser, Michael . Michael Sipser . Introduction to the Theory of Computation . Cengage Learning . 2012 . 9781285401065.
  2. Web site: Lecture 6: Properties of Regular Languages - II . COMS W3261 CS Theory . . 2019-08-22 . https://web.archive.org/web/20191031220228/https://www.cs.columbia.edu/~aho/cs3261/Lectures/L6-Properties_of_Regular_Languages_II.html . 2019-10-31 . dead.
  3. Book: Hopcroft . J. E. . John Hopcroft . Ullman . J. D . Jeffrey Ullman . . 1979 . first . 81-7808-347-7 . Addison-Wesley.