Así comprime la información tu ordenador
Los algoritmos de compresión de información se basan la detección de patrones y en la asignación de códigos de poca longitud a los que más se repiten
Hace años estuve en el Centro Pompidou, en París. Entre otras muchas obras, alberga el Blue Monochrome, de Yves Klein (1928-1962), un cuadro monocromático, pintado todo él con exactamente el mismo tono de azul (199x153 cm). Lo recuerdo perfectamente, con todo detalle, y no porque posea una memoria excelente, sino porque, al igual que los algoritmos que se utilizan en Informática para comprimir la información, aplico un método parecido para recordarlo.
No retengo con la misma exactitud, sin embargo, ...
Hace años estuve en el Centro Pompidou, en París. Entre otras muchas obras, alberga el Blue Monochrome, de Yves Klein (1928-1962), un cuadro monocromático, pintado todo él con exactamente el mismo tono de azul (199x153 cm). Lo recuerdo perfectamente, con todo detalle, y no porque posea una memoria excelente, sino porque, al igual que los algoritmos que se utilizan en Informática para comprimir la información, aplico un método parecido para recordarlo.
No retengo con la misma exactitud, sin embargo, La Rendición de Breda: no sé exactamente cuántos hombres aparecen, ni cuántos pendones, ni cuántas lanzas; no sé si el caballo que nos da la espalda tiene alguna pata levantada.
Para que una persona evoque bien el primero es suficiente con que recuerde un solo detalle: el color. A un ordenador le basta también con muy poco: es suficiente con que recuerde el color de uno cualquiera de los puntos (pues todos son iguales) y las dimensiones del cuadro. Luego, reproducirlo es sencillo.
Los algoritmos de compresión de información se basan precisamente en eso: en la detección de patrones y en la asignación de códigos de poca longitud a los que más se repiten. Imaginemos los versos de la canción Ruido de Joaquín Sabina:
Mucho, mucho ruido,
Tanto, tanto ruido,
Tanto ruido y al final
Por fin el fin.
Tanto ruido y al final
Descontando, para el ejemplo, los espacios y signos de puntuación, e igualando mayúsculas y minúsculas, si un usuario desea almacenar la estrofa en su computador, puede hacerlo guardándola como está, sin más. Necesitará 77 octetos, pues la estrofa consta de 77 letras. Pero puede optar por comprimirla: un mecanismo medianamente inteligente detectaría que ruido y tanto aparecen cuatro veces; mucho, final, fin, al e y dos veces. Por y el una sola vez. El algoritmo, en lugar de reservar 20 octetos para ruido y 20 para tanto, podría asignar a estas palabras un código corto: respectivamente A y B, por ejemplo. A las otras, otros códigos también de la menor longitud posible: C a mucho, D a final, E a fin, F a al, G a y; H e I a por y el. El texto, ahora, se puede almacenar en solo 20 caracteres de la siguiente manera: CCABBABAGFDHEIEBAGFE
Claro que, para descodificar la frase, es necesario disponer de un diccionario que guarde la correspondencia entre cada símbolo y la palabra que representa. Si se guarda de la siguiente manera, harían falta 40 caracteres (el ejemplo está simplificado para mejorar su entendimiento):
A Ruido
B Tanto
C Mucho
D Final
E Fin
F Al
G Y
H Por
I El
Otro algoritmo podría reservar la A para la frase completa Tanto ruido y al final; otro, quizás para Tanto ruido. Las posibilidades, incluso para un texto tan pequeño, son muy variadas.
Los ficheros de sonido, las imágenes y los vídeos ocupan, sin comprimir, mucha cantidad de memoria. Por eso se utilizan formatos de transmisión y almacenamiento que detectan patrones repetidos y los codifican con menores necesidades de espacio
Volviendo al Blue Monochrome, almacenar en un fichero BMP (que guarda individualmente el color de cada uno de los puntos contenidos en los 3 metros cuadrados del lienzo) requiere 128 megabytes de memoria; si lo comprimimos en un fichero ZIP, puede reducirse al 1 por mil de ese tamaño, o sea a 128.000 octetos.
Los ficheros de sonido, las imágenes y los vídeos ocupan, sin comprimir, muchísima cantidad de memoria. Por eso se utilizan formatos de transmisión y almacenamiento que detectan patrones repetidos y los codifican con menores necesidades de espacio; otros, como el MP3 (véase el artículo de Ricardo Peña, ¿Qué hay en un fichero MP3?, en este mismo blog) o el JPG, recortan de la música o de la imagen lo que el oído o el ojo humano apenas puede oír o apreciar; algunos formatos de vídeo almacenan las diferencias entre un fotograma y el siguiente (por eso a veces, los usuarios de sistemas de videoconferencia notan una pérdida de calidad cuando no se están quietos).
Si la letra del himno nacional es la que entona el público en los estadios de fútbol cuando hay partidos de la selección (chunda, chunda), nos bastaría un disquete antiguo para almacenar, juntos, su texto y los cánticos de los aficionados.
Macario Polo Usaola es profesor titular de la Universidad de Castilla-La Mancha.
Crónicas del Intangible es un espacio de divulgación sobre las ciencias de la computación, coordinado por la sociedad académica SISTEDES (Sociedad de Ingeniería de Software y de Tecnologías de Desarrollo de Software). El intangible es la parte no material de los sistemas informáticos (es decir, el software), y aquí se relatan su historia y su devenir. Los autores son profesores de las universidades españolas, coordinados por Ricardo Peña Marí (catedrático de la Universidad Complutense de Madrid) y Macario Polo Usaola (profesor titular de la Universidad de Castilla-La Mancha).