μ-recursion

from Wikipedia, the free encyclopedia

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:

  1. constant 0 function:
  2. Projection on one argument: ,
  3. Successor function:

The μ-recursive functions are obtained as the conclusion of the basic functions with regard to the following three operations:

  1. The composition: if
  2. The primitive recursion: and , if
  3. 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