You are on page 1of 9

Guía de ejercicios tomados en parciales y finales.

Tema: Ejercicios de Compresión

Cátedra: Saubidet

1. Primer Cuatrimestre de 2004. Examen parcial, primera oportunidad: 10/5/2004.


5) Comprimir el string “AAB” usando compresión aritmética. Indicar como quedaría el
archivo comprimido. No hace falta representar en forma binaria al número final, puede
escribir bin(número) (10 pts) (*)

Criterio: Ejercicio 5: No usar EOF o alguna forma de informar cuando parar al


descompresor: descuenta 5 puntos.

2. c) El método de shannon fano si se usa en forma dinámica produce el mismo árbol que el
método de huffman dinámico. (* *) (10 pts)

3. Primer Cuatrimestre de 2006. Examen parcial, segunda oportunidad


5) Se pide comprimir el siguiente archivo usando Huffman Estático con la salvedad de que
se deben usar contextos de longitud 1 carácter. (Orden 1). Indicar como quedaría el
archivo comprimido completo. (* * * * *) (15 pts)
ABCDEABCDABCD

Criterio: Ej5) Es fundamental que por ser estático el archivo comprimido contenga las
frecuencias de cada contexto, además cuando en un contexto solo hay un carácter posible
no se representa nada usar un bit para esto implica un descuento de 10 puntos. (máximo
5) ya que el contexto es deterministico y no hace falta comprimir nada el descompresor
sabe que si el carácter anterior fue X el siguiente siempre es Y y no necesita de ningún bit
para saber esto.

4. Segundo Cuatrimestre de 2005. Examen parcial, primera oportunidad: 17/10/2005.


6) Descomprimir el archivo cuyo contenido representa al numero 0.1458 utilizando
un compresor aritmético dinámico de orden 1, considerando como únicos caracteres
posibles a A,B,C y EOF, y teniendo en cuenta que el compresor asigna rangos a los
caracteres ordenando de menor a mayor (el EOF es el ultimo).(* *) (15 pts)

Criterio: Ejercicio 6: Si no lo hacen de orden 1 vale 0 puntos. Si ordenaron mal los


caracteres se corrige sin penalización si el método esta bien. Si no actualiza los modelos
vale 0 puntos. Errores de cuentas no deberían tener penalización.

5. Primer Cuatrimestre de 2006. Examen parcial, primera oportunidad: 8/5/2006.


(2_2006_1P)
6) Para el siguiente archivo:
“AABABAAAABCDBACAABBABCBBCCCCCCCC”
Se pide comprimir el archivo usando una versión semi estática del método
de huffman para bloques de longitud 8, indicar la salida completa en binario del archivo
comprimido. (* * * *) (15 pts)

Criterio: Ejercicio 6) Si el método no es semi-estático vale 0 puntos, sin excepciones. Si no


se puede descomprimir vale 0 puntos. Para el ultimo bloque como el único carácter que
aparece es “C” solamente se emite la tabla de frecuencias y no hace falta ningún bit para
el huffman, si esto esta mal manejado se descuentan 7 puntos. Al estar cada bloque
precedido de la tabla de frecuencias el descompresor conoce la cantidad de bytes a
descomprimir por bloque por lo que no hace falta ningún manejo de EOF en particular, si
esto esta mal manejado agregándolo innecesariamente se descuentan 5 puntos.

6. Primer Cuatrimestre de 2004. Examen parcial, primer Recuperatorio: 31/5/2004.


d) Comprimir con Compresión aritmética el siguiente string: “SRRV”. Indicar la salida. (10
pts) (*)

Criterio: Ejercicio 3: No requiere criterio por ser de tipo mecánico. Si hay algún error pero
el método/procedimiento está bien, descontar 5 puntos. Si el procedimiento está mal vale
0 puntos.

7. Primer Cuatrimestre de 2004. Examen parcial, primera oportunidad: 10/5/2004.


d) Comprimir el siguiente texto usando Huffman dinámico: “AABCA” (10 pts) (*)

Criterio: Ejercicio 3: No requiere criterio por ser de tipo mecánico. Si hay algún error pero
el método/procedimiento está bien, descontar 5 puntos. Si el procedimiento está mal vale
0 puntos.

8. Primer Cuatrimestre de 2006. Examen parcial, tercera oportunidad y Segundo


Cuatrimestre de 2005. Examen parcial, segunda oportunidad
c) Para el siguiente string: “AAABBBACCDEEEEFFFGG” se pide construir el árbol de Shanon
Fano correspondiente. (*) (10 pts)

Criterio: Ejercicio 3c: Si el árbol esta armado “a ojo” el ejercicio vale a lo sumo 5 puntos.
Debe quedar claro con que criterio se hace el “split” de los nodos y usar el mismo criterio
en todos los pasos.

9. Segundo Cuatrimestre de 2005. Examen parcial, segunda oportunidad.


7) ¿De que forma influye el concepto de entropía en el algoritmo LZ77? Justifique. (*) (10
pts)

Criterio: Ejercicio 7: Se considera valido decir que la entropía no influye de ninguna manera
en Lz77 por no ser un compresor estadístico. Otras respuestas mas elaboradas podrían
considerar que la entropía podría jugar un papel a la hora de codificar como se
representan los pares ordenados o por ejemplo como distinguir un par ordenado de un
carácter literal, estas respuestas también son correctas siempre y cuando quede claro que
el concepto aplica únicamente a la codificación de cosas cuya frecuencia se puede medir.

10. Primer Cuatrimestre de 2007. Examen parcial, primera oportunidad: 10/05/2007.


 a) El nivel de compresión de LZ78 es similar al del LZSS (10 pts)

 b) En LZP el nivel de compresión podría mejorarse cambiando la política que se usa


para actualizar la tabla de predicción de repeticiones. (10 pts)

 c) En LzHuff podría utilizarse el mismo método que en LZP para generar


repeticiones mayores a la longitud máxima mejorando el nivel de compresión (10
pts)

 d) En LzHuff podría usarse un árbol independiente para las longitudes mejorando,


aunque solo levemente, el nivel de compresión. (10 pts)

Criterio:

 Ejercicio 3a: Si bien en casos particulares uno puede ser mejor que el otro en
promedio el nivel de compresión es prácticamente idéntico, esto se debe a que
ambos métodos aprovechan las repeticiones de cadenas en el archivo para
comprimir. Por lo tanto es verdadero.

 Ejercicio 3b: Verdadero, podrían probarse distintas heurísticas para actualizar la


tabla en base al éxito de predicciones anteriores y eventualmente el nivel de
compresión puede mejorar.

 Ejercicio 3c: Verdadero, se admitirían longitudes mucho mayores en las


repeticiones a costa de un mínimo overhead cuando la repetición es justo la mayor
del árbol (debe emitirse LMAX – L0)

 Ejercicio 3d: Falso, si se usara un árbol independiente para las longitudes no sería
posible distinguir cuando viene un match o cuando viene un carácter literal, se
debería agregar un flag o algo por el estilo y no es claro entonces que se este
mejorando el nivel de compresión, de hecho podría empeorar.

11. Primer Cuatrimestre de 2006. Examen parcial, primera oportunidad: 8/5/2006.


(2_2006_1P)

 a) Comprimir usando LZ77 (no LZSS) para un buffer de tamaño 4: “AAAAAAAA” (*


*) (10 pts)

 b) Comprimir usando LZSS para un buffer de tamaño 4: “AAAAAAAA” (* *) (10 pts)

 c) Comprimir usando LZW: “AAAAAAAA” (* *) (10 pts)

 d) Comprimir usando LZHuff para un buffer de tamaño 4 y suponiendo que el set


de caracteres es ABCD “AAAAAAAA” (* *) (10 pts)

Criterio: Ejercicio 3) Buffer 4 vale tanto como 4 y 4 o como 2 y 2 para la ventana de


inspección y memoria, ambos están bien. Si la salida no esta en binario vale 0
puntos. El resto es simplemente aplicar el método. Si no consideran el manejo
del EOF se descuentan 5 puntos.
12. Segundo Cuatrimestre de 2006. Examen parcial, segunda oportunidad: 16/11/2006.
b) En archivos de texto el algoritmo PPMC es superior en nivel de compresión comparado
con el block sorting ya que el block sorting no utiliza contextos. (* *) (10 pts)

Criterio: Ej 3b) Falso ya que block sorting si usa contextos, si el nivel de compresión del
PPMC es suprior se debe a otros motivos.

13. Primer Cuatrimestre de 2006. Examen parcial, segunda oportunidad


a) ¿Que tipo de archivo se comprimiría mejor con LZ77 en lugar de LZ78? Justificar.

Criterio: Ej 3a) Básicamente da lo mismo porque los dos métodos se basan en el mismo
principio. Únicamente estaría bien decir que uno es mas conveniente que el otro si el
análisis es muy fino.

14. Primer Cuatrimestre de 2006. Examen parcial, primera oportunidad: 8/5/2006.

 a) Indicar V o F justificando: para un archivo que no es de texto los métodos de


compresión que no usan contextos funcionarán tan bien como aquellos que si los
usan.

 b) Indicar V o F justificando: En Lzhuff podría mejorarse levemente el nivel de


compresión promedio usando un árbol independiente para las longitudes.

 d) Que tipo de archivos se pueden comprimir mejor usando MTF?. Dar ejemplos.

Criterio:

 Ejercicio 3a) Falso, ya que en todo archivo que no sea ruido la probabilidad
condicional de un carácter siempre es mas precisa que la probabilidad
incondicional (sin contextos).

 Ejercicio 3b) Falso ya que haría falta algún sistema para distinguir un carácter
aislado de una repetición y no esta claro si lo que se pierde no sería mas de lo que
se gana.

 Ejercicio 3d) Esta bien decir “ninguno” ya que MTF no comprime nada. También
estaría bien decir que MTF no comprime pero acompañado de un método
estadístico es bueno para archivos que estén localizados (explicando que quiere
decir que un archivo esté localizado).

15. Primer Cuatrimestre de 2006. Examen parcial, tercera oportunidad y Segundo


Cuatrimestre de 2005. Examen parcial, segunda oportunidad
d) Se sabe que en PPMC cuando el orden máximo es mayor que 5 el peso de los escapes
hace que el algoritmo comprima menos. ¿Por que piensa ud que esto pasa al llegar a
orden 5? (* *) (10 pts)

Criterio: Ejercicio 3d: La explicación debe girar en torno al promedio de la longitud de los
strings de forma tal que los contextos sean influyentes, a partir de longitudes mayores a 5
tomar 5 o 6 o 7 caracteres es prácticamente lo mismo a efectos de determinar el carácter
siguiente ya que estadísticamente los caracteres adicionales aportan poco o nada.

16. Segundo Cuatrimestre de 2005. Examen parcial, tercera oportunidad


d) ¿En cuanto al nivel de compresión en función del tipo de dato a comprimir, que
diferencias hay entre LZ77 y LZ78? (*) (10 pts)

Criterio: Ejercicio 3d: No hay ninguna diferencia, el principio es el mismo implementado de


dos formas distintas.

17. Primer Cuatrimestre de 2004. Examen parcial, primera oportunidad: 10/5/2004.

 a) Comprimir el archivo “ABABA” usando block sorting, MTF and Huffman. Se pide
el resultado binario completo del archivo comprimido. (10 pts) (*)

 b) Comprimir el archivo “ABABA” usando LZHUFF. Se pide el resultado binario


completo del archivo comprimido. (10 pts) (*)

 c) Comprimir el archivo “ABABA” usando LZP. Se pide el resultado binario


completo del archivo comprimido. (10 pts) (*)

 d) Comprimir el archivo “ABABA” usando LZW (LZ78). Se pide el resultado binario


completo del archivo comprimido. (10 pts) (*)

Criterio: 3) Se trata de ejercicios triviales, la salida en binario debe estar


claramente expresada en caso contrario el ejercicio vale 0 puntos. No hace falta
poner códigos ASCII o ciertas representaciones en binario alcanza con poner
bin(valor) o ASCII(valor) para que se entienda.
Si no es posible descomprimir en base a la información guardada vale 0 puntos (sin
excepciones). Si falta la salida en binario también vale 0 puntos aun cuando haya
pasos intermedios que están bien.

18. Primer Cuatrimestre de 2004. Examen parcial, segunda oportunidad: 4/11/2004.

 c) ¿Qué es el mecanismo de exclusión en PPMC? ¿Para que sirve? (* *) (10 pts)

 d) ¿En que casos tiene sentido comprimir información? (* *) (10 pts)

Criterio:

 c) Trivial.

 d) Hay dos respuestas correctas a este punto: la respuesta fundamentalista es “en


ninguno” pues la compresión es reversible por definición y no es posible
comprimir información en forma reversible. La respuesta “flexible” es decir que
hay casos como por ejemplo audio, vídeo e imágenes en los cuales es posible
perder información y que el resultado tenga sentido. Ambas están bien.

19. Primer Cuatrimestre de 2004. Examen parcial, primer Recuperatorio: 31/5/2004.


b) Comprimir con PPMc de orden 2 indicando claramente el estado de las tablas en cada
caso: bilpilbilp (10 pts) (* * *)

Criterio: Ejercicio 3: No requiere criterio por ser de tipo mecánico. Si hay algún error pero
el método/procedimiento está bien, descontar 5 puntos. Si el procedimiento está mal vale
0 puntos.

20. Primer Cuatrimestre de 2007. Examen parcial, primera oportunidad: 10/05/2007.


4) Se comprime un archivo usando PPMC de orden 2. Se sabe que el ultimo carácter a
procesar en el archivo por el compresor es una “a”. Los últimos caracteres comprimidos
fueron también dos “a”. Dado el estado de los modelos indicado a continuación y
suponiendo que el intervalo actual es [0,2 : 0,35] se pide indicar como quedaría el archivo
final comprimido y el estado final de los modelos de compresión. (* * *) (15 pts)
Modelo de orden 2 contexto aa: s=3, t=2, a=4, esc=3
Modelo de orden 1 contexto a: s=8, t=9, r=4, m=2, a=4, esc = 5
Modelo de orden 0: s=3, t=11, r=5, m=7, a=2, b=3, c=1, esc =7

Criterio:
Ejercicio 4: Si no usan exclusión descuento de 10 puntos. Si no comprimen el EOF (solo la
“A”) vale máximo 7 puntos. Si las cuentas están mal no hay descuento salvo que no sea
posible determinar que cuenta están haciendo (falta de planteo). Si no hacen la
compresión aritmética, es decir que solo indican las probabilidades que se usarían se
descuentan 5 puntos.

21. Segundo Cuatrimestre de 2006. Examen parcial, segunda oportunidad: 16/11/2006.


4) Comprimir el siguiente archivo usando LZP con contextos de longitud 2 para los matches
y para longitud máxima de match = 3 suponiendo que el único set de caracteres posibles
es 0123. Indicar la salida en binario completa, sin la salida en binario el ejercicio vale 0 pts.
(* * *) (15 pts)
0122222301222220

Criterio: Ej 4) Si no detectan o generan matches de mas de 3 descuento de 7 puntos. Si los


arboles no son dinámicos como deben ser descuento mínimo de 10 puntos.

22. Primer Cuatrimestre de 2006. Examen parcial, segunda oportunidad.


4) El PPMC es uno de los algoritmos de compresión en los cuales mejor se representa el
modelo probabilístico correspondiente al conjunto de datos a comprimir. En este ejercicio
se pide diseñar un método de pre-procesamiento basado en PPMc que transforme a un
archivo en otro que luego se pueda comprimir fácilmente usando el modelo de Shannon o
el modelo estructurado. Es decir hacer con PPMc lo mismo que se hacía con Block Sorting
y MTF. Plantear el objetivo a lograr y explicar como usaría PPMc para hacer lo pedido. (* *
* * *) (15 pts)

Criterio: Ej 4) Se asignan 5 puntos por plantear correctamente el objetivo que es lograr vía
PPMC transformar al archivo en una serie de caracteres en donde los caracteres mas bajos
predominen que es lo que aprovecha el modelo de shannon o el modelo estructurado. Los
restantes 10 puntos corresponden a encontrar una forma de hacer esto, hay varias
soluciones posibles.

23. Primer Cuatrimestre de 2006. Examen parcial, primera oportunidad: 8/5/2006.


4) Se pide comprimir el siguiente archivo usando LZP con contextos de longitud 2 y
longitud máxima de match = 3. Indicar la salida final completa en binario del archivo
comprimido. (Sin la salida en binario vale 0 puntos sin excepciones). Considerar a las
vocales como únicos caracteres posibles en el archivo. (* * *) (15 pts)
AAEIUOOAEIUOOAEEEEEEIU

Criterio: Ejercicio 4) Trivial, simplemente hay que proceder a comprimir usando LZP. Tal y
como lo dice el enunciado si no hacen la salida en binario vale 0 puntos sin excepciones. Si
no procesan longitudes mayores a 3 descuento de 10 puntos. Si los arboles no son
dinámicos vale 0 puntos ya que el método es dinámico por naturaleza.

24. Primer Cuatrimestre de 2006. Examen parcial, tercera oportunidad


4) Comprimir el siguiente archivo usando LZHuff con ventana de inspección de longitud 4 y
memoria de longitud 4. Indicar el resultado del archivo binario comprimido completo. Se
pide que el proceso ilustrado sea igual al proceso que realizaría el compresor. (* *) (15 pts)
BTYIOTYIOTIOBATIAT

25. Segundo Cuatrimestre de 2005. Examen parcial, tercera oportunidad


4) Usando LZP con longitud máxima = 3 se desea comprimir el siguiente archivo indicando
la salida completa en binario del archivo comprimido así como también el estado de los
datos del algoritmo en cada paso. A efectos de simplificar el mismo considerar que
solamente existen los caracteres A,B,C y D en el universo de datos posibles. (* * *) (15 pts)
ABAACDAACDAABBBBABA

Criterio: Ejercicio 4: Es un LZP clásico por lo que no hace falta mayor aclaración. Si falta la
salida en binario vale 0 puntos como lo indica el enunciado.

26. Primer Cuatrimestre de 2004. Examen parcial, segunda oportunidad: 4/11/2004.


4) Usando ventanas de inspección y memoria de 5 caracteres se pide comprimir el
siguiente archivo usando LZHUFF suponiendo que el juego de caracteres es únicamente
“ABCD”. Se pide la salida completa en binario del archivo comprimido. ABACDABACBAAD (*
* 15 pts)

Criterio: 4) Absolutamente trivial. Si no se puede descomprimir el resultado la penalización


es severa (máximo 5 puntos sobre 15).

27. Primer Cuatrimestre de 2004. Examen parcial, primer Recuperatorio: 31/5/2004.


4) La salida de un block sorting es el string “SRATA” L=2 (numerando desde cero). Cuál era
el string original ? (* *) (10 pts)

Criterio: Ejercicio 4: Trivial


28. Primer Cuatrimestre de 2004. Examen parcial, primera oportunidad: 10/5/2004.
4) Un texto en idioma castellano puede considerarse como una alternancia perfecta de
palabras y separadores, considerando como separadores a la puntuación, espacios en
blanco, saltos de línea, etc. Se pide diseñar un algoritmo de compresión dinámico que se
base en este principio para comprimir eficientemente textos en el idioma castellano. (Si el
algoritmo no es dinámico este ejercicio vale 0 puntos) (15 pts) (* * * * *)

Criterio: Ejercicio 4: Hay que comprimir por un lado palabras y por otro separadores, la
solución mas simple pasa por usar dos arboles de huffman dinámicos, uno para las
palabras y otro para los separadores, obviamente estos arboles deben pre-inicializarse de
acuerdo a promedios para textos en castellano.
Una solución mejor es usar Huffword y comprimir por palabras, las palabras que no existen
en el diccionario que es pre-establecido en base a promedios se codifican con un escape y
algún tipo de modelo por caracteres.
Si comprimen por caracteres es evidente que el uso de contextos, PPMc o similar para la
rama de las palabras es mejor que un huffman dinámico común:

Criterio: Solución trivial: vale 10 puntos máximo (si no pre-inicializan 5 puntos). Trivial =
por caracteres y sin contextos.
No hacer el método dinámico (2 pasadas y cosas por el estilo): vale 0 puntos (ver
enunciado)
No pre-inicializarlos modelos en base a promedios descuento de 5 puntos.

29. Segundo Cuatrimestre de 2005. Examen parcial, primera oportunidad: 17/10/2005.


5) Una vez procesado un archivo usando Block Sorting y MTF ¿por que motivo es mejor
usar el modelo de Shannon o el modelo estructurado en lugar de usar PPMC? (* * *) (10
pts)

Criterio: Ejercicio 5: Deben justificar adecuadamente indicando porque un modelo pre-


armado como el de Shannon o el estructurado tienen ventajas sobre el PPMC que “tiene
que aprender”, en realidad un PPMC preparado para dar ventajas a los caracteres mas
chicos podría funcionar igual de bien o mejor, aquellos que mencionen esto tienen
obviamente el total del puntaje. Si no lo mencionan igual puede estar completamente bien
si justifican adecuadamente.

30. Primer Cuatrimestre de 2005. Examen parcial, primera oportunidad: 12/5/2004.


5) Comprimir el siguiente archivo con LZP (longitud máxima =3) indicando la salida en
binario final del archivo comprimido. (* *) (15 pts)
AAAAAAAAAAAAAA

Criterio: Ej 5) Múltiples variantes. Por un lado se puede suponer que el compresor puede
generar longitudes mayores a la cantidad de caracteres que hay en el buffer actualmente
esto es parecido al caso particular del Lz78, si eligen este camino deben indicar claramente
por que es posible descomprimir, si no lo hacen descontar 10 puntos. También es valido
suponer que no se pueden generar longitudes que vayan mas allá de lo que el
descompresor conoce. Como solo se usa el árbol de contexto del carácter “A” deberían
tener en cuanta que inicialmente hay 256 caracteres en el árbol, también se acepta que
usen ABCD o algún set limitado de caracteres pero no se acepta que solo usen la “A”
porque no hay explicación para eso y podría indicar que piensan que el método es estático.
Si solo usan A en el contexto A descuento de 5 puntos.

31. Primer Cuatrimestre de 2004. Examen parcial, primer Recuperatorio: 31/5/2004.


5) Usando LZP para contextos de longitud 2 comprimir con LZP el string “ABCDABCD”
usando longitud máxima = 3. Usar huffman tanto para las longitudes como para los
caracteres. Se pide la salida en binario del archivo comprimido. (Nota: si no hace la salida
en binario vale 0 puntos). (* * *) (15 pts)

Criterio: Ejercicio 5: Si no hace la salida en binario vale 0 puntos (ver enunciado).


La salida es la de un archivo comprimido, por lo cuál debe marcarse el fin de archivo. Si lo
no lo hace se descuentan 5 puntos.

32. (2_2004_1P) Primer Cuatrimestre de 2004. Examen parcial, primera oportunidad:


10/5/2004.
5) Sean dos colecciones de textos A y B en idioma castellano, cada una conteniendo una
cantidad de textos variados. Se quiere almacenar ambas colecciones en forma comprimida
y además se quiere lograr que una vez comprimidas ambas colecciones dado un cierto
texto nuevo que no estaba en ninguna de las dos colecciones sea posible clasificarlo
automáticamente, es decir determinar a que colección pertenece sin descomprimir las
colecciones a fin de buscar similitudes, contar frecuencias etc. Determinar que método de
compresión utilizaría y de que forma realizaría la clasificación automática de un nuevo
texto. (15 pts) (* * * *) (para pensar)

Criterio: 5) Hay muchas soluciones validas, una es comprimir las colecciones con PPMC,
por ejemplo almacenando los modelos de compresión, luego cuando se recibe un nuevo
texto se lo puede comprimir con ambos modelos y según cual modelo comprime mejor se
supone que el texto pertenece a una u otra colección. Si usan esta técnica deberían
seleccionar PPMC ya que es el método que puede construir un mejor modelo de
compresión para un conjunto de datos.
Si se usa este método pero con un método que no es PPMC vale 10 puntos.
Si usan otro método a consideración dependiendo de si funciona y si tiene sentido.

33. Primer Cuatrimestre de 2005. Examen parcial, primera oportunidad: 12/5/2004.


6) Sin usar block sorting. Tiene sentido usar MTF antes de comprimir un archivo
usando huffman? Explique. (* *) (10 pts)

Criterio: Ej 6) Tiene sentido si se usa huffman dinámico porque podría mejorar la velocidad
con la que aprende el compresor. Si se usa Huffman estático no tiene ningún sentido.

You might also like