Una excelente manera de explicar esto es con una analogía.
Imagine que en lugar de tener palabras cortas para representar definiciones complejas, todos tenemos que usar definiciones complejas. La compresión toma ideas complejas y las comprime en palabras más pequeñas.
Como ejemplo, hagamos algo de compresión en la vida real.
- ¿Cuál es el mejor programa de software para hacer diseño gráfico?
- ¿Qué es una buena herramienta de gestión de inventario?
- ¿Cuáles son las 5 principales aplicaciones de software críticas para cualquier empresa? Contabilidad, ERP, CRM, HRM, correo electrónico, aplicaciones de productividad?
- ¿Existe software para modelado 3D con física?
- ¿Los diferentes softwares de recuperación de datos encuentran diferentes archivos?
Digamos que tengo una oración para enviar a un amigo:
“Tengo un gran deseo de que todas las personas comiencen la práctica de transacciones comerciales y comerciales no contenciosas sobre la gran roca en la que actualmente estamos vivos”.
Es una oración bastante prolija para representar la idea de que quiero la paz mundial, pero mi amigo solo puede entender estas palabras y no las más complejas que usamos con más frecuencia. Solo, no podemos hacer esta oración mucho más corta sin el conocimiento de más palabras más allá de las proporcionadas. ¡Podemos generar una oración más corta si creamos un diccionario de palabras cortas para representar las frases más largas!
Diccionario:
Bobble: tengo un gran deseo
Gafas: todas las personas
Frithy: la práctica del comercio no contencioso
Hobot: transacciones comerciales
Tierra: la gran roca en la que actualmente estamos vivos
Nueva oración [usando el diccionario]
“Bobble que las gafas comenzarían frithy y hobot sobre la Tierra”.
¡La oración es definitivamente más corta! Cuando el amigo quiere darle sentido a la oración, simplemente puede sustituir las palabras en el diccionario que aparecen en la oración con su definición correspondiente, ¡y no se pierde información en la sustitución!
Desafortunadamente, esto en realidad no hace que los datos se envíen más pequeños, solo esa oración. Esto se debe a que debemos enviar el diccionario ADEMÁS a la nueva oración. Esto elimina el beneficio de la nueva oración y, de hecho, AUMENTA el tamaño de los datos totales que se transmiten.
Entonces puede que se pregunte cuál es el punto de la analogía; después de todo, solo aumentamos el tamaño de los datos, no los comprimimos.
Bueno, este enfoque de sustitución de diccionario no funciona para cadenas de datos sin patrones. Digamos que tengo algo como esto para enviarle a mi amigo:
“la gran roca en la que actualmente estamos vivos. La gran roca en la que actualmente estamos vivos. La gran roca en la que actualmente estamos vivos. La gran roca en la que actualmente estamos vivos. Catorce. La gran roca en la que estamos actualmente vivo en. la gran roca en la que actualmente estamos vivos. en la gran roca en la que actualmente estamos vivos. en la gran roca en la que actualmente estamos vivos. Púrpura “.
Esa oración tiene la misma frase repetida ocho veces: ¡algo con lo que la sustitución del diccionario puede ayudarnos!
Diccionario:
E: “la gran roca en la que actualmente estamos vivos”.
Nueva oración [usando el diccionario]
“EEEEFourteen. EEEEPurple”
¡Esa es una diferencia de tamaño increíble, incluso cuando incluye el diccionario!
Esto es similar a cómo funciona la compresión en las computadoras: el programa de compresión analiza los datos de los elementos que se repiten con frecuencia, crea una entrada en un diccionario y luego reemplaza cada aparición del objeto repetido con la palabra en el diccionario correspondiente al patrón. Esta es la esencia de la compresión sin pérdidas. Existen otros tipos de compresión especializados para otras tareas, pero esta es la compresión de datos genérica.
La diferencia entre la forma en que ciertas aplicaciones comprimen archivos es puramente un detalle de implementación. Compiten tratando de encontrar la forma más rápida o efectiva de encontrar patrones y crear entradas de diccionario. Algunos programas dicen que es su camino, mientras que otros dicen que es otro. El que mejor se usa a menudo está determinado por el tipo de archivo que está comprimiendo.