Según esta fuente, la constante Chaitin es normal.
Cada probabilidad de detención es un número real normal y trascendental que no es computable, lo que significa que no hay un algoritmo para calcular sus dígitos. De hecho, cada probabilidad de detención es aleatoria de Martin-Löf, lo que significa que ni siquiera hay un algoritmo que pueda adivinar sus dígitos de manera confiable.
Además, la definición de normal es que cada dígito ocurre con igual probabilidad . Y que cada dueto de dígitos ocurre con probabilidad y cada triplete ocurre con probabilidad y así sucesivamente.
Omega de Chaitin se calcula a través de
Escribiendo en binario, obtenemos una lista de 0 y 1. Por ejemplo,
2^-1=0.1 +
2^-2=0.01 +
2^-3=0.001 +
~skip 2^-4 as it does not halt
2^-5=0.00001 +
...
=\Omega
=0.11101...
Claramente, podemos ver que la posición de cada bit corresponde al estado de detención del programa de longitud correspondiente al bit.
Aquí es con lo que estoy luchando
Si es realmente normal, significa que exactamente el 50% de los programas se detienen y exactamente el 50% no. Esto parece muy contrario a la intuición.
Por ejemplo, supongamos que genero programas java concatenando aleatoriamente caracteres individuales. La mayoría de ellos, supongo que más del 99.99% ni siquiera compilaría. ¿No implica esto que al menos el 99,99% de ellos no se detendrá? ¿Cómo justificamos que exactamente la mitad se detendrá y exactamente la mitad no, en virtud de que es normal?
¿O es wikipedia incorrecto acerca de que es normal?
fuente
Respuestas:
A diferencia de su ejemplo, la constante de Chaitin no se define de la siguiente manera:
En cambio, hay un conjuntoΠ ⊆ { 0 , 1}∗ de programas permitidos que no tiene prefijo (ninguna cadena es un prefijo de otra cadena). Cada uno de los programas enΠ es legal (esto niega su ejemplo de Java). Si los programas están codificando en unario, entonces es cierto que elnorte el programa tiene duración norte y luego tu definición de Ω trabajos. Pero para otras codificaciones, la definición deΩ es
La constante de Chaitin es algorítmicamente aleatoria : la complejidad de Kolmogorov (prefijo) de la primeranorte bits es n - O ( 1 ) . Para mostrar esto, tenga en cuenta primero queΩnorte , el primero norte pedazos de Ω , es suficiente para determinar si un programa de duración norte (debajo de la codificación Π ) se detiene o no. De hecho, como una fracción,Ωnorte≤ Ω <Ωnorte+2- n . Ejecute todos los programas en paralelo, y siempre quepags paradas, agregar 2-| p | a algún mostrador C (inicializado en cero). FinalmenteC≥Ωnorte (ya que C→ Ω desde abajo). En este punto, si el programa de entrada de longitudnorte no se detuvo, entonces sabes que no se detiene, ya que de lo contrario Ω ≥ C+2- n≥Ωnorte+2- n .
Dado esto, supongamos que para algunosK> 0 e infinitamente muchos norte , podrías calcular Ωnorte utilizando n - K bits Para cada unonorte , puede encontrar una cadena cuya complejidad de Kolmogorov sea mayor que norte , al considerar la salida de todos los programas de detención de longitud como máximo norte . Para lo suficientemente grandeK , el resultado es un programa de duración como máximo norte para calcular una cadena cuya complejidad de Kolmogorov es más que norte . Esta contradicción prueba que para algunosK , la complejidad de Kolmogorov de Ωnorte Por lo menos n - K .
Aleatoriedad algorítmica deΩ implica, en particular, que la frecuencia de 0s y 1s en su expansión binaria tiende a 1/2. De hecho, supongamos que para algunos (racional)ϵ > 0 existen infinitamente muchos norte tal que la fracción de 1s en Ωnorte es a lo sumo 1 / 2 - ε . Como solo hay a lo sumo2h ( 1 / 2 - ε ) n cadenas con como máximo 1 / 2 - ε muchos 1s, podemos comprimir Ωnorte medir h ( 1 / 2 - ε ) n + 2 logn +Cϵ (el constante Cϵ depende de ϵ ya que el programa necesita saber ϵ ) Sin embargo, esto esn - ω ( 1 ) , contradiciendo la aleatoriedad algorítmica de Ω .
fuente
Su error está en la siguiente línea:
No Eso no es lo que significa "normal". O, para decirlo de otra manera: definirre0 0( n ) ser el número de bits que son un 0, en el primer norte bits de la expansión de base-2 de Ω . Diciendo queΩ es normal implica que
En otras palabras, "normal" es una noción asintótica. Significa que a medida que miras lo suficiente en los pedazos deΩ , en promedio, aproximadamente la mitad de ellos serán ceros. (Del mismo modo, aproximadamente la mitad con be 1's).
Sin embargo, esto no dice nada acerca de los primeros bits deΩ . Por ejemplo, no hay implicación de que la expansión binariaΩ comienza como 0.01 ... o en cualquier otra cosa, y no hay implicación de que Ω está cerca de 1/2. Ω puede estar cerca de 0, o cerca de 1, o en cualquier punto intermedio; eso no contradice ser normal, y ser normal no implica nada sobre qué tan grandeΩ es.
fuente