"Sebuah gambar bernilai ribuan kata" —jadi pepatah lama berbunyi. Panjang rata-rata kata adalah sekitar empat karakter, sehingga sebuah gambar menyampaikan informasi 4kB. Tetapi seberapa banyak entropi , dan bukannya informasi, yang dapat disampaikan gambar?
Tugas Anda adalah menghasilkan gambar, tepatnya berukuran 4.000 byte, dengan entropi setinggi mungkin. Anda dapat menggunakan bahasa, pustaka, atau format gambar apa pun yang Anda pilih, dan Anda dapat menampilkan ke konsol atau ke file selama Anda mengunggah gambar Anda di sini.
Mencetak gol
Skor Anda adalah rasio kompresi (4000 ÷ ukuran terkompresi) ketika gambar Anda dikompres dengan GNU tar
versi 1.28 dan gzip
versi 1.6, menggunakan algoritma DEFLATE dan pengaturan default - khususnya, perintah tar -czvf out.tar.gz image
. Rasio kompresi terkecil menang.
gzip -n image
tidak dapat menghasilkan file yang lebih besar dari 4023 byte yang diberikan input 4000-byte. Perlu 10 byte untuk header, 8 untuk footer, 1 untuk header blok dan padding DEFLATE, dan 4 untuk ukuran blok DEFLATE; sisanya hanya disimpan sebagai byte yang tidak terkompresi. Sebagian besar file yang terdiri dari bit acak disimpan tanpa kompresi, sebagaimana mestinya.
tar
termasuk metadata, termasuk mtime, dalam file output secara default. Ini memengaruhi ukuran file terkompresi akhir - beberapa waktu mengkompres lebih baik daripada yang lain. Mengubah perintah untukgzip -n image
akan membuat ukuran output menjadi deterministik terlepas dari mtime (dan nama file input).