Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: fary en 17 Febrero 2015, 08:55 am



Título: [RETO] Algoritmo de compresión
Publicado por: fary en 17 Febrero 2015, 08:55 am
Bueno, pues como esta la cosa muy parada y viendo una interesante pregunta que han realizado hace poco (esta (http://foro.elhacker.net/dudas_generales/porque_razon_no_se_pueden_recomprimir_un_archivo_y_que_se_reduca_su_peso-t430041.0.html)), he pensado que se podría realizar un concurso en el que los usuarios tendrían que desarrollar un software de compresión/descompresión, en el que, el algoritmo que mas comprima los archivos gana.

Reglas:

-El código tiene que ser liberado.
-No vale usar librerías de terceros.

¿Os animáis?


Título: Re: [RETO] Algoritmo de compresión
Publicado por: robertofd1995 en 17 Febrero 2015, 21:44 pm
Hay un problema, según lo tienes la compresión y descompresión se pueden echar la vida jaja


Título: Re: [RETO] Algoritmo de compresión
Publicado por: fary en 17 Febrero 2015, 21:47 pm
Hay un problema, según lo tienes la compresión y descompresión se pueden echar la vida jaja

¿Por qué?


Título: Re: [RETO] Algoritmo de compresión
Publicado por: engel lex en 17 Febrero 2015, 22:28 pm
realmente es un asunto difícil, los algoritmos de compresión no son para novatos :P

el algoritmo puede durar mucho porque tiene que hacer multiples busquedas bastante complicadas, conseguir redundancias, conseguir patrones y comprarlos, reescribir coherentemente todo, etc


Título: Re: [RETO] Algoritmo de compresión
Publicado por: Br1ant en 17 Febrero 2015, 22:34 pm
RAR tardó 3 años en desarrollarse. Y eso sólo siendo la primera versión.

No somos rusos, así que dejémonos crecer la barba y no hacer ejercicio, y así a lo mejor lo tenemos en 1 año (como mínimo) :D

Matemáticas para todo, que mala suerte...


Título: Re: [RETO] Algoritmo de compresión
Publicado por: engel lex en 17 Febrero 2015, 22:44 pm
esto no es exactamente matematica... es más lógica y análisis sistematico... una compresión a punta de formulas probablemente es más para un algoritmo de compresión con perdida como mp3 o jpeg

tampoco es desarrollar un super algoritmo, es ver quien en un tiempo determinado desarrolla el mejor caso


Título: Re: [RETO] Algoritmo de compresión
Publicado por: Eleкtro en 17 Febrero 2015, 23:07 pm
Disculpa si me equivoco, pero a mi esto más que un "reto" me parece una petición muy oportunista para que otros te hagan el trabajo sucio por la cara, ya que si no tengo entendido mal por tu otro post, necesitas desarrollar un buen algoritmo de compresión en C/C++.

Si lo que buscas es un algoritmo de compresión cuyo source esté desarrollado en C++, pues mira, aqui tienes el mejor de todos, PAQ8:
http://dhost.info/paq8/
(en la descarga se incluye el source)

Te puedo afirmar que cuando dicen:
Cita de: http://dhost.info/paq8/
PAQ8 is a series of data compression archivers with the world highest compression ratio
No están mintiendo:
http://www.maximumcompression.com/data/summary_mf.php#data

Y por si fuese poco, también puedes analizar el source en VC++ de la aplicación KGB Archiver, que utiliza los algoritmos PAQ, que si no tengo entendido mal son una combinación de algoritmos de predicciones (PPM) y context mixing y, es un algoritmo totalmente magnifico a la vez que insano, que por cierto lo utilizan para hacer esos SUPER-rips MEGA-comprimidos de juegos, de esos que se tiran 4 horas en descomprimirse y quedas asombrado por el ratio de compresión que tienen.
http://sourceforge.net/projects/kgbarchiver/files/KGB%20Archiver%202/

TL/DR:
Hace años utilicé el KGB archiver, incrementando al máximo los valores de compresión y tardó +48 horas en comprimir unos datos (no recuerdo bien, pero creo que no llegaba a los 1024 MB), es un algoritmo para locos ya que además me consumia todas las demás operaciones I/O del sistema y no dejaba trabajar en absoluto, ¡pero vaya resultados!, increiblemente mejores que utilizando aplicaciones dedicadas al usuario normal como WinZip/WinRAR,7Zip, etc.

Saludos!


Título: Re: [RETO] Algoritmo de compresión
Publicado por: fary en 17 Febrero 2015, 23:19 pm
A mi me da igual @Elektro, era por animar un poco el foro pero si piensas que es una tarea, borra el tema y listo.   :rolleyes: