This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Computing in the Limit

Antony Van der Mude 32 Second Avenue #332, Burlington MA, 01803 1-908-343-1334 vandermude@acm.org
Abstract.

We define a class of functions termed “Computable in the Limit”, based on the Machine Learning paradigm of “Identification in the Limit”. A function is Computable in the Limit if it defines a property PpP_{p} of a recursively enumerable class AA of recursively enumerable data sequences SA\vec{S}\in A, such that each data sequence S\vec{S} is generated by a total recursive function ϕs\phi_{s} that enumerates S\vec{S}. Let the index ss represent the data sequence S\vec{S}. The property Pp(s)=xP_{p}(s)=x is computed by a partial recursive function ϕp(s,t)\phi_{p}(s,t) such that there exists a uu where ϕp(s,u)=x\phi_{p}(s,u)=x and for all tut\geq u, ϕp(s,t)=x\phi_{p}(s,t)=x if it converges. Since the index ss is known, this is not an identification problem - instead it is computing a common property of the sequences in AA. We give a Normal Form Theorem for properties that are Computable in the Limit, similar to Kleene’s Normal Form Theorem. We also give some examples of sets that are Computable in the Limit, and derive some properties of Canonical and Complexity Bound Enumerations of classes of total functions, and show that no full enumeration of all indices of Turing machines TMiTM_{i} that compute a given total function f(x)f(x) can be Computable in the Limit.

Index Terms: Learning, mu Theorem, Computable

1. Introduction

Computing in the Limit started with the pioneering work in Machine Learning of Ray Solomonoff[5][6] and Mark Gold[3]. They developed some initial results on a type of Machine Learning called Identification in the Limit. Identification in the Limit is a learning task where the learner is presented with a sequence of elements from a recursively enumerable set and is given the task to determine an index ii for the function ϕi\phi_{i} whose domain is the set. Besides its applications in learning, Gold[2] considered the problem of identification of sets in the limit (Limiting Recursive Sets), and Kolmogorov based his complexity theory on work by Ray Solomonoff.

One basic result from Kolmogorov Complexity is the function K(x)=yK(x)=y, where Turing machine TMyTM_{y} is the machine with the shortest index yy that, starting with an empty tape, halts with xx on its tape. The Incompressible Numbers are numbers where, essentially, K(x)=|x|+cK(x)=|x|+c. This happens when there is no shorter way of generating these numbers except by storing a copy of the number xx in the state table of the Turing machine, which is just the size of xx plus a constant cc. These values are known to be immune - no infinite recursively enumerable set is a subset of the Incompressible Numbers.

In this paper, we will consider a more general problem. We cosider the class of functionsfi(x)f_{i}(x) based on all two-input recursive functions ϕi(x,y)\phi_{i}(x,y) where fi(x)=zf_{i}(x)=z if ϕi(x,y)\phi_{i}(x,y) converges to zz for increasing values of yy, and try to discover some properties of of the functions in this class. We will show that the class of Computable in the Limit functions has a nice normal form theorem to characterize the classs, similar to the Kleene Normal Form Theorem.

The authors Gold[2], Stephan and Zeugmann[7] and Terwijn[8] have studied this class of functions. Gold shows that functions in this class that are are limiting recursive (PS(x)=1P_{S}(x)=1 if xSx\in S, otherwise PS(x)=0P_{S}(x)=0) is 2-recursive and limiting recursively enumerable functions (PS(x)P_{S}(x) converges iff xSx\in S) is 2-r.e. The term 2-recursive means that the functions are in EA and AE in the arithmetical hierarchy, and 2-r.e. is EA. Stephan and Zeugmann showed that although problems like the Halting Problem and other function classes are learnable in the limit, some ae not reliably learned. Terwijn extends these results by considering learning algorithms where zero, one or two mind changes are allowed and compares them to a function with access to an oracle for the set to be learned.

Just as in the class of computatble functions, there are functions with propertiers that are similar that fall into this class. We will explore some properties that are Computable in the Limit and some that are not.

2. Definitions

Using the notion of Rogers[4] we define the Tau function as

τ(x,y)=12(x2+2xy+y2+3x+y)\tau(x,y)=\frac{1}{2}(x^{2}+2xy+y^{2}+3x+y)

Where

τ1(x)=x\tau^{1}(x)=x
τ2(x,y)=τ(x,y)\tau^{2}(x,y)=\tau(x,y)
τk+1(x1,,xk+1)=τ(τk(x1,,xk),xk+1)\tau^{k+1}(x_{1},...,x_{k+1})=\tau(\tau^{k}(x_{1},...,x_{k}),x_{k+1})

and πik(x)\pi_{i}^{k}(x) is the inverse function for the ithi^{th} element of τk\tau^{k}.

Without loss of generality, an enumeration of the partial recursive functions is given as ϕi\phi_{i} and the primitive recursive functions is given as FiF_{i}. A function with two arguments ϕi(x,i)\phi_{i}(x,i) is simply ϕi(τ(x,y))\phi_{i}(\tau(x,y)) and similarly for Fi(x,y)F_{i}(x,y).

We begin with the definition of Computing in the Limit. This is similar to Gold’s definition of a Limiting Recursive Set.

Definition 2.1.

A function fi(x)f_{i}(x) is Computable in the Limit, where there exists a corresponding partial recursive function ϕi(x,y)\phi_{i}(x,y) such that if fi(x)=zf_{i}(x)=z then there exists a ss such that for all t>st>s if ϕi(x,t)\phi_{i}(x,t) converges, then ϕi(x,t)=z\phi_{i}(x,t)=z. If this happens, we say fif_{i} Converges on xx to value zz in the Limit, or l-converges to zz on xx.

The function fif_{i} Diverges in the Limit on x if for all ss where ϕi(x,s)=v\phi_{i}(x,s)=v then there exists a tt such that ϕi(x,t)=w\phi_{i}(x,t)=w and vwv\neq w. If this happens, we say fif_{i} Diverges on value xx in the Limit, or l-diverges on xx.

If the function fif_{i} l-diverges on some input xx then fif_{i} is l-Partial .Otherwise, it is l-Total.

For example, the set <x,y><x,y> of all shortest algorithmic descriptions of Kolmogorov complexity is expressed by such a function fKf_{K}. fKf_{K} takes the input xx and generates yy if yy is the smallest integer such that ϕy(0)=x\phi_{y}(0)=x. This requires a dovetail function ϕKi(x,t)\phi_{K}i(x,t) that runs all sts\leq t where ϕs(0)=x\phi_{s}(0)=x in time less than tt and for all r<sr<s either ϕr(0)=zx\phi_{r}(0)=z\neq x or ϕr(0)\phi_{r}(0) does not converge in time tt. If no such ϕs(0)=x\phi_{s}(0)=x is found, return the value tt.

3. The Normal Form Theorem

The notation fi(x)f_{i}(x) for properties Computable in the Limit looks similar to the standard definition of a partial recursive function ϕi(s)\phi_{i}(s), except that partial recursive functions are defined using the primitive recursive functions Φi(x,t)\Phi_{i}(x,t). Actually we shall see that the only difference is the terminating condition. This allows us to construct a Normal Form Theorem that is similar to Kleene’s Normal Form theorem except that instead of using the mu function μ(x)\mu(x) to find the first element where a Boolean predicate is true, we use a new function λ(x)\lambda(x) to find the last of a finite number of guesses.

Definition 3.1.

The function μ(x)[x]\mu(x)[...x...] is the least integer xx such that the expression x...x... is true when “xx” is interpreted as the integer xx, if x...x... is true at least one point[4].

Definition 3.2.

The function λ(x)[x]\lambda(x)[...x...] is the largest integer xx such that the expression x...x... is true when “xx” is interpreted as the integer xx, if x...x... is true at a finite number of points.

Kleene’s Normal Form Theorem is given as follows.

Theorem 3.3.

Kleene’s Normal Form Theorem: There exists a primitive recursive function U(z)U(z) and a primitive recursive predicate T(e,x,y)T(e,x,y) such that every function f(x)f(x) is effectively computable iff f(x)=ϕe(x)=U(μyT(e,x,y))f(x)=\phi_{e}(x)=U(\mu yT(e,x,y)).

The Boolean function T(e,x,y)T(e,x,y) encodes in the variable yy the computation history of Turing machine TMeTM_{e} on input xx. The predicate T(e,x,y)T(e,x,y) returns true if yy is a halting sequence. The function U(z)U(z) recovers the output from the computation history yy. We shall assume that if T(e,x,y)T(e,x,y) is true then for all z>yz>y where zz is yy with one or more copies of the last tape configuration of yy appended to yy, then T(e,x,z)T(e,x,z) is true also.

Theorem 3.4.

Computing in the Limit Normal Form: There exists a primitive recursive function U(z)U(z) and a primitive recursive predicate T(e,x,y)T^{\prime}(e,x,y) such that every function f(x)f(x) is Computable in the Limit iff f(x)=U(λyT(p,x,y))f(x)=U(\lambda yT^{\prime}(p,x,y)).

Proof.

By the definition of Pp(x)P_{p}(x), there is a ϕp(x,n)\phi_{p}(x,n) that computes PpP_{p}. By definition, ϕp(x,n)=ϕp(x,n)=TMp(τ(x,n))\phi_{p}(x,n)=\phi_{p}(\langle x,n\rangle)=TM_{p}(\tau(x,n)). By Kleene’s Normal Form Theorem there is a UU and TT such that

ϕp(x,n)=U(μyT(p,τ(x,n),y))\phi_{p}(x,n)=U(\mu yT(p,\tau(x,n),y))

Define TT^{\prime} from TT as follows (for each pp and xx):

T(p,τ(x,n),y)T^{\prime}(p,\tau(x,n),y) is true iff T(p,τ(x,n),y)T(p,\tau(x,n),y) is true and for all m<nm<n and z<yz<y where T(p,τ(x,m),z)T(p,\tau(x,m),z) is true, then U(y)U(z)U(y)\neq U(z).

Note that this condition does not use the μ\mu function.

Assuming T(p,x,y)T(p,x,y) and U(x)U(x) are primitive recursive, T(p,τ(x,n),y)T^{\prime}(p,\tau(x,n),y) is also.

If the following two conditions are true for some time nn:

  • Let {i1,y1,,in,yn,}\{\langle i_{1},y_{1}\rangle,...,\langle i_{n},y_{n}\rangle,...\} be the set of all pairs such that for each nn, T(p,τ(x,in),yn)T(p,\tau(x,i_{n}),y_{n}) is true.

  • For all m>nm>n if T(p,τ(x,im),ym)T(p,\tau(x,i_{m}),y_{m}) is true then U(yn)=U(ym)U(y_{n})=U(y_{m})

then the following must be true:

If yiy_{i} is the largest value in the set {y0,yn}\{y_{0},...y_{n}\}, then T(p,τ(x,yi),z)T(p,\tau(x,y_{i}),z) is true, where z>yiz>y_{i} and zz is a configuration with one or more copies of the last tape configuration in yiy_{i} appended to zz.

So U(z)U(z) is the last value where TMpTM_{p} changes its mind on the input sequence. Therefore, the last time T(p,x,y)T^{\prime}(p,x,y) is true is exactly this value y=zy=z.

So Pp(x)=U(λyT(p,x,y))P_{p}(x)=U(\lambda yT^{\prime}(p,x,y)). ∎

Gold shows that limiting primitive recursive, limiting total recursive and limiting partial recursive functions are equally as powerful. This normal form theorem shows why this is so. The use of the lambda function with the primitive recursive functions are powerful enough to compute anything in this class. Since partial recursive functions can be computed with primitive recursive functions and the application of the mu function, the substituion of the mu function by the lambda function gives the same expressive power to a primitive recursive function as to a total or partial recursive function.

4. Some Properties Computable in the Limit

Here are a number of properties that are Computable in the Limit but not effectively computable. These are all pretty obvious, so I shall just state them.

Note that Computable in the Limit properties can be l-partial functions, where for Pp(x)P_{p}(x) there are either an infinite number of guesses or no guess at all. Some of the examples here are l-total Pp(x)P_{p}(x) functions. In all of these cases, the class of sequences is AZA_{Z}:

  • The Kolmorogorov set K(x)=PK(x)=yK(x)=P_{K}(x)=y. The description was given in the Definitions as an example. PKP_{K} is l-total.

  • Kolmogorov incompressible numbers: PI(n)=xP_{I}(n)=x, where xx is incompressible. Use PK(x)P_{K}(x) and discard any values yy that are compressible. When that happens, shift the guesses for PI(n)P_{I}(n) down. At each value nn there comes a time when all of the previous compressible values are found, and PI(n)P_{I}(n) is never shifted. PIP_{I} is l-total.

  • The set of all partial recursive functions TMxTM_{x} where PP(x)=x,yP_{P}(x)=\langle x,y\rangle only if TMxTM_{x} is partial and yy is the smallest value where TMx(y)TM_{x}(y) diverges. The value PP(x,y)P_{P}(x,y) is computed as follows: for all zyz\leq y run TMx(z)TM_{x}(z) for yy steps at most. If there is a value zz where TMx(z)TM_{x}(z) has not converged in yy steps or less, output x,z\langle x,z\rangle. If they all converge, output x,y\langle x,y\rangle. If TMxTM_{x} is total, then if Φx(y)<y\Phi_{x}(y)<y for all but a finite yy, then PP(x,y)=x,yP_{P}(x,y)=\langle x,y\rangle for all but a finite number of cases and does not l-converge. Otherwise, the output of PP(x,y)P_{P}(x,y) changes infinitely often as the smaller inputs converge. In this case, PPP_{P} is l-partial.

  • The set of all partial recursive functions TMxTM_{x} where for every nn there is a unique xx such that PQ(n)=xP_{Q}(n)=x. Use the same trick as above for the l-total property of Kolmogorov incompressible numbers. In this case, we must keep track of both the function TMaTM_{a} and the value PP(a)=a,bP_{P}(a)=\langle a,b\rangle at which it diverges. Ordering the a,b\langle a,b\rangle pairs, PQ(n)P_{Q}(n) outputs the value cc, where c,d\langle c,d\rangle is the nthn^{th} smallest pair. This takes l-partial PPP_{P} and turns it into l-total PQP_{Q}.

  • The set of all partial functions with finite domain. Instead of keeping track of a,b\langle a,b\rangle where TMa(b)TM_{a}(b) diverges, keep track of a,b0,,bn\langle a,\langle b_{0},...,b_{n}\rangle\rangle where TMa(bi)TM_{a}(b_{i}) converges, for each ini\leq n.

  • The minimum index for finite sets - similar to the Kolmorogorov set.

  • The set of all functions TMiTM_{i} with a single element in its domain.

  • Given an enumeration of indexes of Polynomial functions AA and enumeration of indexes of NP functions BB, the Boolean property over pairs i,j\langle i,j\rangle where Peq(i,j)=1P_{eq}(\langle i,j\rangle)=1 iff iAi\in A, jBj\in B and ϕi=ϕj\phi_{i}=\phi_{j}. Otherwise Peq(i,j)=0P_{eq}(\langle i,j\rangle)=0. If iAi\notin A or jBj\notin B, then Peq(i,j)P_{eq}(\langle i,j\rangle) diverges.

  • The property Pexp(i)=i,eP_{exp}(i)=\langle i,e\rangle where ϕi\phi_{i} has polynomial complexity with exponent ee. If ϕi\phi_{i} is not polynomial, then Pexp(i)P_{exp}(i) l-diverges.

The Polynomial - NP property can be generalized to any pairs of recursively enumerable classes of total functions. We will present two types of generalizations. Let the class of total functions AA be enumerated by a total function ϕa\phi_{a} whose range is indexes of total functions in the set AA, and similarly for BB and ϕb\phi_{b}. A theorem by Blum and Blum on the extrapolation of total recursive functions uses the concept of an h-easy function. They show that each recursively enumerable class of functions is bounded, up to a finite number of exceptions, by the computational complexity of a total function hh.[1]

Definition 4.1.

Let hh be a total recursive function. A partial recursive function ϕi\phi_{i} is h-easy if Φ(x)h(x)\Phi(x)\leq h(x) for all but a finite number of integers xx.

This definition differs slightly from Blum and Blum’s in that ϕi\phi_{i} can diverge in a finite number of cases.

Theorem 4.2.

For any two total recursive functions gg and hh, PeqP_{eq} is Computable in the Limit, where if ϕi\phi_{i} is g-easy and ϕj\phi_{j} is h-easy then Peq(i,j)=1P_{eq}(\langle i,j\rangle)=1 if ϕi=ϕj\phi_{i}=\phi_{j} and Peq(i,j)=0P_{eq}(\langle i,j\rangle)=0 if ϕiϕj\phi_{i}\neq\phi_{j} and Peq(i,j)P_{eq}(\langle i,j\rangle) diverges if either ϕi\phi_{i} is not g-easy or ϕj\phi_{j} is not h-easy.

Proof.

The function ϕeq(i,j,t)\phi_{eq}(\langle i,j\rangle,t) is computed as follows. For all xtx\leq t, run ϕi(x)\phi_{i}(x) for at most g(x)g(x) steps and run ϕj(x)\phi_{j}(x) for at most h(x)h(x) steps. If yy is the largest value where Φi(y)>g(y)\Phi_{i}(y)>g(y) or Φj(y)>h(y)\Phi_{j}(y)>h(y) or both, then output y+1y+1 unless y+1y+1 was output before at some time. Otherwise, output 0 if there is a case zz where ϕi(z)ϕj(z)\phi_{i}(z)\neq\phi_{j}(z). If none are found, then output 11.

The output y+1y+1 is a guess that ϕi\phi_{i} is g-easy and ϕj\phi_{j} is h-easy where all exceptions are less than or equal to yy. From that point on, ϕeq\phi_{eq} guesses 11 (the two are equal) until an exception is found. ∎

So the Boolean test of equality for h-easy classes of total recursive functions is Computable in the Limit.

Note, though, that neither the class of Polynomial functions nor the class of NP functions can be defined in this way, because the h-easy function will grow to include all polynomial exponents. This allows for functions whose computation time is not within any exponent. We can, though, enumerate indexes of the polynomial functions of the NP functions, and use them instead of gg and hh.

Theorem 4.3.

For any two total recursively enumerable sets AA and BB of total recursive functions, PeqP_{eq} is Computable in the Limit, where if ϕiA\phi_{i}\in A and ϕjB\phi_{j}\in B then Peq(i,j)=1P_{eq}(\langle i,j\rangle)=1 if ϕi=ϕj\phi_{i}=\phi_{j} and Peq(i,j)=0P_{eq}(\langle i,j\rangle)=0 if ϕiϕj\phi_{i}\neq\phi_{j} infinitely often, and Peq(i,j)P_{eq}(\langle i,j\rangle) diverges if either ϕiA\phi_{i}\notin A or ϕjB\phi_{j}\notin B.

Proof.

In this case, ϕeq(i,j,t)\phi_{eq}(\langle i,j\rangle,t) checks that ϕiA\phi_{i}\in A and ϕjB\phi_{j}\in B before running the test for equality. ∎

Note that these two theorems do not work for sets of partial recursive functions, because we can get stuck on a case where ϕi(x)\phi_{i}(x) converges and ϕj(x)\phi_{j}(x) diverges. The procedure does not identify this case, so it will return equality even though one function diverged.

It is also possible to Compute in the Limit the ratio of equal to unequal values in the two classes, if the ratio is a rational number bounded in the limit.

Definition 4.4.

Given two total functions FF and GG, the Error of G on F (or FF on GG) is the value Err(x,F,G)=|{yx|F(y)G(y)}|/xErr(x,F,G)=\left|\left\{{y\leq x|F(y)\neq G(y)}\right\}\right|/x. This is a rational number in the range 0 to 11.

Definition 4.5.

The Error of G on F Converges to v if there exists an error bound ε(x)=a/b\varepsilon(x)=a/b such that for each xx, the value a/ba/b is a rational number in the range 0 to 11, where ε(x)\varepsilon(x) is subject to the following two conditions:

  • For all uu and vv, if u<vu<v then ε(u)ε(v)\varepsilon(u)\geq\varepsilon(v).

  • For all rational numbers c/dc/d in the range 0 to 11 where c/d0c/d\neq 0 there exists a tt where c/d>ε(t)c/d>\varepsilon(t).

Then there exists an mm such that for all nmn\geq m if Err(n,F,G)=wErr(n,F,G)=w then |vw|ε(n)|v-w|\leq\varepsilon(n).

Theorem 4.6.

For any two recursively enumerable classes of total recursive functions, AA and BB, enumerable by ϕa\phi_{a} and ϕb\phi_{b}, and an error bound ε(x)\varepsilon(x),

Perr(i,j)=i,j,x,yP_{err}(\langle i,j\rangle)=\langle i,j,x,y\rangle

is Computable in the Limit, where for some nn and mm, ϕa(n)=i\phi_{a}(n)=i and ϕb(m)=j\phi_{b}(m)=j and the error of ϕi\phi_{i} on ϕj\phi_{j} converges to a rational number x/yx/y.

Proof.

The function ϕerr(i,j,t)\phi_{err^{\prime}}(\langle i,j\rangle,t) is computed as follows. Run ϕi(x)=ϕj(x)\phi_{i}(x)=\phi_{j}(x) for each xtx\leq t. Compute Err(t,ϕi,ϕj)=wErr(t,\phi_{i},\phi_{j})=w. Find the rational number a/ba/b with the smallest denominator bb such that |wa/b|ε(n)|w-a/b|\leq\varepsilon(n).

The assumption is that the error of ϕi\phi_{i} on ϕj\phi_{j} converges to a rational number x/yx/y. So there is an mm such that for all nmn\geq m if Err(n,F,G)=wErr(n,F,G)=w then |wx/y|ε(n)|w-x/y|\leq\varepsilon(n).

If e/fe/f is a rational number where e/fx/ye/f\neq x/y then there exists a rational c/dc/d where |e/fx/y|=c/d0|e/f-x/y|=c/d\neq 0. So there exists a tt where c/d>ε(t)c/d>\varepsilon(t). For all sts\geq t, |we/f|>ε(n)|w-e/f|>\varepsilon(n) so e/fe/f is not chosen after time tt. This is true for all rational values e/fe/f where f<yf<y so all rationals in the range 0 to 11 are rejected in favor of x/yx/y at some time rr. Therefore ϕerr(i,j,r)=x/y\phi_{err^{\prime}}(\langle i,j\rangle,r)=x/y and for all s>rs>r, ϕerr(i,j,s)=ϕerr(i,j,r)\phi_{err^{\prime}}(\langle i,j\rangle,s)=\phi_{err^{\prime}}(\langle i,j\rangle,r). ∎

Note that, although this theorem does not apply to the reals in general, any real number that can be computed as the output of a Turing machine starting with a blank tape (such as ee or π\pi) can be added to this function by using the index of the associated Turing Machine as a possible output.

Given a Computing in the Limit Problem PpP_{p} where the output is a class of total functions ϕi\phi_{i}, we can generate a Canonical listing, where every function appears only once.

Definition 4.7.

A Canonical Enumeration of total functions is a Computing in the Limit Problem PpP_{p} where every function is unique. That is, for any xx and yy, if Pp(x)=iP_{p}(x)=i and Pp(y)=jP_{p}(y)=j then there is a zz such that ϕi(z)ϕj(z)\phi_{i}(z)\neq\phi_{j}(z).

Theorem 4.8.

Assume a class of total functions is Computable In the Limit by PP, in the sense that for each xx, if P(x)=yP(x)=y, then ϕy\phi_{y} is a total recursive function. Then there is a l-total PP^{\prime} where an index of each function is given exactly once.

Proof.

PP^{\prime} is derived from PP where we only add in a function if it differs with each of the previous functions by at least one input. If PP changes its mind, we have to recompute the differences. Eventually, each output for PP^{\prime} l-converges. ∎

Definition 4.9.

A Complexity Bound Enumeration of a canonical enumeration of total functions is an enumeration of all values ii where there is a ϕj\phi_{j} in the canonical enumeration such that

  • For all xx, ϕi(x)=ϕj(x)\phi_{i}(x)=\phi_{j}(x)

  • For all xx, Φi(x)Φj(x)\Phi_{i}(x)\leq\Phi_{j}(x)

A Complexity Bound Enumeration finds all of the algorithms that are faster than the one in the Canonical Enumeration.

Theorem 4.10.

If a class of total functions is Canonically Enumerable, then the complexity bound enumeration is Computable in the Limit.

Proof.

Given the canonical listing, diagonalize each canonical index ii over the enumeration of all Turing machines TMjTM_{j}, discarding any that differ (ϕi(x)ϕj(x)\phi_{i}(x)\neq\phi_{j}(x)) or take too much time (Φi(x)>Φj(x)\Phi_{i}(x)>\Phi_{j}(x)). ∎

5. Some Properties That Are Not Computable in the Limit

We end with a couple of examples of properties that are not Computable in the Limit.

Definition 5.1.

A Complete Enumeration of a class of functions AA is an l-total property PpP_{p}, Computable in the Limit, such that, for all TMiATM_{i}\in A, every function TMj=TMiTM_{j}=TM_{i} has a value xx where Pp(x)=jP_{p}(x)=j.

Theorem 5.2.

The Complete Enumeration of all Total Recursive Functions is not Computable in the Limit by any l-Total PpP_{p}.

Proof.

Assume the opposite: the complete enumeration of all total recursive functions is Computable in the Limit by a l-Total PpP_{p}.

Since ϕp\phi_{p} is l-total then for each xx there exists a uu such that for all tut\geq u if ϕp(x,t)\phi_{p}(x,t) converges, then ϕp(x,t)=ϕp(x,u)=y\phi_{p}(x,t)=\phi_{p}(x,u)=y and ϕy\phi_{y} is a total recursive function. Also, every index jj of a total function TMjTM_{j} is an output of Pp(v)P_{p}(v) for some vv.

Define a family of functions f(i)f(i) where for each ii, ϕf(i)(x,u)\phi_{f(i)}(\langle x,u\rangle) is constructed from ϕp(x,t)\phi_{p}(x,t) as follows: begin by running ϕp(x,t)\phi_{p}(x,t) for all t(u+i)t\leq(u+i) for (u+i)(u+i) steps at most. If no such ϕp(x,t)\phi_{p}(x,t) converges in time (u+i)(u+i) or less, then dovetail the computations of ϕp(x,t)\phi_{p}(x,t) for all t, and find the first vv where ϕp(x,v)\phi_{p}(x,v) converges. If ww is the largest value where ϕp(x,w)\phi_{p}(x,w) converges in this computation and ϕp(x,w)=y\phi_{p}(x,w)=y, then run ϕy(x,u)\phi_{y}(\langle x,u\rangle). If ϕy(x,u)\phi_{y}(\langle x,u\rangle) converges, where ϕy(x,u)=z\phi_{y}(\langle x,u\rangle)=z then output z+1z+1.

By the assumption, for all xx, Pp(x)P_{p}(x) l-converges to the index of a total recursive function yy, although the initial guesses may be of partial recursive functions. If ϕf(i)(x,u)\phi_{f(i)}(\langle x,u\rangle) uses one of these guesses, it will never halt, at least on a finite number of initial values of uu. But there will come a time ss where for all tst\geq s the function ϕf(t)(x,u)\phi_{f(t)}(\langle x,u\rangle) converges to a value for every uu and is therefore total.

Choose jj, f(t)=jf(t)=j where ϕj\phi_{j} is total. Since PpP_{p} is a complete enumeration, there will be an index yy such that Pp(y)=jP_{p}(y)=j in the limit, so after a finite value uu, for all t>ut>u ϕp(y,t)=j\phi_{p}(\langle y,t\rangle)=j if it converges. Let ϕj(y,t)=z\phi_{j}(\langle y,t\rangle)=z. This value zz exists, since ϕj\phi_{j} is total. But by the construction of ϕf(t)=ϕj\phi_{f(t)}=\phi_{j} given above, ϕf(t)(y,s)=ϕj(y,s)=ϕj(y,s)+1\phi_{f(t)}(\langle y,s\rangle)=\phi_{j}(\langle y,s\rangle)=\phi_{j}(\langle y,s\rangle)+1 a contradiction. So the Complete Enumeration of all Total Recursive Functions is not Computable in the Limit by a l-total PpP_{p}. ∎

We can strengthen this result by showing that no Complete Enumeration of even a single total recursive function is Computable in the Limit by any PpP_{p}, even if it is l-partial.

Theorem 5.3.

Given any total recursive function TMiTM_{i}, the Complete Enumeration of all Total Functions TMjTM_{j} equal to TMiTM_{i} is not Computable in the Limit by any PpP_{p}.

Proof.

Assume the opposite: for an arbitrary TMiTM_{i}, there is a PpP_{p} such that for all jj, TMi=TMjTM_{i}=TM_{j} iff there is an xx such that Pp(x)=jP_{p}(x)=j. Let Pp(x)P_{p}(x) be computed by ϕp(x,t)\phi_{p}(x,t).

Given ii and ϕp\phi_{p}, define TMn(y)TM_{n}(y) as follows. Run all ϕp(x,t)\phi_{p}(x,t) computations for xyx\leq y and tyt\leq y for up to Φp(x,t)y\Phi_{p}(x,t)\leq y. If there is no case where ϕp(x,t)=n\phi_{p}(x,t)=n then TMn(y)=TMi(y)TM_{n}(y)=TM_{i}(y).

Otherwise, enumerate all cases x,t\langle x,t\rangle where ϕp(x,t)=n\phi_{p}(x,t)=n for xyx\leq y and tyt\leq y in time Φp(x,t)y\Phi_{p}(x,t)\leq y. Let y=τ(m,q)y=\tau(m,q) and select the mthm^{th} case z,s\langle z,s\rangle where ϕp(z,s)=n\phi_{p}(z,s)=n. This ensures that each such case gets chosen an infinite number of times during the computations of all inputs yy to TMn(y)TM_{n}(y). Dovetail the computations of all ϕp(z,r)\phi_{p}(z,r) for r>sr>s until a value vv is found where ϕp(z,v)=m\phi_{p}(z,v)=m and mnm\neq n. If none is found, then TMn(y)TM_{n}(y) diverges. Otherwise, TMn(y)=TMi(y)TM_{n}(y)=TM_{i}(y).

If Pp(y)P_{p}(y) never equals nn for all yy, then TMn=TMiTM_{n}=TM_{i}. Then PpP_{p} cannot be a Complete Enumeration, since it missed TMnTM_{n}.

If Pp(y)=nP_{p}(y)=n for some yy then there is a value ss where ϕp(y,s)=n\phi_{p}(y,s)=n. At this point ϕp(y,t)\phi_{p}(y,t) either diverges or ϕp(y,t)=n\phi_{p}(y,t)=n for all t>st>s. Let TMn(v)TM_{n}(v) be a value vv where this value ϕp(y,s)=n\phi_{p}(y,s)=n is the case selected in the computation of TMn(v)TM_{n}(v). By the construction of TMnTM_{n}, TMn(v)TM_{n}(v) diverges, and is therefore not a total function.

Since this construction is true for any ii and ϕp\phi_{p}, the Complete Enumeration of all Total Functions TMjTM_{j} equal to TMiTM_{i} is not Computable in the Limit by any PpP_{p}. ∎

6. Conclusions

The class of properties that are Computable in the Limit are an interesting extension of the effectively computable functions. Although they are not computable in a finite time, they model our everyday notion of what learning and generalization are. The restricted subset of problems termed “Identification in the Limit” have been extensively covered in the Machine Learning and Computational Learning Theory fields. But the formal properties of the class itself, outside of its use as a model for learning, is itself interesting. This paper serves as a start for the exploration of this class.

It is obvious that the substitution of μ(x)\mu(x) for λ(x)\lambda(x) in the Normal Form Theorem can be further extended to classes where the computing function changes its mind an infinite number of times, and there is some predicate that defines a sort of limiting condition of that sequence. This would make it possible to extend Theorem 4.6 to the reals. This extension would of course be another superset, with characteristics all its own.

7. Acknowledgements

I would like to acknowledge Patrick Boyle and David Buhanan for helpful discussions.

References

  • [1] L. Blum and M. Blum. Toward a mathematical theory of inductive inference. Information and Control, 28(2):125–155, 1975.
  • [2] E Mark Gold. Limiting recursion. The Journal of Symbolic Logic, 30(1):28–48, 1965.
  • [3] E.M. Gold. Language identification in the limit. Information and Control, 10(5):447–474, 1967.
  • [4] H. Rogers Jr. Theory of recursive functions and effective computability, 1967.
  • [5] R.J. Solomonoff. A formal theory of inductive inference. part 1. Information and Control, 7(1):1–22, 1964.
  • [6] R.J. Solomonoff. A formal theory of inductive inference. part 2. Information and Control, 7(2):224–254, 1964.
  • [7] Frank Stephan and Thomas Zeugmann. On the uniform learnability of approximations to non-recursive functions. In International Conference on Algorithmic Learning Theory, pages 276–290. Springer, 1999.
  • [8] SEBASTIAAN A Terwijn. Learning and computing in the limit. In Logic Colloquium ’02, Lecture Notes on Logic, volume 27, pages 349–359, 2002.