"Малюнок вартує тисячі слів" - так йде стара приказка. Середнє слово становить близько чотирьох символів, тому малюнок передає 4 КБ інформації. Але скільки ентропії , а не інформації, може передати малюнок?
Ваше завдання - генерувати зображення розміром рівно 4000 байтів з максимально можливою ентропією. Ви можете використовувати будь-яку мову, бібліотеки чи формат зображення, який ви обрали, і ви можете виводити на консоль чи файл, поки ви завантажуєте своє зображення сюди.
Оцінка балів
Ваш бал - коефіцієнт стиснення (розмір стиснення 4000 ÷), коли ваше зображення стискається за допомогою GNU tar
версії 1.28 та gzip
версії 1.6, використовуючи алгоритм DEFLATE та параметри за замовчуванням, зокрема команду tar -czvf out.tar.gz image
. Виграє найменший коефіцієнт стиснення.
gzip -n image
не вдається створити файл, більший за 4023 байтів, надати вхід 4000 байтів. Потрібно 10 байт для заголовка, 8 для нижнього колонтитулу, 1 для заголовка блоку DEFLATE та накладки та 4 для розміру блоку DEFLATE; решта просто зберігаються як нестиснені байти. Більшість файлів, що складаються з випадкових бітів, зберігаються нестисненими, як це має бути.
tar
включає метадані, включаючи mtime, у вихідні файли за замовчуванням. Це впливає на кінцевий розмір стисненого файлу - деякі тривалість стискання краще, ніж інші. Зміна команди наgzip -n image
зробить розмір виводу детермінованим незалежно від mtime (та вхідного імені файлу).