In algorithmic information theory, algorithmic probability, also known as Solomonoff probability, is a mathematical method of assigning a prior probability to a given observation. It was invented by Ray Solomonoff in the 1960s.[1] It is used in inductive inference theory and analyses of algorithms. In his general theory of inductive inference, Solomonoff uses the method together with Bayes' rule to obtain probabilities of prediction for an algorithm's future outputs.[2]
In the mathematical formalism used, the observations have the form of finite binary strings viewed as outputs of Turing machines, and the universal prior is a probability distribution over the set of finite binary strings calculated from a probability distribution over programs (that is, inputs to a universal Turing machine). The prior is universal in theTuring-computability sense, i.e. no string has zero probability. It is not computable, but it can be approximated.[3]
Formally, the probability
P
0\le\sumxP(x)<1
x
y1<y2< …
P(x)
Algorithmic probability is the main ingredient of Solomonoff's theory of inductive inference, the theory of prediction based on observations; it was invented with the goal of using it for machine learning; given a sequence of symbols, which one will come next? Solomonoff's theory provides an answer that is optimal in a certain sense, although it is incomputable. Unlike, for example, Karl Popper's informal inductive inference theory, Solomonoff's is mathematically rigorous.
Four principal inspirations for Solomonoff's algorithmic probability were: Occam's razor, Epicurus' principle of multiple explanations, modern computing theory (e.g. use of a universal Turing machine) and Bayes’ rule for prediction.[4]
Occam's razor and Epicurus' principle are essentially two different non-mathematical approximations of the universal prior.
At the heart of the universal prior is an abstract model of a computer, such as a universal Turing machine.[7] Any abstract computer will do, as long as it is Turing-complete, i.e. every computable function has at least one program that will compute its application on the abstract computer.
The abstract computer is used to give precise meaning to the phrase "simple explanation". In the formalism used, explanations, or theories of phenomena, are computer programs that generate observation strings when run on the abstract computer. Each computer program is assigned a weight corresponding to its length. The universal probability distribution is the probability distribution on all possible output strings with random input, assigning for each finite output prefix q the sum of the probabilities of the programs that compute something starting with q.[8] Thus, a simple explanation is a short computer program. A complex explanation is a long computer program. Simple explanations are more likely, so a high-probability observation string is one generated by a short computer program, or perhaps by any of a large number of slightly longer computer programs. A low-probability observation string is one that can only be generated by a long computer program.
Algorithmic probability is closely related to the concept of Kolmogorov complexity. Kolmogorov's introduction of complexity was motivated by information theory and problems in randomness, while Solomonoff introduced algorithmic complexity for a different reason: inductive reasoning. A single universal prior probability that can be substituted for each actual prior probability in Bayes's rule was invented by Solomonoff with Kolmogorov complexity as a side product.[9] It predicts the most likely continuation of that observation, and provides a measure of how likely this continuation will be.
Solomonoff's enumerable measure is universal in a certain powerful sense, but the computation time can be infinite. One way of dealing with this issue is a variant of Leonid Levin's Search Algorithm,[10] which limits the time spent computing the success of possible programs, with shorter programs given more time. When run for longer and longer periods of time, it will generate a sequence of approximations which converge to the universal probability distribution. Other methods of dealing with the issue include limiting the search space by including training sequences.
Solomonoff proved this distribution to be machine-invariant within a constant factor (called the invariance theorem).[11]
Kolmogorov's Invariance theorem clarifies that the Kolmogorov Complexity, or Minimal Description Length, of a dataset is invariant to the choice of Turing-Complete language used to simulate a Universal Turing Machine:
\forallx\in\{0,1\}*,|KU(x)-KU'(x)|\leql{O}(1)
where
KU(x)=minp\{|p|:U(p)=x\}
The minimal description
p
U\circp=x
x
U
x
p
It follows that any piece of data has a necessary and sufficient representation in terms of a random string.
The following is taken from [12]
From the theory of compilers, it is known that for any two Turing-Complete languages
U1
U2
Λ1
U1
U2
U1
It follows that if we let
p
x
K | |
U1 |
(x)\leq|Λ1|+|p|\leq
K | |
U2 |
(x)+l{O}(1)
where
|Λ1|=l{O}(1)
Given that any uniquely-decodable code satisfies the Kraft-McMillan inequality, prefix-free Kolmogorov Complexity allows us to derive the Universal Distribution:
P(x)=\sumUP(U\circp=x)=\sumU
-KU(p) | |
2 |
\leq1
where the fact that
U
p
p'
p
p'
p'
p
In a Computable Universe, given a phenomenon with encoding
x\in\{0,1\}*
This is an immediate consequence of the Kraft-McMillan inequality.
Kraft's inequality states that given a sequence of strings
\{xi\}
n | |
i=1 |
\{\sigmai\}
n | |
i=1 |
\foralli,|\sigmai|=ki
n | |
\sum | |
i=1 |
-ki | |
s |
\leq1
where
s
S
Without loss of generality, let's suppose we may order the
ki
k1\leqk2\leq...\leqkn
Now, there exists a prefix code if and only if at each step
j
j-1
i<j,
kj-ki | |
s |
\sigmai
\forallj\geq2,
kj | |
s |
>
j-1 | |
\sum | |
i=1 |
kj-ki | |
s |
Dividing both sides by
kj | |
s |
n | |
\sum | |
i=1 |
-ki | |
s |
\leq1
QED.
Solomonoff invented the concept of algorithmic probability with its associated invariance theorem around 1960,[13] publishing a report on it: "A Preliminary Report on a General Theory of Inductive Inference."[14] He clarified these ideas more fully in 1964 with "A Formal Theory of Inductive Inference," Part I[15] and Part II.[16]