"Une image vaut mille mots", comme le dit le vieil adage. Le mot moyen fait environ quatre caractères, donc une image transmet 4 Ko d'informations. Mais combien d' entropie , plutôt que d'informations, une image peut-elle véhiculer?
Votre tâche consiste à générer une image, exactement de 4 000 octets, avec l'entropie la plus élevée possible. Vous pouvez utiliser n'importe quelle langue, bibliothèque ou format d'image que vous choisissez, et vous pouvez exporter vers la console ou vers un fichier tant que vous téléchargez votre image ici.
Notation
Votre score est le taux de compression (4000 ÷ taille compressée) lorsque votre image est compressée avec GNU tar
version 1.28 et gzip
version 1.6, en utilisant l'algorithme DEFLATE et les paramètres par défaut - en particulier, la commande tar -czvf out.tar.gz image
. Le plus petit taux de compression gagne.
gzip -n image
ne peut pas produire un fichier de plus de 4023 octets avec une entrée de 4000 octets. Il a besoin de 10 octets pour l'en-tête, 8 pour le pied de page, 1 pour l'en-tête et le remplissage du bloc DEFLATE, et 4 pour la taille du bloc DEFLATE; les autres sont simplement stockés sous forme d'octets non compressés. La plupart des fichiers composés de bits aléatoires sont stockés non compressés, comme ils devraient l'être.
tar
inclut les métadonnées, y compris mtime, dans les fichiers de sortie par défaut. Cela affecte la taille finale du fichier compressé - certains mtimes se compressent mieux que d'autres. La modification de la commandegzip -n image
rendrait la taille de sortie déterministe indépendamment de mtime (et du nom du fichier d'entrée).