μ-recursion
The class Pr of the μ-recursive functions or partially recursive functions plays an important role in recursion theory , a branch of theoretical computer science ( µ for the Greek μικρότατος , “the smallest”). According to the Church-Turing thesis , it describes the set of all functions that can be calculated in the intuitive sense . An important real subset of the μ-recursive functions are the primitive recursive functions .
The class of μ-recursive functions corresponds to the class of Turing-computable functions as well as other equally powerful computability models such as the lambda calculus , register machines and WHILE programs .
The primitive recursive functions are made up of simple basic functions (constant 0 function, projections onto an argument and successor function) through composition and primitive recursion. This always gives total functions, i.e. functions in the real sense. The μ-recursive functions, on the other hand, are partial functions that can be formed from the same constructs and additionally by using the μ operator. Using the μ operator introduces partiality. However, not every μ-recursive function is non-total. For example, all primitive recursive functions are also μ-recursive. An example of a non-primitive recursive, total, μ-recursive function is the Ackermann function .
Definition of the μ operator
For a partial function and natural numbers, let the set
retained, so the entirety of all , such that at the location is identically 0, and in addition for all points with defined.
It should be noted that the set of natural numbers has a minimum if and only if it is not empty. (see well-being )
Applying the operator to the result is the partial function defined by:
In particular, the operator maps a -digit partial function to a -digit partial function.
For calculable things , the program for calculating can be understood as a while loop that counts up and therefore does not have to terminate :
Parameter: . Setze auf ; Solange erhöhe um ; Ergebnis: .
Definition of the μ-recursive functions
The class of μ-recursive functions (of ) comprises the following basic functions:
- constant 0 function:
- Projection on one argument: ,
- Successor function:
The μ-recursive functions are obtained as the conclusion of the basic functions with regard to the following three operations:
- The composition: if
- The primitive recursion: and , if
- The μ operator.
Equivalence of the μ-recursive functions with the Turing machine
It can be proven that a Turing machine (TM) can be simulated by μ-recursive functions. It can also be shown that the set of μ-recursive functions corresponds exactly to the set of Turing-computable functions.
Proof sketch for the simulation of the TM with μ-recursive functions
One can show the configuration of a TM that by three numbers , , can be represented. This is exactly how a function (a bijective mapping ) can be defined, which is a suitable coding of the TM.
So let's take a primitive recursive function
- ,
which provides a suitable coding of the TM for the input according to calculation steps,
and a second primitive recursive function
- ,
which returns 0 as a result for a coding if it represents a final state of the TM, and 1 otherwise.
Then results
the number of steps a TM takes to complete the calculation. So we get along
the calculation of the TM in a final state when entering .
comment
- The calculability of a μ-recursive function relates to values from its domain. There is no general procedure that returns all values that do not belong to the domain of a μ-recursive function.
- The μ-operator realizes a search process that terminates exactly when the searched value exists.
Examples
- All primitive recursive functions are μ-recursive.
- The Ackermann function and the Sudan function are total μ-recursive functions that are not primitive-recursive.
- The function Hardworking Beavers (busy beaver) is recursive μ-not.
- The sequence of digits of the holding probability ( Chaitin's constant ) is not μ-recursive. The holding probability is defined by , where is a holding program and denotes the length of the program in bits .
literature
- Heinz-Dieter Ebbinghaus , Jörg Flum, Wolfgang Thomas: Introduction to mathematical logic (= spectrum university paperback. ). 4th edition. Spectrum - Akademischer Verlag, Heidelberg et al. 1996, ISBN 3-8274-0130-5 .
- Hans Hermes : Enumerability, decidability, predictability. Introduction to the theory of recursive functions (= Heidelberger Taschenbücher. 87). 2nd Edition. Springer, Berlin et al. 1971, ISBN 3-540-05334-4 .
- Arnold Oberschelp : Recursion Theory. BI-Wissenschaftlicher-Verlag, Mannheim et al. 1993, ISBN 3-411-16171-X .
- Wolfgang Rautenberg : Introduction to Mathematical Logic. A textbook . 3rd, revised edition. Vieweg + Teubner, Wiesbaden 2008, ISBN 978-3-8348-0578-2 .