En el de informática, la complejidad de Kolmogorov del (también conocido como la complejidad descriptiva, la complejidad de Kolmogorov-Chaitin del, la complejidad estocástica, la entropía algorítmica, o complejidad del programa-tamaño del ) de un objeto tal como un pedazo de texto es una medida de los recursos de cómputo necesarios para especificar el objeto. Por ejemplo considerar las dos secuencias siguientes de la longitud 64
0101010101010101010101010101010101010101010101010101010101010101
1100100001100001110111101110110011111010010000100101011110010110
La primera secuencia admite una breve descripción de la lengua inglesa, a saber " 32 repeticiones del " '01 ';, que consiste en 20 carácteres. Segundo no tiene ninguna descripción simple obvia con excepción de anotar la secuencia sí mismo, que tiene 64 carácteres.
Más formalmente, la complejidad de una secuencia es la longitud de la descripción más breve de la secuencia de un cierto idioma descriptivo fijo . La sensibilidad de la complejidad concerniente a la opción del idioma descriptivo se discute abajo. Puede ser demostrado que la complejidad de Kolmogorov de ninguna secuencia no puede ser demasiado más grande que la longitud de la secuencia sí mismo. Las secuencias cuya complejidad de Kolmogorov es pequeña concerniente al tamaño de la secuencia no se consideran ser complejas. La noción de la complejidad de Kolmogorov es asombrosamente profunda y se puede utilizar para indicar y para probar los resultados de la imposibilidad relacionados con el teorema del estado incompleto de Gödel y el problema que para de Turing.
Podríamos elegir alternativo una codificación para las máquinas de Turing donde está una función una codificación del que asocia a cada M de la máquina de Turing un < bitstring M >. Si el M es una máquina de Turing que en el w de la entrada hace salir el x de la secuencia, después el concatenado w de la secuencia < M > es una descripción del x . Para el análisis teórico, este acercamiento se adapta más para construir pruebas formales detalladas y es generalmente preferred en la literatura de la investigación. En este artículo utilizaremos un acercamiento informal.
Cualquier s de la secuencia tiene por lo menos una descripción, a saber el programa
función GenerateFixedString del () de vuelta s del
Entre todas las descripciones del s, hay uno con el denotado la longitud más corta d ( s ). En caso de que haya más de un programa de la misma longitud mínima, elegir uno arbitrariamente, por ejemplo seleccionando lexicográfico la primera entre él. el d ( s ) es la descripción mínima del s . La complejidad de Kolmogorov del del s, escrita el K ( s ), es el |d|. \ patio En las otras palabras, el K ( s ) es la longitud de la descripción mínima del s .
Ahora consideramos cómo la opción del idioma descriptivo afecta al valor del K y demostramos que el efecto de cambiar el idioma descriptivo está limitado. Si son el K 1 y el K 2 la complejidad funciona el en relación con L 1 de los idiomas descriptivos y el L 2, después hay un constante c (que depende solamente del L 1 de las idiomas y del L 2) tales que del leq c
Prueba . Por simetría, es suficiente probar que hay un cierto constante c tales que para todo el s,
Para ver porqué esto está así pues, hay un programa en el L 1 de la lengua que actúa como intérprete para el L 2:
función InterpretLanguage ( p del de la secuencia )
donde está un programa el p en el L 2. La característica siguiente caracteriza al intérprete: el
l que funciona InterpretLanguage en el p de la entrada vuelve el resultado de funcionar el p .
Así si el P es un programa en el L 2 que es una descripción mínima del s, después de InterpretLanguage ( P ) vuelve el s de la secuencia. La longitud de esta descripción del s es la suma de La longitud del programa InterpretLanguage, que podemos tomar para ser el constante c .
Esto prueba el límite superior deseado.
Ver también el teorema de la invariación.
Nombramiento de este " del concepto; Complexity" de Kolmogorov; es un ejemplo del efecto de Matthew.
No es duro ver que la descripción mínima de una secuencia no puede ser demasiado más grande que la secuencia sí mismo: el programa GenerateFixedString sobre ése hace salir el s es una cantidad fija más grande que el s . Hay un constante c tales que de c
El primer resultado asombrosamente es que no hay manera de computar con eficacia el K . El K no es una función computable .
Es decir no hay programa que toma un s de la secuencia como entrada y produce el K ( s ) del número entero como salida. Demostramos esto por la contradicción. Suponer que hay un programa
función KolmogorovComplexity ( s del de la secuencia )
ese toma como entrada un s de la secuencia y vuelve el K ( s ). Ahora considerar el programa
función GenerateComplexString ( n del del internacional ) para el de i = 1 al infinito de : para cada de la secuencia s de de la longitud de exactamente yo si n del >= de KolmogorovComplexity ( s ) de vuelta s del el paró
Este programa llama KolmogorovComplexity como subrutina. Este programa intenta cada secuencia, comenzando con el más corto, hasta que encuentre una secuencia con el n de la complejidad por lo menos, después las vueltas que encadenan. Por lo tanto, dado cualquier positivo n, del número entero produce una secuencia con la complejidad de Kolmogorov por lo menos tan grande como el n . El programa sí mismo tiene un U de la longitud fija. La entrada al programa GenerateComplexString es un n del número entero; aquí, el tamaño del n es medido por el número de pedacitos requeridos para representar el n que es log2 ( n ). Ahora considerar el programa siguiente:
función GenerateParadoxicalString del () de vuelta GenerateComplexString ( n 0)
Este programa llama GenerateComplexString como una subrutina y también tiene un parámetro libre n 0. Este programa hace salir un s de la secuencia cuya complejidad sea por lo menos el n 0. Por una opción propicia del n 0 del parámetro llegaremos una contradicción. Para elegir este valor, el s de la nota es descrito por el programa GenerateParadoxicalString cuya longitud está a lo más + \ log_2 (n_0) del
donde está el " el C ; overhead" agregado por el programa GenerateParadoxicalString. Puesto que el n crece más rápidamente que log2 ( n ), existe un n 0 del valor tales que + \ log_2 (n_0) del Pero esto contradice la definición del tener un n 0 de la complejidad por lo menos. Así el programa nombrado " KolmogorovComplexity" no puede realmente computably encontrar la complejidad de secuencias arbitrarias.
Ésta es prueba por la contradicción donde está similar la contradicción a la paradoja de la baya: " Dejar el n ser el número entero positivo más pequeño que no se puede definir en menos de veinte words." ingleses; Es también posible demostrar el uncomputability de K por la reducción del uncomputability del problema que para H, puesto que K y H son el turing-equivalente.
La regla de cadena para la complejidad de Kolmogorov indica eso
Indica que el programa más corto que reproduce el X y el Y es no más de que un término logarítmico más grande que un programa para reproducir el X y un programa para reproducir el Y dado el X . Usar esta declaración uno puede definir el un análogo de la información mutua para la complejidad de Kolmogorov.
Un s de la secuencia es compresible por un c del número si tiene una descripción cuya longitud no se exceda | s | − c . Esto es equivalente a decir el style=" ≤ del K ( s ) | s | − c . Si no el s es incompresible por el c . Una secuencia incompresible por 1 reputa simplemente el incompresible; por el principio de casillero, las secuencias incompresibles deben existir, puesto que hay 2 cadenas binarias del n del n de la longitud pero solamente del style=" &minus de >2; 2 secuencias más cortas, de que son secuencias del   del n de la longitud; − 1 o menos.
Por la misma razón, " most" las secuencias son complejas en el sentido que no pueden ser perceptiblemente comprimidas: El K ( s ) no es mucho más pequeño que | s |, la longitud del s en pedacitos. Para hacer este exacto, fijar un valor del n . Hay 2 bitstrings del n del n de la longitud. La distribución de la probabilidad del uniforme en el espacio de estos bitstrings asigna a cada secuencia del peso igual 2&minus del n de la longitud exactamente; n . Con la distribución de probabilidad uniforme en el espacio de bitstrings del n de la longitud, la probabilidad que una secuencia es incompresible por el c es por lo menos style=" 1; 2− c +1 + 2− n .
Para probar el teorema, observar que el número de descripciones de la longitud que no exceden el style=" &minus del n ; el c es dado por la serie geométrica :
Permanecen por lo menos del
l
muchos bitstrings del n de la longitud que son incompresibles por el c . Para determinar la probabilidad dividir por 2 el n .
Este teorema es la justificación para los varios desafíos en el FAQ de la presión de comp. A pesar de este resultado, es demandado a veces por ciertos individuos (considerados pone ) que él ha producido los algoritmos que comprimen uniformemente datos sin pérdida. Ver la compresión de datos sin pérdidas .
Observar que por la abundancia de secuencias casi incompresibles, la gran mayoría de esas declaraciones debe ser verdad.
La prueba de este resultado se modela en una construcción self-referential usada en la paradoja de la baya. La prueba está por la contradicción. Si el teorema era falso, entonces asunción del del
l (x) : Para cualquier n del número entero existe un s de la secuencia para el cual haya una prueba en el S del " de la fórmula; " del n del ≥ del K ( s ); (que asumimos puede ser formalizado en el S ).
Podemos encontrar una enumeración eficaz de todas las pruebas formales en el S por un cierto procedimiento
función NthProof ( n del del internacional ) cuál toma como n de la entrada y hace salir una cierta prueba. Esta función enumera todas las pruebas. Algunos de éstos son pruebas para las fórmulas que no lo hacemos cuidado sobre aquí (los ejemplos de las pruebas que serán enumeradas por el procedimiento NthProof son las varias pruebas sabidas de la ley de la reciprocidad cuadrático, los teorema de Fermat de poco o la prueba del teorema pasado de Fermat tradujeron todo al lenguaje formal del S ). Están fórmulas algunos de éstos de la complejidad del n del ≥ del K ( s ) de la forma donde los constantes del s y del n en la lengua del S . Hay un programa
función NthProofProvesComplexityFormula ( n del del internacional )
cuál determina si la prueba del n th prueba realmente un L del ≥ del K ( s ) de la fórmula de la complejidad. El s de las secuencias y el L del número entero alternadamente es computable por programas: función StringNthProof ( n del del internacional )
función ComplexityLowerBoundNthProof ( n del del internacional )
Considerar el programa siguiente
función GenerateProvablyComplexString ( n del del internacional ) para i = 1 al infinito: si de NthProofProvesComplexityFormula (i) y n del >= de ComplexityLowerBoundNthProof (i) de vuelta StringNthProof ( i ) el paró
Dado un n, este programa intenta cada prueba hasta que encuentre una secuencia y una prueba en el formal S del sistema del n del ≥ del K ( s ) de la fórmula. El programa termina por nuestra asunción del (x) . Ahora este programa tiene un U de la longitud. Hay un n 0 del número entero tales que el U + log2 ( n 0) + el C < el n 0, de donde está los gastos generales el C
función GenerateProvablyParadoxicalString del () de vuelta GenerateProvablyComplexString ( n 0) el paró
El programa GenerateProvablyParadoxicalString hace salir un s de la secuencia para el cual ≥ del K ( s ) el n 0 se puede probar formalmente en el S . Particularmente ≥ del K ( s ) el n 0 es verdad. Sin embargo, el s también es descrito por un programa de la longitud El U +log2 ( n 0) + el C así que su complejidad es menos que el n 0. Esta contradicción prueba que la asunción del (x) no puede sostenerse.
Se utilizan las ideas similares de probar las características de constante de Chaitin.
El principio mínimo de la longitud de mensaje de inferencia estadística e inductiva y de aprendizaje de máquina fue desarrollado por C. MML es el Bayesian (incorpora creencia anterior) y información-teórico. Tiene las características deseables de estadístico invariación (la inferencia transforma con una re-parametrización, por ejemplo de coordenadas polares a los coordenadas cartesianos), consistencia estadística (incluso para los problemas muy duros, MML convergerá a cualquier modelo subyacente) y a la eficacia (el modelo de MML convergerá a cualquier modelo subyacente verdadero alrededor tan rápidamente como es posible). Dowe demostraron una conexión formal entre MML y la teoría de información algorítmica (o la complejidad de Kolmogorov) en 1999.
.
| Random links: | Bowser (Nintendo) | Condado del col, Missouri | Zapata Espinoza | Amanattō | Ono ninguÌn Imoko |