Comprimiendo un archivo más allá de lo posible

Imagen de Comprimiendo un archivo más allá de lo posible

Hay un concurso para todo y uno bien nardo como el de comprimir un archivo de 1GB de texto de Wikipedia en lo más pequeño posible sin perder ni un byte al recuperarlo. Así es, un concurso nerd con un premio calculado de una forma más extraña todavía.

El "Compressing of Human Knowledge" es un premio que va más allá de la ingeniería ya que busca no velocidad sino la capacidad matemática de reducir ese archivo a lo más pequeño posible.

El último récord bajó un 1.04% al predecesor y logró unos 114Mb de ese gigabyte original.

Hace un par de días Saurabh Kumar logró reducir el archivo a 114.146.155 bytes y se llevó a casa un premio de €5187, que sé que no parece mucho, pero el premio se basa en un cálculo en la relación entre lo obtenido y la diferencia con el premio anterior.

El archivo en cuestión, enwik9, es un extracto de Wikipedia por lo que se trata de texto plano entendible. 

Las reglas son las siguientes:

Create a Linux or Windows compressor comp.exe of size S1 that compresses enwik9 to archive.exe of size S2 such that S:=S1+S2 < L := 114'156'155 (previous record). If run, archive.exe produces (without input from other sources) a 109 byte file that is identical to enwik9. If we can verify your claim, you are eligible for a prize of 500'000€×(1-S/L). Minimum claim is 5'000€ (1% improvement). Restrictions: Must run in ≲50 hours using a single CPU core and <10GB RAM and <100GB HDD on our test machine.

La máquina donde se ejecuta es una Dell Latitude vieja con un Intel Core i7-620M de dos núcleos y 4 threads a 2.67Hz ¿Por qué tan modesto? Porque la idea de este concurso no es usar la fuerza bruta de los procesadores y algoritmos ya conocidos sino desarrollar nuevos, ideas que quedaron colgadas, que por ahí no son tan eficientes con el hardware actual pero podrían derivar en nuevo hardware que hoy nadie está pensando.

Es salir del molde de lo establecido desde una fórmula muy matemática y no tan ingenieril. No es mala idea, eh!

Este concurso de compresión está motivado por el hecho de que ser capaz de comprimir bien está estrechamente relacionado con actuar de manera inteligente, reduciendo así el escurridizo concepto de inteligencia a números de un tamaño de archivo fijo. 

Para comprimir datos, uno tiene que encontrar regularidades en ellos, lo cual es intrínsecamente difícil (muchos investigadores viven de analizar datos y encontrar modelos compactos). Por lo tanto, los compresores que superan a los compresores "tontos" actuales deben ser más inteligentes. 

Dado que el premio quiere estimular el desarrollo de compresores inteligentes "universales", se necesita un corpus de datos "universal". Podría decirse que Wikipedia es una buena instantánea del conocimiento del mundo humano. Entonces, el compresor final debería "comprender" todo el conocimiento humano, es decir, ser realmente inteligente. enwik9 es, con suerte, un extracto representativo de 1 GB de Wikipedia.

En el fondo todo apunta a Inteligencia Artificial,  Marcus Hutter, el creador del concurso, trabaja como investigador en Google DeepMind.

Me gusta también que ponen un límite de mejora de 1%, es decir, si estás en 0.99% tendrás que seguir rompiéndote la cabeza para mejorar tu algoritmo.

Antes se hacía con un archivo de 100Mb (Enwik8) pero por razones obvias, las capacidades mayores y para representar más conocimiento en un mismo archivo, se pasó al de 1000Mb.

Me mata que el sitio oficial sea tan años 90s... ojo, lo argumentan y todo en su FAQ y los re banco 😁


Volver al inicio Ver original

copyright©2025 Fabio Baccaglioni - Fabio.com.ar - Versión simplificada Old School