Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Intersection non-emptiness problem

From Wikipedia, the free encyclopedia

The intersection non-emptiness problem, also known as finite automaton intersection problem[1] or the non-emptiness of intersection problem, is a PSPACE-complete decision problem from the field of automata theory. The problem asks if a list of deterministic finite automata has nonempty intersection.

Definitions

[edit]

A non-emptiness decision problem is defined (for a particular type of automaton) as follows: given an automaton as input, the goal is to determine whether or not the automaton's language is non-empty, i.e., if there exists a string that is accepted by the automaton. Non-emptiness problems have been studied in the field of automata theory for many years. Several common non-emptiness problems have been shown to be complete for complexity classes ranging from Deterministic Logspace up to PSPACE.[2]

The intersection non-emptiness decision problem is similar, but defined on a list of automata, instead of just one. In particular, for the purposes of this article: given a list of deterministic finite automata as input, determine whether or not their associated regular languages have a non-empty intersection; i.e., determine if there exists a string that is accepted by every automaton in the list.

Algorithm

[edit]

There is an exponential time algorithm that solves the intersection non-emptiness problem based on the Cartesian product construction introduced by Michael O. Rabin and Dana Scott.[3] The idea is that all of the automata together form a "product automaton" whose states consist of tuples of states in the list of automata; a string is accepted by the product automaton if and only if it is accepted by every automaton in the list. Therefore, a breadth-first search (or depth-first search) within the product automaton's state space will determine whether there exists a path from the product start state to one of the product final states. Whether or not such a path exists is equivalent to determining if any string is accepted by every automaton in the list.

For this construction, the product automaton does not need to be explicitly constructed; the automata provide sufficient information so that transitions can be determined as needed.

Hardness

[edit]

The intersection non-emptiness problem was shown to be PSPACE-complete by Dexter Kozen in 1977.[1] It is an open problem whether any faster algorithms exist.[4]

References

[edit]
  1. 1 2 Kozen, D. (1977). Lower bounds for natural proof systems. Proc. 18th Symp. on the Foundations of Computer Science. IEEE. pp. 254–266. doi:10.1109/SFCS.1977.16.
  2. Galil, Zvi (1976). "Hierarchies of complete problems". Acta Informatica. 6 (1). Springer-Verlag: 77–88. doi:10.1007/BF00263744. S2CID 26562214.
  3. Rabin, M. O.; Scott, D. (1959). "Finite Automata and Their Decision Problems". IBM J. Res. Dev. 2 (3). IBM Corp.: 114–125. doi:10.1147/rd.32.0114.
  4. "On The Intersection of Finite Automata". rjlipton.wordpress.com. Retrieved 15 December 2020.
[edit]