[RETO] Algoritmo de compresión

Iniciado por fary, 17 Febrero 2015, 08:55 AM

0 Miembros y 1 Visitante están viendo este tema.

fary

Bueno, pues como esta la cosa muy parada y viendo una interesante pregunta que han realizado hace poco (esta), 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?
Un byte a la izquierda.

robertofd1995

Hay un problema, según lo tienes la compresión y descompresión se pueden echar la vida jaja

fary

Cita de: 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

¿Por qué?
Un byte a la izquierda.

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

iUDEX

#4
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...
Namasté, criatura.

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Eleкtro

#6
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!








fary

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:
Un byte a la izquierda.