En la teoría algorítmica de la información , la probabilidad algorítmica , también conocida como probabilidad de Solomonoff , es un método matemático para asignar una probabilidad previa a una observación determinada. Fue inventado por Ray Solomonoff en los años 1960. [2] Se utiliza en teoría de inferencia inductiva y análisis de algoritmos. En su teoría general de la inferencia inductiva , Solomonoff utiliza el método junto con la regla de Bayes para obtener probabilidades de predicción de los resultados futuros de un algoritmo. [3]
En el formalismo matemático utilizado, las observaciones tienen la forma de cadenas binarias finitas vistas como salidas de las máquinas de Turing , y el prior universal es una distribución de probabilidad sobre el conjunto de cadenas binarias finitas calculadas a partir de una distribución de probabilidad sobre programas (es decir, entradas a una máquina de Turing universal ). El prior es universal en el sentido de la computabilidad de Turing, es decir, ninguna cadena tiene probabilidad cero. No es computable, pero se puede aproximar. [4]
Formalmente, la probabilidad no es una probabilidad y no es computable. Es sólo una "semimedida inferior" y una "semimedida". Por "semimedida" se entiende que . Es decir, la "probabilidad" en realidad no suma uno, a diferencia de las probabilidades reales. Esto se debe a que algunas entradas a la máquina de Turing hacen que nunca se detenga, lo que significa que se pierde la masa de probabilidad asignada a esas entradas. Por "semicomputable inferior", significa que hay una máquina de Turing que, dada una cadena de entrada , puede imprimir una secuencia que converge desde abajo, pero no existe una máquina de Turing que haga lo mismo desde arriba.
La probabilidad algorítmica es el ingrediente principal de la teoría de la inferencia inductiva de Solomonoff, la teoría de la predicción basada en observaciones; fue inventado con el objetivo de utilizarlo para el aprendizaje automático; Dada una secuencia de símbolos, ¿cuál vendrá después? La teoría de Solomonoff proporciona una respuesta óptima en cierto sentido, aunque incomputable. A diferencia, por ejemplo, de la teoría informal de la inferencia inductiva de Karl Popper , [ se necesita aclaración ] la de Solomonoff es matemáticamente rigurosa.
Cuatro inspiraciones principales para la probabilidad algorítmica de Solomonoff fueron: la navaja de Occam , el principio de explicaciones múltiples de Epicuro , la teoría informática moderna (por ejemplo, el uso de una máquina de Turing universal) y la regla de predicción de Bayes. [5]
La navaja de Occam y el principio de Epicuro son esencialmente dos aproximaciones no matemáticas diferentes del prior universal.
En el corazón del prior universal hay un modelo abstracto de computadora, como una máquina de Turing universal. [8] Cualquier computadora abstracta servirá, siempre que sea Turing-completa, es decir, cada función computable tiene al menos un programa que calculará su aplicación en la computadora abstracta.
La computadora abstracta se utiliza para dar un significado preciso a la frase "explicación simple". En el formalismo utilizado, las explicaciones o teorías de los fenómenos son programas de computadora que generan cadenas de observación cuando se ejecutan en una computadora abstracta. A cada programa informático se le asigna un peso correspondiente a su longitud. La distribución de probabilidad universal es la distribución de probabilidad de todas las cadenas de salida posibles con entrada aleatoria, asignando para cada prefijo de salida finito q la suma de las probabilidades de los programas que calculan algo que comienza con q . [9] Por lo tanto, una explicación simple es un breve programa de computadora. Una explicación compleja es un largo programa de computadora. Las explicaciones simples son más probables, por lo que una cadena de observación de alta probabilidad es aquella generada por un programa de computadora corto, o quizás por cualquiera de un gran número de programas de computadora ligeramente más largos. Una cadena de observación de baja probabilidad es aquella que sólo puede generarse mediante un programa informático largo.
La probabilidad algorítmica está estrechamente relacionada con el concepto de complejidad de Kolmogorov . La introducción de la complejidad por parte de Kolmogorov fue motivada por la teoría de la información y los problemas de aleatoriedad, mientras que Solomonoff introdujo la complejidad algorítmica por una razón diferente: el razonamiento inductivo. Solomonoff inventó una probabilidad previa universal única que puede sustituir cada probabilidad previa real en la regla de Bayes con la complejidad de Kolmogorov como producto secundario. [10] Predice la continuación más probable de esa observación y proporciona una medida de cuán probable será esta continuación. [ cita necesaria ]
La medida enumerable de Solomonoff es universal en cierto sentido poderoso, pero el tiempo de cálculo puede ser infinito. Una forma de abordar este problema es una variante del algoritmo de búsqueda de Leonid Levin, [11] que limita el tiempo dedicado a calcular el éxito de posibles programas, dando más tiempo a los programas más cortos. Cuando se ejecuta durante períodos de tiempo cada vez más largos, generará una secuencia de aproximaciones que convergen a la distribución de probabilidad universal. Otros métodos para abordar el problema incluyen limitar el espacio de búsqueda mediante la inclusión de secuencias de entrenamiento.
Solomonoff demostró que esta distribución es invariante para la máquina dentro de un factor constante (llamado teorema de invariancia ). [12]
El teorema de invariancia de Kolmogorov aclara que la complejidad de Kolmogorov, o longitud mínima de descripción , de un conjunto de datos es invariante con la elección del lenguaje Turing completo utilizado para simular una máquina universal de Turing:
dónde .
La descripción mínima que sirve como una representación natural de la cadena en relación con el lenguaje Turing-Complete . Además, como no se puede comprimir más, es una cadena incompresible y, por lo tanto, no computable. Esto corresponde a la noción de aleatoriedad de los científicos y aclara la razón por la cual la Complejidad de Kolmogorov no es computable.
De ello se deduce que cualquier dato tiene una representación necesaria y suficiente en términos de una cadena aleatoria.
Lo siguiente está tomado de [13]
A partir de la teoría de los compiladores, se sabe que para dos lenguajes Turing-Complete y , existe un compilador expresado en que traduce los programas expresados en programas funcionalmente equivalentes expresados en .
De ello se deduce que si dejamos que sea el programa más corto el que imprima una cadena determinada, entonces:
donde , y por simetría obtenemos la desigualdad opuesta.
Dado que cualquier código decodificable de forma única satisface la desigualdad de Kraft-McMillan, la Complejidad de Kolmogorov sin prefijo nos permite derivar la Distribución Universal:
donde el hecho de que pueda simular un UTM sin prefijo implica que para dos descripciones distintas y , no es una subcadena de y no es una subcadena de .
En un Universo Computable, dado un fenómeno con codificación generada por un proceso físico, la probabilidad de ese fenómeno está bien definida e es igual a la suma de las probabilidades de causas distintas e independientes. El criterio sin prefijo es precisamente el que garantiza la independencia causal.
Esta es una consecuencia inmediata de la desigualdad Kraft-McMillan .
La desigualdad de Kraft establece que dada una secuencia de cadenas existe un código de prefijo con palabras clave donde si y sólo si:
¿Dónde está el tamaño del alfabeto ?
Sin pérdida de generalidad, supongamos que podemos ordenar tales que:
Ahora bien, existe un código de prefijo si y sólo si en cada paso hay al menos una palabra de código para elegir que no contenga ninguna de las palabras de código anteriores como prefijo. Debido a la existencia de una palabra en clave en un paso anterior, las palabras en clave están prohibidas ya que contienen un prefijo. De ello se deduce que, en general, existe un código de prefijo si y sólo si:
Dividiendo ambos lados por , encontramos:
QED.
Solomonoff inventó el concepto de probabilidad algorítmica con su teorema de invariancia asociado alrededor de 1960, [14] publicando un informe al respecto: "Un informe preliminar sobre una teoría general de la inferencia inductiva". [15] Aclaró estas ideas más completamente en 1964 con "Una teoría formal de la inferencia inductiva", Parte I [16] y Parte II. [17]