HOME

TheInfoList



OR:

Configuration graphs are a theoretical tool used in
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 ...
to prove a relation between
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
reachability In graph theory, reachability refers to the ability to get from one vertex to another within a graph. A vertex s can reach a vertex t (and t is reachable from s) if there exists a sequence of adjacent vertices (i.e. a walk) which starts with s ...
and
complexity classes In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory. In general, a complexity class is defined in terms of ...
.


Definition

A theoretical computational model, like
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
or
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 ...
, explains how to do a computation. The model explains both what is an initial configuration of the machine and which steps can be taken to continue the computation, until we eventually stop. A ''configuration'', also called an ''Instantaneous Description (ID)'' is a finite representation of the machine at a given time. For example, for a finite automata and a given input, the configuration will be the current state and the number of read letters, for a Turing machine it will be the state, the content of the tape and the position of the head. A configuration graph is a directed
labeled graph In the mathematical discipline of graph theory, a graph labelling is the assignment of labels, traditionally represented by integers, to edges and/or vertices of a graph. Formally, given a graph , a vertex labelling is a function of to a set ...
where the label of the vertices are the possible configurations of the models and where there is an edge from one configuration to another if it correspond to a computational step of the model. The initial and accepting configuration(s) of the machine are special vertices of the configuration graph. The computation accepts if and only if there is a path from an initial vertex to an accepting vertex.


Useful property

If there exists exactly one initial state, then a computation is deterministic if and only if from any configuration there is at most one possible step, so if and only if the graph is of out-degree 1. Once a dummy initial vertex with an edge to every initial vertex and a dummy accepting vertex with an edge from every accepting vertex are added, checking if there is an accepting computation only requires to check if there is a path from the initial vertex to the accepting vertex, which is the
reachability In graph theory, reachability refers to the ability to get from one vertex to another within a graph. A vertex s can reach a vertex t (and t is reachable from s) if there exists a sequence of adjacent vertices (i.e. a walk) which starts with s ...
problem. A computation is said to be unambiguous if there exists at most one path from an initial vertex to an accepting vertex. A cycle in the graph corresponds to an infinite loop in the computation.


Size of the graph

The computational graph can be of infinite size if there are no restrictions on possible configurations; indeed, it is easy to see that there are Turing machines which can reach arbitrarily large configurations. It is also possible to have finite graphs: on
Deterministic finite automaton 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 automa ...
with s states, for a given word of size n the configuration is composed of the position of the head and the current state. So the graph is of size (n+1)s, and the accessible part from the initial state is of size n+1.


Use of this object

This notion is useful because it reduces computational problems to graph
reachability In graph theory, reachability refers to the ability to get from one vertex to another within a graph. A vertex s can reach a vertex t (and t is reachable from s) if there exists a sequence of adjacent vertices (i.e. a walk) which starts with s ...
problems. For example, since
reachability In graph theory, reachability refers to the ability to get from one vertex to another within a graph. A vertex s can reach a vertex t (and t is reachable from s) if there exists a sequence of adjacent vertices (i.e. a walk) which starts with s ...
is in NL when we can represent configurations in space which is logarithmic in the size of the input, and since the configuration of a Turing Machine in NL is indeed of logarithmic size, it follows that graph-reachability is
complete Complete may refer to: Logic * Completeness (logic) * Completeness of a theory, the property of a theory that every formula in the theory's language or its negation is provable Mathematics * The completeness of the real numbers, which implies ...
for NL. Papadimitriou, Christos H. (1994). ''Computational Complexity'', Reading, Massachusetts: Addison-Wesley. . In the other direction, it helps to verify the complexity of a computation model; the decision problem for a (deterministic) model whose configurations are of space which is logarithmic in the size of the input is in ( L) NL. This is for example the case of finite automata and finite automata with one counter.


References


Bibliography

* Section 4.3: NL-completeness, p. 87. {{DEFAULTSORT:Computational Complexity Theory Computational complexity theory Application-specific graphs