If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Compresión de texto sin pérdida

¿Cómo puede una computadora comprimir un texto? Aquí hay una pista: muchas personas comprimen texto diariamente, cuando envían mensajes de texto y no quieren escribir mucho.
Por ejemplo: si quiero decir "Gracias, en camino a casa, te veo más tarde", podría escribir "Grs en Kmino a Ksa t veo + tarde!"
Se acortó el texto con secuencias repetidas reemplazadas con secuencias más cortas ("K" y "+").

Algoritmo de compresión

Las computadoras pueden comprimir texto de manera similar, al encontrar secuencias repetidas y reemplazarlas con representaciones más cortas. No necesitan preocuparse que el resultado final suene igual, como la gente lo hace, para poder comprimir aún más.
Intentemos con esta cita de William Shakespeare:
to be or not to be, that is the question
Las secuencias repetidas más obvias son "to" y "be", que la computadora podría representar con un carácter que no esté en el texto original, así:
⊜ ⬗ or not ⊜ ⬗, that is the question
Cualquier secuencia repetida puede reemplazarse, incluso si no es una palabra completa, así que la computadora también puede reemplazar "th":
⊜ ⬗ or not ⊜ ⬗, ⟡at is ⟡e question
La computadora también necesita almacenar la tabla de los reemplazos que hizo, para poder reconstruir el original.
reemplazooriginal
to
be
th
Comprueba tu comprensión
A ver si puedes encontrar maneras de comprimir este verso del Dr. Seuss:
I am Sam, 
Sam I am.
That Sam-I-am! That Sam-I-am!
I do not like that Sam-I-am! 
Do you like green eggs and ham?
I do not like them, Sam-I-am.
I do not like green eggs and ham.
¿Cuáles secuencias se pueden reemplazar para comprimir el texto?
Elige todas las respuestas adecuadas:

Cantidad de compresión

Como puedes ver, algunos textos pueden comprimirse bastante; mientras más repetición, se logra más compresión.
Algunos textos no pueden comprimirse en absoluto, como el alfabeto:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
De hecho, una versión "comprimida" del alfabeto puede requerir más bytes para representarlo que el original, si el algoritmo coloca metadatos adicionales en el archivo.
🤔 ¿Puedes pensar en otros ejemplos de texto que no se reduciría con compresión? ¿Y ejemplos que sí se comprimirían realmente bien?
No tenemos problema con el hecho que la compresión no garantiza un archivo más pequeño, pues en general la mayoría de los archivos contienen secuencias repetidas y sí aprovechan la compresión.
🔍 Si quieres aprender más sobre este tipo de compresión, puedes investigar el algoritmo Lempel-Ziv-Welch (LZW).
🙋🏽🙋🏻‍♀️🙋🏿‍♂️¿Tienes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡simplemente pregunta en el area de preguntas abajo!

¿Quieres unirte a la conversación?

  • Avatar sneak peak purple style para el usuario J.
    Nota: la compresión de texto sin perdida es buscando una secuencia de palabras repetidas para cambiarlo por un carácter, así será mas pequeño.
    (1 voto)
    Avatar Default Khan Academy avatar para el usuario
¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.