# Solomonoff's theory of inductive inference

Solomonoff's theory of universal **inductive inference** is a theory of prediction based on logical observations, such as predicting the next symbol based upon a given series of symbols. The only assumption that the theory makes is that the environment follows some unknown but computable probability distribution. It is a mathematical formalization of Occam's razor.^{[1]}^{[2]}^{[3]}^{[4]}^{[5]}

## Origin

### Philosophical

The theory is based in philosophical foundations, and was founded by Ray Solomonoff around 1960.^{[6]} It is a mathematically formalized Occam's razor.^{[1]}^{[2]}^{[3]}^{[4]}^{[5]} All computable theories which perfectly describe previous observations are used to calculate the probability of the next observation, with more weight put on the shorter computable theories. Marcus Hutter's universal artificial intelligence builds upon this to calculate the expected value of an action.

### Mathematical

The proof of the "razor" is based on the known mathematical properties of a probability distribution over a denumerable set. These properties are relevant because the infinite set of all programs is a denumerable set. The sum S of the probabilities of all programs must be exactly equal to one (as per the definition of probability) thus the probabilities must roughly decrease as we enumerate the infinite set of all programs, otherwise S will be strictly greater than one. To be more precise, for every > 0, there is some length *l* such that the probability of all programs longer than *l* is at most . This does not, however, preclude very long programs from having very high probability.

Fundamental ingredients of the theory are the concepts of algorithmic probability and Kolmogorov complexity. The universal prior probability of any prefix *p* of a computable sequence *x* is the sum of the probabilities of all programs (for a universal computer) that compute something starting with *p*. Given some *p* and any computable but unknown probability distribution from which *x* is sampled, the universal prior and Bayes' theorem can be used to predict the yet unseen parts of *x* in optimal fashion.

## Modern applications

### Artificial intelligence

Though Solomonoff's inductive inference is not computable, several AIXI-derived algorithms approximate it in order to make it run on a modern computer. The more they are given computing power, the more their predictions are close to the predictions of inductive inference (their mathematical limit is Solomonoff's inductive inference).^{[7]}^{[8]}^{[9]}

Another direction of inductive inference is based on E. Mark Gold's model of learning in the limit from 1967 and has developed since then more and more models of learning.
^{[10]}
The general scenario is the following: Given a class *S* of computable functions, is there a learner (that is, recursive functional) which for any input of the form (*f*(0),*f*(1),...,*f*(*n*)) outputs a hypothesis (an index *e* with respect to a previously agreed on acceptable numbering of all computable functions; the indexed function should be consistent with the given values of *f*). A learner *M* learns a function *f* if almost all its hypotheses are the same index *e*, which generates the function *f*; *M* learns *S* if *M* learns every *f* in *S*. Basic results are that all recursively enumerable classes of functions are learnable while the class REC of all computable functions is not learnable.
{{ safesubst:#invoke:Unsubst||date=__DATE__ |$B=
{{#invoke:Category handler|main}}{{#invoke:Category handler|main}}^{[citation needed]}
}}
Many related models have been considered and also the learning of classes of recursively enumerable sets from positive data is a topic studied from Gold's pioneering paper in 1967 onwards. A far reaching extension of the Gold’s approach is developed by Schmidhuber's theory of generalized Kolmogorov complexities,^{[11]} which are kinds of super-recursive algorithms.

### Turing machines

The third mathematically based direction of inductive inference makes use of the theory of automata and computation. In this context, the process of inductive inference is performed by an abstract automaton called an inductive Turing machine (Burgin, 2005).
*Inductive Turing machines* represent the next step in the development of computer science providing better models for contemporary computers and computer networks (Burgin, 2001) and forming an important class of super-recursive algorithms as they satisfy all conditions in the definition of algorithm. Namely, each inductive Turing machines is a type of effective method in which a definite list of well-defined instructions for completing a task, when given an initial state, will proceed through a well-defined series of successive states, eventually terminating in an end-state. The difference between an inductive Turing machine and a Turing machine is that to produce the result a Turing machine has to stop, while in some cases an inductive Turing machine can do this without stopping. Kleene called procedures that could run forever without stopping by the name *calculation procedure or algorithm* (Kleene 1952:137). Kleene also demanded that such an algorithm must eventually exhibit "some object" (Kleene 1952:137). This condition is satisfied by inductive Turing machines, as their results are exhibited after a finite number of steps, but inductive Turing machines do not always tell at which step the result has been obtained.

Simple inductive Turing machines are equivalent to other models of computation. More advanced inductive Turing machines are much more powerful. It is proved (Burgin, 2005) that limiting partial recursive functions, trial and error predicates, general Turing machines, and simple inductive Turing machines are equivalent models of computation. However, simple inductive Turing machines and general Turing machines give direct constructions of computing automata, which are thoroughly grounded in physical machines. In contrast, trial and error predicates, limiting recursive functions and limiting partial recursive functions present syntactic systems of symbols with formal rules for their manipulation. Simple inductive Turing machines and general Turing machines are related to limiting partial recursive functions and trial and error predicates as Turing machines are related to partial recursive functions and lambda-calculus.

Note that only simple inductive Turing machines have the same structure (but different functioning semantics of the output mode) as Turing machines. Other types of inductive Turing machines have an essentially more advanced structure due to the structured memory and more powerful instructions. Their utilization for inference and learning allows achieving higher efficiency and better reflects learning of people (Burgin and Klinger, 2004).

Some researchers confuse computations of inductive Turing machines with non-stopping computations or with infinite time computations. First, some of computations of inductive Turing machines halt. As in the case of conventional Turing machines, some halting computations give the result, while others do not give. Second, some non-stopping computations of inductive Turing machines give results, while others do not give. Rules of inductive Turing machines determine when a computation (stopping or non-stopping) gives a result. Namely, an inductive Turing machine produces output from time to time and once this output stops changing, it is considered the result of the computation. It is necessary to know that descriptions of this rule in some papers are incorrect. For instance, Davis (2006: 128) formulates the rule when result is obtained without stopping as "… once the correct output has been produced any subsequent output will simply repeat this correct result." Third, in contrast to the widespread misconception, inductive Turing machines give results (when it happens) always after a finite number of steps (in finite time) in contrast to infinite and infinite-time computations. There are two main distinctions between conventional Turing machines and simple inductive Turing machines. The first distinction is that even simple inductive Turing machines can do much more than conventional Turing machines. The second distinction is that a conventional Turing machine always informs (by halting or by coming to a final state) when the result is obtained, while a simple inductive Turing machine in some cases does inform about reaching the result, while in other cases (where the conventional Turing machine is helpless), it does not inform. People have an illusion that a computer always itself informs (by halting or by other means) when the result is obtained. In contrast to this, users themselves have to decide in many cases whether the computed result is what they need or it is necessary to continue computations. Indeed, everyday desktop computer applications like word processors and spreadsheets spend most of their time waiting in event loops, and do not terminate until directed to do so by users.

#### Evolutionary inductive Turing machines

Evolutionary approach to inductive inference is accomplished by another class of automata called evolutionary inductive Turing machines (Burgin and Eberbach, 2009; 2012). An ‘’’evolutionary inductive Turing machine’’’ is a (possibly infinite) sequence *E* = {*A*[*t*]; *t* = 1, 2, 3, ... } of inductive Turing machines *A*[*t*] each working on generations X[t] which are coded as words in the alphabet of the machines *A*[*t*]. The goal is to build a “population” *Z* satisfying the inference condition. The automaton *A*[*t*] called a component, or a level automaton, of E represents (encodes) a one-level evolutionary algorithm that works with input generations *X*[*i*] of the population by applying the variation operators v and selection operator s. The first generation *X*[0] is given as input to *E* and is processed by the automaton *A*[1], which generates/produces the first generation *X*[1] as its transfer output, which goes to the automaton *A*[2]. For all *t* = 1, 2, 3, ..., the automaton *A*[*t*] receives the generation *X*[*t* − 1] as its input from *A*[*t* − 1] and then applies the variation operator v and selection operator *s*, producing the generation *X*[*i* + 1] and sending it to *A*[*t* + 1] to continue evolution.

## See also

- Algorithmic probability
- Algorithmic information theory
- Bayesian inference
- Language identification in the limit
- Inductive inference
- Inductive probability
- Mill's methods
- Minimum description length
- Minimum message length
- Turing Machine
- For a philosophical viewpoint, see: Problem of induction and New riddle of induction

## Notes

- ↑
^{1.0}^{1.1}JJ McCall. Induction: From Kolmogorov and Solomonoff to De Finetti and Back to Kolmogorov – Metroeconomica, 2004 – Wiley Online Library. - ↑
^{2.0}^{2.1}D Stork. Foundations of Occam's razor and parsimony in learning from ricoh.com – NIPS 2001 Workshop, 2001 - ↑
^{3.0}^{3.1}A.N. Soklakov. Occam's razor as a formal basis for a physical theory from arxiv.org – Foundations of Physics Letters, 2002 – Springer - ↑
^{4.0}^{4.1}{{#invoke:Citation/CS1|citation |CitationClass=journal }} - ↑
^{5.0}^{5.1}M Hutter. On the existence and convergence of computable universal priors arxiv.org – Algorithmic Learning Theory, 2003 – Springer - ↑ Samuel Rathmanner and Marcus Hutter. A philosophical treatise of universal induction. Entropy, 13(6):1076–1136, 2011
- ↑ J. Veness, K.S. Ng, M. Hutter, W. Uther, D. Silver. "A Monte Carlo AIXI Approximation" – Arxiv preprint, 2009 arxiv.org
- ↑ J. Veness, K.S. Ng, M. Hutter, D. Silver. "Reinforcement Learning via AIXI Approximation" Arxiv preprint, 2010 – aaai.org
- ↑ S. Pankov. A computational approximation to the AIXI model from agiri.org – Artificial general intelligence, 2008: proceedings of …, 2008 – books.google.com
- ↑ Template:Cite doi
- ↑ Template:Cite doi

## References

- {{#invoke:Citation/CS1|citation

|CitationClass=journal }}

- Burgin, M. (2005),
*Super-recursive Algorithms*, Monographs in computer science, Springer. ISBN 0-387-95569-0 - Burgin, M., "How We Know What Technology Can Do",
*Communications of the ACM*, v. 44, No. 11, 2001, pp. 82–88. - Burgin, M.; Eberbach, E., "Universality for Turing Machines, Inductive Turing Machines and Evolutionary Algorithms",
*Fundamenta Informaticae*, v. 91, No. 1, 2009, 53–77. - Burgin, M.; Eberbach, E., "On Foundations of Evolutionary Computation: An Evolutionary Automata Approach", in
*Handbook of Research on Artificial Immune Systems and Natural Computing: Applying Complex Adaptive Technologies*(Hongwei Mo, Ed.), IGI Global, Hershey, Pennsylvania, 2009, 342–360. - Burgin, M.; Eberbach, E., "Evolutionary Automata: Expressiveness and Convergence of Evolutionary Computation",
*Computer Journal*, v. 55, No. 9, 2012, pp. 1023–1029. - Burgin, M.; Klinger, A. Experience, Generations, and Limits in Machine Learning,
*Theoretical Computer Science*, v. 317, No. 1/3, 2004, pp. 71–91 - Davis, Martin (2006) "The Church–Turing Thesis: Consensus and opposition]". Proceedings, Computability in Europe 2006. Lecture notes in computer science, 3988 pp. 125–132.
- Gasarch, W.; Smith, C. H. (1997) "A survey of inductive inference with an emphasis on queries".
*Complexity, logic, and recursion theory*, Lecture Notes in Pure and Appl. Math., 187, Dekker, New York, pp. 225–260. - Hay, Nick. "Universal Semimeasures: An Introduction," CDMTCS Research Report Series, University of Auckland, Feb. 2007.
- Jain, Sanjay ; Osherson, Daniel ; Royer, James ; Sharma, Arun,
*Systems that Learn: An Introduction to Learning Theory*(second edition), MIT Press, 1999. - {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- Li Ming; Vitanyi, Paul,
*An Introduction to Kolmogorov Complexity and Its Applications*, 2nd Edition, Springer Verlag, 1997. - Osherson, Daniel ; Stob, Michael ; Weinstein, Scott,
*Systems That Learn, An Introduction to Learning Theory for Cognitive and Computer Scientists*, MIT Press, 1986. - {{#invoke:Citation/CS1|citation

|CitationClass=journal }}