HOME

TheInfoList



OR:

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 ...
the Blum axioms or Blum complexity axioms are
axioms An axiom, postulate, or assumption is a statement that is taken to be true, to serve as a premise or starting point for further reasoning and arguments. The word comes from the Ancient Greek word (), meaning 'that which is thought worthy or ...
that specify desirable properties of complexity measures on the set of
computable function Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can d ...
s. The axioms were first defined by Manuel Blum in 1967. Importantly,
Blum's speedup theorem In computational complexity theory, Blum's speedup theorem, first stated by Manuel Blum in 1967, is a fundamental theorem about the complexity of computable functions. Each computable function has an infinite number of different program represent ...
and the Gap theorem hold for any complexity measure satisfying these axioms. The most well-known measures satisfying these axioms are those of time (i.e., running time) and space (i.e., memory usage).


Definitions

A Blum complexity measure is a pair (\varphi, \Phi) with \varphi a numbering of the
partial computable function Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can do ...
s \mathbf^ and a computable function :\Phi: \mathbb \to \mathbf^ which satisfies the following Blum axioms. We write \varphi_i for the ''i''-th
partial computable function Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can do ...
under the Gödel numbering \varphi, and \Phi_i for the partial computable function \Phi(i). * the domains of \varphi_i and \Phi_i are identical. * the set \ is
recursive Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathemati ...
.


Examples

* (\varphi, \Phi) is a complexity measure, if \Phi is either the time or the memory (or some suitable combination thereof) required for the computation coded by ''i''. * (\varphi, \varphi) is ''not'' a complexity measure, since it fails the second axiom.


Complexity classes

For a total computable function f
complexity class 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 ...
es of computable functions can be defined as :C(f) := \ :C^0(f) := \ C(f) is the set of all computable functions with a complexity less than f. C^0(f) is the set of all
boolean-valued function A Boolean-valued function (sometimes called a Predicate (logic), predicate or a proposition) is a function (mathematics), function of the type f : X → B, where X is an arbitrary Set (mathematics), set and where B is a Boolean domain, i.e. a gene ...
s with a complexity less than f. If we consider those functions as
indicator function In mathematics, an indicator function or a characteristic function of a subset of a set is a function that maps elements of the subset to one, and all other elements to zero. That is, if is a subset of some set , one has \mathbf_(x)=1 if x ...
s on sets, C^0(f) can be thought of as a complexity class of sets.


References

{{Reflist Structural complexity theory Mathematical axioms