¿Hay algún algoritmo de compresión basado en PI?


11

Lo que sabemos es que π es infinito y es muy probable que contenga todas las cadenas de dígitos finitos posibles ( secuencia disyuntiva ).

Recientemente he visto algún prototipo de πfs que supone que cada archivo que ha creado (o cualquier otra persona) o que creará, ya está allí, por lo que es cuestión de extraerlo. También hay piFile que puede convertir sus archivos a metadatos pi.

Ya existe BBP tipo de fórmula (como parte de las matemáticas experimentales) que nos permite calcular n º dígito binario de pi. Entonces, almacenando la posición de nuestro inicio y longitud de los datos, teóricamente podemos extraer los datos de nuestro interés. Hay algunos argumentos en contra de que nuestros metadatos (por ejemplo, el desplazamiento de nuestros datos) podrían ser más grandes que los datos extraídos. Los símbolos de la matriz y π pueden codificarse en base-256 para hacerlo más eficiente (vea el chiste ).

Basado en lo anterior, mi pregunta principal es:

  • ¿Hay algún algoritmo de compresión basado en PI?

Si no, ¿tiene sentido? ¿O hubo alguna investigación en esa área?

O tal vez π no es la correcta, entonces, ¿qué pasa con la constante de Euler o Tau (τ)? ¿Habría alguna diferencia?


¡buscar palabras sucias en números es MUCHO más divertido que buscarlas en el diccionario!  ASS: posición pi 590,725 (codificación ascii).  BUTT: posición 177.031.174.  BOOB: posición 32,355,500.  8 == D está en la posición 158,907,339.  ¿PUEDO DECIR SOLO: CUÁN ERÓTICO

Créditos de imagen: Dinosaur Comics


Ver también:


15
Estimado T-rex, Su conclusión en el cuadro 2 de ninguna manera se desprende de la declaración en el cuadro 1. No es de extrañar que su especie se haya extinguido. Suyo,
David Richerby

2
π

1
N2N

Respuestas:



14

Basado en la respuesta de Yuval, con una explicación ligeramente diferente y un ejemplo para ayudar a aclarar el problema.

Teoría

16128

  1. π
  2. 128

2128

  • una búsqueda profunda del patrón de bits; y
  • 2128

ππ

Ver también, entropía de información .

Ejemplo

log2(938933556)29.830

π597,507,393log2(597507393)29.230

¿Quizás podamos agrupar los números?

  • 1,124
  • 1,216
  • 11,727

36

  • 15,312,393
  • 8

2730

N


2

¿Hay algún algoritmo de compresión basado en PI?

Sí, https://github.com/divinity76/pi_compression

¿tiene sentido?

no, el almacenamiento de las compensaciones generalmente requiere más espacio en disco del que guarda, al menos con la implementación anterior (3 cosas notables al respecto que podrían mejorarse, solo considera los primeros 2 ^ 32 bytes de una representación binaria de pi, y usa una cantidad excesiva de bits para almacenar el número de bytes coincidentes por desplazamiento, es decir, 8 bits mientras las pruebas muestran que 3 bits serían óptimos, y solo considera coincidencias de bytes completos, por lo que si hay una coincidencia de 15 bits en algún lugar, solo se considerará como una coincidencia de 8 bits ... también si los últimos 4 bits de un byte coinciden pero no el bit n. ° 3, y los primeros 4 bits del siguiente byte coinciden pero no el bit n. ° 5, no se considera una coincidencia en todas)

¿O hubo alguna investigación en esa área?

uhm seguro, es por eso que escribí la implementación anterior, y los resultados parecen ser que dentro de los primeros 4 GB de pi, es probable que encuentres 4 bytes coincidentes de ... prácticamente cualquier cosa, lo cual es muy difícil, si no imposible, para obtener cualquier compresión, al menos fallé. (pero mi implementación no es óptima, como se explicó anteriormente): también la compresión es muy lenta, pero mi implementación es de un solo subproceso, pero el algoritmo permite el subprocesamiento múltiple si alguien se puede escribir el código, lo que permitiría escalar el rendimiento con El número de núcleos disponibles.

Sin embargo, la descompresión es muy rápida.


0

¿Hay algún algoritmo de compresión basado en PI?

ππ

XπX

ππ

incluso si se demostrara que cualquier constante matemática tiene la notable propiedad de "contener todas las cadenas", un argumento simple es que el algoritmo de compresión pasaría "demasiado tiempo" buscando la posición de la cadena, y describir su ubicación a menudo tomaría un tiempo larga (er) cadena de dígitos.

vea también / contrast / trate de conciliar con una pregunta similar de alta votación, ¿ cómo puede decidirse si pi contiene alguna secuencia de dígitos ? (cs.se) (pista: el título puede considerarse algo engañoso)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.