State complexity is an area of
theoretical computer science
Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory.
It is difficult to circumsc ...
dealing with the size of abstract automata,
such as different kinds of
finite automata
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
.
The classical result in the area is that
simulating an
-state
nondeterministic
Nondeterminism or nondeterministic may refer to:
Computer science
* Nondeterministic programming
*Nondeterministic algorithm
In computer programming, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit diffe ...
finite automaton
by a
deterministic
Determinism is a philosophical view, where all events are determined completely by previously existing causes. Deterministic theories throughout the history of philosophy have developed from diverse and sometimes overlapping motives and consi ...
finite automaton
requires exactly
states in the worst case.
Transformation between variants of finite automata
Finite automata can be
deterministic
Determinism is a philosophical view, where all events are determined completely by previously existing causes. Deterministic theories throughout the history of philosophy have developed from diverse and sometimes overlapping motives and consi ...
and
nondeterministic
Nondeterminism or nondeterministic may refer to:
Computer science
* Nondeterministic programming
*Nondeterministic algorithm
In computer programming, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit diffe ...
,
one-way (DFA, NFA)
and
two-way
(2DFA, 2NFA).
Other related classes are
unambiguous (UFA),
self-verifying (SVFA)
and
alternating
Alternating may refer to:
Mathematics
* Alternating algebra, an algebra in which odd-grade elements square to zero
* Alternating form, a function formula in algebra
* Alternating group, the group of even permutations of a finite set
* Alter ...
(AFA) finite automata.
These automata can also be two-way (2UFA, 2SVFA, 2AFA).
All these machines can accept exactly the
regular language
In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to ...
s.
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.
* NFA to DFA:
states. This is the
subset construction
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 sa ...
by
Rabin and
Scott
Scott may refer to:
Places Canada
* Scott, Quebec, municipality in the Nouvelle-Beauce regional municipality in Quebec
* Scott, Saskatchewan, a town in the Rural Municipality of Tramping Lake No. 380
* Rural Municipality of Scott No. 98, Saska ...
,
proved optimal by
Lupanov.
* UFA to DFA:
states, see
Leung
Liang (Romanization used in China, ) is an East Asian surname of Chinese origin. The surname is often transliterated as Leung (in Hong Kong) or Leong (in Macau, Hong Kong, Malaysia, Singapore, and the Philippines) according to its Cantonese and ...
,
An earlier lower bound by Schmidt
was smaller.
* NFA to UFA:
states, see Leung.
There was an earlier smaller lower bound by Schmidt.
* SVFA to DFA:
states, see Jirásková and
Pighizzini
* 2DFA to DFA:
states, see
Kapoutsis.
Earlier construction by
Shepherdson used more states, and an earlier lower bound by Moore
was smaller.
* 2DFA to NFA:
, see Kapoutsis.
Earlier construction by
Birget used more states.
* 2NFA to NFA:
, see Kapoutsis.
** 2NFA to NFA accepting the complement:
states, see
Vardi.
* AFA to DFA:
states, see
Chandra
Chandra ( sa, चन्द्र, Candra, shining' or 'moon), also known as Soma ( sa, सोम), is the Hindu god of the Moon, and is associated with the night, plants and vegetation. He is one of the Navagraha (nine planets of Hinduism) a ...
,
Kozen and
Stockmeyer.
* AFA to NFA:
states, see Fellah, Jürgensen and Yu.
* 2AFA to DFA:
, see
Ladner,
Lipton and
Stockmeyer.
* 2AFA to NFA:
, see
Geffert and Okhotin.
The 2DFA vs. 2NFA problem and logarithmic space
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,
who compared it to the
P vs. NP
The P versus NP problem is a major List of unsolved problems in computer science, unsolved problem in theoretical computer science. In informal terms, it asks whether every problem whose solution can be quickly verified can also be quickly sol ...
problem
in the
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
.
Berman and
Lingas discovered a formal relation between this problem
and the
L vs.
NL open problem.
This relation was further elaborated by
Kapoutsis.
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
* for each m-state X-automaton A and n-state X-automaton B there is an
-state X-automaton for
, and
* for all integers m, n there is an m-state X-automaton A and an n-state X-automaton B such that every X-automaton for
must have at least
states.
Analogous definition applies for operations with any number of arguments.
The first results on state complexity of operations for DFAs
were published by Maslov
and by Yu, Zhuang and
Salomaa.
Holzer Holzer is a German surname that could be translated to English as "Wood". Notable people include:
* Adi Holzer (born 1936), Austrian artist
* Daniel Holzer, Czech footballer
* Friedl Kjellberg ( Holzer; also Holzer-Kjellberg) (1905-1993), Austrian ...
and
Kutrib
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?
* DFA:
states, see Maslov
and Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* UFA: between
and
states, see Jirásek, Jirásková and Šebej.
* SVFA:
states, see Jirásek, Jirásková and Szabari.
* 2DFA: between
and
states, see Kunc and Okhotin.
* 2NFA:
states, see Kunc and Okhotin.
Intersection
How many states does
require?
* DFA:
states, see Maslov
and Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* UFA:
states, see Jirásek, Jirásková and Šebej.
* SVFA:
states, see Jirásek, Jirásková and Szabari.
* 2DFA: between
and
states, see Kunc and Okhotin.
* 2NFA: between
and
states, see Kunc and Okhotin.
Complementation
If language L requires n states
then how many states does its ''complement'' require?
* DFA:
states, by exchanging accepting and rejecting states.
* NFA:
states, see Birget.
* UFA: at least
states, see Göös, Kiefer and Yuan,
and at most
states, see Indzhev and Kiefer.
* SVFA:
states, by exchanging accepting and rejecting states.
* 2DFA: at least
and at most
states, see Geffert, Mereghetti and Pighizzini.
Concatenation
How many states does
require?
* DFA:
states, see Maslov
and Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* UFA:
states, see Jirásek, Jirásková and Šebej.
* SVFA:
states, see Jirásek, Jirásková and Szabari.
* 2DFA: at least
and at most
states, see Jirásková and Okhotin.
Kleene star
* DFA:
states, see Maslov
and Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* UFA:
states, see Jirásek, Jirásková and Šebej.
* SVFA:
states, see Jirásek, Jirásková and Szabari.
* 2DFA: at least
and at most
states, see Jirásková and Okhotin.
Reversal
* DFA:
states, see Mirkin,
Leiss,
and Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* UFA:
states.
* SVFA:
states, see Jirásek, Jirásková and Szabari.
* 2DFA: between
and
states, see Jirásková and Okhotin.
Finite automata over a unary alphabet
State complexity of finite automata with a one-letter (''unary'') alphabet, pioneered by
Chrobak,
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.
* NFA to DFA:
states, see Chrobak.
* 2DFA to DFA:
states, see Chrobak
and Kunc and Okhotin.
* 2NFA to DFA:
states, see Mereghetti and
Pighizzini.
and
Geffert, Mereghetti and Pighizzini.
* NFA to 2DFA: at most
states, see Chrobak.
* 2NFA to 2DFA: at most
states, proved by implementing the method of
Savitch's theorem
In computational complexity theory, Savitch's theorem, proved by Walter Savitch in 1970, gives a relationship between deterministic and non-deterministic space complexity. It states that for any function f\in\Omega(\log(n)),
:\mathsf\left(f\lef ...
, see Geffert, Mereghetti and Pighizzini.
* UFA to DFA:
, see Okhotin.
* NFA to UFA:
, see Okhotin.
Union
* DFA:
states, see Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* 2DFA: between
and
states, see Kunc and Okhotin.
* 2NFA:
states, see Kunc and Okhotin.
Intersection
* DFA:
states, see Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* 2DFA: between
and
states, see Kunc and Okhotin.
* 2NFA: between
and
states, see Kunc and Okhotin.
Complementation
* DFA:
states.
* NFA:
states, see Holzer and Kutrib.
* UFA: at least
states, see Raskin,
and at most
states, see Okhotin.
* 2DFA: at least
and at most
states, see Kunc and Okhotin.
* 2NFA: at least
and at most
states. The upper bound is by implementing the method of the
Immerman–Szelepcsényi theorem
In computational complexity theory, the Immerman–Szelepcsényi theorem states that nondeterministic space complexity classes are closed under complementation. It was proven independently by Neil Immerman and Róbert Szelepcsényi in 1987, for wh ...
, see Geffert, Mereghetti and Pighizzini.
Concatenation
* DFA:
states, see Yu, Zhuang and Salomaa.
* NFA: between
and
states, see Holzer and Kutrib.
* 2DFA:
states, see Kunc and Okhotin.
* 2NFA:
states, see Kunc and Okhotin.
Kleene star
* DFA:
states, see Yu, Zhuang and Salomaa.
* NFA:
states, see Holzer and Kutrib.
* UFA:
states, see Okhotin.
* 2DFA:
states, see Kunc and Okhotin.
* 2NFA:
states, see Kunc and Okhotin.
Further reading
Surveys of state complexity
were written by Holzer and Kutrib
and by Gao et al.
New research on state complexity
is commonly presented at the annual workshops on
Descriptional Complexity of Formal Systems
DCFS, the International Workshop on Descriptional Complexity of Formal Systems is an annual academic conference in the
field of computer science.
Beginning with the 2011 edition, the proceedings of the workshop appear in the series Lecture Not ...
(DCFS),
at the
Conference on Implementation and Application of Automata
CIAA, the International Conference on Implementation and Application of Automata is an annual academic conference in the field of computer science.
Its purpose is to bring together members of the academic, research, and industrial community who ...
(CIAA),
and at various conferences on
theoretical computer science
Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory.
It is difficult to circumsc ...
in general.
References
{{reflist
Finite automata